From 54a8726c294b3e6c013bb730326a7d6020aa34fc Mon Sep 17 00:00:00 2001 From: Jared Goodwin Date: Wed, 6 Jul 2022 07:40:21 -0700 Subject: [PATCH] Update packages. --- Agent/Agent.csproj | 12 +- Desktop.Core/Desktop.Core.csproj | 4 +- Desktop.Win/Desktop.Win.csproj | 2 +- Desktop.XPlat/Desktop.XPlat.csproj | 6 +- Server/Server.csproj | 30 +- Server/libman.json | 6 +- .../wwwroot/lib/microsoft-signalr/signalr.js | 3115 ++++++++++++++++- .../lib/microsoft-signalr/signalr.min.js | 2 +- .../dist/browser/signalr-protocol-msgpack.js | 2075 ++++++++++- .../browser/signalr-protocol-msgpack.js.map | 2 +- .../browser/signalr-protocol-msgpack.min.js | 2 +- .../signalr-protocol-msgpack.min.js.map | 2 +- Server/wwwroot/lib/msgpack5/msgpack5.js | 734 ++-- Server/wwwroot/lib/msgpack5/msgpack5.min.js | 2 +- Shared/Shared.csproj | 4 +- Tests.LoadTester/Tests.LoadTester.csproj | 2 +- Tests/Tests.csproj | 12 +- 17 files changed, 5563 insertions(+), 449 deletions(-) diff --git a/Agent/Agent.csproj b/Agent/Agent.csproj index e6d7c4cd..1e47a269 100644 --- a/Agent/Agent.csproj +++ b/Agent/Agent.csproj @@ -23,16 +23,16 @@ - + - - - - - + + + + + diff --git a/Desktop.Core/Desktop.Core.csproj b/Desktop.Core/Desktop.Core.csproj index ff33f1d6..909df0cc 100644 --- a/Desktop.Core/Desktop.Core.csproj +++ b/Desktop.Core/Desktop.Core.csproj @@ -40,8 +40,8 @@ - - + + diff --git a/Desktop.Win/Desktop.Win.csproj b/Desktop.Win/Desktop.Win.csproj index 2a135cb8..5f723e92 100644 --- a/Desktop.Win/Desktop.Win.csproj +++ b/Desktop.Win/Desktop.Win.csproj @@ -39,7 +39,7 @@ - + diff --git a/Desktop.XPlat/Desktop.XPlat.csproj b/Desktop.XPlat/Desktop.XPlat.csproj index eafd9e7f..6a09977f 100644 --- a/Desktop.XPlat/Desktop.XPlat.csproj +++ b/Desktop.XPlat/Desktop.XPlat.csproj @@ -52,9 +52,9 @@ - - - + + + diff --git a/Server/Server.csproj b/Server/Server.csproj index 86ffecb5..7288dc1f 100644 --- a/Server/Server.csproj +++ b/Server/Server.csproj @@ -23,29 +23,29 @@ - - - - - - - - - + + + + + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - + + + + + diff --git a/Server/libman.json b/Server/libman.json index a52cd5c0..00033016 100644 --- a/Server/libman.json +++ b/Server/libman.json @@ -3,16 +3,16 @@ "defaultProvider": "cdnjs", "libraries": [ { - "library": "microsoft-signalr@6.0.0", + "library": "microsoft-signalr@6.0.6", "destination": "wwwroot/lib/microsoft-signalr/" }, { - "library": "msgpack5@5.3.2", + "library": "msgpack5@6.0.0", "destination": "wwwroot/lib/msgpack5/" }, { "provider": "unpkg", - "library": "@microsoft/signalr-protocol-msgpack@6.0.0", + "library": "@microsoft/signalr-protocol-msgpack@6.0.6", "destination": "wwwroot/lib/microsoft/signalr-protocol-msgpack/", "files": [ "dist/browser/signalr-protocol-msgpack.js", diff --git a/Server/wwwroot/lib/microsoft-signalr/signalr.js b/Server/wwwroot/lib/microsoft-signalr/signalr.js index c4955b2e..b8748225 100644 --- a/Server/wwwroot/lib/microsoft-signalr/signalr.js +++ b/Server/wwwroot/lib/microsoft-signalr/signalr.js @@ -1,2 +1,3115 @@ -var t,e;t=self,e=function(){return(()=>{var t={d:(e,s)=>{for(var n in s)t.o(s,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:s[n]})}};t.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),t.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),t.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"t",{value:!0})};var e,s={};t.r(s),t.d(s,{AbortError:()=>r,DefaultHttpClient:()=>H,HttpClient:()=>d,HttpError:()=>n,HttpResponse:()=>u,HttpTransportType:()=>W,HubConnection:()=>L,HubConnectionBuilder:()=>Q,HubConnectionState:()=>R,JsonHubProtocol:()=>G,LogLevel:()=>e,MessageType:()=>A,NullLogger:()=>f,Subject:()=>U,TimeoutError:()=>i,TransferFormat:()=>O,VERSION:()=>p});class n extends Error{constructor(t,e){const s=new.target.prototype;super(`${t}: Status code '${e}'`),this.statusCode=e,this.__proto__=s}}class i extends Error{constructor(t="A timeout occurred."){const e=new.target.prototype;super(t),this.__proto__=e}}class r extends Error{constructor(t="An abort occurred."){const e=new.target.prototype;super(t),this.__proto__=e}}class o extends Error{constructor(t,e){const s=new.target.prototype;super(t),this.transport=e,this.errorType="UnsupportedTransportError",this.__proto__=s}}class h extends Error{constructor(t,e){const s=new.target.prototype;super(t),this.transport=e,this.errorType="DisabledTransportError",this.__proto__=s}}class c extends Error{constructor(t,e){const s=new.target.prototype;super(t),this.transport=e,this.errorType="FailedToStartTransportError",this.__proto__=s}}class a extends Error{constructor(t){const e=new.target.prototype;super(t),this.errorType="FailedToNegotiateWithServerError",this.__proto__=e}}class l extends Error{constructor(t,e){const s=new.target.prototype;super(t),this.innerErrors=e,this.__proto__=s}}class u{constructor(t,e,s){this.statusCode=t,this.statusText=e,this.content=s}}class d{get(t,e){return this.send({...e,method:"GET",url:t})}post(t,e){return this.send({...e,method:"POST",url:t})}delete(t,e){return this.send({...e,method:"DELETE",url:t})}getCookieString(t){return""}}!function(t){t[t.Trace=0]="Trace",t[t.Debug=1]="Debug",t[t.Information=2]="Information",t[t.Warning=3]="Warning",t[t.Error=4]="Error",t[t.Critical=5]="Critical",t[t.None=6]="None"}(e||(e={}));class f{constructor(){}log(t,e){}}f.instance=new f;const p="6.0.0";class w{static isRequired(t,e){if(null==t)throw new Error(`The '${e}' argument is required.`)}static isNotEmpty(t,e){if(!t||t.match(/^\s*$/))throw new Error(`The '${e}' argument should not be empty.`)}static isIn(t,e,s){if(!(t in e))throw new Error(`Unknown ${s} value: ${t}.`)}}class g{static get isBrowser(){return"object"==typeof window}static get isWebWorker(){return"object"==typeof self&&"importScripts"in self}static get isNode(){return!this.isBrowser&&!this.isWebWorker}}function m(t,e){let s="";return y(t)?(s=`Binary data of length ${t.byteLength}`,e&&(s+=`. Content: '${function(t){const e=new Uint8Array(t);let s="";return e.forEach((t=>{s+=`0x${t<16?"0":""}${t.toString(16)} `})),s.substr(0,s.length-1)}(t)}'`)):"string"==typeof t&&(s=`String data of length ${t.length}`,e&&(s+=`. Content: '${t}'`)),s}function y(t){return t&&"undefined"!=typeof ArrayBuffer&&(t instanceof ArrayBuffer||t.constructor&&"ArrayBuffer"===t.constructor.name)}async function b(t,s,n,i,r,o,h){let c={};if(r){const t=await r();t&&(c={Authorization:`Bearer ${t}`})}const[a,l]=$();c[a]=l,t.log(e.Trace,`(${s} transport) sending data. ${m(o,h.logMessageContent)}.`);const u=y(o)?"arraybuffer":"text",d=await n.post(i,{content:o,headers:{...c,...h.headers},responseType:u,timeout:h.timeout,withCredentials:h.withCredentials});t.log(e.Trace,`(${s} transport) request complete. Response status: ${d.statusCode}.`)}class v{constructor(t,e){this.i=t,this.h=e}dispose(){const t=this.i.observers.indexOf(this.h);t>-1&&this.i.observers.splice(t,1),0===this.i.observers.length&&this.i.cancelCallback&&this.i.cancelCallback().catch((t=>{}))}}class E{constructor(t){this.l=t,this.out=console}log(t,s){if(t>=this.l){const n=`[${(new Date).toISOString()}] ${e[t]}: ${s}`;switch(t){case e.Critical:case e.Error:this.out.error(n);break;case e.Warning:this.out.warn(n);break;case e.Information:this.out.info(n);break;default:this.out.log(n)}}}}function $(){let t="X-SignalR-User-Agent";return g.isNode&&(t="User-Agent"),[t,C(p,S(),g.isNode?"NodeJS":"Browser",k())]}function C(t,e,s,n){let i="Microsoft SignalR/";const r=t.split(".");return i+=`${r[0]}.${r[1]}`,i+=` (${t}; `,i+=e&&""!==e?`${e}; `:"Unknown OS; ",i+=`${s}`,i+=n?`; ${n}`:"; Unknown Runtime Version",i+=")",i}function S(){if(!g.isNode)return"";switch(process.platform){case"win32":return"Windows NT";case"darwin":return"macOS";case"linux":return"Linux";default:return process.platform}}function k(){if(g.isNode)return process.versions.node}function P(t){return t.stack?t.stack:t.message?t.message:`${t}`}class T extends d{constructor(e){if(super(),this.u=e,"undefined"==typeof fetch){const t=require;this.p=new(t("tough-cookie").CookieJar),this.m=t("node-fetch"),this.m=t("fetch-cookie")(this.m,this.p)}else this.m=fetch.bind(function(){if("undefined"!=typeof globalThis)return globalThis;if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==t.g)return t.g;throw new Error("could not find global")}());if("undefined"==typeof AbortController){const t=require;this.v=t("abort-controller")}else this.v=AbortController}async send(t){if(t.abortSignal&&t.abortSignal.aborted)throw new r;if(!t.method)throw new Error("No method defined.");if(!t.url)throw new Error("No url defined.");const s=new this.v;let o;t.abortSignal&&(t.abortSignal.onabort=()=>{s.abort(),o=new r});let h,c=null;if(t.timeout){const n=t.timeout;c=setTimeout((()=>{s.abort(),this.u.log(e.Warning,"Timeout from HTTP request."),o=new i}),n)}try{h=await this.m(t.url,{body:t.content,cache:"no-cache",credentials:!0===t.withCredentials?"include":"same-origin",headers:{"Content-Type":"text/plain;charset=UTF-8","X-Requested-With":"XMLHttpRequest",...t.headers},method:t.method,mode:"cors",redirect:"follow",signal:s.signal})}catch(t){if(o)throw o;throw this.u.log(e.Warning,`Error from HTTP request. ${t}.`),t}finally{c&&clearTimeout(c),t.abortSignal&&(t.abortSignal.onabort=null)}if(!h.ok){const t=await I(h,"text");throw new n(t||h.statusText,h.status)}const a=I(h,t.responseType),l=await a;return new u(h.status,h.statusText,l)}getCookieString(t){let e="";return g.isNode&&this.p&&this.p.getCookies(t,((t,s)=>e=s.join("; "))),e}}function I(t,e){let s;switch(e){case"arraybuffer":s=t.arrayBuffer();break;case"text":s=t.text();break;case"blob":case"document":case"json":throw new Error(`${e} is not supported.`);default:s=t.text()}return s}class _ extends d{constructor(t){super(),this.u=t}send(t){return t.abortSignal&&t.abortSignal.aborted?Promise.reject(new r):t.method?t.url?new Promise(((s,o)=>{const h=new XMLHttpRequest;h.open(t.method,t.url,!0),h.withCredentials=void 0===t.withCredentials||t.withCredentials,h.setRequestHeader("X-Requested-With","XMLHttpRequest"),h.setRequestHeader("Content-Type","text/plain;charset=UTF-8");const c=t.headers;c&&Object.keys(c).forEach((t=>{h.setRequestHeader(t,c[t])})),t.responseType&&(h.responseType=t.responseType),t.abortSignal&&(t.abortSignal.onabort=()=>{h.abort(),o(new r)}),t.timeout&&(h.timeout=t.timeout),h.onload=()=>{t.abortSignal&&(t.abortSignal.onabort=null),h.status>=200&&h.status<300?s(new u(h.status,h.statusText,h.response||h.responseText)):o(new n(h.response||h.responseText||h.statusText,h.status))},h.onerror=()=>{this.u.log(e.Warning,`Error from HTTP request. ${h.status}: ${h.statusText}.`),o(new n(h.statusText,h.status))},h.ontimeout=()=>{this.u.log(e.Warning,"Timeout from HTTP request."),o(new i)},h.send(t.content||"")})):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))}}class H extends d{constructor(t){if(super(),"undefined"!=typeof fetch||g.isNode)this.$=new T(t);else{if("undefined"==typeof XMLHttpRequest)throw new Error("No usable HttpClient found.");this.$=new _(t)}}send(t){return t.abortSignal&&t.abortSignal.aborted?Promise.reject(new r):t.method?t.url?this.$.send(t):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))}getCookieString(t){return this.$.getCookieString(t)}}class D{static write(t){return`${t}${D.RecordSeparator}`}static parse(t){if(t[t.length-1]!==D.RecordSeparator)throw new Error("Message is incomplete.");const e=t.split(D.RecordSeparator);return e.pop(),e}}D.RecordSeparatorCode=30,D.RecordSeparator=String.fromCharCode(D.RecordSeparatorCode);class x{writeHandshakeRequest(t){return D.write(JSON.stringify(t))}parseHandshakeResponse(t){let e,s;if(y(t)){const n=new Uint8Array(t),i=n.indexOf(D.RecordSeparatorCode);if(-1===i)throw new Error("Message is incomplete.");const r=i+1;e=String.fromCharCode.apply(null,Array.prototype.slice.call(n.slice(0,r))),s=n.byteLength>r?n.slice(r).buffer:null}else{const n=t,i=n.indexOf(D.RecordSeparator);if(-1===i)throw new Error("Message is incomplete.");const r=i+1;e=n.substring(0,r),s=n.length>r?n.substring(r):null}const n=D.parse(e),i=JSON.parse(n[0]);if(i.type)throw new Error("Expected a handshake response from the server.");return[s,i]}}var A,R;!function(t){t[t.Invocation=1]="Invocation",t[t.StreamItem=2]="StreamItem",t[t.Completion=3]="Completion",t[t.StreamInvocation=4]="StreamInvocation",t[t.CancelInvocation=5]="CancelInvocation",t[t.Ping=6]="Ping",t[t.Close=7]="Close"}(A||(A={}));class U{constructor(){this.observers=[]}next(t){for(const e of this.observers)e.next(t)}error(t){for(const e of this.observers)e.error&&e.error(t)}complete(){for(const t of this.observers)t.complete&&t.complete()}subscribe(t){return this.observers.push(t),new v(this,t)}}!function(t){t.Disconnected="Disconnected",t.Connecting="Connecting",t.Connected="Connected",t.Disconnecting="Disconnecting",t.Reconnecting="Reconnecting"}(R||(R={}));class L{constructor(t,s,n,i){this.C=0,this.S=()=>{this.u.log(e.Warning,"The page is being frozen, this will likely lead to the connection being closed and messages being lost. For more information see the docs at https://docs.microsoft.com/aspnet/core/signalr/javascript-client#bsleep")},w.isRequired(t,"connection"),w.isRequired(s,"logger"),w.isRequired(n,"protocol"),this.serverTimeoutInMilliseconds=3e4,this.keepAliveIntervalInMilliseconds=15e3,this.u=s,this.k=n,this.connection=t,this.P=i,this.T=new x,this.connection.onreceive=t=>this.I(t),this.connection.onclose=t=>this._(t),this.H={},this.D={},this.A=[],this.R=[],this.U=[],this.L=0,this.N=!1,this.q=R.Disconnected,this.M=!1,this.W=this.k.writeMessage({type:A.Ping})}static create(t,e,s,n){return new L(t,e,s,n)}get state(){return this.q}get connectionId(){return this.connection&&this.connection.connectionId||null}get baseUrl(){return this.connection.baseUrl||""}set baseUrl(t){if(this.q!==R.Disconnected&&this.q!==R.Reconnecting)throw new Error("The HubConnection must be in the Disconnected or Reconnecting state to change the url.");if(!t)throw new Error("The HubConnection url must be a valid url.");this.connection.baseUrl=t}start(){return this.O=this.j(),this.O}async j(){if(this.q!==R.Disconnected)return Promise.reject(new Error("Cannot start a HubConnection that is not in the 'Disconnected' state."));this.q=R.Connecting,this.u.log(e.Debug,"Starting HubConnection.");try{await this.F(),g.isBrowser&&document&&document.addEventListener("freeze",this.S),this.q=R.Connected,this.M=!0,this.u.log(e.Debug,"HubConnection connected successfully.")}catch(t){return this.q=R.Disconnected,this.u.log(e.Debug,`HubConnection failed to start successfully because of error '${t}'.`),Promise.reject(t)}}async F(){this.B=void 0,this.N=!1;const t=new Promise(((t,e)=>{this.X=t,this.J=e}));await this.connection.start(this.k.transferFormat);try{const s={protocol:this.k.name,version:this.k.version};if(this.u.log(e.Debug,"Sending handshake request."),await this.V(this.T.writeHandshakeRequest(s)),this.u.log(e.Information,`Using HubProtocol '${this.k.name}'.`),this.G(),this.K(),this.Y(),await t,this.B)throw this.B}catch(t){throw this.u.log(e.Debug,`Hub handshake failed with error '${t}' during start(). Stopping HubConnection.`),this.G(),this.Z(),await this.connection.stop(t),t}}async stop(){const t=this.O;this.tt=this.et(),await this.tt;try{await t}catch(t){}}et(t){return this.q===R.Disconnected?(this.u.log(e.Debug,`Call to HubConnection.stop(${t}) ignored because it is already in the disconnected state.`),Promise.resolve()):this.q===R.Disconnecting?(this.u.log(e.Debug,`Call to HttpConnection.stop(${t}) ignored because the connection is already in the disconnecting state.`),this.tt):(this.q=R.Disconnecting,this.u.log(e.Debug,"Stopping HubConnection."),this.st?(this.u.log(e.Debug,"Connection stopped during reconnect delay. Done reconnecting."),clearTimeout(this.st),this.st=void 0,this.nt(),Promise.resolve()):(this.G(),this.Z(),this.B=t||new Error("The connection was stopped before the hub handshake could complete."),this.connection.stop(t)))}stream(t,...e){const[s,n]=this.it(e),i=this.rt(t,e,n);let r;const o=new U;return o.cancelCallback=()=>{const t=this.ot(i.invocationId);return delete this.H[i.invocationId],r.then((()=>this.ht(t)))},this.H[i.invocationId]=(t,e)=>{e?o.error(e):t&&(t.type===A.Completion?t.error?o.error(new Error(t.error)):o.complete():o.next(t.item))},r=this.ht(i).catch((t=>{o.error(t),delete this.H[i.invocationId]})),this.ct(s,r),o}V(t){return this.Y(),this.connection.send(t)}ht(t){return this.V(this.k.writeMessage(t))}send(t,...e){const[s,n]=this.it(e),i=this.ht(this.at(t,e,!0,n));return this.ct(s,i),i}invoke(t,...e){const[s,n]=this.it(e),i=this.at(t,e,!1,n);return new Promise(((t,e)=>{this.H[i.invocationId]=(s,n)=>{n?e(n):s&&(s.type===A.Completion?s.error?e(new Error(s.error)):t(s.result):e(new Error(`Unexpected message type: ${s.type}`)))};const n=this.ht(i).catch((t=>{e(t),delete this.H[i.invocationId]}));this.ct(s,n)}))}on(t,e){t&&e&&(t=t.toLowerCase(),this.D[t]||(this.D[t]=[]),-1===this.D[t].indexOf(e)&&this.D[t].push(e))}off(t,e){if(!t)return;t=t.toLowerCase();const s=this.D[t];if(s)if(e){const n=s.indexOf(e);-1!==n&&(s.splice(n,1),0===s.length&&delete this.D[t])}else delete this.D[t]}onclose(t){t&&this.A.push(t)}onreconnecting(t){t&&this.R.push(t)}onreconnected(t){t&&this.U.push(t)}I(t){if(this.G(),this.N||(t=this.lt(t),this.N=!0),t){const s=this.k.parseMessages(t,this.u);for(const t of s)switch(t.type){case A.Invocation:this.ut(t);break;case A.StreamItem:case A.Completion:{const s=this.H[t.invocationId];if(s){t.type===A.Completion&&delete this.H[t.invocationId];try{s(t)}catch(t){this.u.log(e.Error,`Stream callback threw error: ${P(t)}`)}}break}case A.Ping:break;case A.Close:{this.u.log(e.Information,"Close message received from server.");const s=t.error?new Error("Server returned an error on close: "+t.error):void 0;!0===t.allowReconnect?this.connection.stop(s):this.tt=this.et(s);break}default:this.u.log(e.Warning,`Invalid message type: ${t.type}.`)}}this.K()}lt(t){let s,n;try{[n,s]=this.T.parseHandshakeResponse(t)}catch(t){const s="Error parsing handshake response: "+t;this.u.log(e.Error,s);const n=new Error(s);throw this.J(n),n}if(s.error){const t="Server returned handshake error: "+s.error;this.u.log(e.Error,t);const n=new Error(t);throw this.J(n),n}return this.u.log(e.Debug,"Server handshake complete."),this.X(),n}Y(){this.connection.features.inherentKeepAlive||(this.C=(new Date).getTime()+this.keepAliveIntervalInMilliseconds,this.Z())}K(){if(!(this.connection.features&&this.connection.features.inherentKeepAlive||(this.dt=setTimeout((()=>this.serverTimeout()),this.serverTimeoutInMilliseconds),void 0!==this.ft))){let t=this.C-(new Date).getTime();t<0&&(t=0),this.ft=setTimeout((async()=>{if(this.q===R.Connected)try{await this.V(this.W)}catch{this.Z()}}),t)}}serverTimeout(){this.connection.stop(new Error("Server timeout elapsed without receiving a message from the server."))}ut(t){const s=this.D[t.target.toLowerCase()];if(s){try{s.forEach((e=>e.apply(this,t.arguments)))}catch(s){this.u.log(e.Error,`A callback for the method ${t.target.toLowerCase()} threw error '${s}'.`)}if(t.invocationId){const t="Server requested a response, which is not supported in this version of the client.";this.u.log(e.Error,t),this.tt=this.et(new Error(t))}}else this.u.log(e.Warning,`No client method with the name '${t.target}' found.`)}_(t){this.u.log(e.Debug,`HubConnection.connectionClosed(${t}) called while in state ${this.q}.`),this.B=this.B||t||new Error("The underlying connection was closed before the hub handshake could complete."),this.X&&this.X(),this.wt(t||new Error("Invocation canceled due to the underlying connection being closed.")),this.G(),this.Z(),this.q===R.Disconnecting?this.nt(t):this.q===R.Connected&&this.P?this.gt(t):this.q===R.Connected&&this.nt(t)}nt(t){if(this.M){this.q=R.Disconnected,this.M=!1,g.isBrowser&&document&&document.removeEventListener("freeze",this.S);try{this.A.forEach((e=>e.apply(this,[t])))}catch(s){this.u.log(e.Error,`An onclose callback called with error '${t}' threw error '${s}'.`)}}}async gt(t){const s=Date.now();let n=0,i=void 0!==t?t:new Error("Attempting to reconnect due to a unknown error."),r=this.yt(n++,0,i);if(null===r)return this.u.log(e.Debug,"Connection not reconnecting because the IRetryPolicy returned null on the first reconnect attempt."),void this.nt(t);if(this.q=R.Reconnecting,t?this.u.log(e.Information,`Connection reconnecting because of error '${t}'.`):this.u.log(e.Information,"Connection reconnecting."),0!==this.R.length){try{this.R.forEach((e=>e.apply(this,[t])))}catch(s){this.u.log(e.Error,`An onreconnecting callback called with error '${t}' threw error '${s}'.`)}if(this.q!==R.Reconnecting)return void this.u.log(e.Debug,"Connection left the reconnecting state in onreconnecting callback. Done reconnecting.")}for(;null!==r;){if(this.u.log(e.Information,`Reconnect attempt number ${n} will start in ${r} ms.`),await new Promise((t=>{this.st=setTimeout(t,r)})),this.st=void 0,this.q!==R.Reconnecting)return void this.u.log(e.Debug,"Connection left the reconnecting state during reconnect delay. Done reconnecting.");try{if(await this.F(),this.q=R.Connected,this.u.log(e.Information,"HubConnection reconnected successfully."),0!==this.U.length)try{this.U.forEach((t=>t.apply(this,[this.connection.connectionId])))}catch(t){this.u.log(e.Error,`An onreconnected callback called with connectionId '${this.connection.connectionId}; threw error '${t}'.`)}return}catch(t){if(this.u.log(e.Information,`Reconnect attempt failed because of error '${t}'.`),this.q!==R.Reconnecting)return this.u.log(e.Debug,`Connection moved to the '${this.q}' from the reconnecting state during reconnect attempt. Done reconnecting.`),void(this.q===R.Disconnecting&&this.nt());i=t instanceof Error?t:new Error(t.toString()),r=this.yt(n++,Date.now()-s,i)}}this.u.log(e.Information,`Reconnect retries have been exhausted after ${Date.now()-s} ms and ${n} failed attempts. Connection disconnecting.`),this.nt()}yt(t,s,n){try{return this.P.nextRetryDelayInMilliseconds({elapsedMilliseconds:s,previousRetryCount:t,retryReason:n})}catch(n){return this.u.log(e.Error,`IRetryPolicy.nextRetryDelayInMilliseconds(${t}, ${s}) threw error '${n}'.`),null}}wt(t){const s=this.H;this.H={},Object.keys(s).forEach((n=>{const i=s[n];try{i(null,t)}catch(s){this.u.log(e.Error,`Stream 'error' callback called with '${t}' threw error: ${P(s)}`)}}))}Z(){this.ft&&(clearTimeout(this.ft),this.ft=void 0)}G(){this.dt&&clearTimeout(this.dt)}at(t,e,s,n){if(s)return 0!==n.length?{arguments:e,streamIds:n,target:t,type:A.Invocation}:{arguments:e,target:t,type:A.Invocation};{const s=this.L;return this.L++,0!==n.length?{arguments:e,invocationId:s.toString(),streamIds:n,target:t,type:A.Invocation}:{arguments:e,invocationId:s.toString(),target:t,type:A.Invocation}}}ct(t,e){if(0!==t.length){e||(e=Promise.resolve());for(const s in t)t[s].subscribe({complete:()=>{e=e.then((()=>this.ht(this.bt(s))))},error:t=>{let n;n=t instanceof Error?t.message:t&&t.toString?t.toString():"Unknown error",e=e.then((()=>this.ht(this.bt(s,n))))},next:t=>{e=e.then((()=>this.ht(this.vt(s,t))))}})}}it(t){const e=[],s=[];for(let n=0;n{let r,o=!1;if(s===O.Text){if(g.isBrowser||g.isWebWorker)r=new this.Pt.EventSource(t,{withCredentials:this.Pt.withCredentials});else{const e=this.$.getCookieString(t),s={};s.Cookie=e;const[n,i]=$();s[n]=i,r=new this.Pt.EventSource(t,{withCredentials:this.Pt.withCredentials,headers:{...s,...this.Pt.headers}})}try{r.onmessage=t=>{if(this.onreceive)try{this.u.log(e.Trace,`(SSE transport) data received. ${m(t.data,this.Pt.logMessageContent)}.`),this.onreceive(t.data)}catch(t){return void this.Ut(t)}},r.onerror=t=>{o?this.Ut():i(new Error("EventSource failed to connect. The connection could not be found on the server, either the connection ID is not present on the server, or a proxy is refusing/buffering the connection. If you have multiple servers check that sticky sessions are enabled."))},r.onopen=()=>{this.u.log(e.Information,`SSE connected to ${this.It}`),this.Lt=r,o=!0,n()}}catch(t){return void i(t)}}else i(new Error("The Server-Sent Events transport only supports the 'Text' transfer format"))}))}async send(t){return this.Lt?b(this.u,"SSE",this.$,this.It,this.St,t,this.Pt):Promise.reject(new Error("Cannot send until the transport is connected"))}stop(){return this.Ut(),Promise.resolve()}Ut(t){this.Lt&&(this.Lt.close(),this.Lt=void 0,this.onclose&&this.onclose(t))}}class X{constructor(t,e,s,n,i,r){this.u=s,this.St=e,this.Nt=n,this.qt=i,this.$=t,this.onreceive=null,this.onclose=null,this.Mt=r}async connect(t,s){if(w.isRequired(t,"url"),w.isRequired(s,"transferFormat"),w.isIn(s,O,"transferFormat"),this.u.log(e.Trace,"(WebSockets transport) Connecting."),this.St){const e=await this.St();e&&(t+=(t.indexOf("?")<0?"?":"&")+`access_token=${encodeURIComponent(e)}`)}return new Promise(((n,i)=>{let r;t=t.replace(/^http/,"ws");const o=this.$.getCookieString(t);let h=!1;if(g.isNode){const e={},[s,n]=$();e[s]=n,o&&(e[M.Cookie]=`${o}`),r=new this.qt(t,void 0,{headers:{...e,...this.Mt}})}r||(r=new this.qt(t)),s===O.Binary&&(r.binaryType="arraybuffer"),r.onopen=s=>{this.u.log(e.Information,`WebSocket connected to ${t}.`),this.Wt=r,h=!0,n()},r.onerror=t=>{let s=null;s="undefined"!=typeof ErrorEvent&&t instanceof ErrorEvent?t.error:"There was an error with the transport",this.u.log(e.Information,`(WebSockets transport) ${s}.`)},r.onmessage=t=>{if(this.u.log(e.Trace,`(WebSockets transport) data received. ${m(t.data,this.Nt)}.`),this.onreceive)try{this.onreceive(t.data)}catch(t){return void this.Ut(t)}},r.onclose=t=>{if(h)this.Ut(t);else{let e=null;e="undefined"!=typeof ErrorEvent&&t instanceof ErrorEvent?t.error:"WebSocket failed to connect. The connection could not be found on the server, either the endpoint may not be a SignalR endpoint, the connection ID is not present on the server, or there is a proxy blocking WebSockets. If you have multiple servers check that sticky sessions are enabled.",i(new Error(e))}}}))}send(t){return this.Wt&&this.Wt.readyState===this.qt.OPEN?(this.u.log(e.Trace,`(WebSockets transport) sending data. ${m(t,this.Nt)}.`),this.Wt.send(t),Promise.resolve()):Promise.reject("WebSocket is not in the OPEN state")}stop(){return this.Wt&&this.Ut(void 0),Promise.resolve()}Ut(t){this.Wt&&(this.Wt.onclose=()=>{},this.Wt.onmessage=()=>{},this.Wt.onerror=()=>{},this.Wt.close(),this.Wt=void 0),this.u.log(e.Trace,"(WebSockets transport) socket closed."),this.onclose&&(!this.Ot(t)||!1!==t.wasClean&&1e3===t.code?t instanceof Error?this.onclose(t):this.onclose():this.onclose(new Error(`WebSocket closed with status code: ${t.code} (${t.reason||"no reason given"}).`)))}Ot(t){return t&&"boolean"==typeof t.wasClean&&"number"==typeof t.code}}class J{constructor(t,s={}){var n;if(this.jt=()=>{},this.features={},this.Ft=1,w.isRequired(t,"url"),this.u=void 0===(n=s.logger)?new E(e.Information):null===n?f.instance:void 0!==n.log?n:new E(n),this.baseUrl=this.Bt(t),(s=s||{}).logMessageContent=void 0!==s.logMessageContent&&s.logMessageContent,"boolean"!=typeof s.withCredentials&&void 0!==s.withCredentials)throw new Error("withCredentials option was not a 'boolean' or 'undefined' value");s.withCredentials=void 0===s.withCredentials||s.withCredentials,s.timeout=void 0===s.timeout?1e5:s.timeout;let i=null,r=null;if(g.isNode){const t=require;i=t("ws"),r=t("eventsource")}g.isNode||"undefined"==typeof WebSocket||s.WebSocket?g.isNode&&!s.WebSocket&&i&&(s.WebSocket=i):s.WebSocket=WebSocket,g.isNode||"undefined"==typeof EventSource||s.EventSource?g.isNode&&!s.EventSource&&void 0!==r&&(s.EventSource=r):s.EventSource=EventSource,this.$=s.httpClient||new H(this.u),this.q="Disconnected",this.M=!1,this.Pt=s,this.onreceive=null,this.onclose=null}async start(t){if(t=t||O.Binary,w.isIn(t,O,"transferFormat"),this.u.log(e.Debug,`Starting connection with transfer format '${O[t]}'.`),"Disconnected"!==this.q)return Promise.reject(new Error("Cannot start an HttpConnection that is not in the 'Disconnected' state."));if(this.q="Connecting",this.Xt=this.F(t),await this.Xt,"Disconnecting"===this.q){const t="Failed to start the HttpConnection before stop() was called.";return this.u.log(e.Error,t),await this.tt,Promise.reject(new Error(t))}if("Connected"!==this.q){const t="HttpConnection.startInternal completed gracefully but didn't enter the connection into the connected state!";return this.u.log(e.Error,t),Promise.reject(new Error(t))}this.M=!0}send(t){return"Connected"!==this.q?Promise.reject(new Error("Cannot send data if the connection is not in the 'Connected' State.")):(this.Jt||(this.Jt=new z(this.transport)),this.Jt.send(t))}async stop(t){return"Disconnected"===this.q?(this.u.log(e.Debug,`Call to HttpConnection.stop(${t}) ignored because the connection is already in the disconnected state.`),Promise.resolve()):"Disconnecting"===this.q?(this.u.log(e.Debug,`Call to HttpConnection.stop(${t}) ignored because the connection is already in the disconnecting state.`),this.tt):(this.q="Disconnecting",this.tt=new Promise((t=>{this.jt=t})),await this.et(t),void await this.tt)}async et(t){this.zt=t;try{await this.Xt}catch(t){}if(this.transport){try{await this.transport.stop()}catch(t){this.u.log(e.Error,`HttpConnection.transport.stop() threw error '${t}'.`),this.Vt()}this.transport=void 0}else this.u.log(e.Debug,"HttpConnection.transport is undefined in HttpConnection.stop() because start() failed.")}async F(t){let s=this.baseUrl;this.St=this.Pt.accessTokenFactory;try{if(this.Pt.skipNegotiation){if(this.Pt.transport!==W.WebSockets)throw new Error("Negotiation can only be skipped when using the WebSocket transport directly.");this.transport=this.Gt(W.WebSockets),await this.Kt(s,t)}else{let e=null,n=0;do{if(e=await this.Qt(s),"Disconnecting"===this.q||"Disconnected"===this.q)throw new Error("The connection was stopped during negotiation.");if(e.error)throw new Error(e.error);if(e.ProtocolVersion)throw new Error("Detected a connection attempt to an ASP.NET SignalR Server. This client only supports connecting to an ASP.NET Core SignalR Server. See https://aka.ms/signalr-core-differences for details.");if(e.url&&(s=e.url),e.accessToken){const t=e.accessToken;this.St=()=>t}n++}while(e.url&&n<100);if(100===n&&e.url)throw new Error("Negotiate redirection limit exceeded.");await this.Yt(s,this.Pt.transport,e,t)}this.transport instanceof F&&(this.features.inherentKeepAlive=!0),"Connecting"===this.q&&(this.u.log(e.Debug,"The HttpConnection connected successfully."),this.q="Connected")}catch(t){return this.u.log(e.Error,"Failed to start the connection: "+t),this.q="Disconnected",this.transport=void 0,this.jt(),Promise.reject(t)}}async Qt(t){const s={};if(this.St){const t=await this.St();t&&(s[M.Authorization]=`Bearer ${t}`)}const[i,r]=$();s[i]=r;const o=this.Zt(t);this.u.log(e.Debug,`Sending negotiation request: ${o}.`);try{const t=await this.$.post(o,{content:"",headers:{...s,...this.Pt.headers},timeout:this.Pt.timeout,withCredentials:this.Pt.withCredentials});if(200!==t.statusCode)return Promise.reject(new Error(`Unexpected status code returned from negotiate '${t.statusCode}'`));const e=JSON.parse(t.content);return(!e.negotiateVersion||e.negotiateVersion<1)&&(e.connectionToken=e.connectionId),e}catch(t){let s="Failed to complete negotiation with the server: "+t;return t instanceof n&&404===t.statusCode&&(s+=" Either this is not a SignalR endpoint or there is a proxy blocking the connection."),this.u.log(e.Error,s),Promise.reject(new a(s))}}te(t,e){return e?t+(-1===t.indexOf("?")?"?":"&")+`id=${e}`:t}async Yt(t,s,n,i){let r=this.te(t,n.connectionToken);if(this.ee(s))return this.u.log(e.Debug,"Connection was provided an instance of ITransport, using that directly."),this.transport=s,await this.Kt(r,i),void(this.connectionId=n.connectionId);const o=[],h=n.availableTransports||[];let a=n;for(const n of h){const h=this.se(n,s,i);if(h instanceof Error)o.push(`${n.transport} failed:`),o.push(h);else if(this.ee(h)){if(this.transport=h,!a){try{a=await this.Qt(t)}catch(t){return Promise.reject(t)}r=this.te(t,a.connectionToken)}try{return await this.Kt(r,i),void(this.connectionId=a.connectionId)}catch(t){if(this.u.log(e.Error,`Failed to start the transport '${n.transport}': ${t}`),a=void 0,o.push(new c(`${n.transport} failed: ${t}`,W[n.transport])),"Connecting"!==this.q){const t="Failed to select transport before stop() was called.";return this.u.log(e.Debug,t),Promise.reject(new Error(t))}}}}return o.length>0?Promise.reject(new l(`Unable to connect to the server with any of the available transports. ${o.join(" ")}`,o)):Promise.reject(new Error("None of the transports supported by the client are supported by the server."))}Gt(t){switch(t){case W.WebSockets:if(!this.Pt.WebSocket)throw new Error("'WebSocket' is not supported in your environment.");return new X(this.$,this.St,this.u,this.Pt.logMessageContent,this.Pt.WebSocket,this.Pt.headers||{});case W.ServerSentEvents:if(!this.Pt.EventSource)throw new Error("'EventSource' is not supported in your environment.");return new B(this.$,this.St,this.u,this.Pt);case W.LongPolling:return new F(this.$,this.St,this.u,this.Pt);default:throw new Error(`Unknown transport: ${t}.`)}}Kt(t,e){return this.transport.onreceive=this.onreceive,this.transport.onclose=t=>this.Vt(t),this.transport.connect(t,e)}se(t,s,n){const i=W[t.transport];if(null==i)return this.u.log(e.Debug,`Skipping transport '${t.transport}' because it is not supported by this client.`),new Error(`Skipping transport '${t.transport}' because it is not supported by this client.`);if(!function(t,e){return!t||0!=(e&t)}(s,i))return this.u.log(e.Debug,`Skipping transport '${W[i]}' because it was disabled by the client.`),new h(`'${W[i]}' is disabled by the client.`,i);if(!(t.transferFormats.map((t=>O[t])).indexOf(n)>=0))return this.u.log(e.Debug,`Skipping transport '${W[i]}' because it does not support the requested transfer format '${O[n]}'.`),new Error(`'${W[i]}' does not support ${O[n]}.`);if(i===W.WebSockets&&!this.Pt.WebSocket||i===W.ServerSentEvents&&!this.Pt.EventSource)return this.u.log(e.Debug,`Skipping transport '${W[i]}' because it is not supported in your environment.'`),new o(`'${W[i]}' is not supported in your environment.`,i);this.u.log(e.Debug,`Selecting transport '${W[i]}'.`);try{return this.Gt(i)}catch(t){return t}}ee(t){return t&&"object"==typeof t&&"connect"in t}Vt(t){if(this.u.log(e.Debug,`HttpConnection.stopConnection(${t}) called while in state ${this.q}.`),this.transport=void 0,t=this.zt||t,this.zt=void 0,"Disconnected"!==this.q){if("Connecting"===this.q)throw this.u.log(e.Warning,`Call to HttpConnection.stopConnection(${t}) was ignored because the connection is still in the connecting state.`),new Error(`HttpConnection.stopConnection(${t}) was called while the connection is still in the connecting state.`);if("Disconnecting"===this.q&&this.jt(),t?this.u.log(e.Error,`Connection disconnected with error '${t}'.`):this.u.log(e.Information,"Connection disconnected."),this.Jt&&(this.Jt.stop().catch((t=>{this.u.log(e.Error,`TransportSendQueue.stop() threw error '${t}'.`)})),this.Jt=void 0),this.connectionId=void 0,this.q="Disconnected",this.M){this.M=!1;try{this.onclose&&this.onclose(t)}catch(s){this.u.log(e.Error,`HttpConnection.onclose(${t}) threw error '${s}'.`)}}}else this.u.log(e.Debug,`Call to HttpConnection.stopConnection(${t}) was ignored because the connection is already in the disconnected state.`)}Bt(t){if(0===t.lastIndexOf("https://",0)||0===t.lastIndexOf("http://",0))return t;if(!g.isBrowser||!window.document)throw new Error(`Cannot resolve '${t}'.`);const s=window.document.createElement("a");return s.href=t,this.u.log(e.Information,`Normalizing '${t}' to '${s.href}'.`),s.href}Zt(t){const e=t.indexOf("?");let s=t.substring(0,-1===e?t.length:e);return"/"!==s[s.length-1]&&(s+="/"),s+="negotiate",s+=-1===e?"":t.substring(e),-1===s.indexOf("negotiateVersion")&&(s+=-1===e?"?":"&",s+="negotiateVersion="+this.Ft),s}}class z{constructor(t){this.ne=t,this.ie=[],this.re=!0,this.oe=new V,this.he=new V,this.ce=this.ae()}send(t){return this.le(t),this.he||(this.he=new V),this.he.promise}stop(){return this.re=!1,this.oe.resolve(),this.ce}le(t){if(this.ie.length&&typeof this.ie[0]!=typeof t)throw new Error(`Expected data to be of type ${typeof this.ie} but was of type ${typeof t}`);this.ie.push(t),this.oe.resolve()}async ae(){for(;;){if(await this.oe.promise,!this.re){this.he&&this.he.reject("Connection stopped.");break}this.oe=new V;const t=this.he;this.he=void 0;const e="string"==typeof this.ie[0]?this.ie.join(""):z.ue(this.ie);this.ie.length=0;try{await this.ne.send(e),t.resolve()}catch(e){t.reject(e)}}}static ue(t){const e=t.map((t=>t.byteLength)).reduce(((t,e)=>t+e)),s=new Uint8Array(e);let n=0;for(const e of t)s.set(new Uint8Array(e),n),n+=e.byteLength;return s.buffer}}class V{constructor(){this.promise=new Promise(((t,e)=>[this.de,this.fe]=[t,e]))}resolve(){this.de()}reject(t){this.fe(t)}}class G{constructor(){this.name="json",this.version=1,this.transferFormat=O.Text}parseMessages(t,s){if("string"!=typeof t)throw new Error("Invalid input for JSON hub protocol. Expected a string.");if(!t)return[];null===s&&(s=f.instance);const n=D.parse(t),i=[];for(const t of n){const n=JSON.parse(t);if("number"!=typeof n.type)throw new Error("Invalid payload.");switch(n.type){case A.Invocation:this.pe(n);break;case A.StreamItem:this.we(n);break;case A.Completion:this.ge(n);break;case A.Ping:case A.Close:break;default:s.log(e.Information,"Unknown message type '"+n.type+"' ignored.");continue}i.push(n)}return i}writeMessage(t){return D.write(JSON.stringify(t))}pe(t){this.me(t.target,"Invalid payload for Invocation message."),void 0!==t.invocationId&&this.me(t.invocationId,"Invalid payload for Invocation message.")}we(t){if(this.me(t.invocationId,"Invalid payload for StreamItem message."),void 0===t.item)throw new Error("Invalid payload for StreamItem message.")}ge(t){if(t.result&&t.error)throw new Error("Invalid payload for Completion message.");!t.result&&t.error&&this.me(t.error,"Invalid payload for Completion message."),this.me(t.invocationId,"Invalid payload for Completion message.")}me(t,e){if("string"!=typeof t||""===t)throw new Error(e)}}const K={trace:e.Trace,debug:e.Debug,info:e.Information,information:e.Information,warn:e.Warning,warning:e.Warning,error:e.Error,critical:e.Critical,none:e.None};class Q{configureLogging(t){if(w.isRequired(t,"logging"),void 0!==t.log)this.logger=t;else if("string"==typeof t){const e=function(t){const e=K[t.toLowerCase()];if(void 0!==e)return e;throw new Error(`Unknown log level: ${t}`)}(t);this.logger=new E(e)}else this.logger=new E(t);return this}withUrl(t,e){return w.isRequired(t,"url"),w.isNotEmpty(t,"url"),this.url=t,this.httpConnectionOptions="object"==typeof e?{...this.httpConnectionOptions,...e}:{...this.httpConnectionOptions,transport:e},this}withHubProtocol(t){return w.isRequired(t,"protocol"),this.protocol=t,this}withAutomaticReconnect(t){if(this.reconnectPolicy)throw new Error("A reconnectPolicy has already been set.");return t?Array.isArray(t)?this.reconnectPolicy=new q(t):this.reconnectPolicy=t:this.reconnectPolicy=new q,this}build(){const t=this.httpConnectionOptions||{};if(void 0===t.logger&&(t.logger=this.logger),!this.url)throw new Error("The 'HubConnectionBuilder.withUrl' method must be called before building the connection.");const e=new J(this.url,t);return L.create(e,this.logger||f.instance,this.protocol||new G,this.reconnectPolicy)}}return Uint8Array.prototype.indexOf||Object.defineProperty(Uint8Array.prototype,"indexOf",{value:Array.prototype.indexOf,writable:!0}),Uint8Array.prototype.slice||Object.defineProperty(Uint8Array.prototype,"slice",{value:function(t,e){return new Uint8Array(Array.prototype.slice.call(this,t,e))},writable:!0}),Uint8Array.prototype.forEach||Object.defineProperty(Uint8Array.prototype,"forEach",{value:Array.prototype.forEach,writable:!0}),s})()},"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.signalR=e():t.signalR=e(); +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define([], factory); + else if(typeof exports === 'object') + exports["signalR"] = factory(); + else + root["signalR"] = factory(); +})(self, function() { +return /******/ (() => { // webpackBootstrap +/******/ "use strict"; +/******/ // The require scope +/******/ var __webpack_require__ = {}; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + "AbortError": () => (/* reexport */ AbortError), + "DefaultHttpClient": () => (/* reexport */ DefaultHttpClient), + "HttpClient": () => (/* reexport */ HttpClient), + "HttpError": () => (/* reexport */ HttpError), + "HttpResponse": () => (/* reexport */ HttpResponse), + "HttpTransportType": () => (/* reexport */ HttpTransportType), + "HubConnection": () => (/* reexport */ HubConnection), + "HubConnectionBuilder": () => (/* reexport */ HubConnectionBuilder), + "HubConnectionState": () => (/* reexport */ HubConnectionState), + "JsonHubProtocol": () => (/* reexport */ JsonHubProtocol), + "LogLevel": () => (/* reexport */ LogLevel), + "MessageType": () => (/* reexport */ MessageType), + "NullLogger": () => (/* reexport */ NullLogger), + "Subject": () => (/* reexport */ Subject), + "TimeoutError": () => (/* reexport */ TimeoutError), + "TransferFormat": () => (/* reexport */ TransferFormat), + "VERSION": () => (/* reexport */ VERSION) +}); + +;// CONCATENATED MODULE: ./src/Errors.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +/** Error thrown when an HTTP request fails. */ +class HttpError extends Error { + /** Constructs a new instance of {@link @microsoft/signalr.HttpError}. + * + * @param {string} errorMessage A descriptive error message. + * @param {number} statusCode The HTTP status code represented by this error. + */ + constructor(errorMessage, statusCode) { + const trueProto = new.target.prototype; + super(`${errorMessage}: Status code '${statusCode}'`); + this.statusCode = statusCode; + // Workaround issue in Typescript compiler + // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200 + this.__proto__ = trueProto; + } +} +/** Error thrown when a timeout elapses. */ +class TimeoutError extends Error { + /** Constructs a new instance of {@link @microsoft/signalr.TimeoutError}. + * + * @param {string} errorMessage A descriptive error message. + */ + constructor(errorMessage = "A timeout occurred.") { + const trueProto = new.target.prototype; + super(errorMessage); + // Workaround issue in Typescript compiler + // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200 + this.__proto__ = trueProto; + } +} +/** Error thrown when an action is aborted. */ +class AbortError extends Error { + /** Constructs a new instance of {@link AbortError}. + * + * @param {string} errorMessage A descriptive error message. + */ + constructor(errorMessage = "An abort occurred.") { + const trueProto = new.target.prototype; + super(errorMessage); + // Workaround issue in Typescript compiler + // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200 + this.__proto__ = trueProto; + } +} +/** Error thrown when the selected transport is unsupported by the browser. */ +/** @private */ +class UnsupportedTransportError extends Error { + /** Constructs a new instance of {@link @microsoft/signalr.UnsupportedTransportError}. + * + * @param {string} message A descriptive error message. + * @param {HttpTransportType} transport The {@link @microsoft/signalr.HttpTransportType} this error occured on. + */ + constructor(message, transport) { + const trueProto = new.target.prototype; + super(message); + this.transport = transport; + this.errorType = 'UnsupportedTransportError'; + // Workaround issue in Typescript compiler + // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200 + this.__proto__ = trueProto; + } +} +/** Error thrown when the selected transport is disabled by the browser. */ +/** @private */ +class DisabledTransportError extends Error { + /** Constructs a new instance of {@link @microsoft/signalr.DisabledTransportError}. + * + * @param {string} message A descriptive error message. + * @param {HttpTransportType} transport The {@link @microsoft/signalr.HttpTransportType} this error occured on. + */ + constructor(message, transport) { + const trueProto = new.target.prototype; + super(message); + this.transport = transport; + this.errorType = 'DisabledTransportError'; + // Workaround issue in Typescript compiler + // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200 + this.__proto__ = trueProto; + } +} +/** Error thrown when the selected transport cannot be started. */ +/** @private */ +class FailedToStartTransportError extends Error { + /** Constructs a new instance of {@link @microsoft/signalr.FailedToStartTransportError}. + * + * @param {string} message A descriptive error message. + * @param {HttpTransportType} transport The {@link @microsoft/signalr.HttpTransportType} this error occured on. + */ + constructor(message, transport) { + const trueProto = new.target.prototype; + super(message); + this.transport = transport; + this.errorType = 'FailedToStartTransportError'; + // Workaround issue in Typescript compiler + // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200 + this.__proto__ = trueProto; + } +} +/** Error thrown when the negotiation with the server failed to complete. */ +/** @private */ +class FailedToNegotiateWithServerError extends Error { + /** Constructs a new instance of {@link @microsoft/signalr.FailedToNegotiateWithServerError}. + * + * @param {string} message A descriptive error message. + */ + constructor(message) { + const trueProto = new.target.prototype; + super(message); + this.errorType = 'FailedToNegotiateWithServerError'; + // Workaround issue in Typescript compiler + // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200 + this.__proto__ = trueProto; + } +} +/** Error thrown when multiple errors have occured. */ +/** @private */ +class AggregateErrors extends Error { + /** Constructs a new instance of {@link @microsoft/signalr.AggregateErrors}. + * + * @param {string} message A descriptive error message. + * @param {Error[]} innerErrors The collection of errors this error is aggregating. + */ + constructor(message, innerErrors) { + const trueProto = new.target.prototype; + super(message); + this.innerErrors = innerErrors; + // Workaround issue in Typescript compiler + // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200 + this.__proto__ = trueProto; + } +} + +;// CONCATENATED MODULE: ./src/HttpClient.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +/** Represents an HTTP response. */ +class HttpResponse { + constructor(statusCode, statusText, content) { + this.statusCode = statusCode; + this.statusText = statusText; + this.content = content; + } +} +/** Abstraction over an HTTP client. + * + * This class provides an abstraction over an HTTP client so that a different implementation can be provided on different platforms. + */ +class HttpClient { + get(url, options) { + return this.send({ + ...options, + method: "GET", + url, + }); + } + post(url, options) { + return this.send({ + ...options, + method: "POST", + url, + }); + } + delete(url, options) { + return this.send({ + ...options, + method: "DELETE", + url, + }); + } + /** Gets all cookies that apply to the specified URL. + * + * @param url The URL that the cookies are valid for. + * @returns {string} A string containing all the key-value cookie pairs for the specified URL. + */ + // @ts-ignore + getCookieString(url) { + return ""; + } +} + +;// CONCATENATED MODULE: ./src/ILogger.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// These values are designed to match the ASP.NET Log Levels since that's the pattern we're emulating here. +/** Indicates the severity of a log message. + * + * Log Levels are ordered in increasing severity. So `Debug` is more severe than `Trace`, etc. + */ +var LogLevel; +(function (LogLevel) { + /** Log level for very low severity diagnostic messages. */ + LogLevel[LogLevel["Trace"] = 0] = "Trace"; + /** Log level for low severity diagnostic messages. */ + LogLevel[LogLevel["Debug"] = 1] = "Debug"; + /** Log level for informational diagnostic messages. */ + LogLevel[LogLevel["Information"] = 2] = "Information"; + /** Log level for diagnostic messages that indicate a non-fatal problem. */ + LogLevel[LogLevel["Warning"] = 3] = "Warning"; + /** Log level for diagnostic messages that indicate a failure in the current operation. */ + LogLevel[LogLevel["Error"] = 4] = "Error"; + /** Log level for diagnostic messages that indicate a failure that will terminate the entire application. */ + LogLevel[LogLevel["Critical"] = 5] = "Critical"; + /** The highest possible log level. Used when configuring logging to indicate that no log messages should be emitted. */ + LogLevel[LogLevel["None"] = 6] = "None"; +})(LogLevel || (LogLevel = {})); + +;// CONCATENATED MODULE: ./src/Loggers.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +/** A logger that does nothing when log messages are sent to it. */ +class NullLogger { + constructor() { } + /** @inheritDoc */ + // eslint-disable-next-line + log(_logLevel, _message) { + } +} +/** The singleton instance of the {@link @microsoft/signalr.NullLogger}. */ +NullLogger.instance = new NullLogger(); + +;// CONCATENATED MODULE: ./src/Utils.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + + +// Version token that will be replaced by the prepack command +/** The version of the SignalR client. */ +const VERSION = "6.0.6"; +/** @private */ +class Arg { + static isRequired(val, name) { + if (val === null || val === undefined) { + throw new Error(`The '${name}' argument is required.`); + } + } + static isNotEmpty(val, name) { + if (!val || val.match(/^\s*$/)) { + throw new Error(`The '${name}' argument should not be empty.`); + } + } + static isIn(val, values, name) { + // TypeScript enums have keys for **both** the name and the value of each enum member on the type itself. + if (!(val in values)) { + throw new Error(`Unknown ${name} value: ${val}.`); + } + } +} +/** @private */ +class Platform { + // react-native has a window but no document so we should check both + static get isBrowser() { + return typeof window === "object" && typeof window.document === "object"; + } + // WebWorkers don't have a window object so the isBrowser check would fail + static get isWebWorker() { + return typeof self === "object" && "importScripts" in self; + } + // react-native has a window but no document + static get isReactNative() { + return typeof window === "object" && typeof window.document === "undefined"; + } + // Node apps shouldn't have a window object, but WebWorkers don't either + // so we need to check for both WebWorker and window + static get isNode() { + return !this.isBrowser && !this.isWebWorker && !this.isReactNative; + } +} +/** @private */ +function getDataDetail(data, includeContent) { + let detail = ""; + if (isArrayBuffer(data)) { + detail = `Binary data of length ${data.byteLength}`; + if (includeContent) { + detail += `. Content: '${formatArrayBuffer(data)}'`; + } + } + else if (typeof data === "string") { + detail = `String data of length ${data.length}`; + if (includeContent) { + detail += `. Content: '${data}'`; + } + } + return detail; +} +/** @private */ +function formatArrayBuffer(data) { + const view = new Uint8Array(data); + // Uint8Array.map only supports returning another Uint8Array? + let str = ""; + view.forEach((num) => { + const pad = num < 16 ? "0" : ""; + str += `0x${pad}${num.toString(16)} `; + }); + // Trim of trailing space. + return str.substr(0, str.length - 1); +} +// Also in signalr-protocol-msgpack/Utils.ts +/** @private */ +function isArrayBuffer(val) { + return val && typeof ArrayBuffer !== "undefined" && + (val instanceof ArrayBuffer || + // Sometimes we get an ArrayBuffer that doesn't satisfy instanceof + (val.constructor && val.constructor.name === "ArrayBuffer")); +} +/** @private */ +async function sendMessage(logger, transportName, httpClient, url, accessTokenFactory, content, options) { + let headers = {}; + if (accessTokenFactory) { + const token = await accessTokenFactory(); + if (token) { + headers = { + ["Authorization"]: `Bearer ${token}`, + }; + } + } + const [name, value] = getUserAgentHeader(); + headers[name] = value; + logger.log(LogLevel.Trace, `(${transportName} transport) sending data. ${getDataDetail(content, options.logMessageContent)}.`); + const responseType = isArrayBuffer(content) ? "arraybuffer" : "text"; + const response = await httpClient.post(url, { + content, + headers: { ...headers, ...options.headers }, + responseType, + timeout: options.timeout, + withCredentials: options.withCredentials, + }); + logger.log(LogLevel.Trace, `(${transportName} transport) request complete. Response status: ${response.statusCode}.`); +} +/** @private */ +function createLogger(logger) { + if (logger === undefined) { + return new ConsoleLogger(LogLevel.Information); + } + if (logger === null) { + return NullLogger.instance; + } + if (logger.log !== undefined) { + return logger; + } + return new ConsoleLogger(logger); +} +/** @private */ +class SubjectSubscription { + constructor(subject, observer) { + this._subject = subject; + this._observer = observer; + } + dispose() { + const index = this._subject.observers.indexOf(this._observer); + if (index > -1) { + this._subject.observers.splice(index, 1); + } + if (this._subject.observers.length === 0 && this._subject.cancelCallback) { + this._subject.cancelCallback().catch((_) => { }); + } + } +} +/** @private */ +class ConsoleLogger { + constructor(minimumLogLevel) { + this._minLevel = minimumLogLevel; + this.out = console; + } + log(logLevel, message) { + if (logLevel >= this._minLevel) { + const msg = `[${new Date().toISOString()}] ${LogLevel[logLevel]}: ${message}`; + switch (logLevel) { + case LogLevel.Critical: + case LogLevel.Error: + this.out.error(msg); + break; + case LogLevel.Warning: + this.out.warn(msg); + break; + case LogLevel.Information: + this.out.info(msg); + break; + default: + // console.debug only goes to attached debuggers in Node, so we use console.log for Trace and Debug + this.out.log(msg); + break; + } + } + } +} +/** @private */ +function getUserAgentHeader() { + let userAgentHeaderName = "X-SignalR-User-Agent"; + if (Platform.isNode) { + userAgentHeaderName = "User-Agent"; + } + return [userAgentHeaderName, constructUserAgent(VERSION, getOsName(), getRuntime(), getRuntimeVersion())]; +} +/** @private */ +function constructUserAgent(version, os, runtime, runtimeVersion) { + // Microsoft SignalR/[Version] ([Detailed Version]; [Operating System]; [Runtime]; [Runtime Version]) + let userAgent = "Microsoft SignalR/"; + const majorAndMinor = version.split("."); + userAgent += `${majorAndMinor[0]}.${majorAndMinor[1]}`; + userAgent += ` (${version}; `; + if (os && os !== "") { + userAgent += `${os}; `; + } + else { + userAgent += "Unknown OS; "; + } + userAgent += `${runtime}`; + if (runtimeVersion) { + userAgent += `; ${runtimeVersion}`; + } + else { + userAgent += "; Unknown Runtime Version"; + } + userAgent += ")"; + return userAgent; +} +// eslint-disable-next-line spaced-comment +/*#__PURE__*/ function getOsName() { + if (Platform.isNode) { + switch (process.platform) { + case "win32": + return "Windows NT"; + case "darwin": + return "macOS"; + case "linux": + return "Linux"; + default: + return process.platform; + } + } + else { + return ""; + } +} +// eslint-disable-next-line spaced-comment +/*#__PURE__*/ function getRuntimeVersion() { + if (Platform.isNode) { + return process.versions.node; + } + return undefined; +} +function getRuntime() { + if (Platform.isNode) { + return "NodeJS"; + } + else { + return "Browser"; + } +} +/** @private */ +function getErrorString(e) { + if (e.stack) { + return e.stack; + } + else if (e.message) { + return e.message; + } + return `${e}`; +} +/** @private */ +function getGlobalThis() { + // globalThis is semi-new and not available in Node until v12 + if (typeof globalThis !== "undefined") { + return globalThis; + } + if (typeof self !== "undefined") { + return self; + } + if (typeof window !== "undefined") { + return window; + } + if (typeof __webpack_require__.g !== "undefined") { + return __webpack_require__.g; + } + throw new Error("could not find global"); +} + +;// CONCATENATED MODULE: ./src/FetchHttpClient.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + + + + +class FetchHttpClient extends HttpClient { + constructor(logger) { + super(); + this._logger = logger; + if (typeof fetch === "undefined") { + // In order to ignore the dynamic require in webpack builds we need to do this magic + // @ts-ignore: TS doesn't know about these names + const requireFunc = true ? require : 0; + // Cookies aren't automatically handled in Node so we need to add a CookieJar to preserve cookies across requests + this._jar = new (requireFunc("tough-cookie")).CookieJar(); + this._fetchType = requireFunc("node-fetch"); + // node-fetch doesn't have a nice API for getting and setting cookies + // fetch-cookie will wrap a fetch implementation with a default CookieJar or a provided one + this._fetchType = requireFunc("fetch-cookie")(this._fetchType, this._jar); + } + else { + this._fetchType = fetch.bind(getGlobalThis()); + } + if (typeof AbortController === "undefined") { + // In order to ignore the dynamic require in webpack builds we need to do this magic + // @ts-ignore: TS doesn't know about these names + const requireFunc = true ? require : 0; + // Node needs EventListener methods on AbortController which our custom polyfill doesn't provide + this._abortControllerType = requireFunc("abort-controller"); + } + else { + this._abortControllerType = AbortController; + } + } + /** @inheritDoc */ + async send(request) { + // Check that abort was not signaled before calling send + if (request.abortSignal && request.abortSignal.aborted) { + throw new AbortError(); + } + if (!request.method) { + throw new Error("No method defined."); + } + if (!request.url) { + throw new Error("No url defined."); + } + const abortController = new this._abortControllerType(); + let error; + // Hook our abortSignal into the abort controller + if (request.abortSignal) { + request.abortSignal.onabort = () => { + abortController.abort(); + error = new AbortError(); + }; + } + // If a timeout has been passed in, setup a timeout to call abort + // Type needs to be any to fit window.setTimeout and NodeJS.setTimeout + let timeoutId = null; + if (request.timeout) { + const msTimeout = request.timeout; + timeoutId = setTimeout(() => { + abortController.abort(); + this._logger.log(LogLevel.Warning, `Timeout from HTTP request.`); + error = new TimeoutError(); + }, msTimeout); + } + let response; + try { + response = await this._fetchType(request.url, { + body: request.content, + cache: "no-cache", + credentials: request.withCredentials === true ? "include" : "same-origin", + headers: { + "Content-Type": "text/plain;charset=UTF-8", + "X-Requested-With": "XMLHttpRequest", + ...request.headers, + }, + method: request.method, + mode: "cors", + redirect: "follow", + signal: abortController.signal, + }); + } + catch (e) { + if (error) { + throw error; + } + this._logger.log(LogLevel.Warning, `Error from HTTP request. ${e}.`); + throw e; + } + finally { + if (timeoutId) { + clearTimeout(timeoutId); + } + if (request.abortSignal) { + request.abortSignal.onabort = null; + } + } + if (!response.ok) { + const errorMessage = await deserializeContent(response, "text"); + throw new HttpError(errorMessage || response.statusText, response.status); + } + const content = deserializeContent(response, request.responseType); + const payload = await content; + return new HttpResponse(response.status, response.statusText, payload); + } + getCookieString(url) { + let cookies = ""; + if (Platform.isNode && this._jar) { + // @ts-ignore: unused variable + this._jar.getCookies(url, (e, c) => cookies = c.join("; ")); + } + return cookies; + } +} +function deserializeContent(response, responseType) { + let content; + switch (responseType) { + case "arraybuffer": + content = response.arrayBuffer(); + break; + case "text": + content = response.text(); + break; + case "blob": + case "document": + case "json": + throw new Error(`${responseType} is not supported.`); + default: + content = response.text(); + break; + } + return content; +} + +;// CONCATENATED MODULE: ./src/XhrHttpClient.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + + + +class XhrHttpClient extends HttpClient { + constructor(logger) { + super(); + this._logger = logger; + } + /** @inheritDoc */ + send(request) { + // Check that abort was not signaled before calling send + if (request.abortSignal && request.abortSignal.aborted) { + return Promise.reject(new AbortError()); + } + if (!request.method) { + return Promise.reject(new Error("No method defined.")); + } + if (!request.url) { + return Promise.reject(new Error("No url defined.")); + } + return new Promise((resolve, reject) => { + const xhr = new XMLHttpRequest(); + xhr.open(request.method, request.url, true); + xhr.withCredentials = request.withCredentials === undefined ? true : request.withCredentials; + xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest"); + // Explicitly setting the Content-Type header for React Native on Android platform. + xhr.setRequestHeader("Content-Type", "text/plain;charset=UTF-8"); + const headers = request.headers; + if (headers) { + Object.keys(headers) + .forEach((header) => { + xhr.setRequestHeader(header, headers[header]); + }); + } + if (request.responseType) { + xhr.responseType = request.responseType; + } + if (request.abortSignal) { + request.abortSignal.onabort = () => { + xhr.abort(); + reject(new AbortError()); + }; + } + if (request.timeout) { + xhr.timeout = request.timeout; + } + xhr.onload = () => { + if (request.abortSignal) { + request.abortSignal.onabort = null; + } + if (xhr.status >= 200 && xhr.status < 300) { + resolve(new HttpResponse(xhr.status, xhr.statusText, xhr.response || xhr.responseText)); + } + else { + reject(new HttpError(xhr.response || xhr.responseText || xhr.statusText, xhr.status)); + } + }; + xhr.onerror = () => { + this._logger.log(LogLevel.Warning, `Error from HTTP request. ${xhr.status}: ${xhr.statusText}.`); + reject(new HttpError(xhr.statusText, xhr.status)); + }; + xhr.ontimeout = () => { + this._logger.log(LogLevel.Warning, `Timeout from HTTP request.`); + reject(new TimeoutError()); + }; + xhr.send(request.content || ""); + }); + } +} + +;// CONCATENATED MODULE: ./src/DefaultHttpClient.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + + + + + +/** Default implementation of {@link @microsoft/signalr.HttpClient}. */ +class DefaultHttpClient extends HttpClient { + /** Creates a new instance of the {@link @microsoft/signalr.DefaultHttpClient}, using the provided {@link @microsoft/signalr.ILogger} to log messages. */ + constructor(logger) { + super(); + if (typeof fetch !== "undefined" || Platform.isNode) { + this._httpClient = new FetchHttpClient(logger); + } + else if (typeof XMLHttpRequest !== "undefined") { + this._httpClient = new XhrHttpClient(logger); + } + else { + throw new Error("No usable HttpClient found."); + } + } + /** @inheritDoc */ + send(request) { + // Check that abort was not signaled before calling send + if (request.abortSignal && request.abortSignal.aborted) { + return Promise.reject(new AbortError()); + } + if (!request.method) { + return Promise.reject(new Error("No method defined.")); + } + if (!request.url) { + return Promise.reject(new Error("No url defined.")); + } + return this._httpClient.send(request); + } + getCookieString(url) { + return this._httpClient.getCookieString(url); + } +} + +;// CONCATENATED MODULE: ./src/TextMessageFormat.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// Not exported from index +/** @private */ +class TextMessageFormat { + static write(output) { + return `${output}${TextMessageFormat.RecordSeparator}`; + } + static parse(input) { + if (input[input.length - 1] !== TextMessageFormat.RecordSeparator) { + throw new Error("Message is incomplete."); + } + const messages = input.split(TextMessageFormat.RecordSeparator); + messages.pop(); + return messages; + } +} +TextMessageFormat.RecordSeparatorCode = 0x1e; +TextMessageFormat.RecordSeparator = String.fromCharCode(TextMessageFormat.RecordSeparatorCode); + +;// CONCATENATED MODULE: ./src/HandshakeProtocol.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + + +/** @private */ +class HandshakeProtocol { + // Handshake request is always JSON + writeHandshakeRequest(handshakeRequest) { + return TextMessageFormat.write(JSON.stringify(handshakeRequest)); + } + parseHandshakeResponse(data) { + let messageData; + let remainingData; + if (isArrayBuffer(data)) { + // Format is binary but still need to read JSON text from handshake response + const binaryData = new Uint8Array(data); + const separatorIndex = binaryData.indexOf(TextMessageFormat.RecordSeparatorCode); + if (separatorIndex === -1) { + throw new Error("Message is incomplete."); + } + // content before separator is handshake response + // optional content after is additional messages + const responseLength = separatorIndex + 1; + messageData = String.fromCharCode.apply(null, Array.prototype.slice.call(binaryData.slice(0, responseLength))); + remainingData = (binaryData.byteLength > responseLength) ? binaryData.slice(responseLength).buffer : null; + } + else { + const textData = data; + const separatorIndex = textData.indexOf(TextMessageFormat.RecordSeparator); + if (separatorIndex === -1) { + throw new Error("Message is incomplete."); + } + // content before separator is handshake response + // optional content after is additional messages + const responseLength = separatorIndex + 1; + messageData = textData.substring(0, responseLength); + remainingData = (textData.length > responseLength) ? textData.substring(responseLength) : null; + } + // At this point we should have just the single handshake message + const messages = TextMessageFormat.parse(messageData); + const response = JSON.parse(messages[0]); + if (response.type) { + throw new Error("Expected a handshake response from the server."); + } + const responseMessage = response; + // multiple messages could have arrived with handshake + // return additional data to be parsed as usual, or null if all parsed + return [remainingData, responseMessage]; + } +} + +;// CONCATENATED MODULE: ./src/IHubProtocol.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +/** Defines the type of a Hub Message. */ +var MessageType; +(function (MessageType) { + /** Indicates the message is an Invocation message and implements the {@link @microsoft/signalr.InvocationMessage} interface. */ + MessageType[MessageType["Invocation"] = 1] = "Invocation"; + /** Indicates the message is a StreamItem message and implements the {@link @microsoft/signalr.StreamItemMessage} interface. */ + MessageType[MessageType["StreamItem"] = 2] = "StreamItem"; + /** Indicates the message is a Completion message and implements the {@link @microsoft/signalr.CompletionMessage} interface. */ + MessageType[MessageType["Completion"] = 3] = "Completion"; + /** Indicates the message is a Stream Invocation message and implements the {@link @microsoft/signalr.StreamInvocationMessage} interface. */ + MessageType[MessageType["StreamInvocation"] = 4] = "StreamInvocation"; + /** Indicates the message is a Cancel Invocation message and implements the {@link @microsoft/signalr.CancelInvocationMessage} interface. */ + MessageType[MessageType["CancelInvocation"] = 5] = "CancelInvocation"; + /** Indicates the message is a Ping message and implements the {@link @microsoft/signalr.PingMessage} interface. */ + MessageType[MessageType["Ping"] = 6] = "Ping"; + /** Indicates the message is a Close message and implements the {@link @microsoft/signalr.CloseMessage} interface. */ + MessageType[MessageType["Close"] = 7] = "Close"; +})(MessageType || (MessageType = {})); + +;// CONCATENATED MODULE: ./src/Subject.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +/** Stream implementation to stream items to the server. */ +class Subject { + constructor() { + this.observers = []; + } + next(item) { + for (const observer of this.observers) { + observer.next(item); + } + } + error(err) { + for (const observer of this.observers) { + if (observer.error) { + observer.error(err); + } + } + } + complete() { + for (const observer of this.observers) { + if (observer.complete) { + observer.complete(); + } + } + } + subscribe(observer) { + this.observers.push(observer); + return new SubjectSubscription(this, observer); + } +} + +;// CONCATENATED MODULE: ./src/HubConnection.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + + + + + +const DEFAULT_TIMEOUT_IN_MS = 30 * 1000; +const DEFAULT_PING_INTERVAL_IN_MS = 15 * 1000; +/** Describes the current state of the {@link HubConnection} to the server. */ +var HubConnectionState; +(function (HubConnectionState) { + /** The hub connection is disconnected. */ + HubConnectionState["Disconnected"] = "Disconnected"; + /** The hub connection is connecting. */ + HubConnectionState["Connecting"] = "Connecting"; + /** The hub connection is connected. */ + HubConnectionState["Connected"] = "Connected"; + /** The hub connection is disconnecting. */ + HubConnectionState["Disconnecting"] = "Disconnecting"; + /** The hub connection is reconnecting. */ + HubConnectionState["Reconnecting"] = "Reconnecting"; +})(HubConnectionState || (HubConnectionState = {})); +/** Represents a connection to a SignalR Hub. */ +class HubConnection { + constructor(connection, logger, protocol, reconnectPolicy) { + this._nextKeepAlive = 0; + this._freezeEventListener = () => { + this._logger.log(LogLevel.Warning, "The page is being frozen, this will likely lead to the connection being closed and messages being lost. For more information see the docs at https://docs.microsoft.com/aspnet/core/signalr/javascript-client#bsleep"); + }; + Arg.isRequired(connection, "connection"); + Arg.isRequired(logger, "logger"); + Arg.isRequired(protocol, "protocol"); + this.serverTimeoutInMilliseconds = DEFAULT_TIMEOUT_IN_MS; + this.keepAliveIntervalInMilliseconds = DEFAULT_PING_INTERVAL_IN_MS; + this._logger = logger; + this._protocol = protocol; + this.connection = connection; + this._reconnectPolicy = reconnectPolicy; + this._handshakeProtocol = new HandshakeProtocol(); + this.connection.onreceive = (data) => this._processIncomingData(data); + this.connection.onclose = (error) => this._connectionClosed(error); + this._callbacks = {}; + this._methods = {}; + this._closedCallbacks = []; + this._reconnectingCallbacks = []; + this._reconnectedCallbacks = []; + this._invocationId = 0; + this._receivedHandshakeResponse = false; + this._connectionState = HubConnectionState.Disconnected; + this._connectionStarted = false; + this._cachedPingMessage = this._protocol.writeMessage({ type: MessageType.Ping }); + } + /** @internal */ + // Using a public static factory method means we can have a private constructor and an _internal_ + // create method that can be used by HubConnectionBuilder. An "internal" constructor would just + // be stripped away and the '.d.ts' file would have no constructor, which is interpreted as a + // public parameter-less constructor. + static create(connection, logger, protocol, reconnectPolicy) { + return new HubConnection(connection, logger, protocol, reconnectPolicy); + } + /** Indicates the state of the {@link HubConnection} to the server. */ + get state() { + return this._connectionState; + } + /** Represents the connection id of the {@link HubConnection} on the server. The connection id will be null when the connection is either + * in the disconnected state or if the negotiation step was skipped. + */ + get connectionId() { + return this.connection ? (this.connection.connectionId || null) : null; + } + /** Indicates the url of the {@link HubConnection} to the server. */ + get baseUrl() { + return this.connection.baseUrl || ""; + } + /** + * Sets a new url for the HubConnection. Note that the url can only be changed when the connection is in either the Disconnected or + * Reconnecting states. + * @param {string} url The url to connect to. + */ + set baseUrl(url) { + if (this._connectionState !== HubConnectionState.Disconnected && this._connectionState !== HubConnectionState.Reconnecting) { + throw new Error("The HubConnection must be in the Disconnected or Reconnecting state to change the url."); + } + if (!url) { + throw new Error("The HubConnection url must be a valid url."); + } + this.connection.baseUrl = url; + } + /** Starts the connection. + * + * @returns {Promise} A Promise that resolves when the connection has been successfully established, or rejects with an error. + */ + start() { + this._startPromise = this._startWithStateTransitions(); + return this._startPromise; + } + async _startWithStateTransitions() { + if (this._connectionState !== HubConnectionState.Disconnected) { + return Promise.reject(new Error("Cannot start a HubConnection that is not in the 'Disconnected' state.")); + } + this._connectionState = HubConnectionState.Connecting; + this._logger.log(LogLevel.Debug, "Starting HubConnection."); + try { + await this._startInternal(); + if (Platform.isBrowser) { + // Log when the browser freezes the tab so users know why their connection unexpectedly stopped working + window.document.addEventListener("freeze", this._freezeEventListener); + } + this._connectionState = HubConnectionState.Connected; + this._connectionStarted = true; + this._logger.log(LogLevel.Debug, "HubConnection connected successfully."); + } + catch (e) { + this._connectionState = HubConnectionState.Disconnected; + this._logger.log(LogLevel.Debug, `HubConnection failed to start successfully because of error '${e}'.`); + return Promise.reject(e); + } + } + async _startInternal() { + this._stopDuringStartError = undefined; + this._receivedHandshakeResponse = false; + // Set up the promise before any connection is (re)started otherwise it could race with received messages + const handshakePromise = new Promise((resolve, reject) => { + this._handshakeResolver = resolve; + this._handshakeRejecter = reject; + }); + await this.connection.start(this._protocol.transferFormat); + try { + const handshakeRequest = { + protocol: this._protocol.name, + version: this._protocol.version, + }; + this._logger.log(LogLevel.Debug, "Sending handshake request."); + await this._sendMessage(this._handshakeProtocol.writeHandshakeRequest(handshakeRequest)); + this._logger.log(LogLevel.Information, `Using HubProtocol '${this._protocol.name}'.`); + // defensively cleanup timeout in case we receive a message from the server before we finish start + this._cleanupTimeout(); + this._resetTimeoutPeriod(); + this._resetKeepAliveInterval(); + await handshakePromise; + // It's important to check the stopDuringStartError instead of just relying on the handshakePromise + // being rejected on close, because this continuation can run after both the handshake completed successfully + // and the connection was closed. + if (this._stopDuringStartError) { + // It's important to throw instead of returning a rejected promise, because we don't want to allow any state + // transitions to occur between now and the calling code observing the exceptions. Returning a rejected promise + // will cause the calling continuation to get scheduled to run later. + // eslint-disable-next-line @typescript-eslint/no-throw-literal + throw this._stopDuringStartError; + } + } + catch (e) { + this._logger.log(LogLevel.Debug, `Hub handshake failed with error '${e}' during start(). Stopping HubConnection.`); + this._cleanupTimeout(); + this._cleanupPingTimer(); + // HttpConnection.stop() should not complete until after the onclose callback is invoked. + // This will transition the HubConnection to the disconnected state before HttpConnection.stop() completes. + await this.connection.stop(e); + throw e; + } + } + /** Stops the connection. + * + * @returns {Promise} A Promise that resolves when the connection has been successfully terminated, or rejects with an error. + */ + async stop() { + // Capture the start promise before the connection might be restarted in an onclose callback. + const startPromise = this._startPromise; + this._stopPromise = this._stopInternal(); + await this._stopPromise; + try { + // Awaiting undefined continues immediately + await startPromise; + } + catch (e) { + // This exception is returned to the user as a rejected Promise from the start method. + } + } + _stopInternal(error) { + if (this._connectionState === HubConnectionState.Disconnected) { + this._logger.log(LogLevel.Debug, `Call to HubConnection.stop(${error}) ignored because it is already in the disconnected state.`); + return Promise.resolve(); + } + if (this._connectionState === HubConnectionState.Disconnecting) { + this._logger.log(LogLevel.Debug, `Call to HttpConnection.stop(${error}) ignored because the connection is already in the disconnecting state.`); + return this._stopPromise; + } + this._connectionState = HubConnectionState.Disconnecting; + this._logger.log(LogLevel.Debug, "Stopping HubConnection."); + if (this._reconnectDelayHandle) { + // We're in a reconnect delay which means the underlying connection is currently already stopped. + // Just clear the handle to stop the reconnect loop (which no one is waiting on thankfully) and + // fire the onclose callbacks. + this._logger.log(LogLevel.Debug, "Connection stopped during reconnect delay. Done reconnecting."); + clearTimeout(this._reconnectDelayHandle); + this._reconnectDelayHandle = undefined; + this._completeClose(); + return Promise.resolve(); + } + this._cleanupTimeout(); + this._cleanupPingTimer(); + this._stopDuringStartError = error || new Error("The connection was stopped before the hub handshake could complete."); + // HttpConnection.stop() should not complete until after either HttpConnection.start() fails + // or the onclose callback is invoked. The onclose callback will transition the HubConnection + // to the disconnected state if need be before HttpConnection.stop() completes. + return this.connection.stop(error); + } + /** Invokes a streaming hub method on the server using the specified name and arguments. + * + * @typeparam T The type of the items returned by the server. + * @param {string} methodName The name of the server method to invoke. + * @param {any[]} args The arguments used to invoke the server method. + * @returns {IStreamResult} An object that yields results from the server as they are received. + */ + stream(methodName, ...args) { + const [streams, streamIds] = this._replaceStreamingParams(args); + const invocationDescriptor = this._createStreamInvocation(methodName, args, streamIds); + // eslint-disable-next-line prefer-const + let promiseQueue; + const subject = new Subject(); + subject.cancelCallback = () => { + const cancelInvocation = this._createCancelInvocation(invocationDescriptor.invocationId); + delete this._callbacks[invocationDescriptor.invocationId]; + return promiseQueue.then(() => { + return this._sendWithProtocol(cancelInvocation); + }); + }; + this._callbacks[invocationDescriptor.invocationId] = (invocationEvent, error) => { + if (error) { + subject.error(error); + return; + } + else if (invocationEvent) { + // invocationEvent will not be null when an error is not passed to the callback + if (invocationEvent.type === MessageType.Completion) { + if (invocationEvent.error) { + subject.error(new Error(invocationEvent.error)); + } + else { + subject.complete(); + } + } + else { + subject.next((invocationEvent.item)); + } + } + }; + promiseQueue = this._sendWithProtocol(invocationDescriptor) + .catch((e) => { + subject.error(e); + delete this._callbacks[invocationDescriptor.invocationId]; + }); + this._launchStreams(streams, promiseQueue); + return subject; + } + _sendMessage(message) { + this._resetKeepAliveInterval(); + return this.connection.send(message); + } + /** + * Sends a js object to the server. + * @param message The js object to serialize and send. + */ + _sendWithProtocol(message) { + return this._sendMessage(this._protocol.writeMessage(message)); + } + /** Invokes a hub method on the server using the specified name and arguments. Does not wait for a response from the receiver. + * + * The Promise returned by this method resolves when the client has sent the invocation to the server. The server may still + * be processing the invocation. + * + * @param {string} methodName The name of the server method to invoke. + * @param {any[]} args The arguments used to invoke the server method. + * @returns {Promise} A Promise that resolves when the invocation has been successfully sent, or rejects with an error. + */ + send(methodName, ...args) { + const [streams, streamIds] = this._replaceStreamingParams(args); + const sendPromise = this._sendWithProtocol(this._createInvocation(methodName, args, true, streamIds)); + this._launchStreams(streams, sendPromise); + return sendPromise; + } + /** Invokes a hub method on the server using the specified name and arguments. + * + * The Promise returned by this method resolves when the server indicates it has finished invoking the method. When the promise + * resolves, the server has finished invoking the method. If the server method returns a result, it is produced as the result of + * resolving the Promise. + * + * @typeparam T The expected return type. + * @param {string} methodName The name of the server method to invoke. + * @param {any[]} args The arguments used to invoke the server method. + * @returns {Promise} A Promise that resolves with the result of the server method (if any), or rejects with an error. + */ + invoke(methodName, ...args) { + const [streams, streamIds] = this._replaceStreamingParams(args); + const invocationDescriptor = this._createInvocation(methodName, args, false, streamIds); + const p = new Promise((resolve, reject) => { + // invocationId will always have a value for a non-blocking invocation + this._callbacks[invocationDescriptor.invocationId] = (invocationEvent, error) => { + if (error) { + reject(error); + return; + } + else if (invocationEvent) { + // invocationEvent will not be null when an error is not passed to the callback + if (invocationEvent.type === MessageType.Completion) { + if (invocationEvent.error) { + reject(new Error(invocationEvent.error)); + } + else { + resolve(invocationEvent.result); + } + } + else { + reject(new Error(`Unexpected message type: ${invocationEvent.type}`)); + } + } + }; + const promiseQueue = this._sendWithProtocol(invocationDescriptor) + .catch((e) => { + reject(e); + // invocationId will always have a value for a non-blocking invocation + delete this._callbacks[invocationDescriptor.invocationId]; + }); + this._launchStreams(streams, promiseQueue); + }); + return p; + } + /** Registers a handler that will be invoked when the hub method with the specified method name is invoked. + * + * @param {string} methodName The name of the hub method to define. + * @param {Function} newMethod The handler that will be raised when the hub method is invoked. + */ + on(methodName, newMethod) { + if (!methodName || !newMethod) { + return; + } + methodName = methodName.toLowerCase(); + if (!this._methods[methodName]) { + this._methods[methodName] = []; + } + // Preventing adding the same handler multiple times. + if (this._methods[methodName].indexOf(newMethod) !== -1) { + return; + } + this._methods[methodName].push(newMethod); + } + off(methodName, method) { + if (!methodName) { + return; + } + methodName = methodName.toLowerCase(); + const handlers = this._methods[methodName]; + if (!handlers) { + return; + } + if (method) { + const removeIdx = handlers.indexOf(method); + if (removeIdx !== -1) { + handlers.splice(removeIdx, 1); + if (handlers.length === 0) { + delete this._methods[methodName]; + } + } + } + else { + delete this._methods[methodName]; + } + } + /** Registers a handler that will be invoked when the connection is closed. + * + * @param {Function} callback The handler that will be invoked when the connection is closed. Optionally receives a single argument containing the error that caused the connection to close (if any). + */ + onclose(callback) { + if (callback) { + this._closedCallbacks.push(callback); + } + } + /** Registers a handler that will be invoked when the connection starts reconnecting. + * + * @param {Function} callback The handler that will be invoked when the connection starts reconnecting. Optionally receives a single argument containing the error that caused the connection to start reconnecting (if any). + */ + onreconnecting(callback) { + if (callback) { + this._reconnectingCallbacks.push(callback); + } + } + /** Registers a handler that will be invoked when the connection successfully reconnects. + * + * @param {Function} callback The handler that will be invoked when the connection successfully reconnects. + */ + onreconnected(callback) { + if (callback) { + this._reconnectedCallbacks.push(callback); + } + } + _processIncomingData(data) { + this._cleanupTimeout(); + if (!this._receivedHandshakeResponse) { + data = this._processHandshakeResponse(data); + this._receivedHandshakeResponse = true; + } + // Data may have all been read when processing handshake response + if (data) { + // Parse the messages + const messages = this._protocol.parseMessages(data, this._logger); + for (const message of messages) { + switch (message.type) { + case MessageType.Invocation: + this._invokeClientMethod(message); + break; + case MessageType.StreamItem: + case MessageType.Completion: { + const callback = this._callbacks[message.invocationId]; + if (callback) { + if (message.type === MessageType.Completion) { + delete this._callbacks[message.invocationId]; + } + try { + callback(message); + } + catch (e) { + this._logger.log(LogLevel.Error, `Stream callback threw error: ${getErrorString(e)}`); + } + } + break; + } + case MessageType.Ping: + // Don't care about pings + break; + case MessageType.Close: { + this._logger.log(LogLevel.Information, "Close message received from server."); + const error = message.error ? new Error("Server returned an error on close: " + message.error) : undefined; + if (message.allowReconnect === true) { + // It feels wrong not to await connection.stop() here, but processIncomingData is called as part of an onreceive callback which is not async, + // this is already the behavior for serverTimeout(), and HttpConnection.Stop() should catch and log all possible exceptions. + // eslint-disable-next-line @typescript-eslint/no-floating-promises + this.connection.stop(error); + } + else { + // We cannot await stopInternal() here, but subsequent calls to stop() will await this if stopInternal() is still ongoing. + this._stopPromise = this._stopInternal(error); + } + break; + } + default: + this._logger.log(LogLevel.Warning, `Invalid message type: ${message.type}.`); + break; + } + } + } + this._resetTimeoutPeriod(); + } + _processHandshakeResponse(data) { + let responseMessage; + let remainingData; + try { + [remainingData, responseMessage] = this._handshakeProtocol.parseHandshakeResponse(data); + } + catch (e) { + const message = "Error parsing handshake response: " + e; + this._logger.log(LogLevel.Error, message); + const error = new Error(message); + this._handshakeRejecter(error); + throw error; + } + if (responseMessage.error) { + const message = "Server returned handshake error: " + responseMessage.error; + this._logger.log(LogLevel.Error, message); + const error = new Error(message); + this._handshakeRejecter(error); + throw error; + } + else { + this._logger.log(LogLevel.Debug, "Server handshake complete."); + } + this._handshakeResolver(); + return remainingData; + } + _resetKeepAliveInterval() { + if (this.connection.features.inherentKeepAlive) { + return; + } + // Set the time we want the next keep alive to be sent + // Timer will be setup on next message receive + this._nextKeepAlive = new Date().getTime() + this.keepAliveIntervalInMilliseconds; + this._cleanupPingTimer(); + } + _resetTimeoutPeriod() { + if (!this.connection.features || !this.connection.features.inherentKeepAlive) { + // Set the timeout timer + this._timeoutHandle = setTimeout(() => this.serverTimeout(), this.serverTimeoutInMilliseconds); + // Set keepAlive timer if there isn't one + if (this._pingServerHandle === undefined) { + let nextPing = this._nextKeepAlive - new Date().getTime(); + if (nextPing < 0) { + nextPing = 0; + } + // The timer needs to be set from a networking callback to avoid Chrome timer throttling from causing timers to run once a minute + this._pingServerHandle = setTimeout(async () => { + if (this._connectionState === HubConnectionState.Connected) { + try { + await this._sendMessage(this._cachedPingMessage); + } + catch { + // We don't care about the error. It should be seen elsewhere in the client. + // The connection is probably in a bad or closed state now, cleanup the timer so it stops triggering + this._cleanupPingTimer(); + } + } + }, nextPing); + } + } + } + // eslint-disable-next-line @typescript-eslint/naming-convention + serverTimeout() { + // The server hasn't talked to us in a while. It doesn't like us anymore ... :( + // Terminate the connection, but we don't need to wait on the promise. This could trigger reconnecting. + // eslint-disable-next-line @typescript-eslint/no-floating-promises + this.connection.stop(new Error("Server timeout elapsed without receiving a message from the server.")); + } + _invokeClientMethod(invocationMessage) { + const methods = this._methods[invocationMessage.target.toLowerCase()]; + if (methods) { + try { + methods.forEach((m) => m.apply(this, invocationMessage.arguments)); + } + catch (e) { + this._logger.log(LogLevel.Error, `A callback for the method ${invocationMessage.target.toLowerCase()} threw error '${e}'.`); + } + if (invocationMessage.invocationId) { + // This is not supported in v1. So we return an error to avoid blocking the server waiting for the response. + const message = "Server requested a response, which is not supported in this version of the client."; + this._logger.log(LogLevel.Error, message); + // We don't want to wait on the stop itself. + this._stopPromise = this._stopInternal(new Error(message)); + } + } + else { + this._logger.log(LogLevel.Warning, `No client method with the name '${invocationMessage.target}' found.`); + } + } + _connectionClosed(error) { + this._logger.log(LogLevel.Debug, `HubConnection.connectionClosed(${error}) called while in state ${this._connectionState}.`); + // Triggering this.handshakeRejecter is insufficient because it could already be resolved without the continuation having run yet. + this._stopDuringStartError = this._stopDuringStartError || error || new Error("The underlying connection was closed before the hub handshake could complete."); + // If the handshake is in progress, start will be waiting for the handshake promise, so we complete it. + // If it has already completed, this should just noop. + if (this._handshakeResolver) { + this._handshakeResolver(); + } + this._cancelCallbacksWithError(error || new Error("Invocation canceled due to the underlying connection being closed.")); + this._cleanupTimeout(); + this._cleanupPingTimer(); + if (this._connectionState === HubConnectionState.Disconnecting) { + this._completeClose(error); + } + else if (this._connectionState === HubConnectionState.Connected && this._reconnectPolicy) { + // eslint-disable-next-line @typescript-eslint/no-floating-promises + this._reconnect(error); + } + else if (this._connectionState === HubConnectionState.Connected) { + this._completeClose(error); + } + // If none of the above if conditions were true were called the HubConnection must be in either: + // 1. The Connecting state in which case the handshakeResolver will complete it and stopDuringStartError will fail it. + // 2. The Reconnecting state in which case the handshakeResolver will complete it and stopDuringStartError will fail the current reconnect attempt + // and potentially continue the reconnect() loop. + // 3. The Disconnected state in which case we're already done. + } + _completeClose(error) { + if (this._connectionStarted) { + this._connectionState = HubConnectionState.Disconnected; + this._connectionStarted = false; + if (Platform.isBrowser) { + window.document.removeEventListener("freeze", this._freezeEventListener); + } + try { + this._closedCallbacks.forEach((c) => c.apply(this, [error])); + } + catch (e) { + this._logger.log(LogLevel.Error, `An onclose callback called with error '${error}' threw error '${e}'.`); + } + } + } + async _reconnect(error) { + const reconnectStartTime = Date.now(); + let previousReconnectAttempts = 0; + let retryError = error !== undefined ? error : new Error("Attempting to reconnect due to a unknown error."); + let nextRetryDelay = this._getNextRetryDelay(previousReconnectAttempts++, 0, retryError); + if (nextRetryDelay === null) { + this._logger.log(LogLevel.Debug, "Connection not reconnecting because the IRetryPolicy returned null on the first reconnect attempt."); + this._completeClose(error); + return; + } + this._connectionState = HubConnectionState.Reconnecting; + if (error) { + this._logger.log(LogLevel.Information, `Connection reconnecting because of error '${error}'.`); + } + else { + this._logger.log(LogLevel.Information, "Connection reconnecting."); + } + if (this._reconnectingCallbacks.length !== 0) { + try { + this._reconnectingCallbacks.forEach((c) => c.apply(this, [error])); + } + catch (e) { + this._logger.log(LogLevel.Error, `An onreconnecting callback called with error '${error}' threw error '${e}'.`); + } + // Exit early if an onreconnecting callback called connection.stop(). + if (this._connectionState !== HubConnectionState.Reconnecting) { + this._logger.log(LogLevel.Debug, "Connection left the reconnecting state in onreconnecting callback. Done reconnecting."); + return; + } + } + while (nextRetryDelay !== null) { + this._logger.log(LogLevel.Information, `Reconnect attempt number ${previousReconnectAttempts} will start in ${nextRetryDelay} ms.`); + await new Promise((resolve) => { + this._reconnectDelayHandle = setTimeout(resolve, nextRetryDelay); + }); + this._reconnectDelayHandle = undefined; + if (this._connectionState !== HubConnectionState.Reconnecting) { + this._logger.log(LogLevel.Debug, "Connection left the reconnecting state during reconnect delay. Done reconnecting."); + return; + } + try { + await this._startInternal(); + this._connectionState = HubConnectionState.Connected; + this._logger.log(LogLevel.Information, "HubConnection reconnected successfully."); + if (this._reconnectedCallbacks.length !== 0) { + try { + this._reconnectedCallbacks.forEach((c) => c.apply(this, [this.connection.connectionId])); + } + catch (e) { + this._logger.log(LogLevel.Error, `An onreconnected callback called with connectionId '${this.connection.connectionId}; threw error '${e}'.`); + } + } + return; + } + catch (e) { + this._logger.log(LogLevel.Information, `Reconnect attempt failed because of error '${e}'.`); + if (this._connectionState !== HubConnectionState.Reconnecting) { + this._logger.log(LogLevel.Debug, `Connection moved to the '${this._connectionState}' from the reconnecting state during reconnect attempt. Done reconnecting.`); + // The TypeScript compiler thinks that connectionState must be Connected here. The TypeScript compiler is wrong. + if (this._connectionState === HubConnectionState.Disconnecting) { + this._completeClose(); + } + return; + } + retryError = e instanceof Error ? e : new Error(e.toString()); + nextRetryDelay = this._getNextRetryDelay(previousReconnectAttempts++, Date.now() - reconnectStartTime, retryError); + } + } + this._logger.log(LogLevel.Information, `Reconnect retries have been exhausted after ${Date.now() - reconnectStartTime} ms and ${previousReconnectAttempts} failed attempts. Connection disconnecting.`); + this._completeClose(); + } + _getNextRetryDelay(previousRetryCount, elapsedMilliseconds, retryReason) { + try { + return this._reconnectPolicy.nextRetryDelayInMilliseconds({ + elapsedMilliseconds, + previousRetryCount, + retryReason, + }); + } + catch (e) { + this._logger.log(LogLevel.Error, `IRetryPolicy.nextRetryDelayInMilliseconds(${previousRetryCount}, ${elapsedMilliseconds}) threw error '${e}'.`); + return null; + } + } + _cancelCallbacksWithError(error) { + const callbacks = this._callbacks; + this._callbacks = {}; + Object.keys(callbacks) + .forEach((key) => { + const callback = callbacks[key]; + try { + callback(null, error); + } + catch (e) { + this._logger.log(LogLevel.Error, `Stream 'error' callback called with '${error}' threw error: ${getErrorString(e)}`); + } + }); + } + _cleanupPingTimer() { + if (this._pingServerHandle) { + clearTimeout(this._pingServerHandle); + this._pingServerHandle = undefined; + } + } + _cleanupTimeout() { + if (this._timeoutHandle) { + clearTimeout(this._timeoutHandle); + } + } + _createInvocation(methodName, args, nonblocking, streamIds) { + if (nonblocking) { + if (streamIds.length !== 0) { + return { + arguments: args, + streamIds, + target: methodName, + type: MessageType.Invocation, + }; + } + else { + return { + arguments: args, + target: methodName, + type: MessageType.Invocation, + }; + } + } + else { + const invocationId = this._invocationId; + this._invocationId++; + if (streamIds.length !== 0) { + return { + arguments: args, + invocationId: invocationId.toString(), + streamIds, + target: methodName, + type: MessageType.Invocation, + }; + } + else { + return { + arguments: args, + invocationId: invocationId.toString(), + target: methodName, + type: MessageType.Invocation, + }; + } + } + } + _launchStreams(streams, promiseQueue) { + if (streams.length === 0) { + return; + } + // Synchronize stream data so they arrive in-order on the server + if (!promiseQueue) { + promiseQueue = Promise.resolve(); + } + // We want to iterate over the keys, since the keys are the stream ids + // eslint-disable-next-line guard-for-in + for (const streamId in streams) { + streams[streamId].subscribe({ + complete: () => { + promiseQueue = promiseQueue.then(() => this._sendWithProtocol(this._createCompletionMessage(streamId))); + }, + error: (err) => { + let message; + if (err instanceof Error) { + message = err.message; + } + else if (err && err.toString) { + message = err.toString(); + } + else { + message = "Unknown error"; + } + promiseQueue = promiseQueue.then(() => this._sendWithProtocol(this._createCompletionMessage(streamId, message))); + }, + next: (item) => { + promiseQueue = promiseQueue.then(() => this._sendWithProtocol(this._createStreamItemMessage(streamId, item))); + }, + }); + } + } + _replaceStreamingParams(args) { + const streams = []; + const streamIds = []; + for (let i = 0; i < args.length; i++) { + const argument = args[i]; + if (this._isObservable(argument)) { + const streamId = this._invocationId; + this._invocationId++; + // Store the stream for later use + streams[streamId] = argument; + streamIds.push(streamId.toString()); + // remove stream from args + args.splice(i, 1); + } + } + return [streams, streamIds]; + } + _isObservable(arg) { + // This allows other stream implementations to just work (like rxjs) + return arg && arg.subscribe && typeof arg.subscribe === "function"; + } + _createStreamInvocation(methodName, args, streamIds) { + const invocationId = this._invocationId; + this._invocationId++; + if (streamIds.length !== 0) { + return { + arguments: args, + invocationId: invocationId.toString(), + streamIds, + target: methodName, + type: MessageType.StreamInvocation, + }; + } + else { + return { + arguments: args, + invocationId: invocationId.toString(), + target: methodName, + type: MessageType.StreamInvocation, + }; + } + } + _createCancelInvocation(id) { + return { + invocationId: id, + type: MessageType.CancelInvocation, + }; + } + _createStreamItemMessage(id, item) { + return { + invocationId: id, + item, + type: MessageType.StreamItem, + }; + } + _createCompletionMessage(id, error, result) { + if (error) { + return { + error, + invocationId: id, + type: MessageType.Completion, + }; + } + return { + invocationId: id, + result, + type: MessageType.Completion, + }; + } +} + +;// CONCATENATED MODULE: ./src/DefaultReconnectPolicy.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// 0, 2, 10, 30 second delays before reconnect attempts. +const DEFAULT_RETRY_DELAYS_IN_MILLISECONDS = [0, 2000, 10000, 30000, null]; +/** @private */ +class DefaultReconnectPolicy { + constructor(retryDelays) { + this._retryDelays = retryDelays !== undefined ? [...retryDelays, null] : DEFAULT_RETRY_DELAYS_IN_MILLISECONDS; + } + nextRetryDelayInMilliseconds(retryContext) { + return this._retryDelays[retryContext.previousRetryCount]; + } +} + +;// CONCATENATED MODULE: ./src/HeaderNames.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +class HeaderNames { +} +HeaderNames.Authorization = "Authorization"; +HeaderNames.Cookie = "Cookie"; + +;// CONCATENATED MODULE: ./src/ITransport.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// This will be treated as a bit flag in the future, so we keep it using power-of-two values. +/** Specifies a specific HTTP transport type. */ +var HttpTransportType; +(function (HttpTransportType) { + /** Specifies no transport preference. */ + HttpTransportType[HttpTransportType["None"] = 0] = "None"; + /** Specifies the WebSockets transport. */ + HttpTransportType[HttpTransportType["WebSockets"] = 1] = "WebSockets"; + /** Specifies the Server-Sent Events transport. */ + HttpTransportType[HttpTransportType["ServerSentEvents"] = 2] = "ServerSentEvents"; + /** Specifies the Long Polling transport. */ + HttpTransportType[HttpTransportType["LongPolling"] = 4] = "LongPolling"; +})(HttpTransportType || (HttpTransportType = {})); +/** Specifies the transfer format for a connection. */ +var TransferFormat; +(function (TransferFormat) { + /** Specifies that only text data will be transmitted over the connection. */ + TransferFormat[TransferFormat["Text"] = 1] = "Text"; + /** Specifies that binary data will be transmitted over the connection. */ + TransferFormat[TransferFormat["Binary"] = 2] = "Binary"; +})(TransferFormat || (TransferFormat = {})); + +;// CONCATENATED MODULE: ./src/AbortController.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// Rough polyfill of https://developer.mozilla.org/en-US/docs/Web/API/AbortController +// We don't actually ever use the API being polyfilled, we always use the polyfill because +// it's a very new API right now. +// Not exported from index. +/** @private */ +class AbortController_AbortController { + constructor() { + this._isAborted = false; + this.onabort = null; + } + abort() { + if (!this._isAborted) { + this._isAborted = true; + if (this.onabort) { + this.onabort(); + } + } + } + get signal() { + return this; + } + get aborted() { + return this._isAborted; + } +} + +;// CONCATENATED MODULE: ./src/LongPollingTransport.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + + + + + + +// Not exported from 'index', this type is internal. +/** @private */ +class LongPollingTransport { + constructor(httpClient, accessTokenFactory, logger, options) { + this._httpClient = httpClient; + this._accessTokenFactory = accessTokenFactory; + this._logger = logger; + this._pollAbort = new AbortController_AbortController(); + this._options = options; + this._running = false; + this.onreceive = null; + this.onclose = null; + } + // This is an internal type, not exported from 'index' so this is really just internal. + get pollAborted() { + return this._pollAbort.aborted; + } + async connect(url, transferFormat) { + Arg.isRequired(url, "url"); + Arg.isRequired(transferFormat, "transferFormat"); + Arg.isIn(transferFormat, TransferFormat, "transferFormat"); + this._url = url; + this._logger.log(LogLevel.Trace, "(LongPolling transport) Connecting."); + // Allow binary format on Node and Browsers that support binary content (indicated by the presence of responseType property) + if (transferFormat === TransferFormat.Binary && + (typeof XMLHttpRequest !== "undefined" && typeof new XMLHttpRequest().responseType !== "string")) { + throw new Error("Binary protocols over XmlHttpRequest not implementing advanced features are not supported."); + } + const [name, value] = getUserAgentHeader(); + const headers = { [name]: value, ...this._options.headers }; + const pollOptions = { + abortSignal: this._pollAbort.signal, + headers, + timeout: 100000, + withCredentials: this._options.withCredentials, + }; + if (transferFormat === TransferFormat.Binary) { + pollOptions.responseType = "arraybuffer"; + } + const token = await this._getAccessToken(); + this._updateHeaderToken(pollOptions, token); + // Make initial long polling request + // Server uses first long polling request to finish initializing connection and it returns without data + const pollUrl = `${url}&_=${Date.now()}`; + this._logger.log(LogLevel.Trace, `(LongPolling transport) polling: ${pollUrl}.`); + const response = await this._httpClient.get(pollUrl, pollOptions); + if (response.statusCode !== 200) { + this._logger.log(LogLevel.Error, `(LongPolling transport) Unexpected response code: ${response.statusCode}.`); + // Mark running as false so that the poll immediately ends and runs the close logic + this._closeError = new HttpError(response.statusText || "", response.statusCode); + this._running = false; + } + else { + this._running = true; + } + this._receiving = this._poll(this._url, pollOptions); + } + async _getAccessToken() { + if (this._accessTokenFactory) { + return await this._accessTokenFactory(); + } + return null; + } + _updateHeaderToken(request, token) { + if (!request.headers) { + request.headers = {}; + } + if (token) { + request.headers[HeaderNames.Authorization] = `Bearer ${token}`; + return; + } + if (request.headers[HeaderNames.Authorization]) { + delete request.headers[HeaderNames.Authorization]; + } + } + async _poll(url, pollOptions) { + try { + while (this._running) { + // We have to get the access token on each poll, in case it changes + const token = await this._getAccessToken(); + this._updateHeaderToken(pollOptions, token); + try { + const pollUrl = `${url}&_=${Date.now()}`; + this._logger.log(LogLevel.Trace, `(LongPolling transport) polling: ${pollUrl}.`); + const response = await this._httpClient.get(pollUrl, pollOptions); + if (response.statusCode === 204) { + this._logger.log(LogLevel.Information, "(LongPolling transport) Poll terminated by server."); + this._running = false; + } + else if (response.statusCode !== 200) { + this._logger.log(LogLevel.Error, `(LongPolling transport) Unexpected response code: ${response.statusCode}.`); + // Unexpected status code + this._closeError = new HttpError(response.statusText || "", response.statusCode); + this._running = false; + } + else { + // Process the response + if (response.content) { + this._logger.log(LogLevel.Trace, `(LongPolling transport) data received. ${getDataDetail(response.content, this._options.logMessageContent)}.`); + if (this.onreceive) { + this.onreceive(response.content); + } + } + else { + // This is another way timeout manifest. + this._logger.log(LogLevel.Trace, "(LongPolling transport) Poll timed out, reissuing."); + } + } + } + catch (e) { + if (!this._running) { + // Log but disregard errors that occur after stopping + this._logger.log(LogLevel.Trace, `(LongPolling transport) Poll errored after shutdown: ${e.message}`); + } + else { + if (e instanceof TimeoutError) { + // Ignore timeouts and reissue the poll. + this._logger.log(LogLevel.Trace, "(LongPolling transport) Poll timed out, reissuing."); + } + else { + // Close the connection with the error as the result. + this._closeError = e; + this._running = false; + } + } + } + } + } + finally { + this._logger.log(LogLevel.Trace, "(LongPolling transport) Polling complete."); + // We will reach here with pollAborted==false when the server returned a response causing the transport to stop. + // If pollAborted==true then client initiated the stop and the stop method will raise the close event after DELETE is sent. + if (!this.pollAborted) { + this._raiseOnClose(); + } + } + } + async send(data) { + if (!this._running) { + return Promise.reject(new Error("Cannot send until the transport is connected")); + } + return sendMessage(this._logger, "LongPolling", this._httpClient, this._url, this._accessTokenFactory, data, this._options); + } + async stop() { + this._logger.log(LogLevel.Trace, "(LongPolling transport) Stopping polling."); + // Tell receiving loop to stop, abort any current request, and then wait for it to finish + this._running = false; + this._pollAbort.abort(); + try { + await this._receiving; + // Send DELETE to clean up long polling on the server + this._logger.log(LogLevel.Trace, `(LongPolling transport) sending DELETE request to ${this._url}.`); + const headers = {}; + const [name, value] = getUserAgentHeader(); + headers[name] = value; + const deleteOptions = { + headers: { ...headers, ...this._options.headers }, + timeout: this._options.timeout, + withCredentials: this._options.withCredentials, + }; + const token = await this._getAccessToken(); + this._updateHeaderToken(deleteOptions, token); + await this._httpClient.delete(this._url, deleteOptions); + this._logger.log(LogLevel.Trace, "(LongPolling transport) DELETE request sent."); + } + finally { + this._logger.log(LogLevel.Trace, "(LongPolling transport) Stop finished."); + // Raise close event here instead of in polling + // It needs to happen after the DELETE request is sent + this._raiseOnClose(); + } + } + _raiseOnClose() { + if (this.onclose) { + let logMessage = "(LongPolling transport) Firing onclose event."; + if (this._closeError) { + logMessage += " Error: " + this._closeError; + } + this._logger.log(LogLevel.Trace, logMessage); + this.onclose(this._closeError); + } + } +} + +;// CONCATENATED MODULE: ./src/ServerSentEventsTransport.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + + + +/** @private */ +class ServerSentEventsTransport { + constructor(httpClient, accessTokenFactory, logger, options) { + this._httpClient = httpClient; + this._accessTokenFactory = accessTokenFactory; + this._logger = logger; + this._options = options; + this.onreceive = null; + this.onclose = null; + } + async connect(url, transferFormat) { + Arg.isRequired(url, "url"); + Arg.isRequired(transferFormat, "transferFormat"); + Arg.isIn(transferFormat, TransferFormat, "transferFormat"); + this._logger.log(LogLevel.Trace, "(SSE transport) Connecting."); + // set url before accessTokenFactory because this.url is only for send and we set the auth header instead of the query string for send + this._url = url; + if (this._accessTokenFactory) { + const token = await this._accessTokenFactory(); + if (token) { + url += (url.indexOf("?") < 0 ? "?" : "&") + `access_token=${encodeURIComponent(token)}`; + } + } + return new Promise((resolve, reject) => { + let opened = false; + if (transferFormat !== TransferFormat.Text) { + reject(new Error("The Server-Sent Events transport only supports the 'Text' transfer format")); + return; + } + let eventSource; + if (Platform.isBrowser || Platform.isWebWorker) { + eventSource = new this._options.EventSource(url, { withCredentials: this._options.withCredentials }); + } + else { + // Non-browser passes cookies via the dictionary + const cookies = this._httpClient.getCookieString(url); + const headers = {}; + headers.Cookie = cookies; + const [name, value] = getUserAgentHeader(); + headers[name] = value; + eventSource = new this._options.EventSource(url, { withCredentials: this._options.withCredentials, headers: { ...headers, ...this._options.headers } }); + } + try { + eventSource.onmessage = (e) => { + if (this.onreceive) { + try { + this._logger.log(LogLevel.Trace, `(SSE transport) data received. ${getDataDetail(e.data, this._options.logMessageContent)}.`); + this.onreceive(e.data); + } + catch (error) { + this._close(error); + return; + } + } + }; + // @ts-ignore: not using event on purpose + eventSource.onerror = (e) => { + // EventSource doesn't give any useful information about server side closes. + if (opened) { + this._close(); + } + else { + reject(new Error("EventSource failed to connect. The connection could not be found on the server," + + " either the connection ID is not present on the server, or a proxy is refusing/buffering the connection." + + " If you have multiple servers check that sticky sessions are enabled.")); + } + }; + eventSource.onopen = () => { + this._logger.log(LogLevel.Information, `SSE connected to ${this._url}`); + this._eventSource = eventSource; + opened = true; + resolve(); + }; + } + catch (e) { + reject(e); + return; + } + }); + } + async send(data) { + if (!this._eventSource) { + return Promise.reject(new Error("Cannot send until the transport is connected")); + } + return sendMessage(this._logger, "SSE", this._httpClient, this._url, this._accessTokenFactory, data, this._options); + } + stop() { + this._close(); + return Promise.resolve(); + } + _close(e) { + if (this._eventSource) { + this._eventSource.close(); + this._eventSource = undefined; + if (this.onclose) { + this.onclose(e); + } + } + } +} + +;// CONCATENATED MODULE: ./src/WebSocketTransport.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + + + + +/** @private */ +class WebSocketTransport { + constructor(httpClient, accessTokenFactory, logger, logMessageContent, webSocketConstructor, headers) { + this._logger = logger; + this._accessTokenFactory = accessTokenFactory; + this._logMessageContent = logMessageContent; + this._webSocketConstructor = webSocketConstructor; + this._httpClient = httpClient; + this.onreceive = null; + this.onclose = null; + this._headers = headers; + } + async connect(url, transferFormat) { + Arg.isRequired(url, "url"); + Arg.isRequired(transferFormat, "transferFormat"); + Arg.isIn(transferFormat, TransferFormat, "transferFormat"); + this._logger.log(LogLevel.Trace, "(WebSockets transport) Connecting."); + if (this._accessTokenFactory) { + const token = await this._accessTokenFactory(); + if (token) { + url += (url.indexOf("?") < 0 ? "?" : "&") + `access_token=${encodeURIComponent(token)}`; + } + } + return new Promise((resolve, reject) => { + url = url.replace(/^http/, "ws"); + let webSocket; + const cookies = this._httpClient.getCookieString(url); + let opened = false; + if (Platform.isNode) { + const headers = {}; + const [name, value] = getUserAgentHeader(); + headers[name] = value; + if (cookies) { + headers[HeaderNames.Cookie] = `${cookies}`; + } + // Only pass headers when in non-browser environments + webSocket = new this._webSocketConstructor(url, undefined, { + headers: { ...headers, ...this._headers }, + }); + } + if (!webSocket) { + // Chrome is not happy with passing 'undefined' as protocol + webSocket = new this._webSocketConstructor(url); + } + if (transferFormat === TransferFormat.Binary) { + webSocket.binaryType = "arraybuffer"; + } + webSocket.onopen = (_event) => { + this._logger.log(LogLevel.Information, `WebSocket connected to ${url}.`); + this._webSocket = webSocket; + opened = true; + resolve(); + }; + webSocket.onerror = (event) => { + let error = null; + // ErrorEvent is a browser only type we need to check if the type exists before using it + if (typeof ErrorEvent !== "undefined" && event instanceof ErrorEvent) { + error = event.error; + } + else { + error = "There was an error with the transport"; + } + this._logger.log(LogLevel.Information, `(WebSockets transport) ${error}.`); + }; + webSocket.onmessage = (message) => { + this._logger.log(LogLevel.Trace, `(WebSockets transport) data received. ${getDataDetail(message.data, this._logMessageContent)}.`); + if (this.onreceive) { + try { + this.onreceive(message.data); + } + catch (error) { + this._close(error); + return; + } + } + }; + webSocket.onclose = (event) => { + // Don't call close handler if connection was never established + // We'll reject the connect call instead + if (opened) { + this._close(event); + } + else { + let error = null; + // ErrorEvent is a browser only type we need to check if the type exists before using it + if (typeof ErrorEvent !== "undefined" && event instanceof ErrorEvent) { + error = event.error; + } + else { + error = "WebSocket failed to connect. The connection could not be found on the server," + + " either the endpoint may not be a SignalR endpoint," + + " the connection ID is not present on the server, or there is a proxy blocking WebSockets." + + " If you have multiple servers check that sticky sessions are enabled."; + } + reject(new Error(error)); + } + }; + }); + } + send(data) { + if (this._webSocket && this._webSocket.readyState === this._webSocketConstructor.OPEN) { + this._logger.log(LogLevel.Trace, `(WebSockets transport) sending data. ${getDataDetail(data, this._logMessageContent)}.`); + this._webSocket.send(data); + return Promise.resolve(); + } + return Promise.reject("WebSocket is not in the OPEN state"); + } + stop() { + if (this._webSocket) { + // Manually invoke onclose callback inline so we know the HttpConnection was closed properly before returning + // This also solves an issue where websocket.onclose could take 18+ seconds to trigger during network disconnects + this._close(undefined); + } + return Promise.resolve(); + } + _close(event) { + // webSocket will be null if the transport did not start successfully + if (this._webSocket) { + // Clear websocket handlers because we are considering the socket closed now + this._webSocket.onclose = () => { }; + this._webSocket.onmessage = () => { }; + this._webSocket.onerror = () => { }; + this._webSocket.close(); + this._webSocket = undefined; + } + this._logger.log(LogLevel.Trace, "(WebSockets transport) socket closed."); + if (this.onclose) { + if (this._isCloseEvent(event) && (event.wasClean === false || event.code !== 1000)) { + this.onclose(new Error(`WebSocket closed with status code: ${event.code} (${event.reason || "no reason given"}).`)); + } + else if (event instanceof Error) { + this.onclose(event); + } + else { + this.onclose(); + } + } + } + _isCloseEvent(event) { + return event && typeof event.wasClean === "boolean" && typeof event.code === "number"; + } +} + +;// CONCATENATED MODULE: ./src/HttpConnection.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + + + + + + + + + +const MAX_REDIRECTS = 100; +/** @private */ +class HttpConnection { + constructor(url, options = {}) { + this._stopPromiseResolver = () => { }; + this.features = {}; + this._negotiateVersion = 1; + Arg.isRequired(url, "url"); + this._logger = createLogger(options.logger); + this.baseUrl = this._resolveUrl(url); + options = options || {}; + options.logMessageContent = options.logMessageContent === undefined ? false : options.logMessageContent; + if (typeof options.withCredentials === "boolean" || options.withCredentials === undefined) { + options.withCredentials = options.withCredentials === undefined ? true : options.withCredentials; + } + else { + throw new Error("withCredentials option was not a 'boolean' or 'undefined' value"); + } + options.timeout = options.timeout === undefined ? 100 * 1000 : options.timeout; + let webSocketModule = null; + let eventSourceModule = null; + if (Platform.isNode && "function" !== "undefined") { + // In order to ignore the dynamic require in webpack builds we need to do this magic + // @ts-ignore: TS doesn't know about these names + const requireFunc = true ? require : 0; + webSocketModule = requireFunc("ws"); + eventSourceModule = requireFunc("eventsource"); + } + if (!Platform.isNode && typeof WebSocket !== "undefined" && !options.WebSocket) { + options.WebSocket = WebSocket; + } + else if (Platform.isNode && !options.WebSocket) { + if (webSocketModule) { + options.WebSocket = webSocketModule; + } + } + if (!Platform.isNode && typeof EventSource !== "undefined" && !options.EventSource) { + options.EventSource = EventSource; + } + else if (Platform.isNode && !options.EventSource) { + if (typeof eventSourceModule !== "undefined") { + options.EventSource = eventSourceModule; + } + } + this._httpClient = options.httpClient || new DefaultHttpClient(this._logger); + this._connectionState = "Disconnected" /* Disconnected */; + this._connectionStarted = false; + this._options = options; + this.onreceive = null; + this.onclose = null; + } + async start(transferFormat) { + transferFormat = transferFormat || TransferFormat.Binary; + Arg.isIn(transferFormat, TransferFormat, "transferFormat"); + this._logger.log(LogLevel.Debug, `Starting connection with transfer format '${TransferFormat[transferFormat]}'.`); + if (this._connectionState !== "Disconnected" /* Disconnected */) { + return Promise.reject(new Error("Cannot start an HttpConnection that is not in the 'Disconnected' state.")); + } + this._connectionState = "Connecting" /* Connecting */; + this._startInternalPromise = this._startInternal(transferFormat); + await this._startInternalPromise; + // The TypeScript compiler thinks that connectionState must be Connecting here. The TypeScript compiler is wrong. + if (this._connectionState === "Disconnecting" /* Disconnecting */) { + // stop() was called and transitioned the client into the Disconnecting state. + const message = "Failed to start the HttpConnection before stop() was called."; + this._logger.log(LogLevel.Error, message); + // We cannot await stopPromise inside startInternal since stopInternal awaits the startInternalPromise. + await this._stopPromise; + return Promise.reject(new Error(message)); + } + else if (this._connectionState !== "Connected" /* Connected */) { + // stop() was called and transitioned the client into the Disconnecting state. + const message = "HttpConnection.startInternal completed gracefully but didn't enter the connection into the connected state!"; + this._logger.log(LogLevel.Error, message); + return Promise.reject(new Error(message)); + } + this._connectionStarted = true; + } + send(data) { + if (this._connectionState !== "Connected" /* Connected */) { + return Promise.reject(new Error("Cannot send data if the connection is not in the 'Connected' State.")); + } + if (!this._sendQueue) { + this._sendQueue = new TransportSendQueue(this.transport); + } + // Transport will not be null if state is connected + return this._sendQueue.send(data); + } + async stop(error) { + if (this._connectionState === "Disconnected" /* Disconnected */) { + this._logger.log(LogLevel.Debug, `Call to HttpConnection.stop(${error}) ignored because the connection is already in the disconnected state.`); + return Promise.resolve(); + } + if (this._connectionState === "Disconnecting" /* Disconnecting */) { + this._logger.log(LogLevel.Debug, `Call to HttpConnection.stop(${error}) ignored because the connection is already in the disconnecting state.`); + return this._stopPromise; + } + this._connectionState = "Disconnecting" /* Disconnecting */; + this._stopPromise = new Promise((resolve) => { + // Don't complete stop() until stopConnection() completes. + this._stopPromiseResolver = resolve; + }); + // stopInternal should never throw so just observe it. + await this._stopInternal(error); + await this._stopPromise; + } + async _stopInternal(error) { + // Set error as soon as possible otherwise there is a race between + // the transport closing and providing an error and the error from a close message + // We would prefer the close message error. + this._stopError = error; + try { + await this._startInternalPromise; + } + catch (e) { + // This exception is returned to the user as a rejected Promise from the start method. + } + // The transport's onclose will trigger stopConnection which will run our onclose event. + // The transport should always be set if currently connected. If it wasn't set, it's likely because + // stop was called during start() and start() failed. + if (this.transport) { + try { + await this.transport.stop(); + } + catch (e) { + this._logger.log(LogLevel.Error, `HttpConnection.transport.stop() threw error '${e}'.`); + this._stopConnection(); + } + this.transport = undefined; + } + else { + this._logger.log(LogLevel.Debug, "HttpConnection.transport is undefined in HttpConnection.stop() because start() failed."); + } + } + async _startInternal(transferFormat) { + // Store the original base url and the access token factory since they may change + // as part of negotiating + let url = this.baseUrl; + this._accessTokenFactory = this._options.accessTokenFactory; + try { + if (this._options.skipNegotiation) { + if (this._options.transport === HttpTransportType.WebSockets) { + // No need to add a connection ID in this case + this.transport = this._constructTransport(HttpTransportType.WebSockets); + // We should just call connect directly in this case. + // No fallback or negotiate in this case. + await this._startTransport(url, transferFormat); + } + else { + throw new Error("Negotiation can only be skipped when using the WebSocket transport directly."); + } + } + else { + let negotiateResponse = null; + let redirects = 0; + do { + negotiateResponse = await this._getNegotiationResponse(url); + // the user tries to stop the connection when it is being started + if (this._connectionState === "Disconnecting" /* Disconnecting */ || this._connectionState === "Disconnected" /* Disconnected */) { + throw new Error("The connection was stopped during negotiation."); + } + if (negotiateResponse.error) { + throw new Error(negotiateResponse.error); + } + if (negotiateResponse.ProtocolVersion) { + throw new Error("Detected a connection attempt to an ASP.NET SignalR Server. This client only supports connecting to an ASP.NET Core SignalR Server. See https://aka.ms/signalr-core-differences for details."); + } + if (negotiateResponse.url) { + url = negotiateResponse.url; + } + if (negotiateResponse.accessToken) { + // Replace the current access token factory with one that uses + // the returned access token + const accessToken = negotiateResponse.accessToken; + this._accessTokenFactory = () => accessToken; + } + redirects++; + } while (negotiateResponse.url && redirects < MAX_REDIRECTS); + if (redirects === MAX_REDIRECTS && negotiateResponse.url) { + throw new Error("Negotiate redirection limit exceeded."); + } + await this._createTransport(url, this._options.transport, negotiateResponse, transferFormat); + } + if (this.transport instanceof LongPollingTransport) { + this.features.inherentKeepAlive = true; + } + if (this._connectionState === "Connecting" /* Connecting */) { + // Ensure the connection transitions to the connected state prior to completing this.startInternalPromise. + // start() will handle the case when stop was called and startInternal exits still in the disconnecting state. + this._logger.log(LogLevel.Debug, "The HttpConnection connected successfully."); + this._connectionState = "Connected" /* Connected */; + } + // stop() is waiting on us via this.startInternalPromise so keep this.transport around so it can clean up. + // This is the only case startInternal can exit in neither the connected nor disconnected state because stopConnection() + // will transition to the disconnected state. start() will wait for the transition using the stopPromise. + } + catch (e) { + this._logger.log(LogLevel.Error, "Failed to start the connection: " + e); + this._connectionState = "Disconnected" /* Disconnected */; + this.transport = undefined; + // if start fails, any active calls to stop assume that start will complete the stop promise + this._stopPromiseResolver(); + return Promise.reject(e); + } + } + async _getNegotiationResponse(url) { + const headers = {}; + if (this._accessTokenFactory) { + const token = await this._accessTokenFactory(); + if (token) { + headers[HeaderNames.Authorization] = `Bearer ${token}`; + } + } + const [name, value] = getUserAgentHeader(); + headers[name] = value; + const negotiateUrl = this._resolveNegotiateUrl(url); + this._logger.log(LogLevel.Debug, `Sending negotiation request: ${negotiateUrl}.`); + try { + const response = await this._httpClient.post(negotiateUrl, { + content: "", + headers: { ...headers, ...this._options.headers }, + timeout: this._options.timeout, + withCredentials: this._options.withCredentials, + }); + if (response.statusCode !== 200) { + return Promise.reject(new Error(`Unexpected status code returned from negotiate '${response.statusCode}'`)); + } + const negotiateResponse = JSON.parse(response.content); + if (!negotiateResponse.negotiateVersion || negotiateResponse.negotiateVersion < 1) { + // Negotiate version 0 doesn't use connectionToken + // So we set it equal to connectionId so all our logic can use connectionToken without being aware of the negotiate version + negotiateResponse.connectionToken = negotiateResponse.connectionId; + } + return negotiateResponse; + } + catch (e) { + let errorMessage = "Failed to complete negotiation with the server: " + e; + if (e instanceof HttpError) { + if (e.statusCode === 404) { + errorMessage = errorMessage + " Either this is not a SignalR endpoint or there is a proxy blocking the connection."; + } + } + this._logger.log(LogLevel.Error, errorMessage); + return Promise.reject(new FailedToNegotiateWithServerError(errorMessage)); + } + } + _createConnectUrl(url, connectionToken) { + if (!connectionToken) { + return url; + } + return url + (url.indexOf("?") === -1 ? "?" : "&") + `id=${connectionToken}`; + } + async _createTransport(url, requestedTransport, negotiateResponse, requestedTransferFormat) { + let connectUrl = this._createConnectUrl(url, negotiateResponse.connectionToken); + if (this._isITransport(requestedTransport)) { + this._logger.log(LogLevel.Debug, "Connection was provided an instance of ITransport, using that directly."); + this.transport = requestedTransport; + await this._startTransport(connectUrl, requestedTransferFormat); + this.connectionId = negotiateResponse.connectionId; + return; + } + const transportExceptions = []; + const transports = negotiateResponse.availableTransports || []; + let negotiate = negotiateResponse; + for (const endpoint of transports) { + const transportOrError = this._resolveTransportOrError(endpoint, requestedTransport, requestedTransferFormat); + if (transportOrError instanceof Error) { + // Store the error and continue, we don't want to cause a re-negotiate in these cases + transportExceptions.push(`${endpoint.transport} failed:`); + transportExceptions.push(transportOrError); + } + else if (this._isITransport(transportOrError)) { + this.transport = transportOrError; + if (!negotiate) { + try { + negotiate = await this._getNegotiationResponse(url); + } + catch (ex) { + return Promise.reject(ex); + } + connectUrl = this._createConnectUrl(url, negotiate.connectionToken); + } + try { + await this._startTransport(connectUrl, requestedTransferFormat); + this.connectionId = negotiate.connectionId; + return; + } + catch (ex) { + this._logger.log(LogLevel.Error, `Failed to start the transport '${endpoint.transport}': ${ex}`); + negotiate = undefined; + transportExceptions.push(new FailedToStartTransportError(`${endpoint.transport} failed: ${ex}`, HttpTransportType[endpoint.transport])); + if (this._connectionState !== "Connecting" /* Connecting */) { + const message = "Failed to select transport before stop() was called."; + this._logger.log(LogLevel.Debug, message); + return Promise.reject(new Error(message)); + } + } + } + } + if (transportExceptions.length > 0) { + return Promise.reject(new AggregateErrors(`Unable to connect to the server with any of the available transports. ${transportExceptions.join(" ")}`, transportExceptions)); + } + return Promise.reject(new Error("None of the transports supported by the client are supported by the server.")); + } + _constructTransport(transport) { + switch (transport) { + case HttpTransportType.WebSockets: + if (!this._options.WebSocket) { + throw new Error("'WebSocket' is not supported in your environment."); + } + return new WebSocketTransport(this._httpClient, this._accessTokenFactory, this._logger, this._options.logMessageContent, this._options.WebSocket, this._options.headers || {}); + case HttpTransportType.ServerSentEvents: + if (!this._options.EventSource) { + throw new Error("'EventSource' is not supported in your environment."); + } + return new ServerSentEventsTransport(this._httpClient, this._accessTokenFactory, this._logger, this._options); + case HttpTransportType.LongPolling: + return new LongPollingTransport(this._httpClient, this._accessTokenFactory, this._logger, this._options); + default: + throw new Error(`Unknown transport: ${transport}.`); + } + } + _startTransport(url, transferFormat) { + this.transport.onreceive = this.onreceive; + this.transport.onclose = (e) => this._stopConnection(e); + return this.transport.connect(url, transferFormat); + } + _resolveTransportOrError(endpoint, requestedTransport, requestedTransferFormat) { + const transport = HttpTransportType[endpoint.transport]; + if (transport === null || transport === undefined) { + this._logger.log(LogLevel.Debug, `Skipping transport '${endpoint.transport}' because it is not supported by this client.`); + return new Error(`Skipping transport '${endpoint.transport}' because it is not supported by this client.`); + } + else { + if (transportMatches(requestedTransport, transport)) { + const transferFormats = endpoint.transferFormats.map((s) => TransferFormat[s]); + if (transferFormats.indexOf(requestedTransferFormat) >= 0) { + if ((transport === HttpTransportType.WebSockets && !this._options.WebSocket) || + (transport === HttpTransportType.ServerSentEvents && !this._options.EventSource)) { + this._logger.log(LogLevel.Debug, `Skipping transport '${HttpTransportType[transport]}' because it is not supported in your environment.'`); + return new UnsupportedTransportError(`'${HttpTransportType[transport]}' is not supported in your environment.`, transport); + } + else { + this._logger.log(LogLevel.Debug, `Selecting transport '${HttpTransportType[transport]}'.`); + try { + return this._constructTransport(transport); + } + catch (ex) { + return ex; + } + } + } + else { + this._logger.log(LogLevel.Debug, `Skipping transport '${HttpTransportType[transport]}' because it does not support the requested transfer format '${TransferFormat[requestedTransferFormat]}'.`); + return new Error(`'${HttpTransportType[transport]}' does not support ${TransferFormat[requestedTransferFormat]}.`); + } + } + else { + this._logger.log(LogLevel.Debug, `Skipping transport '${HttpTransportType[transport]}' because it was disabled by the client.`); + return new DisabledTransportError(`'${HttpTransportType[transport]}' is disabled by the client.`, transport); + } + } + } + _isITransport(transport) { + return transport && typeof (transport) === "object" && "connect" in transport; + } + _stopConnection(error) { + this._logger.log(LogLevel.Debug, `HttpConnection.stopConnection(${error}) called while in state ${this._connectionState}.`); + this.transport = undefined; + // If we have a stopError, it takes precedence over the error from the transport + error = this._stopError || error; + this._stopError = undefined; + if (this._connectionState === "Disconnected" /* Disconnected */) { + this._logger.log(LogLevel.Debug, `Call to HttpConnection.stopConnection(${error}) was ignored because the connection is already in the disconnected state.`); + return; + } + if (this._connectionState === "Connecting" /* Connecting */) { + this._logger.log(LogLevel.Warning, `Call to HttpConnection.stopConnection(${error}) was ignored because the connection is still in the connecting state.`); + throw new Error(`HttpConnection.stopConnection(${error}) was called while the connection is still in the connecting state.`); + } + if (this._connectionState === "Disconnecting" /* Disconnecting */) { + // A call to stop() induced this call to stopConnection and needs to be completed. + // Any stop() awaiters will be scheduled to continue after the onclose callback fires. + this._stopPromiseResolver(); + } + if (error) { + this._logger.log(LogLevel.Error, `Connection disconnected with error '${error}'.`); + } + else { + this._logger.log(LogLevel.Information, "Connection disconnected."); + } + if (this._sendQueue) { + this._sendQueue.stop().catch((e) => { + this._logger.log(LogLevel.Error, `TransportSendQueue.stop() threw error '${e}'.`); + }); + this._sendQueue = undefined; + } + this.connectionId = undefined; + this._connectionState = "Disconnected" /* Disconnected */; + if (this._connectionStarted) { + this._connectionStarted = false; + try { + if (this.onclose) { + this.onclose(error); + } + } + catch (e) { + this._logger.log(LogLevel.Error, `HttpConnection.onclose(${error}) threw error '${e}'.`); + } + } + } + _resolveUrl(url) { + // startsWith is not supported in IE + if (url.lastIndexOf("https://", 0) === 0 || url.lastIndexOf("http://", 0) === 0) { + return url; + } + if (!Platform.isBrowser) { + throw new Error(`Cannot resolve '${url}'.`); + } + // Setting the url to the href propery of an anchor tag handles normalization + // for us. There are 3 main cases. + // 1. Relative path normalization e.g "b" -> "http://localhost:5000/a/b" + // 2. Absolute path normalization e.g "/a/b" -> "http://localhost:5000/a/b" + // 3. Networkpath reference normalization e.g "//localhost:5000/a/b" -> "http://localhost:5000/a/b" + const aTag = window.document.createElement("a"); + aTag.href = url; + this._logger.log(LogLevel.Information, `Normalizing '${url}' to '${aTag.href}'.`); + return aTag.href; + } + _resolveNegotiateUrl(url) { + const index = url.indexOf("?"); + let negotiateUrl = url.substring(0, index === -1 ? url.length : index); + if (negotiateUrl[negotiateUrl.length - 1] !== "/") { + negotiateUrl += "/"; + } + negotiateUrl += "negotiate"; + negotiateUrl += index === -1 ? "" : url.substring(index); + if (negotiateUrl.indexOf("negotiateVersion") === -1) { + negotiateUrl += index === -1 ? "?" : "&"; + negotiateUrl += "negotiateVersion=" + this._negotiateVersion; + } + return negotiateUrl; + } +} +function transportMatches(requestedTransport, actualTransport) { + return !requestedTransport || ((actualTransport & requestedTransport) !== 0); +} +/** @private */ +class TransportSendQueue { + constructor(_transport) { + this._transport = _transport; + this._buffer = []; + this._executing = true; + this._sendBufferedData = new PromiseSource(); + this._transportResult = new PromiseSource(); + this._sendLoopPromise = this._sendLoop(); + } + send(data) { + this._bufferData(data); + if (!this._transportResult) { + this._transportResult = new PromiseSource(); + } + return this._transportResult.promise; + } + stop() { + this._executing = false; + this._sendBufferedData.resolve(); + return this._sendLoopPromise; + } + _bufferData(data) { + if (this._buffer.length && typeof (this._buffer[0]) !== typeof (data)) { + throw new Error(`Expected data to be of type ${typeof (this._buffer)} but was of type ${typeof (data)}`); + } + this._buffer.push(data); + this._sendBufferedData.resolve(); + } + async _sendLoop() { + while (true) { + await this._sendBufferedData.promise; + if (!this._executing) { + if (this._transportResult) { + this._transportResult.reject("Connection stopped."); + } + break; + } + this._sendBufferedData = new PromiseSource(); + const transportResult = this._transportResult; + this._transportResult = undefined; + const data = typeof (this._buffer[0]) === "string" ? + this._buffer.join("") : + TransportSendQueue._concatBuffers(this._buffer); + this._buffer.length = 0; + try { + await this._transport.send(data); + transportResult.resolve(); + } + catch (error) { + transportResult.reject(error); + } + } + } + static _concatBuffers(arrayBuffers) { + const totalLength = arrayBuffers.map((b) => b.byteLength).reduce((a, b) => a + b); + const result = new Uint8Array(totalLength); + let offset = 0; + for (const item of arrayBuffers) { + result.set(new Uint8Array(item), offset); + offset += item.byteLength; + } + return result.buffer; + } +} +class PromiseSource { + constructor() { + this.promise = new Promise((resolve, reject) => [this._resolver, this._rejecter] = [resolve, reject]); + } + resolve() { + this._resolver(); + } + reject(reason) { + this._rejecter(reason); + } +} + +;// CONCATENATED MODULE: ./src/JsonHubProtocol.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + + + + + +const JSON_HUB_PROTOCOL_NAME = "json"; +/** Implements the JSON Hub Protocol. */ +class JsonHubProtocol { + constructor() { + /** @inheritDoc */ + this.name = JSON_HUB_PROTOCOL_NAME; + /** @inheritDoc */ + this.version = 1; + /** @inheritDoc */ + this.transferFormat = TransferFormat.Text; + } + /** Creates an array of {@link @microsoft/signalr.HubMessage} objects from the specified serialized representation. + * + * @param {string} input A string containing the serialized representation. + * @param {ILogger} logger A logger that will be used to log messages that occur during parsing. + */ + parseMessages(input, logger) { + // The interface does allow "ArrayBuffer" to be passed in, but this implementation does not. So let's throw a useful error. + if (typeof input !== "string") { + throw new Error("Invalid input for JSON hub protocol. Expected a string."); + } + if (!input) { + return []; + } + if (logger === null) { + logger = NullLogger.instance; + } + // Parse the messages + const messages = TextMessageFormat.parse(input); + const hubMessages = []; + for (const message of messages) { + const parsedMessage = JSON.parse(message); + if (typeof parsedMessage.type !== "number") { + throw new Error("Invalid payload."); + } + switch (parsedMessage.type) { + case MessageType.Invocation: + this._isInvocationMessage(parsedMessage); + break; + case MessageType.StreamItem: + this._isStreamItemMessage(parsedMessage); + break; + case MessageType.Completion: + this._isCompletionMessage(parsedMessage); + break; + case MessageType.Ping: + // Single value, no need to validate + break; + case MessageType.Close: + // All optional values, no need to validate + break; + default: + // Future protocol changes can add message types, old clients can ignore them + logger.log(LogLevel.Information, "Unknown message type '" + parsedMessage.type + "' ignored."); + continue; + } + hubMessages.push(parsedMessage); + } + return hubMessages; + } + /** Writes the specified {@link @microsoft/signalr.HubMessage} to a string and returns it. + * + * @param {HubMessage} message The message to write. + * @returns {string} A string containing the serialized representation of the message. + */ + writeMessage(message) { + return TextMessageFormat.write(JSON.stringify(message)); + } + _isInvocationMessage(message) { + this._assertNotEmptyString(message.target, "Invalid payload for Invocation message."); + if (message.invocationId !== undefined) { + this._assertNotEmptyString(message.invocationId, "Invalid payload for Invocation message."); + } + } + _isStreamItemMessage(message) { + this._assertNotEmptyString(message.invocationId, "Invalid payload for StreamItem message."); + if (message.item === undefined) { + throw new Error("Invalid payload for StreamItem message."); + } + } + _isCompletionMessage(message) { + if (message.result && message.error) { + throw new Error("Invalid payload for Completion message."); + } + if (!message.result && message.error) { + this._assertNotEmptyString(message.error, "Invalid payload for Completion message."); + } + this._assertNotEmptyString(message.invocationId, "Invalid payload for Completion message."); + } + _assertNotEmptyString(value, errorMessage) { + if (typeof value !== "string" || value === "") { + throw new Error(errorMessage); + } + } +} + +;// CONCATENATED MODULE: ./src/HubConnectionBuilder.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + + + + + + + +const LogLevelNameMapping = { + trace: LogLevel.Trace, + debug: LogLevel.Debug, + info: LogLevel.Information, + information: LogLevel.Information, + warn: LogLevel.Warning, + warning: LogLevel.Warning, + error: LogLevel.Error, + critical: LogLevel.Critical, + none: LogLevel.None, +}; +function parseLogLevel(name) { + // Case-insensitive matching via lower-casing + // Yes, I know case-folding is a complicated problem in Unicode, but we only support + // the ASCII strings defined in LogLevelNameMapping anyway, so it's fine -anurse. + const mapping = LogLevelNameMapping[name.toLowerCase()]; + if (typeof mapping !== "undefined") { + return mapping; + } + else { + throw new Error(`Unknown log level: ${name}`); + } +} +/** A builder for configuring {@link @microsoft/signalr.HubConnection} instances. */ +class HubConnectionBuilder { + configureLogging(logging) { + Arg.isRequired(logging, "logging"); + if (isLogger(logging)) { + this.logger = logging; + } + else if (typeof logging === "string") { + const logLevel = parseLogLevel(logging); + this.logger = new ConsoleLogger(logLevel); + } + else { + this.logger = new ConsoleLogger(logging); + } + return this; + } + withUrl(url, transportTypeOrOptions) { + Arg.isRequired(url, "url"); + Arg.isNotEmpty(url, "url"); + this.url = url; + // Flow-typing knows where it's at. Since HttpTransportType is a number and IHttpConnectionOptions is guaranteed + // to be an object, we know (as does TypeScript) this comparison is all we need to figure out which overload was called. + if (typeof transportTypeOrOptions === "object") { + this.httpConnectionOptions = { ...this.httpConnectionOptions, ...transportTypeOrOptions }; + } + else { + this.httpConnectionOptions = { + ...this.httpConnectionOptions, + transport: transportTypeOrOptions, + }; + } + return this; + } + /** Configures the {@link @microsoft/signalr.HubConnection} to use the specified Hub Protocol. + * + * @param {IHubProtocol} protocol The {@link @microsoft/signalr.IHubProtocol} implementation to use. + */ + withHubProtocol(protocol) { + Arg.isRequired(protocol, "protocol"); + this.protocol = protocol; + return this; + } + withAutomaticReconnect(retryDelaysOrReconnectPolicy) { + if (this.reconnectPolicy) { + throw new Error("A reconnectPolicy has already been set."); + } + if (!retryDelaysOrReconnectPolicy) { + this.reconnectPolicy = new DefaultReconnectPolicy(); + } + else if (Array.isArray(retryDelaysOrReconnectPolicy)) { + this.reconnectPolicy = new DefaultReconnectPolicy(retryDelaysOrReconnectPolicy); + } + else { + this.reconnectPolicy = retryDelaysOrReconnectPolicy; + } + return this; + } + /** Creates a {@link @microsoft/signalr.HubConnection} from the configuration options specified in this builder. + * + * @returns {HubConnection} The configured {@link @microsoft/signalr.HubConnection}. + */ + build() { + // If httpConnectionOptions has a logger, use it. Otherwise, override it with the one + // provided to configureLogger + const httpConnectionOptions = this.httpConnectionOptions || {}; + // If it's 'null', the user **explicitly** asked for null, don't mess with it. + if (httpConnectionOptions.logger === undefined) { + // If our logger is undefined or null, that's OK, the HttpConnection constructor will handle it. + httpConnectionOptions.logger = this.logger; + } + // Now create the connection + if (!this.url) { + throw new Error("The 'HubConnectionBuilder.withUrl' method must be called before building the connection."); + } + const connection = new HttpConnection(this.url, httpConnectionOptions); + return HubConnection.create(connection, this.logger || NullLogger.instance, this.protocol || new JsonHubProtocol(), this.reconnectPolicy); + } +} +function isLogger(logger) { + return logger.log !== undefined; +} + +;// CONCATENATED MODULE: ./src/index.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + + + + + + + + + + + + + +;// CONCATENATED MODULE: ./src/browser-index.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// This is where we add any polyfills we'll need for the browser. It is the entry module for browser-specific builds. +// Copy from Array.prototype into Uint8Array to polyfill on IE. It's OK because the implementations of indexOf and slice use properties +// that exist on Uint8Array with the same name, and JavaScript is magic. +// We make them 'writable' because the Buffer polyfill messes with it as well. +if (!Uint8Array.prototype.indexOf) { + Object.defineProperty(Uint8Array.prototype, "indexOf", { + value: Array.prototype.indexOf, + writable: true, + }); +} +if (!Uint8Array.prototype.slice) { + Object.defineProperty(Uint8Array.prototype, "slice", { + // wrap the slice in Uint8Array so it looks like a Uint8Array.slice call + // eslint-disable-next-line object-shorthand + value: function (start, end) { return new Uint8Array(Array.prototype.slice.call(this, start, end)); }, + writable: true, + }); +} +if (!Uint8Array.prototype.forEach) { + Object.defineProperty(Uint8Array.prototype, "forEach", { + value: Array.prototype.forEach, + writable: true, + }); +} + + +/******/ return __webpack_exports__; +/******/ })() +; +}); //# sourceMappingURL=signalr.js.map \ No newline at end of file diff --git a/Server/wwwroot/lib/microsoft-signalr/signalr.min.js b/Server/wwwroot/lib/microsoft-signalr/signalr.min.js index 504d89c4..1204a9a7 100644 --- a/Server/wwwroot/lib/microsoft-signalr/signalr.min.js +++ b/Server/wwwroot/lib/microsoft-signalr/signalr.min.js @@ -1,2 +1,2 @@ -var t,e;t=self,e=function(){return(()=>{var t={d:(e,n)=>{for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})}};t.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),t.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),t.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"t",{value:!0})};var e,n={};t.r(n),t.d(n,{AbortError:()=>s,DefaultHttpClient:()=>q,HttpClient:()=>d,HttpError:()=>o,HttpResponse:()=>u,HttpTransportType:()=>O,HubConnection:()=>j,HubConnectionBuilder:()=>Z,HubConnectionState:()=>W,JsonHubProtocol:()=>G,LogLevel:()=>e,MessageType:()=>H,NullLogger:()=>p,Subject:()=>L,TimeoutError:()=>r,TransferFormat:()=>_,VERSION:()=>g});class o extends Error{constructor(t,e){const n=new.target.prototype;super(`${t}: Status code '${e}'`),this.statusCode=e,this.__proto__=n}}class r extends Error{constructor(t="A timeout occurred."){const e=new.target.prototype;super(t),this.__proto__=e}}class s extends Error{constructor(t="An abort occurred."){const e=new.target.prototype;super(t),this.__proto__=e}}class i extends Error{constructor(t,e){const n=new.target.prototype;super(t),this.transport=e,this.errorType="UnsupportedTransportError",this.__proto__=n}}class c extends Error{constructor(t,e){const n=new.target.prototype;super(t),this.transport=e,this.errorType="DisabledTransportError",this.__proto__=n}}class a extends Error{constructor(t,e){const n=new.target.prototype;super(t),this.transport=e,this.errorType="FailedToStartTransportError",this.__proto__=n}}class h extends Error{constructor(t){const e=new.target.prototype;super(t),this.errorType="FailedToNegotiateWithServerError",this.__proto__=e}}class l extends Error{constructor(t,e){const n=new.target.prototype;super(t),this.innerErrors=e,this.__proto__=n}}class u{constructor(t,e,n){this.statusCode=t,this.statusText=e,this.content=n}}class d{get(t,e){return this.send({...e,method:"GET",url:t})}post(t,e){return this.send({...e,method:"POST",url:t})}delete(t,e){return this.send({...e,method:"DELETE",url:t})}getCookieString(t){return""}}!function(t){t[t.Trace=0]="Trace",t[t.Debug=1]="Debug",t[t.Information=2]="Information",t[t.Warning=3]="Warning",t[t.Error=4]="Error",t[t.Critical=5]="Critical",t[t.None=6]="None"}(e||(e={}));class p{constructor(){}log(t,e){}}p.instance=new p;const g="6.0.0";class f{static isRequired(t,e){if(null==t)throw new Error(`The '${e}' argument is required.`)}static isNotEmpty(t,e){if(!t||t.match(/^\s*$/))throw new Error(`The '${e}' argument should not be empty.`)}static isIn(t,e,n){if(!(t in e))throw new Error(`Unknown ${n} value: ${t}.`)}}class w{static get isBrowser(){return"object"==typeof window}static get isWebWorker(){return"object"==typeof self&&"importScripts"in self}static get isNode(){return!this.isBrowser&&!this.isWebWorker}}function m(t,e){let n="";return b(t)?(n=`Binary data of length ${t.byteLength}`,e&&(n+=`. Content: '${function(t){const e=new Uint8Array(t);let n="";return e.forEach((t=>{n+=`0x${t<16?"0":""}${t.toString(16)} `})),n.substr(0,n.length-1)}(t)}'`)):"string"==typeof t&&(n=`String data of length ${t.length}`,e&&(n+=`. Content: '${t}'`)),n}function b(t){return t&&"undefined"!=typeof ArrayBuffer&&(t instanceof ArrayBuffer||t.constructor&&"ArrayBuffer"===t.constructor.name)}async function y(t,n,o,r,s,i,c){let a={};if(s){const t=await s();t&&(a={Authorization:`Bearer ${t}`})}const[h,l]=S();a[h]=l,t.log(e.Trace,`(${n} transport) sending data. ${m(i,c.logMessageContent)}.`);const u=b(i)?"arraybuffer":"text",d=await o.post(r,{content:i,headers:{...a,...c.headers},responseType:u,timeout:c.timeout,withCredentials:c.withCredentials});t.log(e.Trace,`(${n} transport) request complete. Response status: ${d.statusCode}.`)}class v{constructor(t,e){this.i=t,this.h=e}dispose(){const t=this.i.observers.indexOf(this.h);t>-1&&this.i.observers.splice(t,1),0===this.i.observers.length&&this.i.cancelCallback&&this.i.cancelCallback().catch((t=>{}))}}class C{constructor(t){this.l=t,this.out=console}log(t,n){if(t>=this.l){const o=`[${(new Date).toISOString()}] ${e[t]}: ${n}`;switch(t){case e.Critical:case e.Error:this.out.error(o);break;case e.Warning:this.out.warn(o);break;case e.Information:this.out.info(o);break;default:this.out.log(o)}}}}function S(){let t="X-SignalR-User-Agent";return w.isNode&&(t="User-Agent"),[t,E(g,$(),w.isNode?"NodeJS":"Browser",T())]}function E(t,e,n,o){let r="Microsoft SignalR/";const s=t.split(".");return r+=`${s[0]}.${s[1]}`,r+=` (${t}; `,r+=e&&""!==e?`${e}; `:"Unknown OS; ",r+=`${n}`,r+=o?`; ${o}`:"; Unknown Runtime Version",r+=")",r}function $(){if(!w.isNode)return"";switch(process.platform){case"win32":return"Windows NT";case"darwin":return"macOS";case"linux":return"Linux";default:return process.platform}}function T(){if(w.isNode)return process.versions.node}function k(t){return t.stack?t.stack:t.message?t.message:`${t}`}class P extends d{constructor(e){if(super(),this.u=e,"undefined"==typeof fetch){const t=require;this.p=new(t("tough-cookie").CookieJar),this.m=t("node-fetch"),this.m=t("fetch-cookie")(this.m,this.p)}else this.m=fetch.bind(function(){if("undefined"!=typeof globalThis)return globalThis;if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==t.g)return t.g;throw new Error("could not find global")}());if("undefined"==typeof AbortController){const t=require;this.v=t("abort-controller")}else this.v=AbortController}async send(t){if(t.abortSignal&&t.abortSignal.aborted)throw new s;if(!t.method)throw new Error("No method defined.");if(!t.url)throw new Error("No url defined.");const n=new this.v;let i;t.abortSignal&&(t.abortSignal.onabort=()=>{n.abort(),i=new s});let c,a=null;if(t.timeout){const o=t.timeout;a=setTimeout((()=>{n.abort(),this.u.log(e.Warning,"Timeout from HTTP request."),i=new r}),o)}try{c=await this.m(t.url,{body:t.content,cache:"no-cache",credentials:!0===t.withCredentials?"include":"same-origin",headers:{"Content-Type":"text/plain;charset=UTF-8","X-Requested-With":"XMLHttpRequest",...t.headers},method:t.method,mode:"cors",redirect:"follow",signal:n.signal})}catch(t){if(i)throw i;throw this.u.log(e.Warning,`Error from HTTP request. ${t}.`),t}finally{a&&clearTimeout(a),t.abortSignal&&(t.abortSignal.onabort=null)}if(!c.ok){const t=await I(c,"text");throw new o(t||c.statusText,c.status)}const h=I(c,t.responseType),l=await h;return new u(c.status,c.statusText,l)}getCookieString(t){let e="";return w.isNode&&this.p&&this.p.getCookies(t,((t,n)=>e=n.join("; "))),e}}function I(t,e){let n;switch(e){case"arraybuffer":n=t.arrayBuffer();break;case"text":n=t.text();break;case"blob":case"document":case"json":throw new Error(`${e} is not supported.`);default:n=t.text()}return n}class D extends d{constructor(t){super(),this.u=t}send(t){return t.abortSignal&&t.abortSignal.aborted?Promise.reject(new s):t.method?t.url?new Promise(((n,i)=>{const c=new XMLHttpRequest;c.open(t.method,t.url,!0),c.withCredentials=void 0===t.withCredentials||t.withCredentials,c.setRequestHeader("X-Requested-With","XMLHttpRequest"),c.setRequestHeader("Content-Type","text/plain;charset=UTF-8");const a=t.headers;a&&Object.keys(a).forEach((t=>{c.setRequestHeader(t,a[t])})),t.responseType&&(c.responseType=t.responseType),t.abortSignal&&(t.abortSignal.onabort=()=>{c.abort(),i(new s)}),t.timeout&&(c.timeout=t.timeout),c.onload=()=>{t.abortSignal&&(t.abortSignal.onabort=null),c.status>=200&&c.status<300?n(new u(c.status,c.statusText,c.response||c.responseText)):i(new o(c.response||c.responseText||c.statusText,c.status))},c.onerror=()=>{this.u.log(e.Warning,`Error from HTTP request. ${c.status}: ${c.statusText}.`),i(new o(c.statusText,c.status))},c.ontimeout=()=>{this.u.log(e.Warning,"Timeout from HTTP request."),i(new r)},c.send(t.content||"")})):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))}}class q extends d{constructor(t){if(super(),"undefined"!=typeof fetch||w.isNode)this.$=new P(t);else{if("undefined"==typeof XMLHttpRequest)throw new Error("No usable HttpClient found.");this.$=new D(t)}}send(t){return t.abortSignal&&t.abortSignal.aborted?Promise.reject(new s):t.method?t.url?this.$.send(t):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))}getCookieString(t){return this.$.getCookieString(t)}}class R{static write(t){return`${t}${R.RecordSeparator}`}static parse(t){if(t[t.length-1]!==R.RecordSeparator)throw new Error("Message is incomplete.");const e=t.split(R.RecordSeparator);return e.pop(),e}}R.RecordSeparatorCode=30,R.RecordSeparator=String.fromCharCode(R.RecordSeparatorCode);class x{writeHandshakeRequest(t){return R.write(JSON.stringify(t))}parseHandshakeResponse(t){let e,n;if(b(t)){const o=new Uint8Array(t),r=o.indexOf(R.RecordSeparatorCode);if(-1===r)throw new Error("Message is incomplete.");const s=r+1;e=String.fromCharCode.apply(null,Array.prototype.slice.call(o.slice(0,s))),n=o.byteLength>s?o.slice(s).buffer:null}else{const o=t,r=o.indexOf(R.RecordSeparator);if(-1===r)throw new Error("Message is incomplete.");const s=r+1;e=o.substring(0,s),n=o.length>s?o.substring(s):null}const o=R.parse(e),r=JSON.parse(o[0]);if(r.type)throw new Error("Expected a handshake response from the server.");return[n,r]}}var H,W;!function(t){t[t.Invocation=1]="Invocation",t[t.StreamItem=2]="StreamItem",t[t.Completion=3]="Completion",t[t.StreamInvocation=4]="StreamInvocation",t[t.CancelInvocation=5]="CancelInvocation",t[t.Ping=6]="Ping",t[t.Close=7]="Close"}(H||(H={}));class L{constructor(){this.observers=[]}next(t){for(const e of this.observers)e.next(t)}error(t){for(const e of this.observers)e.error&&e.error(t)}complete(){for(const t of this.observers)t.complete&&t.complete()}subscribe(t){return this.observers.push(t),new v(this,t)}}!function(t){t.Disconnected="Disconnected",t.Connecting="Connecting",t.Connected="Connected",t.Disconnecting="Disconnecting",t.Reconnecting="Reconnecting"}(W||(W={}));class j{constructor(t,n,o,r){this.C=0,this.S=()=>{this.u.log(e.Warning,"The page is being frozen, this will likely lead to the connection being closed and messages being lost. For more information see the docs at https://docs.microsoft.com/aspnet/core/signalr/javascript-client#bsleep")},f.isRequired(t,"connection"),f.isRequired(n,"logger"),f.isRequired(o,"protocol"),this.serverTimeoutInMilliseconds=3e4,this.keepAliveIntervalInMilliseconds=15e3,this.u=n,this.k=o,this.connection=t,this.P=r,this.T=new x,this.connection.onreceive=t=>this.I(t),this.connection.onclose=t=>this._(t),this.H={},this.D={},this.A=[],this.R=[],this.U=[],this.L=0,this.N=!1,this.q=W.Disconnected,this.M=!1,this.W=this.k.writeMessage({type:H.Ping})}static create(t,e,n,o){return new j(t,e,n,o)}get state(){return this.q}get connectionId(){return this.connection&&this.connection.connectionId||null}get baseUrl(){return this.connection.baseUrl||""}set baseUrl(t){if(this.q!==W.Disconnected&&this.q!==W.Reconnecting)throw new Error("The HubConnection must be in the Disconnected or Reconnecting state to change the url.");if(!t)throw new Error("The HubConnection url must be a valid url.");this.connection.baseUrl=t}start(){return this.O=this.j(),this.O}async j(){if(this.q!==W.Disconnected)return Promise.reject(new Error("Cannot start a HubConnection that is not in the 'Disconnected' state."));this.q=W.Connecting,this.u.log(e.Debug,"Starting HubConnection.");try{await this.F(),w.isBrowser&&document&&document.addEventListener("freeze",this.S),this.q=W.Connected,this.M=!0,this.u.log(e.Debug,"HubConnection connected successfully.")}catch(t){return this.q=W.Disconnected,this.u.log(e.Debug,`HubConnection failed to start successfully because of error '${t}'.`),Promise.reject(t)}}async F(){this.B=void 0,this.N=!1;const t=new Promise(((t,e)=>{this.X=t,this.J=e}));await this.connection.start(this.k.transferFormat);try{const n={protocol:this.k.name,version:this.k.version};if(this.u.log(e.Debug,"Sending handshake request."),await this.V(this.T.writeHandshakeRequest(n)),this.u.log(e.Information,`Using HubProtocol '${this.k.name}'.`),this.G(),this.K(),this.Y(),await t,this.B)throw this.B}catch(t){throw this.u.log(e.Debug,`Hub handshake failed with error '${t}' during start(). Stopping HubConnection.`),this.G(),this.Z(),await this.connection.stop(t),t}}async stop(){const t=this.O;this.tt=this.et(),await this.tt;try{await t}catch(t){}}et(t){return this.q===W.Disconnected?(this.u.log(e.Debug,`Call to HubConnection.stop(${t}) ignored because it is already in the disconnected state.`),Promise.resolve()):this.q===W.Disconnecting?(this.u.log(e.Debug,`Call to HttpConnection.stop(${t}) ignored because the connection is already in the disconnecting state.`),this.tt):(this.q=W.Disconnecting,this.u.log(e.Debug,"Stopping HubConnection."),this.st?(this.u.log(e.Debug,"Connection stopped during reconnect delay. Done reconnecting."),clearTimeout(this.st),this.st=void 0,this.nt(),Promise.resolve()):(this.G(),this.Z(),this.B=t||new Error("The connection was stopped before the hub handshake could complete."),this.connection.stop(t)))}stream(t,...e){const[n,o]=this.it(e),r=this.rt(t,e,o);let s;const i=new L;return i.cancelCallback=()=>{const t=this.ot(r.invocationId);return delete this.H[r.invocationId],s.then((()=>this.ht(t)))},this.H[r.invocationId]=(t,e)=>{e?i.error(e):t&&(t.type===H.Completion?t.error?i.error(new Error(t.error)):i.complete():i.next(t.item))},s=this.ht(r).catch((t=>{i.error(t),delete this.H[r.invocationId]})),this.ct(n,s),i}V(t){return this.Y(),this.connection.send(t)}ht(t){return this.V(this.k.writeMessage(t))}send(t,...e){const[n,o]=this.it(e),r=this.ht(this.at(t,e,!0,o));return this.ct(n,r),r}invoke(t,...e){const[n,o]=this.it(e),r=this.at(t,e,!1,o);return new Promise(((t,e)=>{this.H[r.invocationId]=(n,o)=>{o?e(o):n&&(n.type===H.Completion?n.error?e(new Error(n.error)):t(n.result):e(new Error(`Unexpected message type: ${n.type}`)))};const o=this.ht(r).catch((t=>{e(t),delete this.H[r.invocationId]}));this.ct(n,o)}))}on(t,e){t&&e&&(t=t.toLowerCase(),this.D[t]||(this.D[t]=[]),-1===this.D[t].indexOf(e)&&this.D[t].push(e))}off(t,e){if(!t)return;t=t.toLowerCase();const n=this.D[t];if(n)if(e){const o=n.indexOf(e);-1!==o&&(n.splice(o,1),0===n.length&&delete this.D[t])}else delete this.D[t]}onclose(t){t&&this.A.push(t)}onreconnecting(t){t&&this.R.push(t)}onreconnected(t){t&&this.U.push(t)}I(t){if(this.G(),this.N||(t=this.lt(t),this.N=!0),t){const n=this.k.parseMessages(t,this.u);for(const o of n)switch(o.type){case H.Invocation:this.ut(o);break;case H.StreamItem:case H.Completion:{const n=this.H[o.invocationId];if(n){o.type===H.Completion&&delete this.H[o.invocationId];try{n(o)}catch(t){this.u.log(e.Error,`Stream callback threw error: ${k(t)}`)}}break}case H.Ping:break;case H.Close:{this.u.log(e.Information,"Close message received from server.");const t=o.error?new Error("Server returned an error on close: "+o.error):void 0;!0===o.allowReconnect?this.connection.stop(t):this.tt=this.et(t);break}default:this.u.log(e.Warning,`Invalid message type: ${o.type}.`)}}this.K()}lt(t){let n,o;try{[o,n]=this.T.parseHandshakeResponse(t)}catch(t){const n="Error parsing handshake response: "+t;this.u.log(e.Error,n);const o=new Error(n);throw this.J(o),o}if(n.error){const t="Server returned handshake error: "+n.error;this.u.log(e.Error,t);const o=new Error(t);throw this.J(o),o}return this.u.log(e.Debug,"Server handshake complete."),this.X(),o}Y(){this.connection.features.inherentKeepAlive||(this.C=(new Date).getTime()+this.keepAliveIntervalInMilliseconds,this.Z())}K(){if(!(this.connection.features&&this.connection.features.inherentKeepAlive||(this.dt=setTimeout((()=>this.serverTimeout()),this.serverTimeoutInMilliseconds),void 0!==this.ft))){let t=this.C-(new Date).getTime();t<0&&(t=0),this.ft=setTimeout((async()=>{if(this.q===W.Connected)try{await this.V(this.W)}catch{this.Z()}}),t)}}serverTimeout(){this.connection.stop(new Error("Server timeout elapsed without receiving a message from the server."))}ut(t){const n=this.D[t.target.toLowerCase()];if(n){try{n.forEach((e=>e.apply(this,t.arguments)))}catch(n){this.u.log(e.Error,`A callback for the method ${t.target.toLowerCase()} threw error '${n}'.`)}if(t.invocationId){const t="Server requested a response, which is not supported in this version of the client.";this.u.log(e.Error,t),this.tt=this.et(new Error(t))}}else this.u.log(e.Warning,`No client method with the name '${t.target}' found.`)}_(t){this.u.log(e.Debug,`HubConnection.connectionClosed(${t}) called while in state ${this.q}.`),this.B=this.B||t||new Error("The underlying connection was closed before the hub handshake could complete."),this.X&&this.X(),this.wt(t||new Error("Invocation canceled due to the underlying connection being closed.")),this.G(),this.Z(),this.q===W.Disconnecting?this.nt(t):this.q===W.Connected&&this.P?this.gt(t):this.q===W.Connected&&this.nt(t)}nt(t){if(this.M){this.q=W.Disconnected,this.M=!1,w.isBrowser&&document&&document.removeEventListener("freeze",this.S);try{this.A.forEach((e=>e.apply(this,[t])))}catch(n){this.u.log(e.Error,`An onclose callback called with error '${t}' threw error '${n}'.`)}}}async gt(t){const n=Date.now();let o=0,r=void 0!==t?t:new Error("Attempting to reconnect due to a unknown error."),s=this.yt(o++,0,r);if(null===s)return this.u.log(e.Debug,"Connection not reconnecting because the IRetryPolicy returned null on the first reconnect attempt."),void this.nt(t);if(this.q=W.Reconnecting,t?this.u.log(e.Information,`Connection reconnecting because of error '${t}'.`):this.u.log(e.Information,"Connection reconnecting."),0!==this.R.length){try{this.R.forEach((e=>e.apply(this,[t])))}catch(n){this.u.log(e.Error,`An onreconnecting callback called with error '${t}' threw error '${n}'.`)}if(this.q!==W.Reconnecting)return void this.u.log(e.Debug,"Connection left the reconnecting state in onreconnecting callback. Done reconnecting.")}for(;null!==s;){if(this.u.log(e.Information,`Reconnect attempt number ${o} will start in ${s} ms.`),await new Promise((t=>{this.st=setTimeout(t,s)})),this.st=void 0,this.q!==W.Reconnecting)return void this.u.log(e.Debug,"Connection left the reconnecting state during reconnect delay. Done reconnecting.");try{if(await this.F(),this.q=W.Connected,this.u.log(e.Information,"HubConnection reconnected successfully."),0!==this.U.length)try{this.U.forEach((t=>t.apply(this,[this.connection.connectionId])))}catch(t){this.u.log(e.Error,`An onreconnected callback called with connectionId '${this.connection.connectionId}; threw error '${t}'.`)}return}catch(t){if(this.u.log(e.Information,`Reconnect attempt failed because of error '${t}'.`),this.q!==W.Reconnecting)return this.u.log(e.Debug,`Connection moved to the '${this.q}' from the reconnecting state during reconnect attempt. Done reconnecting.`),void(this.q===W.Disconnecting&&this.nt());r=t instanceof Error?t:new Error(t.toString()),s=this.yt(o++,Date.now()-n,r)}}this.u.log(e.Information,`Reconnect retries have been exhausted after ${Date.now()-n} ms and ${o} failed attempts. Connection disconnecting.`),this.nt()}yt(t,n,o){try{return this.P.nextRetryDelayInMilliseconds({elapsedMilliseconds:n,previousRetryCount:t,retryReason:o})}catch(o){return this.u.log(e.Error,`IRetryPolicy.nextRetryDelayInMilliseconds(${t}, ${n}) threw error '${o}'.`),null}}wt(t){const n=this.H;this.H={},Object.keys(n).forEach((o=>{const r=n[o];try{r(null,t)}catch(n){this.u.log(e.Error,`Stream 'error' callback called with '${t}' threw error: ${k(n)}`)}}))}Z(){this.ft&&(clearTimeout(this.ft),this.ft=void 0)}G(){this.dt&&clearTimeout(this.dt)}at(t,e,n,o){if(n)return 0!==o.length?{arguments:e,streamIds:o,target:t,type:H.Invocation}:{arguments:e,target:t,type:H.Invocation};{const n=this.L;return this.L++,0!==o.length?{arguments:e,invocationId:n.toString(),streamIds:o,target:t,type:H.Invocation}:{arguments:e,invocationId:n.toString(),target:t,type:H.Invocation}}}ct(t,e){if(0!==t.length){e||(e=Promise.resolve());for(const n in t)t[n].subscribe({complete:()=>{e=e.then((()=>this.ht(this.bt(n))))},error:t=>{let o;o=t instanceof Error?t.message:t&&t.toString?t.toString():"Unknown error",e=e.then((()=>this.ht(this.bt(n,o))))},next:t=>{e=e.then((()=>this.ht(this.vt(n,t))))}})}}it(t){const e=[],n=[];for(let o=0;o{let s,i=!1;if(n===_.Text){if(w.isBrowser||w.isWebWorker)s=new this.Pt.EventSource(t,{withCredentials:this.Pt.withCredentials});else{const e=this.$.getCookieString(t),n={};n.Cookie=e;const[o,r]=S();n[o]=r,s=new this.Pt.EventSource(t,{withCredentials:this.Pt.withCredentials,headers:{...n,...this.Pt.headers}})}try{s.onmessage=t=>{if(this.onreceive)try{this.u.log(e.Trace,`(SSE transport) data received. ${m(t.data,this.Pt.logMessageContent)}.`),this.onreceive(t.data)}catch(t){return void this.Ut(t)}},s.onerror=t=>{i?this.Ut():r(new Error("EventSource failed to connect. The connection could not be found on the server, either the connection ID is not present on the server, or a proxy is refusing/buffering the connection. If you have multiple servers check that sticky sessions are enabled."))},s.onopen=()=>{this.u.log(e.Information,`SSE connected to ${this.It}`),this.Lt=s,i=!0,o()}}catch(t){return void r(t)}}else r(new Error("The Server-Sent Events transport only supports the 'Text' transfer format"))}))}async send(t){return this.Lt?y(this.u,"SSE",this.$,this.It,this.St,t,this.Pt):Promise.reject(new Error("Cannot send until the transport is connected"))}stop(){return this.Ut(),Promise.resolve()}Ut(t){this.Lt&&(this.Lt.close(),this.Lt=void 0,this.onclose&&this.onclose(t))}}class J{constructor(t,e,n,o,r,s){this.u=n,this.St=e,this.Nt=o,this.qt=r,this.$=t,this.onreceive=null,this.onclose=null,this.Mt=s}async connect(t,n){if(f.isRequired(t,"url"),f.isRequired(n,"transferFormat"),f.isIn(n,_,"transferFormat"),this.u.log(e.Trace,"(WebSockets transport) Connecting."),this.St){const e=await this.St();e&&(t+=(t.indexOf("?")<0?"?":"&")+`access_token=${encodeURIComponent(e)}`)}return new Promise(((o,r)=>{let s;t=t.replace(/^http/,"ws");const i=this.$.getCookieString(t);let c=!1;if(w.isNode){const e={},[n,o]=S();e[n]=o,i&&(e[U.Cookie]=`${i}`),s=new this.qt(t,void 0,{headers:{...e,...this.Mt}})}s||(s=new this.qt(t)),n===_.Binary&&(s.binaryType="arraybuffer"),s.onopen=n=>{this.u.log(e.Information,`WebSocket connected to ${t}.`),this.Wt=s,c=!0,o()},s.onerror=t=>{let n=null;n="undefined"!=typeof ErrorEvent&&t instanceof ErrorEvent?t.error:"There was an error with the transport",this.u.log(e.Information,`(WebSockets transport) ${n}.`)},s.onmessage=t=>{if(this.u.log(e.Trace,`(WebSockets transport) data received. ${m(t.data,this.Nt)}.`),this.onreceive)try{this.onreceive(t.data)}catch(t){return void this.Ut(t)}},s.onclose=t=>{if(c)this.Ut(t);else{let e=null;e="undefined"!=typeof ErrorEvent&&t instanceof ErrorEvent?t.error:"WebSocket failed to connect. The connection could not be found on the server, either the endpoint may not be a SignalR endpoint, the connection ID is not present on the server, or there is a proxy blocking WebSockets. If you have multiple servers check that sticky sessions are enabled.",r(new Error(e))}}}))}send(t){return this.Wt&&this.Wt.readyState===this.qt.OPEN?(this.u.log(e.Trace,`(WebSockets transport) sending data. ${m(t,this.Nt)}.`),this.Wt.send(t),Promise.resolve()):Promise.reject("WebSocket is not in the OPEN state")}stop(){return this.Wt&&this.Ut(void 0),Promise.resolve()}Ut(t){this.Wt&&(this.Wt.onclose=()=>{},this.Wt.onmessage=()=>{},this.Wt.onerror=()=>{},this.Wt.close(),this.Wt=void 0),this.u.log(e.Trace,"(WebSockets transport) socket closed."),this.onclose&&(!this.Ot(t)||!1!==t.wasClean&&1e3===t.code?t instanceof Error?this.onclose(t):this.onclose():this.onclose(new Error(`WebSocket closed with status code: ${t.code} (${t.reason||"no reason given"}).`)))}Ot(t){return t&&"boolean"==typeof t.wasClean&&"number"==typeof t.code}}class X{constructor(t,n={}){var o;if(this.jt=()=>{},this.features={},this.Ft=1,f.isRequired(t,"url"),this.u=void 0===(o=n.logger)?new C(e.Information):null===o?p.instance:void 0!==o.log?o:new C(o),this.baseUrl=this.Bt(t),(n=n||{}).logMessageContent=void 0!==n.logMessageContent&&n.logMessageContent,"boolean"!=typeof n.withCredentials&&void 0!==n.withCredentials)throw new Error("withCredentials option was not a 'boolean' or 'undefined' value");n.withCredentials=void 0===n.withCredentials||n.withCredentials,n.timeout=void 0===n.timeout?1e5:n.timeout;let r=null,s=null;if(w.isNode){const t=require;r=t("ws"),s=t("eventsource")}w.isNode||"undefined"==typeof WebSocket||n.WebSocket?w.isNode&&!n.WebSocket&&r&&(n.WebSocket=r):n.WebSocket=WebSocket,w.isNode||"undefined"==typeof EventSource||n.EventSource?w.isNode&&!n.EventSource&&void 0!==s&&(n.EventSource=s):n.EventSource=EventSource,this.$=n.httpClient||new q(this.u),this.q="Disconnected",this.M=!1,this.Pt=n,this.onreceive=null,this.onclose=null}async start(t){if(t=t||_.Binary,f.isIn(t,_,"transferFormat"),this.u.log(e.Debug,`Starting connection with transfer format '${_[t]}'.`),"Disconnected"!==this.q)return Promise.reject(new Error("Cannot start an HttpConnection that is not in the 'Disconnected' state."));if(this.q="Connecting",this.Xt=this.F(t),await this.Xt,"Disconnecting"===this.q){const t="Failed to start the HttpConnection before stop() was called.";return this.u.log(e.Error,t),await this.tt,Promise.reject(new Error(t))}if("Connected"!==this.q){const t="HttpConnection.startInternal completed gracefully but didn't enter the connection into the connected state!";return this.u.log(e.Error,t),Promise.reject(new Error(t))}this.M=!0}send(t){return"Connected"!==this.q?Promise.reject(new Error("Cannot send data if the connection is not in the 'Connected' State.")):(this.Jt||(this.Jt=new V(this.transport)),this.Jt.send(t))}async stop(t){return"Disconnected"===this.q?(this.u.log(e.Debug,`Call to HttpConnection.stop(${t}) ignored because the connection is already in the disconnected state.`),Promise.resolve()):"Disconnecting"===this.q?(this.u.log(e.Debug,`Call to HttpConnection.stop(${t}) ignored because the connection is already in the disconnecting state.`),this.tt):(this.q="Disconnecting",this.tt=new Promise((t=>{this.jt=t})),await this.et(t),void await this.tt)}async et(t){this.zt=t;try{await this.Xt}catch(t){}if(this.transport){try{await this.transport.stop()}catch(t){this.u.log(e.Error,`HttpConnection.transport.stop() threw error '${t}'.`),this.Vt()}this.transport=void 0}else this.u.log(e.Debug,"HttpConnection.transport is undefined in HttpConnection.stop() because start() failed.")}async F(t){let n=this.baseUrl;this.St=this.Pt.accessTokenFactory;try{if(this.Pt.skipNegotiation){if(this.Pt.transport!==O.WebSockets)throw new Error("Negotiation can only be skipped when using the WebSocket transport directly.");this.transport=this.Gt(O.WebSockets),await this.Kt(n,t)}else{let e=null,o=0;do{if(e=await this.Qt(n),"Disconnecting"===this.q||"Disconnected"===this.q)throw new Error("The connection was stopped during negotiation.");if(e.error)throw new Error(e.error);if(e.ProtocolVersion)throw new Error("Detected a connection attempt to an ASP.NET SignalR Server. This client only supports connecting to an ASP.NET Core SignalR Server. See https://aka.ms/signalr-core-differences for details.");if(e.url&&(n=e.url),e.accessToken){const t=e.accessToken;this.St=()=>t}o++}while(e.url&&o<100);if(100===o&&e.url)throw new Error("Negotiate redirection limit exceeded.");await this.Yt(n,this.Pt.transport,e,t)}this.transport instanceof B&&(this.features.inherentKeepAlive=!0),"Connecting"===this.q&&(this.u.log(e.Debug,"The HttpConnection connected successfully."),this.q="Connected")}catch(t){return this.u.log(e.Error,"Failed to start the connection: "+t),this.q="Disconnected",this.transport=void 0,this.jt(),Promise.reject(t)}}async Qt(t){const n={};if(this.St){const t=await this.St();t&&(n[U.Authorization]=`Bearer ${t}`)}const[r,s]=S();n[r]=s;const i=this.Zt(t);this.u.log(e.Debug,`Sending negotiation request: ${i}.`);try{const t=await this.$.post(i,{content:"",headers:{...n,...this.Pt.headers},timeout:this.Pt.timeout,withCredentials:this.Pt.withCredentials});if(200!==t.statusCode)return Promise.reject(new Error(`Unexpected status code returned from negotiate '${t.statusCode}'`));const e=JSON.parse(t.content);return(!e.negotiateVersion||e.negotiateVersion<1)&&(e.connectionToken=e.connectionId),e}catch(t){let n="Failed to complete negotiation with the server: "+t;return t instanceof o&&404===t.statusCode&&(n+=" Either this is not a SignalR endpoint or there is a proxy blocking the connection."),this.u.log(e.Error,n),Promise.reject(new h(n))}}te(t,e){return e?t+(-1===t.indexOf("?")?"?":"&")+`id=${e}`:t}async Yt(t,n,o,r){let s=this.te(t,o.connectionToken);if(this.ee(n))return this.u.log(e.Debug,"Connection was provided an instance of ITransport, using that directly."),this.transport=n,await this.Kt(s,r),void(this.connectionId=o.connectionId);const i=[],c=o.availableTransports||[];let h=o;for(const o of c){const c=this.se(o,n,r);if(c instanceof Error)i.push(`${o.transport} failed:`),i.push(c);else if(this.ee(c)){if(this.transport=c,!h){try{h=await this.Qt(t)}catch(t){return Promise.reject(t)}s=this.te(t,h.connectionToken)}try{return await this.Kt(s,r),void(this.connectionId=h.connectionId)}catch(t){if(this.u.log(e.Error,`Failed to start the transport '${o.transport}': ${t}`),h=void 0,i.push(new a(`${o.transport} failed: ${t}`,O[o.transport])),"Connecting"!==this.q){const t="Failed to select transport before stop() was called.";return this.u.log(e.Debug,t),Promise.reject(new Error(t))}}}}return i.length>0?Promise.reject(new l(`Unable to connect to the server with any of the available transports. ${i.join(" ")}`,i)):Promise.reject(new Error("None of the transports supported by the client are supported by the server."))}Gt(t){switch(t){case O.WebSockets:if(!this.Pt.WebSocket)throw new Error("'WebSocket' is not supported in your environment.");return new J(this.$,this.St,this.u,this.Pt.logMessageContent,this.Pt.WebSocket,this.Pt.headers||{});case O.ServerSentEvents:if(!this.Pt.EventSource)throw new Error("'EventSource' is not supported in your environment.");return new F(this.$,this.St,this.u,this.Pt);case O.LongPolling:return new B(this.$,this.St,this.u,this.Pt);default:throw new Error(`Unknown transport: ${t}.`)}}Kt(t,e){return this.transport.onreceive=this.onreceive,this.transport.onclose=t=>this.Vt(t),this.transport.connect(t,e)}se(t,n,o){const r=O[t.transport];if(null==r)return this.u.log(e.Debug,`Skipping transport '${t.transport}' because it is not supported by this client.`),new Error(`Skipping transport '${t.transport}' because it is not supported by this client.`);if(!function(t,e){return!t||0!=(e&t)}(n,r))return this.u.log(e.Debug,`Skipping transport '${O[r]}' because it was disabled by the client.`),new c(`'${O[r]}' is disabled by the client.`,r);if(!(t.transferFormats.map((t=>_[t])).indexOf(o)>=0))return this.u.log(e.Debug,`Skipping transport '${O[r]}' because it does not support the requested transfer format '${_[o]}'.`),new Error(`'${O[r]}' does not support ${_[o]}.`);if(r===O.WebSockets&&!this.Pt.WebSocket||r===O.ServerSentEvents&&!this.Pt.EventSource)return this.u.log(e.Debug,`Skipping transport '${O[r]}' because it is not supported in your environment.'`),new i(`'${O[r]}' is not supported in your environment.`,r);this.u.log(e.Debug,`Selecting transport '${O[r]}'.`);try{return this.Gt(r)}catch(t){return t}}ee(t){return t&&"object"==typeof t&&"connect"in t}Vt(t){if(this.u.log(e.Debug,`HttpConnection.stopConnection(${t}) called while in state ${this.q}.`),this.transport=void 0,t=this.zt||t,this.zt=void 0,"Disconnected"!==this.q){if("Connecting"===this.q)throw this.u.log(e.Warning,`Call to HttpConnection.stopConnection(${t}) was ignored because the connection is still in the connecting state.`),new Error(`HttpConnection.stopConnection(${t}) was called while the connection is still in the connecting state.`);if("Disconnecting"===this.q&&this.jt(),t?this.u.log(e.Error,`Connection disconnected with error '${t}'.`):this.u.log(e.Information,"Connection disconnected."),this.Jt&&(this.Jt.stop().catch((t=>{this.u.log(e.Error,`TransportSendQueue.stop() threw error '${t}'.`)})),this.Jt=void 0),this.connectionId=void 0,this.q="Disconnected",this.M){this.M=!1;try{this.onclose&&this.onclose(t)}catch(n){this.u.log(e.Error,`HttpConnection.onclose(${t}) threw error '${n}'.`)}}}else this.u.log(e.Debug,`Call to HttpConnection.stopConnection(${t}) was ignored because the connection is already in the disconnected state.`)}Bt(t){if(0===t.lastIndexOf("https://",0)||0===t.lastIndexOf("http://",0))return t;if(!w.isBrowser||!window.document)throw new Error(`Cannot resolve '${t}'.`);const n=window.document.createElement("a");return n.href=t,this.u.log(e.Information,`Normalizing '${t}' to '${n.href}'.`),n.href}Zt(t){const e=t.indexOf("?");let n=t.substring(0,-1===e?t.length:e);return"/"!==n[n.length-1]&&(n+="/"),n+="negotiate",n+=-1===e?"":t.substring(e),-1===n.indexOf("negotiateVersion")&&(n+=-1===e?"?":"&",n+="negotiateVersion="+this.Ft),n}}class V{constructor(t){this.ne=t,this.ie=[],this.re=!0,this.oe=new z,this.he=new z,this.ce=this.ae()}send(t){return this.le(t),this.he||(this.he=new z),this.he.promise}stop(){return this.re=!1,this.oe.resolve(),this.ce}le(t){if(this.ie.length&&typeof this.ie[0]!=typeof t)throw new Error(`Expected data to be of type ${typeof this.ie} but was of type ${typeof t}`);this.ie.push(t),this.oe.resolve()}async ae(){for(;;){if(await this.oe.promise,!this.re){this.he&&this.he.reject("Connection stopped.");break}this.oe=new z;const t=this.he;this.he=void 0;const e="string"==typeof this.ie[0]?this.ie.join(""):V.ue(this.ie);this.ie.length=0;try{await this.ne.send(e),t.resolve()}catch(e){t.reject(e)}}}static ue(t){const e=t.map((t=>t.byteLength)).reduce(((t,e)=>t+e)),n=new Uint8Array(e);let o=0;for(const e of t)n.set(new Uint8Array(e),o),o+=e.byteLength;return n.buffer}}class z{constructor(){this.promise=new Promise(((t,e)=>[this.de,this.fe]=[t,e]))}resolve(){this.de()}reject(t){this.fe(t)}}class G{constructor(){this.name="json",this.version=1,this.transferFormat=_.Text}parseMessages(t,n){if("string"!=typeof t)throw new Error("Invalid input for JSON hub protocol. Expected a string.");if(!t)return[];null===n&&(n=p.instance);const o=R.parse(t),r=[];for(const t of o){const o=JSON.parse(t);if("number"!=typeof o.type)throw new Error("Invalid payload.");switch(o.type){case H.Invocation:this.pe(o);break;case H.StreamItem:this.we(o);break;case H.Completion:this.ge(o);break;case H.Ping:case H.Close:break;default:n.log(e.Information,"Unknown message type '"+o.type+"' ignored.");continue}r.push(o)}return r}writeMessage(t){return R.write(JSON.stringify(t))}pe(t){this.me(t.target,"Invalid payload for Invocation message."),void 0!==t.invocationId&&this.me(t.invocationId,"Invalid payload for Invocation message.")}we(t){if(this.me(t.invocationId,"Invalid payload for StreamItem message."),void 0===t.item)throw new Error("Invalid payload for StreamItem message.")}ge(t){if(t.result&&t.error)throw new Error("Invalid payload for Completion message.");!t.result&&t.error&&this.me(t.error,"Invalid payload for Completion message."),this.me(t.invocationId,"Invalid payload for Completion message.")}me(t,e){if("string"!=typeof t||""===t)throw new Error(e)}}const K={trace:e.Trace,debug:e.Debug,info:e.Information,information:e.Information,warn:e.Warning,warning:e.Warning,error:e.Error,critical:e.Critical,none:e.None};class Z{configureLogging(t){if(f.isRequired(t,"logging"),void 0!==t.log)this.logger=t;else if("string"==typeof t){const e=function(t){const e=K[t.toLowerCase()];if(void 0!==e)return e;throw new Error(`Unknown log level: ${t}`)}(t);this.logger=new C(e)}else this.logger=new C(t);return this}withUrl(t,e){return f.isRequired(t,"url"),f.isNotEmpty(t,"url"),this.url=t,this.httpConnectionOptions="object"==typeof e?{...this.httpConnectionOptions,...e}:{...this.httpConnectionOptions,transport:e},this}withHubProtocol(t){return f.isRequired(t,"protocol"),this.protocol=t,this}withAutomaticReconnect(t){if(this.reconnectPolicy)throw new Error("A reconnectPolicy has already been set.");return t?Array.isArray(t)?this.reconnectPolicy=new N(t):this.reconnectPolicy=t:this.reconnectPolicy=new N,this}build(){const t=this.httpConnectionOptions||{};if(void 0===t.logger&&(t.logger=this.logger),!this.url)throw new Error("The 'HubConnectionBuilder.withUrl' method must be called before building the connection.");const e=new X(this.url,t);return j.create(e,this.logger||p.instance,this.protocol||new G,this.reconnectPolicy)}}return Uint8Array.prototype.indexOf||Object.defineProperty(Uint8Array.prototype,"indexOf",{value:Array.prototype.indexOf,writable:!0}),Uint8Array.prototype.slice||Object.defineProperty(Uint8Array.prototype,"slice",{value:function(t,e){return new Uint8Array(Array.prototype.slice.call(this,t,e))},writable:!0}),Uint8Array.prototype.forEach||Object.defineProperty(Uint8Array.prototype,"forEach",{value:Array.prototype.forEach,writable:!0}),n})()},"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.signalR=e():t.signalR=e(); +var t,e;t=self,e=function(){return(()=>{var t={d:(e,s)=>{for(var n in s)t.o(s,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:s[n]})}};t.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),t.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),t.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"t",{value:!0})};var e,s={};t.r(s),t.d(s,{AbortError:()=>r,DefaultHttpClient:()=>H,HttpClient:()=>d,HttpError:()=>n,HttpResponse:()=>u,HttpTransportType:()=>M,HubConnection:()=>N,HubConnectionBuilder:()=>Q,HubConnectionState:()=>R,JsonHubProtocol:()=>G,LogLevel:()=>e,MessageType:()=>A,NullLogger:()=>f,Subject:()=>U,TimeoutError:()=>i,TransferFormat:()=>W,VERSION:()=>p});class n extends Error{constructor(t,e){const s=new.target.prototype;super(`${t}: Status code '${e}'`),this.statusCode=e,this.__proto__=s}}class i extends Error{constructor(t="A timeout occurred."){const e=new.target.prototype;super(t),this.__proto__=e}}class r extends Error{constructor(t="An abort occurred."){const e=new.target.prototype;super(t),this.__proto__=e}}class o extends Error{constructor(t,e){const s=new.target.prototype;super(t),this.transport=e,this.errorType="UnsupportedTransportError",this.__proto__=s}}class h extends Error{constructor(t,e){const s=new.target.prototype;super(t),this.transport=e,this.errorType="DisabledTransportError",this.__proto__=s}}class c extends Error{constructor(t,e){const s=new.target.prototype;super(t),this.transport=e,this.errorType="FailedToStartTransportError",this.__proto__=s}}class a extends Error{constructor(t){const e=new.target.prototype;super(t),this.errorType="FailedToNegotiateWithServerError",this.__proto__=e}}class l extends Error{constructor(t,e){const s=new.target.prototype;super(t),this.innerErrors=e,this.__proto__=s}}class u{constructor(t,e,s){this.statusCode=t,this.statusText=e,this.content=s}}class d{get(t,e){return this.send({...e,method:"GET",url:t})}post(t,e){return this.send({...e,method:"POST",url:t})}delete(t,e){return this.send({...e,method:"DELETE",url:t})}getCookieString(t){return""}}!function(t){t[t.Trace=0]="Trace",t[t.Debug=1]="Debug",t[t.Information=2]="Information",t[t.Warning=3]="Warning",t[t.Error=4]="Error",t[t.Critical=5]="Critical",t[t.None=6]="None"}(e||(e={}));class f{constructor(){}log(t,e){}}f.instance=new f;const p="6.0.6";class w{static isRequired(t,e){if(null==t)throw new Error(`The '${e}' argument is required.`)}static isNotEmpty(t,e){if(!t||t.match(/^\s*$/))throw new Error(`The '${e}' argument should not be empty.`)}static isIn(t,e,s){if(!(t in e))throw new Error(`Unknown ${s} value: ${t}.`)}}class g{static get isBrowser(){return"object"==typeof window&&"object"==typeof window.document}static get isWebWorker(){return"object"==typeof self&&"importScripts"in self}static get isReactNative(){return"object"==typeof window&&void 0===window.document}static get isNode(){return!this.isBrowser&&!this.isWebWorker&&!this.isReactNative}}function y(t,e){let s="";return m(t)?(s=`Binary data of length ${t.byteLength}`,e&&(s+=`. Content: '${function(t){const e=new Uint8Array(t);let s="";return e.forEach((t=>{s+=`0x${t<16?"0":""}${t.toString(16)} `})),s.substr(0,s.length-1)}(t)}'`)):"string"==typeof t&&(s=`String data of length ${t.length}`,e&&(s+=`. Content: '${t}'`)),s}function m(t){return t&&"undefined"!=typeof ArrayBuffer&&(t instanceof ArrayBuffer||t.constructor&&"ArrayBuffer"===t.constructor.name)}async function b(t,s,n,i,r,o,h){let c={};if(r){const t=await r();t&&(c={Authorization:`Bearer ${t}`})}const[a,l]=$();c[a]=l,t.log(e.Trace,`(${s} transport) sending data. ${y(o,h.logMessageContent)}.`);const u=m(o)?"arraybuffer":"text",d=await n.post(i,{content:o,headers:{...c,...h.headers},responseType:u,timeout:h.timeout,withCredentials:h.withCredentials});t.log(e.Trace,`(${s} transport) request complete. Response status: ${d.statusCode}.`)}class v{constructor(t,e){this.i=t,this.h=e}dispose(){const t=this.i.observers.indexOf(this.h);t>-1&&this.i.observers.splice(t,1),0===this.i.observers.length&&this.i.cancelCallback&&this.i.cancelCallback().catch((t=>{}))}}class E{constructor(t){this.l=t,this.out=console}log(t,s){if(t>=this.l){const n=`[${(new Date).toISOString()}] ${e[t]}: ${s}`;switch(t){case e.Critical:case e.Error:this.out.error(n);break;case e.Warning:this.out.warn(n);break;case e.Information:this.out.info(n);break;default:this.out.log(n)}}}}function $(){let t="X-SignalR-User-Agent";return g.isNode&&(t="User-Agent"),[t,C(p,S(),g.isNode?"NodeJS":"Browser",k())]}function C(t,e,s,n){let i="Microsoft SignalR/";const r=t.split(".");return i+=`${r[0]}.${r[1]}`,i+=` (${t}; `,i+=e&&""!==e?`${e}; `:"Unknown OS; ",i+=`${s}`,i+=n?`; ${n}`:"; Unknown Runtime Version",i+=")",i}function S(){if(!g.isNode)return"";switch(process.platform){case"win32":return"Windows NT";case"darwin":return"macOS";case"linux":return"Linux";default:return process.platform}}function k(){if(g.isNode)return process.versions.node}function P(t){return t.stack?t.stack:t.message?t.message:`${t}`}class T extends d{constructor(e){if(super(),this.u=e,"undefined"==typeof fetch){const t=require;this.p=new(t("tough-cookie").CookieJar),this.m=t("node-fetch"),this.m=t("fetch-cookie")(this.m,this.p)}else this.m=fetch.bind(function(){if("undefined"!=typeof globalThis)return globalThis;if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==t.g)return t.g;throw new Error("could not find global")}());if("undefined"==typeof AbortController){const t=require;this.v=t("abort-controller")}else this.v=AbortController}async send(t){if(t.abortSignal&&t.abortSignal.aborted)throw new r;if(!t.method)throw new Error("No method defined.");if(!t.url)throw new Error("No url defined.");const s=new this.v;let o;t.abortSignal&&(t.abortSignal.onabort=()=>{s.abort(),o=new r});let h,c=null;if(t.timeout){const n=t.timeout;c=setTimeout((()=>{s.abort(),this.u.log(e.Warning,"Timeout from HTTP request."),o=new i}),n)}try{h=await this.m(t.url,{body:t.content,cache:"no-cache",credentials:!0===t.withCredentials?"include":"same-origin",headers:{"Content-Type":"text/plain;charset=UTF-8","X-Requested-With":"XMLHttpRequest",...t.headers},method:t.method,mode:"cors",redirect:"follow",signal:s.signal})}catch(t){if(o)throw o;throw this.u.log(e.Warning,`Error from HTTP request. ${t}.`),t}finally{c&&clearTimeout(c),t.abortSignal&&(t.abortSignal.onabort=null)}if(!h.ok){const t=await I(h,"text");throw new n(t||h.statusText,h.status)}const a=I(h,t.responseType),l=await a;return new u(h.status,h.statusText,l)}getCookieString(t){let e="";return g.isNode&&this.p&&this.p.getCookies(t,((t,s)=>e=s.join("; "))),e}}function I(t,e){let s;switch(e){case"arraybuffer":s=t.arrayBuffer();break;case"text":s=t.text();break;case"blob":case"document":case"json":throw new Error(`${e} is not supported.`);default:s=t.text()}return s}class _ extends d{constructor(t){super(),this.u=t}send(t){return t.abortSignal&&t.abortSignal.aborted?Promise.reject(new r):t.method?t.url?new Promise(((s,o)=>{const h=new XMLHttpRequest;h.open(t.method,t.url,!0),h.withCredentials=void 0===t.withCredentials||t.withCredentials,h.setRequestHeader("X-Requested-With","XMLHttpRequest"),h.setRequestHeader("Content-Type","text/plain;charset=UTF-8");const c=t.headers;c&&Object.keys(c).forEach((t=>{h.setRequestHeader(t,c[t])})),t.responseType&&(h.responseType=t.responseType),t.abortSignal&&(t.abortSignal.onabort=()=>{h.abort(),o(new r)}),t.timeout&&(h.timeout=t.timeout),h.onload=()=>{t.abortSignal&&(t.abortSignal.onabort=null),h.status>=200&&h.status<300?s(new u(h.status,h.statusText,h.response||h.responseText)):o(new n(h.response||h.responseText||h.statusText,h.status))},h.onerror=()=>{this.u.log(e.Warning,`Error from HTTP request. ${h.status}: ${h.statusText}.`),o(new n(h.statusText,h.status))},h.ontimeout=()=>{this.u.log(e.Warning,"Timeout from HTTP request."),o(new i)},h.send(t.content||"")})):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))}}class H extends d{constructor(t){if(super(),"undefined"!=typeof fetch||g.isNode)this.$=new T(t);else{if("undefined"==typeof XMLHttpRequest)throw new Error("No usable HttpClient found.");this.$=new _(t)}}send(t){return t.abortSignal&&t.abortSignal.aborted?Promise.reject(new r):t.method?t.url?this.$.send(t):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))}getCookieString(t){return this.$.getCookieString(t)}}class D{static write(t){return`${t}${D.RecordSeparator}`}static parse(t){if(t[t.length-1]!==D.RecordSeparator)throw new Error("Message is incomplete.");const e=t.split(D.RecordSeparator);return e.pop(),e}}D.RecordSeparatorCode=30,D.RecordSeparator=String.fromCharCode(D.RecordSeparatorCode);class x{writeHandshakeRequest(t){return D.write(JSON.stringify(t))}parseHandshakeResponse(t){let e,s;if(m(t)){const n=new Uint8Array(t),i=n.indexOf(D.RecordSeparatorCode);if(-1===i)throw new Error("Message is incomplete.");const r=i+1;e=String.fromCharCode.apply(null,Array.prototype.slice.call(n.slice(0,r))),s=n.byteLength>r?n.slice(r).buffer:null}else{const n=t,i=n.indexOf(D.RecordSeparator);if(-1===i)throw new Error("Message is incomplete.");const r=i+1;e=n.substring(0,r),s=n.length>r?n.substring(r):null}const n=D.parse(e),i=JSON.parse(n[0]);if(i.type)throw new Error("Expected a handshake response from the server.");return[s,i]}}var A,R;!function(t){t[t.Invocation=1]="Invocation",t[t.StreamItem=2]="StreamItem",t[t.Completion=3]="Completion",t[t.StreamInvocation=4]="StreamInvocation",t[t.CancelInvocation=5]="CancelInvocation",t[t.Ping=6]="Ping",t[t.Close=7]="Close"}(A||(A={}));class U{constructor(){this.observers=[]}next(t){for(const e of this.observers)e.next(t)}error(t){for(const e of this.observers)e.error&&e.error(t)}complete(){for(const t of this.observers)t.complete&&t.complete()}subscribe(t){return this.observers.push(t),new v(this,t)}}!function(t){t.Disconnected="Disconnected",t.Connecting="Connecting",t.Connected="Connected",t.Disconnecting="Disconnecting",t.Reconnecting="Reconnecting"}(R||(R={}));class N{constructor(t,s,n,i){this.C=0,this.S=()=>{this.u.log(e.Warning,"The page is being frozen, this will likely lead to the connection being closed and messages being lost. For more information see the docs at https://docs.microsoft.com/aspnet/core/signalr/javascript-client#bsleep")},w.isRequired(t,"connection"),w.isRequired(s,"logger"),w.isRequired(n,"protocol"),this.serverTimeoutInMilliseconds=3e4,this.keepAliveIntervalInMilliseconds=15e3,this.u=s,this.k=n,this.connection=t,this.P=i,this.T=new x,this.connection.onreceive=t=>this.I(t),this.connection.onclose=t=>this._(t),this.H={},this.D={},this.A=[],this.R=[],this.U=[],this.N=0,this.L=!1,this.q=R.Disconnected,this.j=!1,this.M=this.k.writeMessage({type:A.Ping})}static create(t,e,s,n){return new N(t,e,s,n)}get state(){return this.q}get connectionId(){return this.connection&&this.connection.connectionId||null}get baseUrl(){return this.connection.baseUrl||""}set baseUrl(t){if(this.q!==R.Disconnected&&this.q!==R.Reconnecting)throw new Error("The HubConnection must be in the Disconnected or Reconnecting state to change the url.");if(!t)throw new Error("The HubConnection url must be a valid url.");this.connection.baseUrl=t}start(){return this.W=this.O(),this.W}async O(){if(this.q!==R.Disconnected)return Promise.reject(new Error("Cannot start a HubConnection that is not in the 'Disconnected' state."));this.q=R.Connecting,this.u.log(e.Debug,"Starting HubConnection.");try{await this.F(),g.isBrowser&&window.document.addEventListener("freeze",this.S),this.q=R.Connected,this.j=!0,this.u.log(e.Debug,"HubConnection connected successfully.")}catch(t){return this.q=R.Disconnected,this.u.log(e.Debug,`HubConnection failed to start successfully because of error '${t}'.`),Promise.reject(t)}}async F(){this.B=void 0,this.L=!1;const t=new Promise(((t,e)=>{this.X=t,this.J=e}));await this.connection.start(this.k.transferFormat);try{const s={protocol:this.k.name,version:this.k.version};if(this.u.log(e.Debug,"Sending handshake request."),await this.V(this.T.writeHandshakeRequest(s)),this.u.log(e.Information,`Using HubProtocol '${this.k.name}'.`),this.G(),this.K(),this.Y(),await t,this.B)throw this.B}catch(t){throw this.u.log(e.Debug,`Hub handshake failed with error '${t}' during start(). Stopping HubConnection.`),this.G(),this.Z(),await this.connection.stop(t),t}}async stop(){const t=this.W;this.tt=this.et(),await this.tt;try{await t}catch(t){}}et(t){return this.q===R.Disconnected?(this.u.log(e.Debug,`Call to HubConnection.stop(${t}) ignored because it is already in the disconnected state.`),Promise.resolve()):this.q===R.Disconnecting?(this.u.log(e.Debug,`Call to HttpConnection.stop(${t}) ignored because the connection is already in the disconnecting state.`),this.tt):(this.q=R.Disconnecting,this.u.log(e.Debug,"Stopping HubConnection."),this.st?(this.u.log(e.Debug,"Connection stopped during reconnect delay. Done reconnecting."),clearTimeout(this.st),this.st=void 0,this.nt(),Promise.resolve()):(this.G(),this.Z(),this.B=t||new Error("The connection was stopped before the hub handshake could complete."),this.connection.stop(t)))}stream(t,...e){const[s,n]=this.it(e),i=this.rt(t,e,n);let r;const o=new U;return o.cancelCallback=()=>{const t=this.ot(i.invocationId);return delete this.H[i.invocationId],r.then((()=>this.ht(t)))},this.H[i.invocationId]=(t,e)=>{e?o.error(e):t&&(t.type===A.Completion?t.error?o.error(new Error(t.error)):o.complete():o.next(t.item))},r=this.ht(i).catch((t=>{o.error(t),delete this.H[i.invocationId]})),this.ct(s,r),o}V(t){return this.Y(),this.connection.send(t)}ht(t){return this.V(this.k.writeMessage(t))}send(t,...e){const[s,n]=this.it(e),i=this.ht(this.at(t,e,!0,n));return this.ct(s,i),i}invoke(t,...e){const[s,n]=this.it(e),i=this.at(t,e,!1,n);return new Promise(((t,e)=>{this.H[i.invocationId]=(s,n)=>{n?e(n):s&&(s.type===A.Completion?s.error?e(new Error(s.error)):t(s.result):e(new Error(`Unexpected message type: ${s.type}`)))};const n=this.ht(i).catch((t=>{e(t),delete this.H[i.invocationId]}));this.ct(s,n)}))}on(t,e){t&&e&&(t=t.toLowerCase(),this.D[t]||(this.D[t]=[]),-1===this.D[t].indexOf(e)&&this.D[t].push(e))}off(t,e){if(!t)return;t=t.toLowerCase();const s=this.D[t];if(s)if(e){const n=s.indexOf(e);-1!==n&&(s.splice(n,1),0===s.length&&delete this.D[t])}else delete this.D[t]}onclose(t){t&&this.A.push(t)}onreconnecting(t){t&&this.R.push(t)}onreconnected(t){t&&this.U.push(t)}I(t){if(this.G(),this.L||(t=this.lt(t),this.L=!0),t){const s=this.k.parseMessages(t,this.u);for(const t of s)switch(t.type){case A.Invocation:this.ut(t);break;case A.StreamItem:case A.Completion:{const s=this.H[t.invocationId];if(s){t.type===A.Completion&&delete this.H[t.invocationId];try{s(t)}catch(t){this.u.log(e.Error,`Stream callback threw error: ${P(t)}`)}}break}case A.Ping:break;case A.Close:{this.u.log(e.Information,"Close message received from server.");const s=t.error?new Error("Server returned an error on close: "+t.error):void 0;!0===t.allowReconnect?this.connection.stop(s):this.tt=this.et(s);break}default:this.u.log(e.Warning,`Invalid message type: ${t.type}.`)}}this.K()}lt(t){let s,n;try{[n,s]=this.T.parseHandshakeResponse(t)}catch(t){const s="Error parsing handshake response: "+t;this.u.log(e.Error,s);const n=new Error(s);throw this.J(n),n}if(s.error){const t="Server returned handshake error: "+s.error;this.u.log(e.Error,t);const n=new Error(t);throw this.J(n),n}return this.u.log(e.Debug,"Server handshake complete."),this.X(),n}Y(){this.connection.features.inherentKeepAlive||(this.C=(new Date).getTime()+this.keepAliveIntervalInMilliseconds,this.Z())}K(){if(!(this.connection.features&&this.connection.features.inherentKeepAlive||(this.dt=setTimeout((()=>this.serverTimeout()),this.serverTimeoutInMilliseconds),void 0!==this.ft))){let t=this.C-(new Date).getTime();t<0&&(t=0),this.ft=setTimeout((async()=>{if(this.q===R.Connected)try{await this.V(this.M)}catch{this.Z()}}),t)}}serverTimeout(){this.connection.stop(new Error("Server timeout elapsed without receiving a message from the server."))}ut(t){const s=this.D[t.target.toLowerCase()];if(s){try{s.forEach((e=>e.apply(this,t.arguments)))}catch(s){this.u.log(e.Error,`A callback for the method ${t.target.toLowerCase()} threw error '${s}'.`)}if(t.invocationId){const t="Server requested a response, which is not supported in this version of the client.";this.u.log(e.Error,t),this.tt=this.et(new Error(t))}}else this.u.log(e.Warning,`No client method with the name '${t.target}' found.`)}_(t){this.u.log(e.Debug,`HubConnection.connectionClosed(${t}) called while in state ${this.q}.`),this.B=this.B||t||new Error("The underlying connection was closed before the hub handshake could complete."),this.X&&this.X(),this.wt(t||new Error("Invocation canceled due to the underlying connection being closed.")),this.G(),this.Z(),this.q===R.Disconnecting?this.nt(t):this.q===R.Connected&&this.P?this.gt(t):this.q===R.Connected&&this.nt(t)}nt(t){if(this.j){this.q=R.Disconnected,this.j=!1,g.isBrowser&&window.document.removeEventListener("freeze",this.S);try{this.A.forEach((e=>e.apply(this,[t])))}catch(s){this.u.log(e.Error,`An onclose callback called with error '${t}' threw error '${s}'.`)}}}async gt(t){const s=Date.now();let n=0,i=void 0!==t?t:new Error("Attempting to reconnect due to a unknown error."),r=this.yt(n++,0,i);if(null===r)return this.u.log(e.Debug,"Connection not reconnecting because the IRetryPolicy returned null on the first reconnect attempt."),void this.nt(t);if(this.q=R.Reconnecting,t?this.u.log(e.Information,`Connection reconnecting because of error '${t}'.`):this.u.log(e.Information,"Connection reconnecting."),0!==this.R.length){try{this.R.forEach((e=>e.apply(this,[t])))}catch(s){this.u.log(e.Error,`An onreconnecting callback called with error '${t}' threw error '${s}'.`)}if(this.q!==R.Reconnecting)return void this.u.log(e.Debug,"Connection left the reconnecting state in onreconnecting callback. Done reconnecting.")}for(;null!==r;){if(this.u.log(e.Information,`Reconnect attempt number ${n} will start in ${r} ms.`),await new Promise((t=>{this.st=setTimeout(t,r)})),this.st=void 0,this.q!==R.Reconnecting)return void this.u.log(e.Debug,"Connection left the reconnecting state during reconnect delay. Done reconnecting.");try{if(await this.F(),this.q=R.Connected,this.u.log(e.Information,"HubConnection reconnected successfully."),0!==this.U.length)try{this.U.forEach((t=>t.apply(this,[this.connection.connectionId])))}catch(t){this.u.log(e.Error,`An onreconnected callback called with connectionId '${this.connection.connectionId}; threw error '${t}'.`)}return}catch(t){if(this.u.log(e.Information,`Reconnect attempt failed because of error '${t}'.`),this.q!==R.Reconnecting)return this.u.log(e.Debug,`Connection moved to the '${this.q}' from the reconnecting state during reconnect attempt. Done reconnecting.`),void(this.q===R.Disconnecting&&this.nt());i=t instanceof Error?t:new Error(t.toString()),r=this.yt(n++,Date.now()-s,i)}}this.u.log(e.Information,`Reconnect retries have been exhausted after ${Date.now()-s} ms and ${n} failed attempts. Connection disconnecting.`),this.nt()}yt(t,s,n){try{return this.P.nextRetryDelayInMilliseconds({elapsedMilliseconds:s,previousRetryCount:t,retryReason:n})}catch(n){return this.u.log(e.Error,`IRetryPolicy.nextRetryDelayInMilliseconds(${t}, ${s}) threw error '${n}'.`),null}}wt(t){const s=this.H;this.H={},Object.keys(s).forEach((n=>{const i=s[n];try{i(null,t)}catch(s){this.u.log(e.Error,`Stream 'error' callback called with '${t}' threw error: ${P(s)}`)}}))}Z(){this.ft&&(clearTimeout(this.ft),this.ft=void 0)}G(){this.dt&&clearTimeout(this.dt)}at(t,e,s,n){if(s)return 0!==n.length?{arguments:e,streamIds:n,target:t,type:A.Invocation}:{arguments:e,target:t,type:A.Invocation};{const s=this.N;return this.N++,0!==n.length?{arguments:e,invocationId:s.toString(),streamIds:n,target:t,type:A.Invocation}:{arguments:e,invocationId:s.toString(),target:t,type:A.Invocation}}}ct(t,e){if(0!==t.length){e||(e=Promise.resolve());for(const s in t)t[s].subscribe({complete:()=>{e=e.then((()=>this.ht(this.bt(s))))},error:t=>{let n;n=t instanceof Error?t.message:t&&t.toString?t.toString():"Unknown error",e=e.then((()=>this.ht(this.bt(s,n))))},next:t=>{e=e.then((()=>this.ht(this.vt(s,t))))}})}}it(t){const e=[],s=[];for(let n=0;n{let r,o=!1;if(s===W.Text){if(g.isBrowser||g.isWebWorker)r=new this.Pt.EventSource(t,{withCredentials:this.Pt.withCredentials});else{const e=this.$.getCookieString(t),s={};s.Cookie=e;const[n,i]=$();s[n]=i,r=new this.Pt.EventSource(t,{withCredentials:this.Pt.withCredentials,headers:{...s,...this.Pt.headers}})}try{r.onmessage=t=>{if(this.onreceive)try{this.u.log(e.Trace,`(SSE transport) data received. ${y(t.data,this.Pt.logMessageContent)}.`),this.onreceive(t.data)}catch(t){return void this.Ut(t)}},r.onerror=t=>{o?this.Ut():i(new Error("EventSource failed to connect. The connection could not be found on the server, either the connection ID is not present on the server, or a proxy is refusing/buffering the connection. If you have multiple servers check that sticky sessions are enabled."))},r.onopen=()=>{this.u.log(e.Information,`SSE connected to ${this.It}`),this.Nt=r,o=!0,n()}}catch(t){return void i(t)}}else i(new Error("The Server-Sent Events transport only supports the 'Text' transfer format"))}))}async send(t){return this.Nt?b(this.u,"SSE",this.$,this.It,this.St,t,this.Pt):Promise.reject(new Error("Cannot send until the transport is connected"))}stop(){return this.Ut(),Promise.resolve()}Ut(t){this.Nt&&(this.Nt.close(),this.Nt=void 0,this.onclose&&this.onclose(t))}}class X{constructor(t,e,s,n,i,r){this.u=s,this.St=e,this.Lt=n,this.qt=i,this.$=t,this.onreceive=null,this.onclose=null,this.jt=r}async connect(t,s){if(w.isRequired(t,"url"),w.isRequired(s,"transferFormat"),w.isIn(s,W,"transferFormat"),this.u.log(e.Trace,"(WebSockets transport) Connecting."),this.St){const e=await this.St();e&&(t+=(t.indexOf("?")<0?"?":"&")+`access_token=${encodeURIComponent(e)}`)}return new Promise(((n,i)=>{let r;t=t.replace(/^http/,"ws");const o=this.$.getCookieString(t);let h=!1;if(g.isNode){const e={},[s,n]=$();e[s]=n,o&&(e[j.Cookie]=`${o}`),r=new this.qt(t,void 0,{headers:{...e,...this.jt}})}r||(r=new this.qt(t)),s===W.Binary&&(r.binaryType="arraybuffer"),r.onopen=s=>{this.u.log(e.Information,`WebSocket connected to ${t}.`),this.Mt=r,h=!0,n()},r.onerror=t=>{let s=null;s="undefined"!=typeof ErrorEvent&&t instanceof ErrorEvent?t.error:"There was an error with the transport",this.u.log(e.Information,`(WebSockets transport) ${s}.`)},r.onmessage=t=>{if(this.u.log(e.Trace,`(WebSockets transport) data received. ${y(t.data,this.Lt)}.`),this.onreceive)try{this.onreceive(t.data)}catch(t){return void this.Ut(t)}},r.onclose=t=>{if(h)this.Ut(t);else{let e=null;e="undefined"!=typeof ErrorEvent&&t instanceof ErrorEvent?t.error:"WebSocket failed to connect. The connection could not be found on the server, either the endpoint may not be a SignalR endpoint, the connection ID is not present on the server, or there is a proxy blocking WebSockets. If you have multiple servers check that sticky sessions are enabled.",i(new Error(e))}}}))}send(t){return this.Mt&&this.Mt.readyState===this.qt.OPEN?(this.u.log(e.Trace,`(WebSockets transport) sending data. ${y(t,this.Lt)}.`),this.Mt.send(t),Promise.resolve()):Promise.reject("WebSocket is not in the OPEN state")}stop(){return this.Mt&&this.Ut(void 0),Promise.resolve()}Ut(t){this.Mt&&(this.Mt.onclose=()=>{},this.Mt.onmessage=()=>{},this.Mt.onerror=()=>{},this.Mt.close(),this.Mt=void 0),this.u.log(e.Trace,"(WebSockets transport) socket closed."),this.onclose&&(!this.Wt(t)||!1!==t.wasClean&&1e3===t.code?t instanceof Error?this.onclose(t):this.onclose():this.onclose(new Error(`WebSocket closed with status code: ${t.code} (${t.reason||"no reason given"}).`)))}Wt(t){return t&&"boolean"==typeof t.wasClean&&"number"==typeof t.code}}class J{constructor(t,s={}){var n;if(this.Ot=()=>{},this.features={},this.Ft=1,w.isRequired(t,"url"),this.u=void 0===(n=s.logger)?new E(e.Information):null===n?f.instance:void 0!==n.log?n:new E(n),this.baseUrl=this.Bt(t),(s=s||{}).logMessageContent=void 0!==s.logMessageContent&&s.logMessageContent,"boolean"!=typeof s.withCredentials&&void 0!==s.withCredentials)throw new Error("withCredentials option was not a 'boolean' or 'undefined' value");s.withCredentials=void 0===s.withCredentials||s.withCredentials,s.timeout=void 0===s.timeout?1e5:s.timeout;let i=null,r=null;if(g.isNode){const t=require;i=t("ws"),r=t("eventsource")}g.isNode||"undefined"==typeof WebSocket||s.WebSocket?g.isNode&&!s.WebSocket&&i&&(s.WebSocket=i):s.WebSocket=WebSocket,g.isNode||"undefined"==typeof EventSource||s.EventSource?g.isNode&&!s.EventSource&&void 0!==r&&(s.EventSource=r):s.EventSource=EventSource,this.$=s.httpClient||new H(this.u),this.q="Disconnected",this.j=!1,this.Pt=s,this.onreceive=null,this.onclose=null}async start(t){if(t=t||W.Binary,w.isIn(t,W,"transferFormat"),this.u.log(e.Debug,`Starting connection with transfer format '${W[t]}'.`),"Disconnected"!==this.q)return Promise.reject(new Error("Cannot start an HttpConnection that is not in the 'Disconnected' state."));if(this.q="Connecting",this.Xt=this.F(t),await this.Xt,"Disconnecting"===this.q){const t="Failed to start the HttpConnection before stop() was called.";return this.u.log(e.Error,t),await this.tt,Promise.reject(new Error(t))}if("Connected"!==this.q){const t="HttpConnection.startInternal completed gracefully but didn't enter the connection into the connected state!";return this.u.log(e.Error,t),Promise.reject(new Error(t))}this.j=!0}send(t){return"Connected"!==this.q?Promise.reject(new Error("Cannot send data if the connection is not in the 'Connected' State.")):(this.Jt||(this.Jt=new z(this.transport)),this.Jt.send(t))}async stop(t){return"Disconnected"===this.q?(this.u.log(e.Debug,`Call to HttpConnection.stop(${t}) ignored because the connection is already in the disconnected state.`),Promise.resolve()):"Disconnecting"===this.q?(this.u.log(e.Debug,`Call to HttpConnection.stop(${t}) ignored because the connection is already in the disconnecting state.`),this.tt):(this.q="Disconnecting",this.tt=new Promise((t=>{this.Ot=t})),await this.et(t),void await this.tt)}async et(t){this.zt=t;try{await this.Xt}catch(t){}if(this.transport){try{await this.transport.stop()}catch(t){this.u.log(e.Error,`HttpConnection.transport.stop() threw error '${t}'.`),this.Vt()}this.transport=void 0}else this.u.log(e.Debug,"HttpConnection.transport is undefined in HttpConnection.stop() because start() failed.")}async F(t){let s=this.baseUrl;this.St=this.Pt.accessTokenFactory;try{if(this.Pt.skipNegotiation){if(this.Pt.transport!==M.WebSockets)throw new Error("Negotiation can only be skipped when using the WebSocket transport directly.");this.transport=this.Gt(M.WebSockets),await this.Kt(s,t)}else{let e=null,n=0;do{if(e=await this.Qt(s),"Disconnecting"===this.q||"Disconnected"===this.q)throw new Error("The connection was stopped during negotiation.");if(e.error)throw new Error(e.error);if(e.ProtocolVersion)throw new Error("Detected a connection attempt to an ASP.NET SignalR Server. This client only supports connecting to an ASP.NET Core SignalR Server. See https://aka.ms/signalr-core-differences for details.");if(e.url&&(s=e.url),e.accessToken){const t=e.accessToken;this.St=()=>t}n++}while(e.url&&n<100);if(100===n&&e.url)throw new Error("Negotiate redirection limit exceeded.");await this.Yt(s,this.Pt.transport,e,t)}this.transport instanceof F&&(this.features.inherentKeepAlive=!0),"Connecting"===this.q&&(this.u.log(e.Debug,"The HttpConnection connected successfully."),this.q="Connected")}catch(t){return this.u.log(e.Error,"Failed to start the connection: "+t),this.q="Disconnected",this.transport=void 0,this.Ot(),Promise.reject(t)}}async Qt(t){const s={};if(this.St){const t=await this.St();t&&(s[j.Authorization]=`Bearer ${t}`)}const[i,r]=$();s[i]=r;const o=this.Zt(t);this.u.log(e.Debug,`Sending negotiation request: ${o}.`);try{const t=await this.$.post(o,{content:"",headers:{...s,...this.Pt.headers},timeout:this.Pt.timeout,withCredentials:this.Pt.withCredentials});if(200!==t.statusCode)return Promise.reject(new Error(`Unexpected status code returned from negotiate '${t.statusCode}'`));const e=JSON.parse(t.content);return(!e.negotiateVersion||e.negotiateVersion<1)&&(e.connectionToken=e.connectionId),e}catch(t){let s="Failed to complete negotiation with the server: "+t;return t instanceof n&&404===t.statusCode&&(s+=" Either this is not a SignalR endpoint or there is a proxy blocking the connection."),this.u.log(e.Error,s),Promise.reject(new a(s))}}te(t,e){return e?t+(-1===t.indexOf("?")?"?":"&")+`id=${e}`:t}async Yt(t,s,n,i){let r=this.te(t,n.connectionToken);if(this.ee(s))return this.u.log(e.Debug,"Connection was provided an instance of ITransport, using that directly."),this.transport=s,await this.Kt(r,i),void(this.connectionId=n.connectionId);const o=[],h=n.availableTransports||[];let a=n;for(const n of h){const h=this.se(n,s,i);if(h instanceof Error)o.push(`${n.transport} failed:`),o.push(h);else if(this.ee(h)){if(this.transport=h,!a){try{a=await this.Qt(t)}catch(t){return Promise.reject(t)}r=this.te(t,a.connectionToken)}try{return await this.Kt(r,i),void(this.connectionId=a.connectionId)}catch(t){if(this.u.log(e.Error,`Failed to start the transport '${n.transport}': ${t}`),a=void 0,o.push(new c(`${n.transport} failed: ${t}`,M[n.transport])),"Connecting"!==this.q){const t="Failed to select transport before stop() was called.";return this.u.log(e.Debug,t),Promise.reject(new Error(t))}}}}return o.length>0?Promise.reject(new l(`Unable to connect to the server with any of the available transports. ${o.join(" ")}`,o)):Promise.reject(new Error("None of the transports supported by the client are supported by the server."))}Gt(t){switch(t){case M.WebSockets:if(!this.Pt.WebSocket)throw new Error("'WebSocket' is not supported in your environment.");return new X(this.$,this.St,this.u,this.Pt.logMessageContent,this.Pt.WebSocket,this.Pt.headers||{});case M.ServerSentEvents:if(!this.Pt.EventSource)throw new Error("'EventSource' is not supported in your environment.");return new B(this.$,this.St,this.u,this.Pt);case M.LongPolling:return new F(this.$,this.St,this.u,this.Pt);default:throw new Error(`Unknown transport: ${t}.`)}}Kt(t,e){return this.transport.onreceive=this.onreceive,this.transport.onclose=t=>this.Vt(t),this.transport.connect(t,e)}se(t,s,n){const i=M[t.transport];if(null==i)return this.u.log(e.Debug,`Skipping transport '${t.transport}' because it is not supported by this client.`),new Error(`Skipping transport '${t.transport}' because it is not supported by this client.`);if(!function(t,e){return!t||0!=(e&t)}(s,i))return this.u.log(e.Debug,`Skipping transport '${M[i]}' because it was disabled by the client.`),new h(`'${M[i]}' is disabled by the client.`,i);if(!(t.transferFormats.map((t=>W[t])).indexOf(n)>=0))return this.u.log(e.Debug,`Skipping transport '${M[i]}' because it does not support the requested transfer format '${W[n]}'.`),new Error(`'${M[i]}' does not support ${W[n]}.`);if(i===M.WebSockets&&!this.Pt.WebSocket||i===M.ServerSentEvents&&!this.Pt.EventSource)return this.u.log(e.Debug,`Skipping transport '${M[i]}' because it is not supported in your environment.'`),new o(`'${M[i]}' is not supported in your environment.`,i);this.u.log(e.Debug,`Selecting transport '${M[i]}'.`);try{return this.Gt(i)}catch(t){return t}}ee(t){return t&&"object"==typeof t&&"connect"in t}Vt(t){if(this.u.log(e.Debug,`HttpConnection.stopConnection(${t}) called while in state ${this.q}.`),this.transport=void 0,t=this.zt||t,this.zt=void 0,"Disconnected"!==this.q){if("Connecting"===this.q)throw this.u.log(e.Warning,`Call to HttpConnection.stopConnection(${t}) was ignored because the connection is still in the connecting state.`),new Error(`HttpConnection.stopConnection(${t}) was called while the connection is still in the connecting state.`);if("Disconnecting"===this.q&&this.Ot(),t?this.u.log(e.Error,`Connection disconnected with error '${t}'.`):this.u.log(e.Information,"Connection disconnected."),this.Jt&&(this.Jt.stop().catch((t=>{this.u.log(e.Error,`TransportSendQueue.stop() threw error '${t}'.`)})),this.Jt=void 0),this.connectionId=void 0,this.q="Disconnected",this.j){this.j=!1;try{this.onclose&&this.onclose(t)}catch(s){this.u.log(e.Error,`HttpConnection.onclose(${t}) threw error '${s}'.`)}}}else this.u.log(e.Debug,`Call to HttpConnection.stopConnection(${t}) was ignored because the connection is already in the disconnected state.`)}Bt(t){if(0===t.lastIndexOf("https://",0)||0===t.lastIndexOf("http://",0))return t;if(!g.isBrowser)throw new Error(`Cannot resolve '${t}'.`);const s=window.document.createElement("a");return s.href=t,this.u.log(e.Information,`Normalizing '${t}' to '${s.href}'.`),s.href}Zt(t){const e=t.indexOf("?");let s=t.substring(0,-1===e?t.length:e);return"/"!==s[s.length-1]&&(s+="/"),s+="negotiate",s+=-1===e?"":t.substring(e),-1===s.indexOf("negotiateVersion")&&(s+=-1===e?"?":"&",s+="negotiateVersion="+this.Ft),s}}class z{constructor(t){this.ne=t,this.ie=[],this.re=!0,this.oe=new V,this.he=new V,this.ce=this.ae()}send(t){return this.le(t),this.he||(this.he=new V),this.he.promise}stop(){return this.re=!1,this.oe.resolve(),this.ce}le(t){if(this.ie.length&&typeof this.ie[0]!=typeof t)throw new Error(`Expected data to be of type ${typeof this.ie} but was of type ${typeof t}`);this.ie.push(t),this.oe.resolve()}async ae(){for(;;){if(await this.oe.promise,!this.re){this.he&&this.he.reject("Connection stopped.");break}this.oe=new V;const t=this.he;this.he=void 0;const e="string"==typeof this.ie[0]?this.ie.join(""):z.ue(this.ie);this.ie.length=0;try{await this.ne.send(e),t.resolve()}catch(e){t.reject(e)}}}static ue(t){const e=t.map((t=>t.byteLength)).reduce(((t,e)=>t+e)),s=new Uint8Array(e);let n=0;for(const e of t)s.set(new Uint8Array(e),n),n+=e.byteLength;return s.buffer}}class V{constructor(){this.promise=new Promise(((t,e)=>[this.de,this.fe]=[t,e]))}resolve(){this.de()}reject(t){this.fe(t)}}class G{constructor(){this.name="json",this.version=1,this.transferFormat=W.Text}parseMessages(t,s){if("string"!=typeof t)throw new Error("Invalid input for JSON hub protocol. Expected a string.");if(!t)return[];null===s&&(s=f.instance);const n=D.parse(t),i=[];for(const t of n){const n=JSON.parse(t);if("number"!=typeof n.type)throw new Error("Invalid payload.");switch(n.type){case A.Invocation:this.pe(n);break;case A.StreamItem:this.we(n);break;case A.Completion:this.ge(n);break;case A.Ping:case A.Close:break;default:s.log(e.Information,"Unknown message type '"+n.type+"' ignored.");continue}i.push(n)}return i}writeMessage(t){return D.write(JSON.stringify(t))}pe(t){this.ye(t.target,"Invalid payload for Invocation message."),void 0!==t.invocationId&&this.ye(t.invocationId,"Invalid payload for Invocation message.")}we(t){if(this.ye(t.invocationId,"Invalid payload for StreamItem message."),void 0===t.item)throw new Error("Invalid payload for StreamItem message.")}ge(t){if(t.result&&t.error)throw new Error("Invalid payload for Completion message.");!t.result&&t.error&&this.ye(t.error,"Invalid payload for Completion message."),this.ye(t.invocationId,"Invalid payload for Completion message.")}ye(t,e){if("string"!=typeof t||""===t)throw new Error(e)}}const K={trace:e.Trace,debug:e.Debug,info:e.Information,information:e.Information,warn:e.Warning,warning:e.Warning,error:e.Error,critical:e.Critical,none:e.None};class Q{configureLogging(t){if(w.isRequired(t,"logging"),void 0!==t.log)this.logger=t;else if("string"==typeof t){const e=function(t){const e=K[t.toLowerCase()];if(void 0!==e)return e;throw new Error(`Unknown log level: ${t}`)}(t);this.logger=new E(e)}else this.logger=new E(t);return this}withUrl(t,e){return w.isRequired(t,"url"),w.isNotEmpty(t,"url"),this.url=t,this.httpConnectionOptions="object"==typeof e?{...this.httpConnectionOptions,...e}:{...this.httpConnectionOptions,transport:e},this}withHubProtocol(t){return w.isRequired(t,"protocol"),this.protocol=t,this}withAutomaticReconnect(t){if(this.reconnectPolicy)throw new Error("A reconnectPolicy has already been set.");return t?Array.isArray(t)?this.reconnectPolicy=new q(t):this.reconnectPolicy=t:this.reconnectPolicy=new q,this}build(){const t=this.httpConnectionOptions||{};if(void 0===t.logger&&(t.logger=this.logger),!this.url)throw new Error("The 'HubConnectionBuilder.withUrl' method must be called before building the connection.");const e=new J(this.url,t);return N.create(e,this.logger||f.instance,this.protocol||new G,this.reconnectPolicy)}}return Uint8Array.prototype.indexOf||Object.defineProperty(Uint8Array.prototype,"indexOf",{value:Array.prototype.indexOf,writable:!0}),Uint8Array.prototype.slice||Object.defineProperty(Uint8Array.prototype,"slice",{value:function(t,e){return new Uint8Array(Array.prototype.slice.call(this,t,e))},writable:!0}),Uint8Array.prototype.forEach||Object.defineProperty(Uint8Array.prototype,"forEach",{value:Array.prototype.forEach,writable:!0}),s})()},"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.signalR=e():t.signalR=e(); //# sourceMappingURL=signalr.min.js.map \ No newline at end of file diff --git a/Server/wwwroot/lib/microsoft/signalr-protocol-msgpack/dist/browser/signalr-protocol-msgpack.js b/Server/wwwroot/lib/microsoft/signalr-protocol-msgpack/dist/browser/signalr-protocol-msgpack.js index 63373a47..961c0984 100644 --- a/Server/wwwroot/lib/microsoft/signalr-protocol-msgpack/dist/browser/signalr-protocol-msgpack.js +++ b/Server/wwwroot/lib/microsoft/signalr-protocol-msgpack/dist/browser/signalr-protocol-msgpack.js @@ -1,2 +1,2075 @@ -var t,i;t=self,i=function(t){return(()=>{var i=[,i=>{i.exports=t}],e={};function n(t){var r=e[t];if(void 0!==r)return r.exports;var s=e[t]={exports:{}};return i[t](s,s.exports,n),s.exports}n.d=(t,i)=>{for(var e in i)n.o(i,e)&&!n.o(t,e)&&Object.defineProperty(t,e,{enumerable:!0,get:i[e]})},n.o=(t,i)=>Object.prototype.hasOwnProperty.call(t,i),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"t",{value:!0})};var r={};return(()=>{n.r(r),n.d(r,{MessagePackHubProtocol:()=>P,VERSION:()=>z});var t=4294967295;function i(t,i,e){var n=Math.floor(e/4294967296),r=e;t.setUint32(i,n),t.setUint32(i+4,r)}function e(t,i){return 4294967296*t.getInt32(i)+t.getUint32(i+4)}var s=("undefined"==typeof process||"never"!==process.env.TEXT_ENCODING)&&"undefined"!=typeof TextEncoder&&"undefined"!=typeof TextDecoder;function h(t){for(var i=t.length,e=0,n=0;n=55296&&r<=56319&&n65535&&(u-=65536,s.push(u>>>10&1023|55296),u=56320|1023&u),s.push(u)}else s.push(o);s.length>=4096&&(h+=String.fromCharCode.apply(String,s),s.length=0)}return s.length>0&&(h+=String.fromCharCode.apply(String,s)),h}var c,l=s?new TextDecoder:null,w=s?"undefined"!=typeof process&&"force"!==process.env.TEXT_DECODER?200:0:t,v=function(t,i){this.type=t,this.data=i},d=(c=function(t,i){return(c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var e in i)Object.prototype.hasOwnProperty.call(i,e)&&(t[e]=i[e])})(t,i)},function(t,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function e(){this.constructor=t}c(t,i),t.prototype=null===i?Object.create(i):(e.prototype=i.prototype,new e)}),y=function(t){function i(e){var n=t.call(this,e)||this,r=Object.create(i.prototype);return Object.setPrototypeOf(n,r),Object.defineProperty(n,"name",{configurable:!0,enumerable:!1,value:i.name}),n}return d(i,t),i}(Error),p={type:-1,encode:function(t){var e,n,r,s;return t instanceof Date?function(t){var e,n=t.sec,r=t.nsec;if(n>=0&&r>=0&&n<=17179869183){if(0===r&&n<=4294967295){var s=new Uint8Array(4);return(e=new DataView(s.buffer)).setUint32(0,n),s}var h=n/4294967296,o=4294967295&n;return s=new Uint8Array(8),(e=new DataView(s.buffer)).setUint32(0,r<<2|3&h),e.setUint32(4,o),s}return s=new Uint8Array(12),(e=new DataView(s.buffer)).setUint32(0,r),i(e,4,n),s}((e=t.getTime(),n=Math.floor(e/1e3),r=1e6*(e-1e3*n),s=Math.floor(r/1e9),{sec:n+s,nsec:r-1e9*s})):null},decode:function(t){var i=function(t){var i=new DataView(t.buffer,t.byteOffset,t.byteLength);switch(t.byteLength){case 4:return{sec:i.getUint32(0),nsec:0};case 8:var n=i.getUint32(0);return{sec:4294967296*(3&n)+i.getUint32(4),nsec:n>>>2};case 12:return{sec:e(i,4),nsec:i.getUint32(0)};default:throw new y("Unrecognized data size for timestamp (expected 4, 8, or 12): "+t.length)}}(t);return new Date(1e3*i.sec+i.nsec/1e6)}},g=function(){function t(){this.builtInEncoders=[],this.builtInDecoders=[],this.encoders=[],this.decoders=[],this.register(p)}return t.prototype.register=function(t){var i=t.type,e=t.encode,n=t.decode;if(i>=0)this.encoders[i]=e,this.decoders[i]=n;else{var r=1+i;this.builtInEncoders[r]=e,this.builtInDecoders[r]=n}},t.prototype.tryToEncode=function(t,i){for(var e=0;ethis.maxDepth)throw new Error("Too deep objects in depth "+i);null==t?this.encodeNil():"boolean"==typeof t?this.encodeBoolean(t):"number"==typeof t?this.encodeNumber(t):"string"==typeof t?this.encodeString(t):this.encodeObject(t,i)},t.prototype.ensureBufferSizeToWrite=function(t){var i=this.pos+t;this.view.byteLength=0?t<128?this.writeU8(t):t<256?(this.writeU8(204),this.writeU8(t)):t<65536?(this.writeU8(205),this.writeU16(t)):t<4294967296?(this.writeU8(206),this.writeU32(t)):(this.writeU8(207),this.writeU64(t)):t>=-32?this.writeU8(224|t+32):t>=-128?(this.writeU8(208),this.writeI8(t)):t>=-32768?(this.writeU8(209),this.writeI16(t)):t>=-2147483648?(this.writeU8(210),this.writeI32(t)):(this.writeU8(211),this.writeI64(t)):this.forceFloat32?(this.writeU8(202),this.writeF32(t)):(this.writeU8(203),this.writeF64(t))},t.prototype.writeStringHeader=function(t){if(t<32)this.writeU8(160+t);else if(t<256)this.writeU8(217),this.writeU8(t);else if(t<65536)this.writeU8(218),this.writeU16(t);else{if(!(t<4294967296))throw new Error("Too long string: "+t+" bytes in UTF-8");this.writeU8(219),this.writeU32(t)}},t.prototype.encodeString=function(t){if(t.length>a){var i=h(t);this.ensureBufferSizeToWrite(5+i),this.writeStringHeader(i),f(t,this.bytes,this.pos),this.pos+=i}else i=h(t),this.ensureBufferSizeToWrite(5+i),this.writeStringHeader(i),function(t,i,e){for(var n=t.length,r=e,s=0;s>6&31|192;else{if(h>=55296&&h<=56319&&s>12&15|224,i[r++]=h>>6&63|128):(i[r++]=h>>18&7|240,i[r++]=h>>12&63|128,i[r++]=h>>6&63|128)}i[r++]=63&h|128}else i[r++]=h}}(t,this.bytes,this.pos),this.pos+=i},t.prototype.encodeObject=function(t,i){var e=this.extensionCodec.tryToEncode(t,this.context);if(null!=e)this.encodeExtension(e);else if(Array.isArray(t))this.encodeArray(t,i);else if(ArrayBuffer.isView(t))this.encodeBinary(t);else{if("object"!=typeof t)throw new Error("Unrecognized object: "+Object.prototype.toString.apply(t));this.encodeMap(t,i)}},t.prototype.encodeBinary=function(t){var i=t.byteLength;if(i<256)this.writeU8(196),this.writeU8(i);else if(i<65536)this.writeU8(197),this.writeU16(i);else{if(!(i<4294967296))throw new Error("Too large binary: "+i);this.writeU8(198),this.writeU32(i)}var e=m(t);this.writeU8a(e)},t.prototype.encodeArray=function(t,i){var e=t.length;if(e<16)this.writeU8(144+e);else if(e<65536)this.writeU8(220),this.writeU16(e);else{if(!(e<4294967296))throw new Error("Too large array: "+e);this.writeU8(221),this.writeU32(e)}for(var n=0,r=t;n0&&t<=this.maxKeyLength},t.prototype.find=function(t,i,e){t:for(var n=0,r=this.caches[e-1];n=this.maxLengthPerKey?e[Math.random()*e.length|0]=n:e.push(n)},t.prototype.decode=function(t,i,e){var n=this.find(t,i,e);if(null!=n)return this.hit++,n;this.miss++;var r=u(t,i,e),s=Uint8Array.prototype.slice.call(t,i,i+e);return this.store(s,r),r},t}(),A=function(t,i,e,n){return new(e||(e=Promise))((function(r,s){function h(t){try{a(n.next(t))}catch(t){s(t)}}function o(t){try{a(n.throw(t))}catch(t){s(t)}}function a(t){var i;t.done?r(t.value):(i=t.value,i instanceof e?i:new e((function(t){t(i)}))).then(h,o)}a((n=n.apply(t,i||[])).next())}))},I=function(t,i){var e,n,r,s,h={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return s={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function o(s){return function(o){return function(s){if(e)throw new TypeError("Generator is already executing.");for(;h;)try{if(e=1,n&&(r=2&s[0]?n.return:s[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,s[1])).done)return r;switch(n=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return h.label++,{value:s[1],done:!1};case 5:h.label++,n=s[1],s=[0];continue;case 7:s=h.ops.pop(),h.trys.pop();continue;default:if(!((r=(r=h.trys).length>0&&r[r.length-1])||6!==s[0]&&2!==s[0])){h=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]1||o(t,i)}))})}function o(t,i){try{(e=r[t](i)).value instanceof M?Promise.resolve(e.value.v).then(a,f):u(s[0][2],e)}catch(t){u(s[0][3],t)}var e}function a(t){o("next",t)}function f(t){o("throw",t)}function u(t,i){t(i),s.shift(),s.length&&o(s[0][0],s[0][1])}},U=new DataView(new ArrayBuffer(0)),j=new Uint8Array(U.buffer),T=function(){try{U.getInt8(0)}catch(t){return t.constructor}throw new Error("never reached")}(),D=new T("Insufficient data"),k=new E,B=function(){function i(i,e,n,r,s,h,o,a){void 0===i&&(i=g.defaultCodec),void 0===e&&(e=void 0),void 0===n&&(n=t),void 0===r&&(r=t),void 0===s&&(s=t),void 0===h&&(h=t),void 0===o&&(o=t),void 0===a&&(a=k),this.extensionCodec=i,this.context=e,this.maxStrLength=n,this.maxBinLength=r,this.maxArrayLength=s,this.maxMapLength=h,this.maxExtLength=o,this.keyDecoder=a,this.totalPos=0,this.pos=0,this.view=U,this.bytes=j,this.headByte=-1,this.stack=[]}return i.prototype.reinitializeState=function(){this.totalPos=0,this.headByte=-1,this.stack.length=0},i.prototype.setBuffer=function(t){this.bytes=m(t),this.view=function(t){if(t instanceof ArrayBuffer)return new DataView(t);var i=m(t);return new DataView(i.buffer,i.byteOffset,i.byteLength)}(this.bytes),this.pos=0},i.prototype.appendBuffer=function(t){if(-1!==this.headByte||this.hasRemaining(1)){var i=this.bytes.subarray(this.pos),e=m(t),n=new Uint8Array(i.length+e.length);n.set(i),n.set(e,i.length),this.setBuffer(n)}else this.setBuffer(t)},i.prototype.hasRemaining=function(t){return this.view.byteLength-this.pos>=t},i.prototype.createExtraByteError=function(t){var i=this.view,e=this.pos;return new RangeError("Extra "+(i.byteLength-e)+" of "+i.byteLength+" byte(s) found at buffer["+t+"]")},i.prototype.decode=function(t){this.reinitializeState(),this.setBuffer(t);var i=this.doDecodeSync();if(this.hasRemaining(1))throw this.createExtraByteError(this.pos);return i},i.prototype.decodeMulti=function(t){return I(this,(function(i){switch(i.label){case 0:this.reinitializeState(),this.setBuffer(t),i.label=1;case 1:return this.hasRemaining(1)?[4,this.doDecodeSync()]:[3,3];case 2:return i.sent(),[3,1];case 3:return[2]}}))},i.prototype.decodeAsync=function(t){var i,e,n,r;return A(this,void 0,void 0,(function(){var s,h,o,a,f,u,c,l;return I(this,(function(w){switch(w.label){case 0:s=!1,w.label=1;case 1:w.trys.push([1,6,7,12]),i=_(t),w.label=2;case 2:return[4,i.next()];case 3:if((e=w.sent()).done)return[3,5];if(o=e.value,s)throw this.createExtraByteError(this.totalPos);this.appendBuffer(o);try{h=this.doDecodeSync(),s=!0}catch(t){if(!(t instanceof T))throw t}this.totalPos+=this.pos,w.label=4;case 4:return[3,2];case 5:return[3,12];case 6:return a=w.sent(),n={error:a},[3,12];case 7:return w.trys.push([7,,10,11]),e&&!e.done&&(r=i.return)?[4,r.call(i)]:[3,9];case 8:w.sent(),w.label=9;case 9:return[3,11];case 10:if(n)throw n.error;return[7];case 11:return[7];case 12:if(s){if(this.hasRemaining(1))throw this.createExtraByteError(this.totalPos);return[2,h]}throw u=(f=this).headByte,c=f.pos,l=f.totalPos,new RangeError("Insufficient data in parsing "+x(u)+" at "+l+" ("+c+" in the current buffer)")}}))}))},i.prototype.decodeArrayStream=function(t){return this.decodeMultiAsync(t,!0)},i.prototype.decodeStream=function(t){return this.decodeMultiAsync(t,!1)},i.prototype.decodeMultiAsync=function(t,i){return S(this,arguments,(function(){var e,n,r,s,h,o,a,f,u;return I(this,(function(c){switch(c.label){case 0:e=i,n=-1,c.label=1;case 1:c.trys.push([1,13,14,19]),r=_(t),c.label=2;case 2:return[4,M(r.next())];case 3:if((s=c.sent()).done)return[3,12];if(h=s.value,i&&0===n)throw this.createExtraByteError(this.totalPos);this.appendBuffer(h),e&&(n=this.readArraySize(),e=!1,this.complete()),c.label=4;case 4:c.trys.push([4,9,,10]),c.label=5;case 5:return[4,M(this.doDecodeSync())];case 6:return[4,c.sent()];case 7:return c.sent(),0==--n?[3,8]:[3,5];case 8:return[3,10];case 9:if(!((o=c.sent())instanceof T))throw o;return[3,10];case 10:this.totalPos+=this.pos,c.label=11;case 11:return[3,2];case 12:return[3,19];case 13:return a=c.sent(),f={error:a},[3,19];case 14:return c.trys.push([14,,17,18]),s&&!s.done&&(u=r.return)?[4,M(u.call(r))]:[3,16];case 15:c.sent(),c.label=16;case 16:return[3,18];case 17:if(f)throw f.error;return[7];case 18:return[7];case 19:return[2]}}))}))},i.prototype.doDecodeSync=function(){t:for(;;){var t=this.readHeadByte(),i=void 0;if(t>=224)i=t-256;else if(t<192)if(t<128)i=t;else if(t<144){if(0!=(n=t-128)){this.pushMapState(n),this.complete();continue t}i={}}else if(t<160){if(0!=(n=t-144)){this.pushArrayState(n),this.complete();continue t}i=[]}else{var e=t-160;i=this.decodeUtf8String(e,0)}else if(192===t)i=null;else if(194===t)i=!1;else if(195===t)i=!0;else if(202===t)i=this.readF32();else if(203===t)i=this.readF64();else if(204===t)i=this.readU8();else if(205===t)i=this.readU16();else if(206===t)i=this.readU32();else if(207===t)i=this.readU64();else if(208===t)i=this.readI8();else if(209===t)i=this.readI16();else if(210===t)i=this.readI32();else if(211===t)i=this.readI64();else if(217===t)e=this.lookU8(),i=this.decodeUtf8String(e,1);else if(218===t)e=this.lookU16(),i=this.decodeUtf8String(e,2);else if(219===t)e=this.lookU32(),i=this.decodeUtf8String(e,4);else if(220===t){if(0!==(n=this.readU16())){this.pushArrayState(n),this.complete();continue t}i=[]}else if(221===t){if(0!==(n=this.readU32())){this.pushArrayState(n),this.complete();continue t}i=[]}else if(222===t){if(0!==(n=this.readU16())){this.pushMapState(n),this.complete();continue t}i={}}else if(223===t){if(0!==(n=this.readU32())){this.pushMapState(n),this.complete();continue t}i={}}else if(196===t){var n=this.lookU8();i=this.decodeBinary(n,1)}else if(197===t)n=this.lookU16(),i=this.decodeBinary(n,2);else if(198===t)n=this.lookU32(),i=this.decodeBinary(n,4);else if(212===t)i=this.decodeExtension(1,0);else if(213===t)i=this.decodeExtension(2,0);else if(214===t)i=this.decodeExtension(4,0);else if(215===t)i=this.decodeExtension(8,0);else if(216===t)i=this.decodeExtension(16,0);else if(199===t)n=this.lookU8(),i=this.decodeExtension(n,1);else if(200===t)n=this.lookU16(),i=this.decodeExtension(n,2);else{if(201!==t)throw new y("Unrecognized type byte: "+x(t));n=this.lookU32(),i=this.decodeExtension(n,4)}this.complete();for(var r=this.stack;r.length>0;){var s=r[r.length-1];if(0===s.type){if(s.array[s.position]=i,s.position++,s.position!==s.size)continue t;r.pop(),i=s.array}else{if(1===s.type){if(h=void 0,"string"!=(h=typeof i)&&"number"!==h)throw new y("The type of key must be string or number but "+typeof i);if("__proto__"===i)throw new y("The key __proto__ is not allowed");s.key=i,s.type=2;continue t}if(s.map[s.key]=i,s.readCount++,s.readCount!==s.size){s.key=null,s.type=1;continue t}r.pop(),i=s.map}}return i}var h},i.prototype.readHeadByte=function(){return-1===this.headByte&&(this.headByte=this.readU8()),this.headByte},i.prototype.complete=function(){this.headByte=-1},i.prototype.readArraySize=function(){var t=this.readHeadByte();switch(t){case 220:return this.readU16();case 221:return this.readU32();default:if(t<160)return t-144;throw new y("Unrecognized array type byte: "+x(t))}},i.prototype.pushMapState=function(t){if(t>this.maxMapLength)throw new y("Max length exceeded: map length ("+t+") > maxMapLengthLength ("+this.maxMapLength+")");this.stack.push({type:1,size:t,key:null,readCount:0,map:{}})},i.prototype.pushArrayState=function(t){if(t>this.maxArrayLength)throw new y("Max length exceeded: array length ("+t+") > maxArrayLength ("+this.maxArrayLength+")");this.stack.push({type:0,size:t,array:new Array(t),position:0})},i.prototype.decodeUtf8String=function(t,i){var e;if(t>this.maxStrLength)throw new y("Max length exceeded: UTF-8 byte length ("+t+") > maxStrLength ("+this.maxStrLength+")");if(this.bytes.byteLengthw?function(t,i,e){var n=t.subarray(i,i+e);return l.decode(n)}(this.bytes,r,t):u(this.bytes,r,t),this.pos+=i+t,n},i.prototype.stateIsMapKey=function(){return this.stack.length>0&&1===this.stack[this.stack.length-1].type},i.prototype.decodeBinary=function(t,i){if(t>this.maxBinLength)throw new y("Max length exceeded: bin length ("+t+") > maxBinLength ("+this.maxBinLength+")");if(!this.hasRemaining(t+i))throw D;var e=this.pos+i,n=this.bytes.subarray(e,e+t);return this.pos+=i+t,n},i.prototype.decodeExtension=function(t,i){if(t>this.maxExtLength)throw new y("Max length exceeded: ext length ("+t+") > maxExtLength ("+this.maxExtLength+")");var e=this.view.getInt8(this.pos+i),n=this.decodeBinary(t,i+1);return this.extensionCodec.decode(n,e,this.context)},i.prototype.lookU8=function(){return this.view.getUint8(this.pos)},i.prototype.lookU16=function(){return this.view.getUint16(this.pos)},i.prototype.lookU32=function(){return this.view.getUint32(this.pos)},i.prototype.readU8=function(){var t=this.view.getUint8(this.pos);return this.pos++,t},i.prototype.readI8=function(){var t=this.view.getInt8(this.pos);return this.pos++,t},i.prototype.readU16=function(){var t=this.view.getUint16(this.pos);return this.pos+=2,t},i.prototype.readI16=function(){var t=this.view.getInt16(this.pos);return this.pos+=2,t},i.prototype.readU32=function(){var t=this.view.getUint32(this.pos);return this.pos+=4,t},i.prototype.readI32=function(){var t=this.view.getInt32(this.pos);return this.pos+=4,t},i.prototype.readU64=function(){var t,i,e=(t=this.view,i=this.pos,4294967296*t.getUint32(i)+t.getUint32(i+4));return this.pos+=8,e},i.prototype.readI64=function(){var t=e(this.view,this.pos);return this.pos+=8,t},i.prototype.readF32=function(){var t=this.view.getFloat32(this.pos);return this.pos+=4,t},i.prototype.readF64=function(){var t=this.view.getFloat64(this.pos);return this.pos+=8,t},i}(),O=n(1);class V{static write(t){let i=t.byteLength||t.length;const e=[];do{let t=127&i;i>>=7,i>0&&(t|=128),e.push(t)}while(i>0);i=t.byteLength||t.length;const n=new Uint8Array(e.length+i);return n.set(e,0),n.set(t,e.length),n.buffer}static parse(t){const i=[],e=new Uint8Array(t),n=[0,7,14,21,28];for(let r=0;r7)throw new Error("Messages bigger than 2GB are not supported.");if(!(e.byteLength>=r+h+o))throw new Error("Incomplete message.");i.push(e.slice?e.slice(r+h,r+h+o):e.subarray(r+h,r+h+o)),r=r+h+o}return i}}const C=new Uint8Array([145,O.MessageType.Ping]);class P{constructor(t){this.name="messagepack",this.version=1,this.transferFormat=O.TransferFormat.Binary,this.i=1,this.h=2,this.u=3,t=t||{},this.l=new b(t.extensionCodec,t.context,t.maxDepth,t.initialBufferSize,t.sortKeys,t.forceFloat32,t.ignoreUndefined,t.forceIntegerToFloat),this.p=new B(t.extensionCodec,t.context,t.maxStrLength,t.maxBinLength,t.maxArrayLength,t.maxMapLength,t.maxExtLength)}parseMessages(t,i){if(!(e=t)||"undefined"==typeof ArrayBuffer||!(e instanceof ArrayBuffer||e.constructor&&"ArrayBuffer"===e.constructor.name))throw new Error("Invalid input for MessagePack hub protocol. Expected an ArrayBuffer.");var e;null===i&&(i=O.NullLogger.instance);const n=V.parse(t),r=[];for(const t of n){const e=this.g(t,i);e&&r.push(e)}return r}writeMessage(t){switch(t.type){case O.MessageType.Invocation:return this.m(t);case O.MessageType.StreamInvocation:return this.A(t);case O.MessageType.StreamItem:return this.I(t);case O.MessageType.Completion:return this._(t);case O.MessageType.Ping:return V.write(C);case O.MessageType.CancelInvocation:return this.M(t);default:throw new Error("Invalid message type.")}}g(t,i){if(0===t.length)throw new Error("Invalid payload.");const e=this.p.decode(t);if(0===e.length||!(e instanceof Array))throw new Error("Invalid payload.");const n=e[0];switch(n){case O.MessageType.Invocation:return this.S(this.U(e),e);case O.MessageType.StreamItem:return this.j(this.U(e),e);case O.MessageType.Completion:return this.T(this.U(e),e);case O.MessageType.Ping:return this.D(e);case O.MessageType.Close:return this.k(e);default:return i.log(O.LogLevel.Information,"Unknown message type '"+n+"' ignored."),null}}k(t){if(t.length<2)throw new Error("Invalid payload for Close message.");return{allowReconnect:t.length>=3?t[2]:void 0,error:t[1],type:O.MessageType.Close}}D(t){if(t.length<1)throw new Error("Invalid payload for Ping message.");return{type:O.MessageType.Ping}}S(t,i){if(i.length<5)throw new Error("Invalid payload for Invocation message.");const e=i[2];return e?{arguments:i[4],headers:t,invocationId:e,streamIds:[],target:i[3],type:O.MessageType.Invocation}:{arguments:i[4],headers:t,streamIds:[],target:i[3],type:O.MessageType.Invocation}}j(t,i){if(i.length<4)throw new Error("Invalid payload for StreamItem message.");return{headers:t,invocationId:i[2],item:i[3],type:O.MessageType.StreamItem}}T(t,i){if(i.length<4)throw new Error("Invalid payload for Completion message.");const e=i[3];if(e!==this.h&&i.length<5)throw new Error("Invalid payload for Completion message.");let n,r;switch(e){case this.i:n=i[4];break;case this.u:r=i[4]}return{error:n,headers:t,invocationId:i[2],result:r,type:O.MessageType.Completion}}m(t){let i;return i=t.streamIds?this.l.encode([O.MessageType.Invocation,t.headers||{},t.invocationId||null,t.target,t.arguments,t.streamIds]):this.l.encode([O.MessageType.Invocation,t.headers||{},t.invocationId||null,t.target,t.arguments]),V.write(i.slice())}A(t){let i;return i=t.streamIds?this.l.encode([O.MessageType.StreamInvocation,t.headers||{},t.invocationId,t.target,t.arguments,t.streamIds]):this.l.encode([O.MessageType.StreamInvocation,t.headers||{},t.invocationId,t.target,t.arguments]),V.write(i.slice())}I(t){const i=this.l.encode([O.MessageType.StreamItem,t.headers||{},t.invocationId,t.item]);return V.write(i.slice())}_(t){const i=t.error?this.i:t.result?this.u:this.h;let e;switch(i){case this.i:e=this.l.encode([O.MessageType.Completion,t.headers||{},t.invocationId,i,t.error]);break;case this.h:e=this.l.encode([O.MessageType.Completion,t.headers||{},t.invocationId,i]);break;case this.u:e=this.l.encode([O.MessageType.Completion,t.headers||{},t.invocationId,i,t.result])}return V.write(e.slice())}M(t){const i=this.l.encode([O.MessageType.CancelInvocation,t.headers||{},t.invocationId]);return V.write(i.slice())}U(t){const i=t[1];if("object"!=typeof i)throw new Error("Invalid headers.");return i}}const z="6.0.0"})(),r})()},"object"==typeof exports&&"object"==typeof module?module.exports=i(require("signalR")):"function"==typeof define&&define.amd?define(["signalR"],i):"object"==typeof exports?exports.msgpack=i(require("signalR")):(t.signalR=t.signalR||{},t.signalR.protocols=t.signalR.protocols||{},t.signalR.protocols.msgpack=i(t.signalR)); +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("signalR")); + else if(typeof define === 'function' && define.amd) + define(["signalR"], factory); + else if(typeof exports === 'object') + exports["msgpack"] = factory(require("signalR")); + else + root["signalR"] = root["signalR"] || {}, root["signalR"]["protocols"] = root["signalR"]["protocols"] || {}, root["signalR"]["protocols"]["msgpack"] = factory(root["signalR"]); +})(self, function(__WEBPACK_EXTERNAL_MODULE__1__) { +return /******/ (() => { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ([ +/* 0 */, +/* 1 */ +/***/ ((module) => { + +module.exports = __WEBPACK_EXTERNAL_MODULE__1__; + +/***/ }) +/******/ ]); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. +(() => { +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + "MessagePackHubProtocol": () => (/* reexport */ MessagePackHubProtocol), + "VERSION": () => (/* reexport */ VERSION) +}); + +;// CONCATENATED MODULE: ./node_modules/@msgpack/msgpack/dist.es5+esm/utils/int.mjs +// Integer Utility +var UINT32_MAX = 4294967295; +// DataView extension to handle int64 / uint64, +// where the actual range is 53-bits integer (a.k.a. safe integer) +function setUint64(view, offset, value) { + var high = value / 4294967296; + var low = value; // high bits are truncated by DataView + view.setUint32(offset, high); + view.setUint32(offset + 4, low); +} +function setInt64(view, offset, value) { + var high = Math.floor(value / 4294967296); + var low = value; // high bits are truncated by DataView + view.setUint32(offset, high); + view.setUint32(offset + 4, low); +} +function getInt64(view, offset) { + var high = view.getInt32(offset); + var low = view.getUint32(offset + 4); + return high * 4294967296 + low; +} +function getUint64(view, offset) { + var high = view.getUint32(offset); + var low = view.getUint32(offset + 4); + return high * 4294967296 + low; +} +//# sourceMappingURL=int.mjs.map +;// CONCATENATED MODULE: ./node_modules/@msgpack/msgpack/dist.es5+esm/utils/utf8.mjs + +var TEXT_ENCODING_AVAILABLE = (typeof process === "undefined" || process.env["TEXT_ENCODING"] !== "never") && + typeof TextEncoder !== "undefined" && + typeof TextDecoder !== "undefined"; +function utf8Count(str) { + var strLength = str.length; + var byteLength = 0; + var pos = 0; + while (pos < strLength) { + var value = str.charCodeAt(pos++); + if ((value & 0xffffff80) === 0) { + // 1-byte + byteLength++; + continue; + } + else if ((value & 0xfffff800) === 0) { + // 2-bytes + byteLength += 2; + } + else { + // handle surrogate pair + if (value >= 0xd800 && value <= 0xdbff) { + // high surrogate + if (pos < strLength) { + var extra = str.charCodeAt(pos); + if ((extra & 0xfc00) === 0xdc00) { + ++pos; + value = ((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000; + } + } + } + if ((value & 0xffff0000) === 0) { + // 3-byte + byteLength += 3; + } + else { + // 4-byte + byteLength += 4; + } + } + } + return byteLength; +} +function utf8EncodeJs(str, output, outputOffset) { + var strLength = str.length; + var offset = outputOffset; + var pos = 0; + while (pos < strLength) { + var value = str.charCodeAt(pos++); + if ((value & 0xffffff80) === 0) { + // 1-byte + output[offset++] = value; + continue; + } + else if ((value & 0xfffff800) === 0) { + // 2-bytes + output[offset++] = ((value >> 6) & 0x1f) | 0xc0; + } + else { + // handle surrogate pair + if (value >= 0xd800 && value <= 0xdbff) { + // high surrogate + if (pos < strLength) { + var extra = str.charCodeAt(pos); + if ((extra & 0xfc00) === 0xdc00) { + ++pos; + value = ((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000; + } + } + } + if ((value & 0xffff0000) === 0) { + // 3-byte + output[offset++] = ((value >> 12) & 0x0f) | 0xe0; + output[offset++] = ((value >> 6) & 0x3f) | 0x80; + } + else { + // 4-byte + output[offset++] = ((value >> 18) & 0x07) | 0xf0; + output[offset++] = ((value >> 12) & 0x3f) | 0x80; + output[offset++] = ((value >> 6) & 0x3f) | 0x80; + } + } + output[offset++] = (value & 0x3f) | 0x80; + } +} +var sharedTextEncoder = TEXT_ENCODING_AVAILABLE ? new TextEncoder() : undefined; +var TEXT_ENCODER_THRESHOLD = !TEXT_ENCODING_AVAILABLE + ? UINT32_MAX + : typeof process !== "undefined" && process.env["TEXT_ENCODING"] !== "force" + ? 200 + : 0; +function utf8EncodeTEencode(str, output, outputOffset) { + output.set(sharedTextEncoder.encode(str), outputOffset); +} +function utf8EncodeTEencodeInto(str, output, outputOffset) { + sharedTextEncoder.encodeInto(str, output.subarray(outputOffset)); +} +var utf8EncodeTE = (sharedTextEncoder === null || sharedTextEncoder === void 0 ? void 0 : sharedTextEncoder.encodeInto) ? utf8EncodeTEencodeInto : utf8EncodeTEencode; +var CHUNK_SIZE = 4096; +function utf8DecodeJs(bytes, inputOffset, byteLength) { + var offset = inputOffset; + var end = offset + byteLength; + var units = []; + var result = ""; + while (offset < end) { + var byte1 = bytes[offset++]; + if ((byte1 & 0x80) === 0) { + // 1 byte + units.push(byte1); + } + else if ((byte1 & 0xe0) === 0xc0) { + // 2 bytes + var byte2 = bytes[offset++] & 0x3f; + units.push(((byte1 & 0x1f) << 6) | byte2); + } + else if ((byte1 & 0xf0) === 0xe0) { + // 3 bytes + var byte2 = bytes[offset++] & 0x3f; + var byte3 = bytes[offset++] & 0x3f; + units.push(((byte1 & 0x1f) << 12) | (byte2 << 6) | byte3); + } + else if ((byte1 & 0xf8) === 0xf0) { + // 4 bytes + var byte2 = bytes[offset++] & 0x3f; + var byte3 = bytes[offset++] & 0x3f; + var byte4 = bytes[offset++] & 0x3f; + var unit = ((byte1 & 0x07) << 0x12) | (byte2 << 0x0c) | (byte3 << 0x06) | byte4; + if (unit > 0xffff) { + unit -= 0x10000; + units.push(((unit >>> 10) & 0x3ff) | 0xd800); + unit = 0xdc00 | (unit & 0x3ff); + } + units.push(unit); + } + else { + units.push(byte1); + } + if (units.length >= CHUNK_SIZE) { + result += String.fromCharCode.apply(String, units); + units.length = 0; + } + } + if (units.length > 0) { + result += String.fromCharCode.apply(String, units); + } + return result; +} +var sharedTextDecoder = TEXT_ENCODING_AVAILABLE ? new TextDecoder() : null; +var TEXT_DECODER_THRESHOLD = !TEXT_ENCODING_AVAILABLE + ? UINT32_MAX + : typeof process !== "undefined" && process.env["TEXT_DECODER"] !== "force" + ? 200 + : 0; +function utf8DecodeTD(bytes, inputOffset, byteLength) { + var stringBytes = bytes.subarray(inputOffset, inputOffset + byteLength); + return sharedTextDecoder.decode(stringBytes); +} +//# sourceMappingURL=utf8.mjs.map +;// CONCATENATED MODULE: ./node_modules/@msgpack/msgpack/dist.es5+esm/ExtData.mjs +/** + * ExtData is used to handle Extension Types that are not registered to ExtensionCodec. + */ +var ExtData = /** @class */ (function () { + function ExtData(type, data) { + this.type = type; + this.data = data; + } + return ExtData; +}()); + +//# sourceMappingURL=ExtData.mjs.map +;// CONCATENATED MODULE: ./node_modules/@msgpack/msgpack/dist.es5+esm/DecodeError.mjs +var __extends = (undefined && undefined.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var DecodeError = /** @class */ (function (_super) { + __extends(DecodeError, _super); + function DecodeError(message) { + var _this = _super.call(this, message) || this; + // fix the prototype chain in a cross-platform way + var proto = Object.create(DecodeError.prototype); + Object.setPrototypeOf(_this, proto); + Object.defineProperty(_this, "name", { + configurable: true, + enumerable: false, + value: DecodeError.name, + }); + return _this; + } + return DecodeError; +}(Error)); + +//# sourceMappingURL=DecodeError.mjs.map +;// CONCATENATED MODULE: ./node_modules/@msgpack/msgpack/dist.es5+esm/timestamp.mjs +// https://github.com/msgpack/msgpack/blob/master/spec.md#timestamp-extension-type + + +var EXT_TIMESTAMP = -1; +var TIMESTAMP32_MAX_SEC = 0x100000000 - 1; // 32-bit unsigned int +var TIMESTAMP64_MAX_SEC = 0x400000000 - 1; // 34-bit unsigned int +function encodeTimeSpecToTimestamp(_a) { + var sec = _a.sec, nsec = _a.nsec; + if (sec >= 0 && nsec >= 0 && sec <= TIMESTAMP64_MAX_SEC) { + // Here sec >= 0 && nsec >= 0 + if (nsec === 0 && sec <= TIMESTAMP32_MAX_SEC) { + // timestamp 32 = { sec32 (unsigned) } + var rv = new Uint8Array(4); + var view = new DataView(rv.buffer); + view.setUint32(0, sec); + return rv; + } + else { + // timestamp 64 = { nsec30 (unsigned), sec34 (unsigned) } + var secHigh = sec / 0x100000000; + var secLow = sec & 0xffffffff; + var rv = new Uint8Array(8); + var view = new DataView(rv.buffer); + // nsec30 | secHigh2 + view.setUint32(0, (nsec << 2) | (secHigh & 0x3)); + // secLow32 + view.setUint32(4, secLow); + return rv; + } + } + else { + // timestamp 96 = { nsec32 (unsigned), sec64 (signed) } + var rv = new Uint8Array(12); + var view = new DataView(rv.buffer); + view.setUint32(0, nsec); + setInt64(view, 4, sec); + return rv; + } +} +function encodeDateToTimeSpec(date) { + var msec = date.getTime(); + var sec = Math.floor(msec / 1e3); + var nsec = (msec - sec * 1e3) * 1e6; + // Normalizes { sec, nsec } to ensure nsec is unsigned. + var nsecInSec = Math.floor(nsec / 1e9); + return { + sec: sec + nsecInSec, + nsec: nsec - nsecInSec * 1e9, + }; +} +function encodeTimestampExtension(object) { + if (object instanceof Date) { + var timeSpec = encodeDateToTimeSpec(object); + return encodeTimeSpecToTimestamp(timeSpec); + } + else { + return null; + } +} +function decodeTimestampToTimeSpec(data) { + var view = new DataView(data.buffer, data.byteOffset, data.byteLength); + // data may be 32, 64, or 96 bits + switch (data.byteLength) { + case 4: { + // timestamp 32 = { sec32 } + var sec = view.getUint32(0); + var nsec = 0; + return { sec: sec, nsec: nsec }; + } + case 8: { + // timestamp 64 = { nsec30, sec34 } + var nsec30AndSecHigh2 = view.getUint32(0); + var secLow32 = view.getUint32(4); + var sec = (nsec30AndSecHigh2 & 0x3) * 0x100000000 + secLow32; + var nsec = nsec30AndSecHigh2 >>> 2; + return { sec: sec, nsec: nsec }; + } + case 12: { + // timestamp 96 = { nsec32 (unsigned), sec64 (signed) } + var sec = getInt64(view, 4); + var nsec = view.getUint32(0); + return { sec: sec, nsec: nsec }; + } + default: + throw new DecodeError("Unrecognized data size for timestamp (expected 4, 8, or 12): " + data.length); + } +} +function decodeTimestampExtension(data) { + var timeSpec = decodeTimestampToTimeSpec(data); + return new Date(timeSpec.sec * 1e3 + timeSpec.nsec / 1e6); +} +var timestampExtension = { + type: EXT_TIMESTAMP, + encode: encodeTimestampExtension, + decode: decodeTimestampExtension, +}; +//# sourceMappingURL=timestamp.mjs.map +;// CONCATENATED MODULE: ./node_modules/@msgpack/msgpack/dist.es5+esm/ExtensionCodec.mjs +// ExtensionCodec to handle MessagePack extensions + + +var ExtensionCodec = /** @class */ (function () { + function ExtensionCodec() { + // built-in extensions + this.builtInEncoders = []; + this.builtInDecoders = []; + // custom extensions + this.encoders = []; + this.decoders = []; + this.register(timestampExtension); + } + ExtensionCodec.prototype.register = function (_a) { + var type = _a.type, encode = _a.encode, decode = _a.decode; + if (type >= 0) { + // custom extensions + this.encoders[type] = encode; + this.decoders[type] = decode; + } + else { + // built-in extensions + var index = 1 + type; + this.builtInEncoders[index] = encode; + this.builtInDecoders[index] = decode; + } + }; + ExtensionCodec.prototype.tryToEncode = function (object, context) { + // built-in extensions + for (var i = 0; i < this.builtInEncoders.length; i++) { + var encodeExt = this.builtInEncoders[i]; + if (encodeExt != null) { + var data = encodeExt(object, context); + if (data != null) { + var type = -1 - i; + return new ExtData(type, data); + } + } + } + // custom extensions + for (var i = 0; i < this.encoders.length; i++) { + var encodeExt = this.encoders[i]; + if (encodeExt != null) { + var data = encodeExt(object, context); + if (data != null) { + var type = i; + return new ExtData(type, data); + } + } + } + if (object instanceof ExtData) { + // to keep ExtData as is + return object; + } + return null; + }; + ExtensionCodec.prototype.decode = function (data, type, context) { + var decodeExt = type < 0 ? this.builtInDecoders[-1 - type] : this.decoders[type]; + if (decodeExt) { + return decodeExt(data, type, context); + } + else { + // decode() does not fail, returns ExtData instead. + return new ExtData(type, data); + } + }; + ExtensionCodec.defaultCodec = new ExtensionCodec(); + return ExtensionCodec; +}()); + +//# sourceMappingURL=ExtensionCodec.mjs.map +;// CONCATENATED MODULE: ./node_modules/@msgpack/msgpack/dist.es5+esm/utils/typedArrays.mjs +function ensureUint8Array(buffer) { + if (buffer instanceof Uint8Array) { + return buffer; + } + else if (ArrayBuffer.isView(buffer)) { + return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength); + } + else if (buffer instanceof ArrayBuffer) { + return new Uint8Array(buffer); + } + else { + // ArrayLike + return Uint8Array.from(buffer); + } +} +function createDataView(buffer) { + if (buffer instanceof ArrayBuffer) { + return new DataView(buffer); + } + var bufferView = ensureUint8Array(buffer); + return new DataView(bufferView.buffer, bufferView.byteOffset, bufferView.byteLength); +} +//# sourceMappingURL=typedArrays.mjs.map +;// CONCATENATED MODULE: ./node_modules/@msgpack/msgpack/dist.es5+esm/Encoder.mjs + + + + +var DEFAULT_MAX_DEPTH = 100; +var DEFAULT_INITIAL_BUFFER_SIZE = 2048; +var Encoder = /** @class */ (function () { + function Encoder(extensionCodec, context, maxDepth, initialBufferSize, sortKeys, forceFloat32, ignoreUndefined, forceIntegerToFloat) { + if (extensionCodec === void 0) { extensionCodec = ExtensionCodec.defaultCodec; } + if (context === void 0) { context = undefined; } + if (maxDepth === void 0) { maxDepth = DEFAULT_MAX_DEPTH; } + if (initialBufferSize === void 0) { initialBufferSize = DEFAULT_INITIAL_BUFFER_SIZE; } + if (sortKeys === void 0) { sortKeys = false; } + if (forceFloat32 === void 0) { forceFloat32 = false; } + if (ignoreUndefined === void 0) { ignoreUndefined = false; } + if (forceIntegerToFloat === void 0) { forceIntegerToFloat = false; } + this.extensionCodec = extensionCodec; + this.context = context; + this.maxDepth = maxDepth; + this.initialBufferSize = initialBufferSize; + this.sortKeys = sortKeys; + this.forceFloat32 = forceFloat32; + this.ignoreUndefined = ignoreUndefined; + this.forceIntegerToFloat = forceIntegerToFloat; + this.pos = 0; + this.view = new DataView(new ArrayBuffer(this.initialBufferSize)); + this.bytes = new Uint8Array(this.view.buffer); + } + Encoder.prototype.getUint8Array = function () { + return this.bytes.subarray(0, this.pos); + }; + Encoder.prototype.reinitializeState = function () { + this.pos = 0; + }; + Encoder.prototype.encode = function (object) { + this.reinitializeState(); + this.doEncode(object, 1); + return this.getUint8Array(); + }; + Encoder.prototype.doEncode = function (object, depth) { + if (depth > this.maxDepth) { + throw new Error("Too deep objects in depth " + depth); + } + if (object == null) { + this.encodeNil(); + } + else if (typeof object === "boolean") { + this.encodeBoolean(object); + } + else if (typeof object === "number") { + this.encodeNumber(object); + } + else if (typeof object === "string") { + this.encodeString(object); + } + else { + this.encodeObject(object, depth); + } + }; + Encoder.prototype.ensureBufferSizeToWrite = function (sizeToWrite) { + var requiredSize = this.pos + sizeToWrite; + if (this.view.byteLength < requiredSize) { + this.resizeBuffer(requiredSize * 2); + } + }; + Encoder.prototype.resizeBuffer = function (newSize) { + var newBuffer = new ArrayBuffer(newSize); + var newBytes = new Uint8Array(newBuffer); + var newView = new DataView(newBuffer); + newBytes.set(this.bytes); + this.view = newView; + this.bytes = newBytes; + }; + Encoder.prototype.encodeNil = function () { + this.writeU8(0xc0); + }; + Encoder.prototype.encodeBoolean = function (object) { + if (object === false) { + this.writeU8(0xc2); + } + else { + this.writeU8(0xc3); + } + }; + Encoder.prototype.encodeNumber = function (object) { + if (Number.isSafeInteger(object) && !this.forceIntegerToFloat) { + if (object >= 0) { + if (object < 0x80) { + // positive fixint + this.writeU8(object); + } + else if (object < 0x100) { + // uint 8 + this.writeU8(0xcc); + this.writeU8(object); + } + else if (object < 0x10000) { + // uint 16 + this.writeU8(0xcd); + this.writeU16(object); + } + else if (object < 0x100000000) { + // uint 32 + this.writeU8(0xce); + this.writeU32(object); + } + else { + // uint 64 + this.writeU8(0xcf); + this.writeU64(object); + } + } + else { + if (object >= -0x20) { + // negative fixint + this.writeU8(0xe0 | (object + 0x20)); + } + else if (object >= -0x80) { + // int 8 + this.writeU8(0xd0); + this.writeI8(object); + } + else if (object >= -0x8000) { + // int 16 + this.writeU8(0xd1); + this.writeI16(object); + } + else if (object >= -0x80000000) { + // int 32 + this.writeU8(0xd2); + this.writeI32(object); + } + else { + // int 64 + this.writeU8(0xd3); + this.writeI64(object); + } + } + } + else { + // non-integer numbers + if (this.forceFloat32) { + // float 32 + this.writeU8(0xca); + this.writeF32(object); + } + else { + // float 64 + this.writeU8(0xcb); + this.writeF64(object); + } + } + }; + Encoder.prototype.writeStringHeader = function (byteLength) { + if (byteLength < 32) { + // fixstr + this.writeU8(0xa0 + byteLength); + } + else if (byteLength < 0x100) { + // str 8 + this.writeU8(0xd9); + this.writeU8(byteLength); + } + else if (byteLength < 0x10000) { + // str 16 + this.writeU8(0xda); + this.writeU16(byteLength); + } + else if (byteLength < 0x100000000) { + // str 32 + this.writeU8(0xdb); + this.writeU32(byteLength); + } + else { + throw new Error("Too long string: " + byteLength + " bytes in UTF-8"); + } + }; + Encoder.prototype.encodeString = function (object) { + var maxHeaderSize = 1 + 4; + var strLength = object.length; + if (strLength > TEXT_ENCODER_THRESHOLD) { + var byteLength = utf8Count(object); + this.ensureBufferSizeToWrite(maxHeaderSize + byteLength); + this.writeStringHeader(byteLength); + utf8EncodeTE(object, this.bytes, this.pos); + this.pos += byteLength; + } + else { + var byteLength = utf8Count(object); + this.ensureBufferSizeToWrite(maxHeaderSize + byteLength); + this.writeStringHeader(byteLength); + utf8EncodeJs(object, this.bytes, this.pos); + this.pos += byteLength; + } + }; + Encoder.prototype.encodeObject = function (object, depth) { + // try to encode objects with custom codec first of non-primitives + var ext = this.extensionCodec.tryToEncode(object, this.context); + if (ext != null) { + this.encodeExtension(ext); + } + else if (Array.isArray(object)) { + this.encodeArray(object, depth); + } + else if (ArrayBuffer.isView(object)) { + this.encodeBinary(object); + } + else if (typeof object === "object") { + this.encodeMap(object, depth); + } + else { + // symbol, function and other special object come here unless extensionCodec handles them. + throw new Error("Unrecognized object: " + Object.prototype.toString.apply(object)); + } + }; + Encoder.prototype.encodeBinary = function (object) { + var size = object.byteLength; + if (size < 0x100) { + // bin 8 + this.writeU8(0xc4); + this.writeU8(size); + } + else if (size < 0x10000) { + // bin 16 + this.writeU8(0xc5); + this.writeU16(size); + } + else if (size < 0x100000000) { + // bin 32 + this.writeU8(0xc6); + this.writeU32(size); + } + else { + throw new Error("Too large binary: " + size); + } + var bytes = ensureUint8Array(object); + this.writeU8a(bytes); + }; + Encoder.prototype.encodeArray = function (object, depth) { + var size = object.length; + if (size < 16) { + // fixarray + this.writeU8(0x90 + size); + } + else if (size < 0x10000) { + // array 16 + this.writeU8(0xdc); + this.writeU16(size); + } + else if (size < 0x100000000) { + // array 32 + this.writeU8(0xdd); + this.writeU32(size); + } + else { + throw new Error("Too large array: " + size); + } + for (var _i = 0, object_1 = object; _i < object_1.length; _i++) { + var item = object_1[_i]; + this.doEncode(item, depth + 1); + } + }; + Encoder.prototype.countWithoutUndefined = function (object, keys) { + var count = 0; + for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) { + var key = keys_1[_i]; + if (object[key] !== undefined) { + count++; + } + } + return count; + }; + Encoder.prototype.encodeMap = function (object, depth) { + var keys = Object.keys(object); + if (this.sortKeys) { + keys.sort(); + } + var size = this.ignoreUndefined ? this.countWithoutUndefined(object, keys) : keys.length; + if (size < 16) { + // fixmap + this.writeU8(0x80 + size); + } + else if (size < 0x10000) { + // map 16 + this.writeU8(0xde); + this.writeU16(size); + } + else if (size < 0x100000000) { + // map 32 + this.writeU8(0xdf); + this.writeU32(size); + } + else { + throw new Error("Too large map object: " + size); + } + for (var _i = 0, keys_2 = keys; _i < keys_2.length; _i++) { + var key = keys_2[_i]; + var value = object[key]; + if (!(this.ignoreUndefined && value === undefined)) { + this.encodeString(key); + this.doEncode(value, depth + 1); + } + } + }; + Encoder.prototype.encodeExtension = function (ext) { + var size = ext.data.length; + if (size === 1) { + // fixext 1 + this.writeU8(0xd4); + } + else if (size === 2) { + // fixext 2 + this.writeU8(0xd5); + } + else if (size === 4) { + // fixext 4 + this.writeU8(0xd6); + } + else if (size === 8) { + // fixext 8 + this.writeU8(0xd7); + } + else if (size === 16) { + // fixext 16 + this.writeU8(0xd8); + } + else if (size < 0x100) { + // ext 8 + this.writeU8(0xc7); + this.writeU8(size); + } + else if (size < 0x10000) { + // ext 16 + this.writeU8(0xc8); + this.writeU16(size); + } + else if (size < 0x100000000) { + // ext 32 + this.writeU8(0xc9); + this.writeU32(size); + } + else { + throw new Error("Too large extension object: " + size); + } + this.writeI8(ext.type); + this.writeU8a(ext.data); + }; + Encoder.prototype.writeU8 = function (value) { + this.ensureBufferSizeToWrite(1); + this.view.setUint8(this.pos, value); + this.pos++; + }; + Encoder.prototype.writeU8a = function (values) { + var size = values.length; + this.ensureBufferSizeToWrite(size); + this.bytes.set(values, this.pos); + this.pos += size; + }; + Encoder.prototype.writeI8 = function (value) { + this.ensureBufferSizeToWrite(1); + this.view.setInt8(this.pos, value); + this.pos++; + }; + Encoder.prototype.writeU16 = function (value) { + this.ensureBufferSizeToWrite(2); + this.view.setUint16(this.pos, value); + this.pos += 2; + }; + Encoder.prototype.writeI16 = function (value) { + this.ensureBufferSizeToWrite(2); + this.view.setInt16(this.pos, value); + this.pos += 2; + }; + Encoder.prototype.writeU32 = function (value) { + this.ensureBufferSizeToWrite(4); + this.view.setUint32(this.pos, value); + this.pos += 4; + }; + Encoder.prototype.writeI32 = function (value) { + this.ensureBufferSizeToWrite(4); + this.view.setInt32(this.pos, value); + this.pos += 4; + }; + Encoder.prototype.writeF32 = function (value) { + this.ensureBufferSizeToWrite(4); + this.view.setFloat32(this.pos, value); + this.pos += 4; + }; + Encoder.prototype.writeF64 = function (value) { + this.ensureBufferSizeToWrite(8); + this.view.setFloat64(this.pos, value); + this.pos += 8; + }; + Encoder.prototype.writeU64 = function (value) { + this.ensureBufferSizeToWrite(8); + setUint64(this.view, this.pos, value); + this.pos += 8; + }; + Encoder.prototype.writeI64 = function (value) { + this.ensureBufferSizeToWrite(8); + setInt64(this.view, this.pos, value); + this.pos += 8; + }; + return Encoder; +}()); + +//# sourceMappingURL=Encoder.mjs.map +;// CONCATENATED MODULE: ./node_modules/@msgpack/msgpack/dist.es5+esm/utils/prettyByte.mjs +function prettyByte(byte) { + return (byte < 0 ? "-" : "") + "0x" + Math.abs(byte).toString(16).padStart(2, "0"); +} +//# sourceMappingURL=prettyByte.mjs.map +;// CONCATENATED MODULE: ./node_modules/@msgpack/msgpack/dist.es5+esm/CachedKeyDecoder.mjs + +var DEFAULT_MAX_KEY_LENGTH = 16; +var DEFAULT_MAX_LENGTH_PER_KEY = 16; +var CachedKeyDecoder = /** @class */ (function () { + function CachedKeyDecoder(maxKeyLength, maxLengthPerKey) { + if (maxKeyLength === void 0) { maxKeyLength = DEFAULT_MAX_KEY_LENGTH; } + if (maxLengthPerKey === void 0) { maxLengthPerKey = DEFAULT_MAX_LENGTH_PER_KEY; } + this.maxKeyLength = maxKeyLength; + this.maxLengthPerKey = maxLengthPerKey; + this.hit = 0; + this.miss = 0; + // avoid `new Array(N)`, which makes a sparse array, + // because a sparse array is typically slower than a non-sparse array. + this.caches = []; + for (var i = 0; i < this.maxKeyLength; i++) { + this.caches.push([]); + } + } + CachedKeyDecoder.prototype.canBeCached = function (byteLength) { + return byteLength > 0 && byteLength <= this.maxKeyLength; + }; + CachedKeyDecoder.prototype.find = function (bytes, inputOffset, byteLength) { + var records = this.caches[byteLength - 1]; + FIND_CHUNK: for (var _i = 0, records_1 = records; _i < records_1.length; _i++) { + var record = records_1[_i]; + var recordBytes = record.bytes; + for (var j = 0; j < byteLength; j++) { + if (recordBytes[j] !== bytes[inputOffset + j]) { + continue FIND_CHUNK; + } + } + return record.str; + } + return null; + }; + CachedKeyDecoder.prototype.store = function (bytes, value) { + var records = this.caches[bytes.length - 1]; + var record = { bytes: bytes, str: value }; + if (records.length >= this.maxLengthPerKey) { + // `records` are full! + // Set `record` to an arbitrary position. + records[(Math.random() * records.length) | 0] = record; + } + else { + records.push(record); + } + }; + CachedKeyDecoder.prototype.decode = function (bytes, inputOffset, byteLength) { + var cachedValue = this.find(bytes, inputOffset, byteLength); + if (cachedValue != null) { + this.hit++; + return cachedValue; + } + this.miss++; + var str = utf8DecodeJs(bytes, inputOffset, byteLength); + // Ensure to copy a slice of bytes because the byte may be NodeJS Buffer and Buffer#slice() returns a reference to its internal ArrayBuffer. + var slicedCopyOfBytes = Uint8Array.prototype.slice.call(bytes, inputOffset, inputOffset + byteLength); + this.store(slicedCopyOfBytes, str); + return str; + }; + return CachedKeyDecoder; +}()); + +//# sourceMappingURL=CachedKeyDecoder.mjs.map +;// CONCATENATED MODULE: ./node_modules/@msgpack/msgpack/dist.es5+esm/Decoder.mjs +var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (undefined && undefined.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +var __asyncValues = (undefined && undefined.__asyncValues) || function (o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); + function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } + function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } +}; +var __await = (undefined && undefined.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); } +var __asyncGenerator = (undefined && undefined.__asyncGenerator) || function (thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; + function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } + function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } + function fulfill(value) { resume("next", value); } + function reject(value) { resume("throw", value); } + function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } +}; + + + + + + + +var isValidMapKeyType = function (key) { + var keyType = typeof key; + return keyType === "string" || keyType === "number"; +}; +var HEAD_BYTE_REQUIRED = -1; +var EMPTY_VIEW = new DataView(new ArrayBuffer(0)); +var EMPTY_BYTES = new Uint8Array(EMPTY_VIEW.buffer); +// IE11: Hack to support IE11. +// IE11: Drop this hack and just use RangeError when IE11 is obsolete. +var DataViewIndexOutOfBoundsError = (function () { + try { + // IE11: The spec says it should throw RangeError, + // IE11: but in IE11 it throws TypeError. + EMPTY_VIEW.getInt8(0); + } + catch (e) { + return e.constructor; + } + throw new Error("never reached"); +})(); +var MORE_DATA = new DataViewIndexOutOfBoundsError("Insufficient data"); +var sharedCachedKeyDecoder = new CachedKeyDecoder(); +var Decoder = /** @class */ (function () { + function Decoder(extensionCodec, context, maxStrLength, maxBinLength, maxArrayLength, maxMapLength, maxExtLength, keyDecoder) { + if (extensionCodec === void 0) { extensionCodec = ExtensionCodec.defaultCodec; } + if (context === void 0) { context = undefined; } + if (maxStrLength === void 0) { maxStrLength = UINT32_MAX; } + if (maxBinLength === void 0) { maxBinLength = UINT32_MAX; } + if (maxArrayLength === void 0) { maxArrayLength = UINT32_MAX; } + if (maxMapLength === void 0) { maxMapLength = UINT32_MAX; } + if (maxExtLength === void 0) { maxExtLength = UINT32_MAX; } + if (keyDecoder === void 0) { keyDecoder = sharedCachedKeyDecoder; } + this.extensionCodec = extensionCodec; + this.context = context; + this.maxStrLength = maxStrLength; + this.maxBinLength = maxBinLength; + this.maxArrayLength = maxArrayLength; + this.maxMapLength = maxMapLength; + this.maxExtLength = maxExtLength; + this.keyDecoder = keyDecoder; + this.totalPos = 0; + this.pos = 0; + this.view = EMPTY_VIEW; + this.bytes = EMPTY_BYTES; + this.headByte = HEAD_BYTE_REQUIRED; + this.stack = []; + } + Decoder.prototype.reinitializeState = function () { + this.totalPos = 0; + this.headByte = HEAD_BYTE_REQUIRED; + this.stack.length = 0; + // view, bytes, and pos will be re-initialized in setBuffer() + }; + Decoder.prototype.setBuffer = function (buffer) { + this.bytes = ensureUint8Array(buffer); + this.view = createDataView(this.bytes); + this.pos = 0; + }; + Decoder.prototype.appendBuffer = function (buffer) { + if (this.headByte === HEAD_BYTE_REQUIRED && !this.hasRemaining(1)) { + this.setBuffer(buffer); + } + else { + var remainingData = this.bytes.subarray(this.pos); + var newData = ensureUint8Array(buffer); + // concat remainingData + newData + var newBuffer = new Uint8Array(remainingData.length + newData.length); + newBuffer.set(remainingData); + newBuffer.set(newData, remainingData.length); + this.setBuffer(newBuffer); + } + }; + Decoder.prototype.hasRemaining = function (size) { + return this.view.byteLength - this.pos >= size; + }; + Decoder.prototype.createExtraByteError = function (posToShow) { + var _a = this, view = _a.view, pos = _a.pos; + return new RangeError("Extra " + (view.byteLength - pos) + " of " + view.byteLength + " byte(s) found at buffer[" + posToShow + "]"); + }; + /** + * @throws {DecodeError} + * @throws {RangeError} + */ + Decoder.prototype.decode = function (buffer) { + this.reinitializeState(); + this.setBuffer(buffer); + var object = this.doDecodeSync(); + if (this.hasRemaining(1)) { + throw this.createExtraByteError(this.pos); + } + return object; + }; + Decoder.prototype.decodeMulti = function (buffer) { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + this.reinitializeState(); + this.setBuffer(buffer); + _a.label = 1; + case 1: + if (!this.hasRemaining(1)) return [3 /*break*/, 3]; + return [4 /*yield*/, this.doDecodeSync()]; + case 2: + _a.sent(); + return [3 /*break*/, 1]; + case 3: return [2 /*return*/]; + } + }); + }; + Decoder.prototype.decodeAsync = function (stream) { + var stream_1, stream_1_1; + var e_1, _a; + return __awaiter(this, void 0, void 0, function () { + var decoded, object, buffer, e_1_1, _b, headByte, pos, totalPos; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + decoded = false; + _c.label = 1; + case 1: + _c.trys.push([1, 6, 7, 12]); + stream_1 = __asyncValues(stream); + _c.label = 2; + case 2: return [4 /*yield*/, stream_1.next()]; + case 3: + if (!(stream_1_1 = _c.sent(), !stream_1_1.done)) return [3 /*break*/, 5]; + buffer = stream_1_1.value; + if (decoded) { + throw this.createExtraByteError(this.totalPos); + } + this.appendBuffer(buffer); + try { + object = this.doDecodeSync(); + decoded = true; + } + catch (e) { + if (!(e instanceof DataViewIndexOutOfBoundsError)) { + throw e; // rethrow + } + // fallthrough + } + this.totalPos += this.pos; + _c.label = 4; + case 4: return [3 /*break*/, 2]; + case 5: return [3 /*break*/, 12]; + case 6: + e_1_1 = _c.sent(); + e_1 = { error: e_1_1 }; + return [3 /*break*/, 12]; + case 7: + _c.trys.push([7, , 10, 11]); + if (!(stream_1_1 && !stream_1_1.done && (_a = stream_1.return))) return [3 /*break*/, 9]; + return [4 /*yield*/, _a.call(stream_1)]; + case 8: + _c.sent(); + _c.label = 9; + case 9: return [3 /*break*/, 11]; + case 10: + if (e_1) throw e_1.error; + return [7 /*endfinally*/]; + case 11: return [7 /*endfinally*/]; + case 12: + if (decoded) { + if (this.hasRemaining(1)) { + throw this.createExtraByteError(this.totalPos); + } + return [2 /*return*/, object]; + } + _b = this, headByte = _b.headByte, pos = _b.pos, totalPos = _b.totalPos; + throw new RangeError("Insufficient data in parsing " + prettyByte(headByte) + " at " + totalPos + " (" + pos + " in the current buffer)"); + } + }); + }); + }; + Decoder.prototype.decodeArrayStream = function (stream) { + return this.decodeMultiAsync(stream, true); + }; + Decoder.prototype.decodeStream = function (stream) { + return this.decodeMultiAsync(stream, false); + }; + Decoder.prototype.decodeMultiAsync = function (stream, isArray) { + return __asyncGenerator(this, arguments, function decodeMultiAsync_1() { + var isArrayHeaderRequired, arrayItemsLeft, stream_2, stream_2_1, buffer, e_2, e_3_1; + var e_3, _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + isArrayHeaderRequired = isArray; + arrayItemsLeft = -1; + _b.label = 1; + case 1: + _b.trys.push([1, 13, 14, 19]); + stream_2 = __asyncValues(stream); + _b.label = 2; + case 2: return [4 /*yield*/, __await(stream_2.next())]; + case 3: + if (!(stream_2_1 = _b.sent(), !stream_2_1.done)) return [3 /*break*/, 12]; + buffer = stream_2_1.value; + if (isArray && arrayItemsLeft === 0) { + throw this.createExtraByteError(this.totalPos); + } + this.appendBuffer(buffer); + if (isArrayHeaderRequired) { + arrayItemsLeft = this.readArraySize(); + isArrayHeaderRequired = false; + this.complete(); + } + _b.label = 4; + case 4: + _b.trys.push([4, 9, , 10]); + _b.label = 5; + case 5: + if (false) {} + return [4 /*yield*/, __await(this.doDecodeSync())]; + case 6: return [4 /*yield*/, _b.sent()]; + case 7: + _b.sent(); + if (--arrayItemsLeft === 0) { + return [3 /*break*/, 8]; + } + return [3 /*break*/, 5]; + case 8: return [3 /*break*/, 10]; + case 9: + e_2 = _b.sent(); + if (!(e_2 instanceof DataViewIndexOutOfBoundsError)) { + throw e_2; // rethrow + } + return [3 /*break*/, 10]; + case 10: + this.totalPos += this.pos; + _b.label = 11; + case 11: return [3 /*break*/, 2]; + case 12: return [3 /*break*/, 19]; + case 13: + e_3_1 = _b.sent(); + e_3 = { error: e_3_1 }; + return [3 /*break*/, 19]; + case 14: + _b.trys.push([14, , 17, 18]); + if (!(stream_2_1 && !stream_2_1.done && (_a = stream_2.return))) return [3 /*break*/, 16]; + return [4 /*yield*/, __await(_a.call(stream_2))]; + case 15: + _b.sent(); + _b.label = 16; + case 16: return [3 /*break*/, 18]; + case 17: + if (e_3) throw e_3.error; + return [7 /*endfinally*/]; + case 18: return [7 /*endfinally*/]; + case 19: return [2 /*return*/]; + } + }); + }); + }; + Decoder.prototype.doDecodeSync = function () { + DECODE: while (true) { + var headByte = this.readHeadByte(); + var object = void 0; + if (headByte >= 0xe0) { + // negative fixint (111x xxxx) 0xe0 - 0xff + object = headByte - 0x100; + } + else if (headByte < 0xc0) { + if (headByte < 0x80) { + // positive fixint (0xxx xxxx) 0x00 - 0x7f + object = headByte; + } + else if (headByte < 0x90) { + // fixmap (1000 xxxx) 0x80 - 0x8f + var size = headByte - 0x80; + if (size !== 0) { + this.pushMapState(size); + this.complete(); + continue DECODE; + } + else { + object = {}; + } + } + else if (headByte < 0xa0) { + // fixarray (1001 xxxx) 0x90 - 0x9f + var size = headByte - 0x90; + if (size !== 0) { + this.pushArrayState(size); + this.complete(); + continue DECODE; + } + else { + object = []; + } + } + else { + // fixstr (101x xxxx) 0xa0 - 0xbf + var byteLength = headByte - 0xa0; + object = this.decodeUtf8String(byteLength, 0); + } + } + else if (headByte === 0xc0) { + // nil + object = null; + } + else if (headByte === 0xc2) { + // false + object = false; + } + else if (headByte === 0xc3) { + // true + object = true; + } + else if (headByte === 0xca) { + // float 32 + object = this.readF32(); + } + else if (headByte === 0xcb) { + // float 64 + object = this.readF64(); + } + else if (headByte === 0xcc) { + // uint 8 + object = this.readU8(); + } + else if (headByte === 0xcd) { + // uint 16 + object = this.readU16(); + } + else if (headByte === 0xce) { + // uint 32 + object = this.readU32(); + } + else if (headByte === 0xcf) { + // uint 64 + object = this.readU64(); + } + else if (headByte === 0xd0) { + // int 8 + object = this.readI8(); + } + else if (headByte === 0xd1) { + // int 16 + object = this.readI16(); + } + else if (headByte === 0xd2) { + // int 32 + object = this.readI32(); + } + else if (headByte === 0xd3) { + // int 64 + object = this.readI64(); + } + else if (headByte === 0xd9) { + // str 8 + var byteLength = this.lookU8(); + object = this.decodeUtf8String(byteLength, 1); + } + else if (headByte === 0xda) { + // str 16 + var byteLength = this.lookU16(); + object = this.decodeUtf8String(byteLength, 2); + } + else if (headByte === 0xdb) { + // str 32 + var byteLength = this.lookU32(); + object = this.decodeUtf8String(byteLength, 4); + } + else if (headByte === 0xdc) { + // array 16 + var size = this.readU16(); + if (size !== 0) { + this.pushArrayState(size); + this.complete(); + continue DECODE; + } + else { + object = []; + } + } + else if (headByte === 0xdd) { + // array 32 + var size = this.readU32(); + if (size !== 0) { + this.pushArrayState(size); + this.complete(); + continue DECODE; + } + else { + object = []; + } + } + else if (headByte === 0xde) { + // map 16 + var size = this.readU16(); + if (size !== 0) { + this.pushMapState(size); + this.complete(); + continue DECODE; + } + else { + object = {}; + } + } + else if (headByte === 0xdf) { + // map 32 + var size = this.readU32(); + if (size !== 0) { + this.pushMapState(size); + this.complete(); + continue DECODE; + } + else { + object = {}; + } + } + else if (headByte === 0xc4) { + // bin 8 + var size = this.lookU8(); + object = this.decodeBinary(size, 1); + } + else if (headByte === 0xc5) { + // bin 16 + var size = this.lookU16(); + object = this.decodeBinary(size, 2); + } + else if (headByte === 0xc6) { + // bin 32 + var size = this.lookU32(); + object = this.decodeBinary(size, 4); + } + else if (headByte === 0xd4) { + // fixext 1 + object = this.decodeExtension(1, 0); + } + else if (headByte === 0xd5) { + // fixext 2 + object = this.decodeExtension(2, 0); + } + else if (headByte === 0xd6) { + // fixext 4 + object = this.decodeExtension(4, 0); + } + else if (headByte === 0xd7) { + // fixext 8 + object = this.decodeExtension(8, 0); + } + else if (headByte === 0xd8) { + // fixext 16 + object = this.decodeExtension(16, 0); + } + else if (headByte === 0xc7) { + // ext 8 + var size = this.lookU8(); + object = this.decodeExtension(size, 1); + } + else if (headByte === 0xc8) { + // ext 16 + var size = this.lookU16(); + object = this.decodeExtension(size, 2); + } + else if (headByte === 0xc9) { + // ext 32 + var size = this.lookU32(); + object = this.decodeExtension(size, 4); + } + else { + throw new DecodeError("Unrecognized type byte: " + prettyByte(headByte)); + } + this.complete(); + var stack = this.stack; + while (stack.length > 0) { + // arrays and maps + var state = stack[stack.length - 1]; + if (state.type === 0 /* ARRAY */) { + state.array[state.position] = object; + state.position++; + if (state.position === state.size) { + stack.pop(); + object = state.array; + } + else { + continue DECODE; + } + } + else if (state.type === 1 /* MAP_KEY */) { + if (!isValidMapKeyType(object)) { + throw new DecodeError("The type of key must be string or number but " + typeof object); + } + if (object === "__proto__") { + throw new DecodeError("The key __proto__ is not allowed"); + } + state.key = object; + state.type = 2 /* MAP_VALUE */; + continue DECODE; + } + else { + // it must be `state.type === State.MAP_VALUE` here + state.map[state.key] = object; + state.readCount++; + if (state.readCount === state.size) { + stack.pop(); + object = state.map; + } + else { + state.key = null; + state.type = 1 /* MAP_KEY */; + continue DECODE; + } + } + } + return object; + } + }; + Decoder.prototype.readHeadByte = function () { + if (this.headByte === HEAD_BYTE_REQUIRED) { + this.headByte = this.readU8(); + // console.log("headByte", prettyByte(this.headByte)); + } + return this.headByte; + }; + Decoder.prototype.complete = function () { + this.headByte = HEAD_BYTE_REQUIRED; + }; + Decoder.prototype.readArraySize = function () { + var headByte = this.readHeadByte(); + switch (headByte) { + case 0xdc: + return this.readU16(); + case 0xdd: + return this.readU32(); + default: { + if (headByte < 0xa0) { + return headByte - 0x90; + } + else { + throw new DecodeError("Unrecognized array type byte: " + prettyByte(headByte)); + } + } + } + }; + Decoder.prototype.pushMapState = function (size) { + if (size > this.maxMapLength) { + throw new DecodeError("Max length exceeded: map length (" + size + ") > maxMapLengthLength (" + this.maxMapLength + ")"); + } + this.stack.push({ + type: 1 /* MAP_KEY */, + size: size, + key: null, + readCount: 0, + map: {}, + }); + }; + Decoder.prototype.pushArrayState = function (size) { + if (size > this.maxArrayLength) { + throw new DecodeError("Max length exceeded: array length (" + size + ") > maxArrayLength (" + this.maxArrayLength + ")"); + } + this.stack.push({ + type: 0 /* ARRAY */, + size: size, + array: new Array(size), + position: 0, + }); + }; + Decoder.prototype.decodeUtf8String = function (byteLength, headerOffset) { + var _a; + if (byteLength > this.maxStrLength) { + throw new DecodeError("Max length exceeded: UTF-8 byte length (" + byteLength + ") > maxStrLength (" + this.maxStrLength + ")"); + } + if (this.bytes.byteLength < this.pos + headerOffset + byteLength) { + throw MORE_DATA; + } + var offset = this.pos + headerOffset; + var object; + if (this.stateIsMapKey() && ((_a = this.keyDecoder) === null || _a === void 0 ? void 0 : _a.canBeCached(byteLength))) { + object = this.keyDecoder.decode(this.bytes, offset, byteLength); + } + else if (byteLength > TEXT_DECODER_THRESHOLD) { + object = utf8DecodeTD(this.bytes, offset, byteLength); + } + else { + object = utf8DecodeJs(this.bytes, offset, byteLength); + } + this.pos += headerOffset + byteLength; + return object; + }; + Decoder.prototype.stateIsMapKey = function () { + if (this.stack.length > 0) { + var state = this.stack[this.stack.length - 1]; + return state.type === 1 /* MAP_KEY */; + } + return false; + }; + Decoder.prototype.decodeBinary = function (byteLength, headOffset) { + if (byteLength > this.maxBinLength) { + throw new DecodeError("Max length exceeded: bin length (" + byteLength + ") > maxBinLength (" + this.maxBinLength + ")"); + } + if (!this.hasRemaining(byteLength + headOffset)) { + throw MORE_DATA; + } + var offset = this.pos + headOffset; + var object = this.bytes.subarray(offset, offset + byteLength); + this.pos += headOffset + byteLength; + return object; + }; + Decoder.prototype.decodeExtension = function (size, headOffset) { + if (size > this.maxExtLength) { + throw new DecodeError("Max length exceeded: ext length (" + size + ") > maxExtLength (" + this.maxExtLength + ")"); + } + var extType = this.view.getInt8(this.pos + headOffset); + var data = this.decodeBinary(size, headOffset + 1 /* extType */); + return this.extensionCodec.decode(data, extType, this.context); + }; + Decoder.prototype.lookU8 = function () { + return this.view.getUint8(this.pos); + }; + Decoder.prototype.lookU16 = function () { + return this.view.getUint16(this.pos); + }; + Decoder.prototype.lookU32 = function () { + return this.view.getUint32(this.pos); + }; + Decoder.prototype.readU8 = function () { + var value = this.view.getUint8(this.pos); + this.pos++; + return value; + }; + Decoder.prototype.readI8 = function () { + var value = this.view.getInt8(this.pos); + this.pos++; + return value; + }; + Decoder.prototype.readU16 = function () { + var value = this.view.getUint16(this.pos); + this.pos += 2; + return value; + }; + Decoder.prototype.readI16 = function () { + var value = this.view.getInt16(this.pos); + this.pos += 2; + return value; + }; + Decoder.prototype.readU32 = function () { + var value = this.view.getUint32(this.pos); + this.pos += 4; + return value; + }; + Decoder.prototype.readI32 = function () { + var value = this.view.getInt32(this.pos); + this.pos += 4; + return value; + }; + Decoder.prototype.readU64 = function () { + var value = getUint64(this.view, this.pos); + this.pos += 8; + return value; + }; + Decoder.prototype.readI64 = function () { + var value = getInt64(this.view, this.pos); + this.pos += 8; + return value; + }; + Decoder.prototype.readF32 = function () { + var value = this.view.getFloat32(this.pos); + this.pos += 4; + return value; + }; + Decoder.prototype.readF64 = function () { + var value = this.view.getFloat64(this.pos); + this.pos += 8; + return value; + }; + return Decoder; +}()); + +//# sourceMappingURL=Decoder.mjs.map +// EXTERNAL MODULE: external "signalR" +var external_signalR_ = __webpack_require__(1); +;// CONCATENATED MODULE: ./src/BinaryMessageFormat.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// Not exported from index. +/** @private */ +class BinaryMessageFormat { + // The length prefix of binary messages is encoded as VarInt. Read the comment in + // the BinaryMessageParser.TryParseMessage for details. + static write(output) { + let size = output.byteLength || output.length; + const lenBuffer = []; + do { + let sizePart = size & 0x7f; + size = size >> 7; + if (size > 0) { + sizePart |= 0x80; + } + lenBuffer.push(sizePart); + } while (size > 0); + size = output.byteLength || output.length; + const buffer = new Uint8Array(lenBuffer.length + size); + buffer.set(lenBuffer, 0); + buffer.set(output, lenBuffer.length); + return buffer.buffer; + } + static parse(input) { + const result = []; + const uint8Array = new Uint8Array(input); + const maxLengthPrefixSize = 5; + const numBitsToShift = [0, 7, 14, 21, 28]; + for (let offset = 0; offset < input.byteLength;) { + let numBytes = 0; + let size = 0; + let byteRead; + do { + byteRead = uint8Array[offset + numBytes]; + size = size | ((byteRead & 0x7f) << (numBitsToShift[numBytes])); + numBytes++; + } while (numBytes < Math.min(maxLengthPrefixSize, input.byteLength - offset) && (byteRead & 0x80) !== 0); + if ((byteRead & 0x80) !== 0 && numBytes < maxLengthPrefixSize) { + throw new Error("Cannot read message size."); + } + if (numBytes === maxLengthPrefixSize && byteRead > 7) { + throw new Error("Messages bigger than 2GB are not supported."); + } + if (uint8Array.byteLength >= (offset + numBytes + size)) { + // IE does not support .slice() so use subarray + result.push(uint8Array.slice + ? uint8Array.slice(offset + numBytes, offset + numBytes + size) + : uint8Array.subarray(offset + numBytes, offset + numBytes + size)); + } + else { + throw new Error("Incomplete message."); + } + offset = offset + numBytes + size; + } + return result; + } +} + +;// CONCATENATED MODULE: ./src/Utils.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// Copied from signalr/Utils.ts +/** @private */ +function isArrayBuffer(val) { + return val && typeof ArrayBuffer !== "undefined" && + (val instanceof ArrayBuffer || + // Sometimes we get an ArrayBuffer that doesn't satisfy instanceof + (val.constructor && val.constructor.name === "ArrayBuffer")); +} + +;// CONCATENATED MODULE: ./src/MessagePackHubProtocol.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + + + + +// TypeDoc's @inheritDoc and @link don't work across modules :( +// constant encoding of the ping message +// see: https://github.com/aspnet/SignalR/blob/dev/specs/HubProtocol.md#ping-message-encoding-1 +// Don't use Uint8Array.from as IE does not support it +const SERIALIZED_PING_MESSAGE = new Uint8Array([0x91, external_signalR_.MessageType.Ping]); +/** Implements the MessagePack Hub Protocol */ +class MessagePackHubProtocol { + /** + * + * @param messagePackOptions MessagePack options passed to @msgpack/msgpack + */ + constructor(messagePackOptions) { + /** The name of the protocol. This is used by SignalR to resolve the protocol between the client and server. */ + this.name = "messagepack"; + /** The version of the protocol. */ + this.version = 1; + /** The TransferFormat of the protocol. */ + this.transferFormat = external_signalR_.TransferFormat.Binary; + this._errorResult = 1; + this._voidResult = 2; + this._nonVoidResult = 3; + messagePackOptions = messagePackOptions || {}; + this._encoder = new Encoder(messagePackOptions.extensionCodec, messagePackOptions.context, messagePackOptions.maxDepth, messagePackOptions.initialBufferSize, messagePackOptions.sortKeys, messagePackOptions.forceFloat32, messagePackOptions.ignoreUndefined, messagePackOptions.forceIntegerToFloat); + this._decoder = new Decoder(messagePackOptions.extensionCodec, messagePackOptions.context, messagePackOptions.maxStrLength, messagePackOptions.maxBinLength, messagePackOptions.maxArrayLength, messagePackOptions.maxMapLength, messagePackOptions.maxExtLength); + } + /** Creates an array of HubMessage objects from the specified serialized representation. + * + * @param {ArrayBuffer} input An ArrayBuffer containing the serialized representation. + * @param {ILogger} logger A logger that will be used to log messages that occur during parsing. + */ + parseMessages(input, logger) { + // The interface does allow "string" to be passed in, but this implementation does not. So let's throw a useful error. + if (!(isArrayBuffer(input))) { + throw new Error("Invalid input for MessagePack hub protocol. Expected an ArrayBuffer."); + } + if (logger === null) { + logger = external_signalR_.NullLogger.instance; + } + const messages = BinaryMessageFormat.parse(input); + const hubMessages = []; + for (const message of messages) { + const parsedMessage = this._parseMessage(message, logger); + // Can be null for an unknown message. Unknown message is logged in parseMessage + if (parsedMessage) { + hubMessages.push(parsedMessage); + } + } + return hubMessages; + } + /** Writes the specified HubMessage to an ArrayBuffer and returns it. + * + * @param {HubMessage} message The message to write. + * @returns {ArrayBuffer} An ArrayBuffer containing the serialized representation of the message. + */ + writeMessage(message) { + switch (message.type) { + case external_signalR_.MessageType.Invocation: + return this._writeInvocation(message); + case external_signalR_.MessageType.StreamInvocation: + return this._writeStreamInvocation(message); + case external_signalR_.MessageType.StreamItem: + return this._writeStreamItem(message); + case external_signalR_.MessageType.Completion: + return this._writeCompletion(message); + case external_signalR_.MessageType.Ping: + return BinaryMessageFormat.write(SERIALIZED_PING_MESSAGE); + case external_signalR_.MessageType.CancelInvocation: + return this._writeCancelInvocation(message); + default: + throw new Error("Invalid message type."); + } + } + _parseMessage(input, logger) { + if (input.length === 0) { + throw new Error("Invalid payload."); + } + const properties = this._decoder.decode(input); + if (properties.length === 0 || !(properties instanceof Array)) { + throw new Error("Invalid payload."); + } + const messageType = properties[0]; + switch (messageType) { + case external_signalR_.MessageType.Invocation: + return this._createInvocationMessage(this._readHeaders(properties), properties); + case external_signalR_.MessageType.StreamItem: + return this._createStreamItemMessage(this._readHeaders(properties), properties); + case external_signalR_.MessageType.Completion: + return this._createCompletionMessage(this._readHeaders(properties), properties); + case external_signalR_.MessageType.Ping: + return this._createPingMessage(properties); + case external_signalR_.MessageType.Close: + return this._createCloseMessage(properties); + default: + // Future protocol changes can add message types, old clients can ignore them + logger.log(external_signalR_.LogLevel.Information, "Unknown message type '" + messageType + "' ignored."); + return null; + } + } + _createCloseMessage(properties) { + // check minimum length to allow protocol to add items to the end of objects in future releases + if (properties.length < 2) { + throw new Error("Invalid payload for Close message."); + } + return { + // Close messages have no headers. + allowReconnect: properties.length >= 3 ? properties[2] : undefined, + error: properties[1], + type: external_signalR_.MessageType.Close, + }; + } + _createPingMessage(properties) { + // check minimum length to allow protocol to add items to the end of objects in future releases + if (properties.length < 1) { + throw new Error("Invalid payload for Ping message."); + } + return { + // Ping messages have no headers. + type: external_signalR_.MessageType.Ping, + }; + } + _createInvocationMessage(headers, properties) { + // check minimum length to allow protocol to add items to the end of objects in future releases + if (properties.length < 5) { + throw new Error("Invalid payload for Invocation message."); + } + const invocationId = properties[2]; + if (invocationId) { + return { + arguments: properties[4], + headers, + invocationId, + streamIds: [], + target: properties[3], + type: external_signalR_.MessageType.Invocation, + }; + } + else { + return { + arguments: properties[4], + headers, + streamIds: [], + target: properties[3], + type: external_signalR_.MessageType.Invocation, + }; + } + } + _createStreamItemMessage(headers, properties) { + // check minimum length to allow protocol to add items to the end of objects in future releases + if (properties.length < 4) { + throw new Error("Invalid payload for StreamItem message."); + } + return { + headers, + invocationId: properties[2], + item: properties[3], + type: external_signalR_.MessageType.StreamItem, + }; + } + _createCompletionMessage(headers, properties) { + // check minimum length to allow protocol to add items to the end of objects in future releases + if (properties.length < 4) { + throw new Error("Invalid payload for Completion message."); + } + const resultKind = properties[3]; + if (resultKind !== this._voidResult && properties.length < 5) { + throw new Error("Invalid payload for Completion message."); + } + let error; + let result; + switch (resultKind) { + case this._errorResult: + error = properties[4]; + break; + case this._nonVoidResult: + result = properties[4]; + break; + } + const completionMessage = { + error, + headers, + invocationId: properties[2], + result, + type: external_signalR_.MessageType.Completion, + }; + return completionMessage; + } + _writeInvocation(invocationMessage) { + let payload; + if (invocationMessage.streamIds) { + payload = this._encoder.encode([external_signalR_.MessageType.Invocation, invocationMessage.headers || {}, invocationMessage.invocationId || null, + invocationMessage.target, invocationMessage.arguments, invocationMessage.streamIds]); + } + else { + payload = this._encoder.encode([external_signalR_.MessageType.Invocation, invocationMessage.headers || {}, invocationMessage.invocationId || null, + invocationMessage.target, invocationMessage.arguments]); + } + return BinaryMessageFormat.write(payload.slice()); + } + _writeStreamInvocation(streamInvocationMessage) { + let payload; + if (streamInvocationMessage.streamIds) { + payload = this._encoder.encode([external_signalR_.MessageType.StreamInvocation, streamInvocationMessage.headers || {}, streamInvocationMessage.invocationId, + streamInvocationMessage.target, streamInvocationMessage.arguments, streamInvocationMessage.streamIds]); + } + else { + payload = this._encoder.encode([external_signalR_.MessageType.StreamInvocation, streamInvocationMessage.headers || {}, streamInvocationMessage.invocationId, + streamInvocationMessage.target, streamInvocationMessage.arguments]); + } + return BinaryMessageFormat.write(payload.slice()); + } + _writeStreamItem(streamItemMessage) { + const payload = this._encoder.encode([external_signalR_.MessageType.StreamItem, streamItemMessage.headers || {}, streamItemMessage.invocationId, + streamItemMessage.item]); + return BinaryMessageFormat.write(payload.slice()); + } + _writeCompletion(completionMessage) { + const resultKind = completionMessage.error ? this._errorResult : completionMessage.result ? this._nonVoidResult : this._voidResult; + let payload; + switch (resultKind) { + case this._errorResult: + payload = this._encoder.encode([external_signalR_.MessageType.Completion, completionMessage.headers || {}, completionMessage.invocationId, resultKind, completionMessage.error]); + break; + case this._voidResult: + payload = this._encoder.encode([external_signalR_.MessageType.Completion, completionMessage.headers || {}, completionMessage.invocationId, resultKind]); + break; + case this._nonVoidResult: + payload = this._encoder.encode([external_signalR_.MessageType.Completion, completionMessage.headers || {}, completionMessage.invocationId, resultKind, completionMessage.result]); + break; + } + return BinaryMessageFormat.write(payload.slice()); + } + _writeCancelInvocation(cancelInvocationMessage) { + const payload = this._encoder.encode([external_signalR_.MessageType.CancelInvocation, cancelInvocationMessage.headers || {}, cancelInvocationMessage.invocationId]); + return BinaryMessageFormat.write(payload.slice()); + } + _readHeaders(properties) { + const headers = properties[1]; + if (typeof headers !== "object") { + throw new Error("Invalid headers."); + } + return headers; + } +} + +;// CONCATENATED MODULE: ./src/index.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// Version token that will be replaced by the prepack command +/** The version of the SignalR Message Pack protocol library. */ +const VERSION = "6.0.6"; + + +;// CONCATENATED MODULE: ./src/browser-index.ts +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// This is where we add any polyfills we'll need for the browser. It is the entry module for browser-specific builds. + + +})(); + +/******/ return __webpack_exports__; +/******/ })() +; +}); //# sourceMappingURL=signalr-protocol-msgpack.js.map \ No newline at end of file diff --git a/Server/wwwroot/lib/microsoft/signalr-protocol-msgpack/dist/browser/signalr-protocol-msgpack.js.map b/Server/wwwroot/lib/microsoft/signalr-protocol-msgpack/dist/browser/signalr-protocol-msgpack.js.map index 5e313db1..fd50df45 100644 --- a/Server/wwwroot/lib/microsoft/signalr-protocol-msgpack/dist/browser/signalr-protocol-msgpack.js.map +++ b/Server/wwwroot/lib/microsoft/signalr-protocol-msgpack/dist/browser/signalr-protocol-msgpack.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://signalR.protocols.msgpack/webpack/universalModuleDefinition","webpack://signalR.protocols.msgpack/external \"signalR\"","webpack://signalR.protocols.msgpack/webpack/bootstrap","webpack://signalR.protocols.msgpack/webpack/runtime/define property getters","webpack://signalR.protocols.msgpack/webpack/runtime/hasOwnProperty shorthand","webpack://signalR.protocols.msgpack/webpack/runtime/make namespace object","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/utils/int.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/utils/utf8.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/DecodeError.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/ExtData.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/timestamp.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/ExtensionCodec.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/utils/typedArrays.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/Encoder.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/utils/prettyByte.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/CachedKeyDecoder.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/Decoder.mjs","webpack://signalR.protocols.msgpack/src/BinaryMessageFormat.ts","webpack://signalR.protocols.msgpack/src/MessagePackHubProtocol.ts","webpack://signalR.protocols.msgpack/src/Utils.ts","webpack://signalR.protocols.msgpack/src/index.ts"],"names":["root","factory","self","__WEBPACK_EXTERNAL_MODULE__1__","module","exports","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","d","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","UINT32_MAX","setInt64","view","offset","high","Math","floor","low","setUint32","getInt64","getInt32","getUint32","TEXT_ENCODING_AVAILABLE","process","env","TextEncoder","TextDecoder","utf8Count","str","strLength","length","byteLength","pos","charCodeAt","extra","sharedTextEncoder","TEXT_ENCODER_THRESHOLD","utf8EncodeTE","encodeInto","output","outputOffset","subarray","set","encode","utf8DecodeJs","bytes","inputOffset","end","units","result","byte1","push","byte2","byte3","unit","String","fromCharCode","apply","extendStatics","sharedTextDecoder","TEXT_DECODER_THRESHOLD","ExtData","type","data","this","__extends","b","setPrototypeOf","__proto__","Array","p","TypeError","__","constructor","create","DecodeError","_super","message","_this","proto","configurable","name","Error","timestampExtension","object","msec","sec","nsec","nsecInSec","Date","_a","rv","Uint8Array","DataView","buffer","secHigh","secLow","encodeTimeSpecToTimestamp","getTime","decode","timeSpec","byteOffset","nsec30AndSecHigh2","decodeTimestampToTimeSpec","ExtensionCodec","builtInEncoders","builtInDecoders","encoders","decoders","register","index","tryToEncode","context","i","encodeExt","decodeExt","defaultCodec","ensureUint8Array","ArrayBuffer","isView","from","Encoder","extensionCodec","maxDepth","initialBufferSize","sortKeys","forceFloat32","ignoreUndefined","forceIntegerToFloat","getUint8Array","reinitializeState","doEncode","depth","encodeNil","encodeBoolean","encodeNumber","encodeString","encodeObject","ensureBufferSizeToWrite","sizeToWrite","requiredSize","resizeBuffer","newSize","newBuffer","newBytes","newView","writeU8","Number","isSafeInteger","writeU16","writeU32","writeU64","writeI8","writeI16","writeI32","writeI64","writeF32","writeF64","writeStringHeader","utf8EncodeJs","ext","encodeExtension","isArray","encodeArray","encodeBinary","toString","encodeMap","size","writeU8a","_i","object_1","item","countWithoutUndefined","keys","count","keys_1","sort","keys_2","setUint8","values","setInt8","setUint16","setInt16","setInt32","setFloat32","setFloat64","setUint64","prettyByte","byte","abs","padStart","CachedKeyDecoder","maxKeyLength","maxLengthPerKey","hit","miss","caches","canBeCached","find","FIND_CHUNK","records_1","record","recordBytes","j","store","records","random","cachedValue","slicedCopyOfBytes","slice","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","e","rejected","done","then","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","iterator","n","v","op","pop","__asyncValues","asyncIterator","m","__values","settle","__await","__asyncGenerator","q","a","resume","fulfill","shift","EMPTY_VIEW","EMPTY_BYTES","DataViewIndexOutOfBoundsError","getInt8","MORE_DATA","sharedCachedKeyDecoder","Decoder","maxStrLength","maxBinLength","maxArrayLength","maxMapLength","maxExtLength","keyDecoder","totalPos","headByte","stack","setBuffer","bufferView","createDataView","appendBuffer","hasRemaining","remainingData","newData","createExtraByteError","posToShow","RangeError","doDecodeSync","decodeMulti","decodeAsync","stream","stream_1","stream_1_1","e_1","decoded","e_1_1","_b","_c","error","return","decodeArrayStream","decodeMultiAsync","decodeStream","arguments","isArrayHeaderRequired","arrayItemsLeft","stream_2","stream_2_1","e_2","e_3_1","e_3","readArraySize","complete","DECODE","readHeadByte","pushMapState","pushArrayState","decodeUtf8String","readF32","readF64","readU8","readU16","readU32","readU64","readI8","readI16","readI32","readI64","lookU8","lookU16","lookU32","decodeBinary","decodeExtension","state","array","position","keyType","map","readCount","headerOffset","stateIsMapKey","stringBytes","utf8DecodeTD","headOffset","extType","getUint8","getUint16","getInt16","getFloat32","getFloat64","BinaryMessageFormat","lenBuffer","sizePart","input","uint8Array","numBitsToShift","byteRead","numBytes","min","SERIALIZED_PING_MESSAGE","MessageType","MessagePackHubProtocol","messagePackOptions","version","transferFormat","TransferFormat","_errorResult","_voidResult","_nonVoidResult","_encoder","_decoder","logger","val","NullLogger","messages","parse","hubMessages","parsedMessage","_parseMessage","_writeInvocation","_writeStreamInvocation","_writeStreamItem","_writeCompletion","write","_writeCancelInvocation","properties","messageType","_createInvocationMessage","_readHeaders","_createStreamItemMessage","_createCompletionMessage","_createPingMessage","_createCloseMessage","log","LogLevel","allowReconnect","headers","invocationId","streamIds","target","resultKind","invocationMessage","payload","streamInvocationMessage","streamItemMessage","completionMessage","cancelInvocationMessage","VERSION","require","define","amd"],"mappings":"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","file":"signalr-protocol-msgpack.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"signalR\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"signalR\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"msgpack\"] = factory(require(\"signalR\"));\n\telse\n\t\troot[\"signalR\"] = root[\"signalR\"] || {}, root[\"signalR\"][\"protocols\"] = root[\"signalR\"][\"protocols\"] || {}, root[\"signalR\"][\"protocols\"][\"msgpack\"] = factory(root[\"signalR\"]);\n})(self, function(__WEBPACK_EXTERNAL_MODULE__1__) {\nreturn ","module.exports = __WEBPACK_EXTERNAL_MODULE__1__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// Integer Utility\nexport var UINT32_MAX = 4294967295;\n// DataView extension to handle int64 / uint64,\n// where the actual range is 53-bits integer (a.k.a. safe integer)\nexport function setUint64(view, offset, value) {\n var high = value / 4294967296;\n var low = value; // high bits are truncated by DataView\n view.setUint32(offset, high);\n view.setUint32(offset + 4, low);\n}\nexport function setInt64(view, offset, value) {\n var high = Math.floor(value / 4294967296);\n var low = value; // high bits are truncated by DataView\n view.setUint32(offset, high);\n view.setUint32(offset + 4, low);\n}\nexport function getInt64(view, offset) {\n var high = view.getInt32(offset);\n var low = view.getUint32(offset + 4);\n return high * 4294967296 + low;\n}\nexport function getUint64(view, offset) {\n var high = view.getUint32(offset);\n var low = view.getUint32(offset + 4);\n return high * 4294967296 + low;\n}\n//# sourceMappingURL=int.mjs.map","import { UINT32_MAX } from \"./int.mjs\";\nvar TEXT_ENCODING_AVAILABLE = (typeof process === \"undefined\" || process.env[\"TEXT_ENCODING\"] !== \"never\") &&\n typeof TextEncoder !== \"undefined\" &&\n typeof TextDecoder !== \"undefined\";\nexport function utf8Count(str) {\n var strLength = str.length;\n var byteLength = 0;\n var pos = 0;\n while (pos < strLength) {\n var value = str.charCodeAt(pos++);\n if ((value & 0xffffff80) === 0) {\n // 1-byte\n byteLength++;\n continue;\n }\n else if ((value & 0xfffff800) === 0) {\n // 2-bytes\n byteLength += 2;\n }\n else {\n // handle surrogate pair\n if (value >= 0xd800 && value <= 0xdbff) {\n // high surrogate\n if (pos < strLength) {\n var extra = str.charCodeAt(pos);\n if ((extra & 0xfc00) === 0xdc00) {\n ++pos;\n value = ((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000;\n }\n }\n }\n if ((value & 0xffff0000) === 0) {\n // 3-byte\n byteLength += 3;\n }\n else {\n // 4-byte\n byteLength += 4;\n }\n }\n }\n return byteLength;\n}\nexport function utf8EncodeJs(str, output, outputOffset) {\n var strLength = str.length;\n var offset = outputOffset;\n var pos = 0;\n while (pos < strLength) {\n var value = str.charCodeAt(pos++);\n if ((value & 0xffffff80) === 0) {\n // 1-byte\n output[offset++] = value;\n continue;\n }\n else if ((value & 0xfffff800) === 0) {\n // 2-bytes\n output[offset++] = ((value >> 6) & 0x1f) | 0xc0;\n }\n else {\n // handle surrogate pair\n if (value >= 0xd800 && value <= 0xdbff) {\n // high surrogate\n if (pos < strLength) {\n var extra = str.charCodeAt(pos);\n if ((extra & 0xfc00) === 0xdc00) {\n ++pos;\n value = ((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000;\n }\n }\n }\n if ((value & 0xffff0000) === 0) {\n // 3-byte\n output[offset++] = ((value >> 12) & 0x0f) | 0xe0;\n output[offset++] = ((value >> 6) & 0x3f) | 0x80;\n }\n else {\n // 4-byte\n output[offset++] = ((value >> 18) & 0x07) | 0xf0;\n output[offset++] = ((value >> 12) & 0x3f) | 0x80;\n output[offset++] = ((value >> 6) & 0x3f) | 0x80;\n }\n }\n output[offset++] = (value & 0x3f) | 0x80;\n }\n}\nvar sharedTextEncoder = TEXT_ENCODING_AVAILABLE ? new TextEncoder() : undefined;\nexport var TEXT_ENCODER_THRESHOLD = !TEXT_ENCODING_AVAILABLE\n ? UINT32_MAX\n : typeof process !== \"undefined\" && process.env[\"TEXT_ENCODING\"] !== \"force\"\n ? 200\n : 0;\nfunction utf8EncodeTEencode(str, output, outputOffset) {\n output.set(sharedTextEncoder.encode(str), outputOffset);\n}\nfunction utf8EncodeTEencodeInto(str, output, outputOffset) {\n sharedTextEncoder.encodeInto(str, output.subarray(outputOffset));\n}\nexport var utf8EncodeTE = (sharedTextEncoder === null || sharedTextEncoder === void 0 ? void 0 : sharedTextEncoder.encodeInto) ? utf8EncodeTEencodeInto : utf8EncodeTEencode;\nvar CHUNK_SIZE = 4096;\nexport function utf8DecodeJs(bytes, inputOffset, byteLength) {\n var offset = inputOffset;\n var end = offset + byteLength;\n var units = [];\n var result = \"\";\n while (offset < end) {\n var byte1 = bytes[offset++];\n if ((byte1 & 0x80) === 0) {\n // 1 byte\n units.push(byte1);\n }\n else if ((byte1 & 0xe0) === 0xc0) {\n // 2 bytes\n var byte2 = bytes[offset++] & 0x3f;\n units.push(((byte1 & 0x1f) << 6) | byte2);\n }\n else if ((byte1 & 0xf0) === 0xe0) {\n // 3 bytes\n var byte2 = bytes[offset++] & 0x3f;\n var byte3 = bytes[offset++] & 0x3f;\n units.push(((byte1 & 0x1f) << 12) | (byte2 << 6) | byte3);\n }\n else if ((byte1 & 0xf8) === 0xf0) {\n // 4 bytes\n var byte2 = bytes[offset++] & 0x3f;\n var byte3 = bytes[offset++] & 0x3f;\n var byte4 = bytes[offset++] & 0x3f;\n var unit = ((byte1 & 0x07) << 0x12) | (byte2 << 0x0c) | (byte3 << 0x06) | byte4;\n if (unit > 0xffff) {\n unit -= 0x10000;\n units.push(((unit >>> 10) & 0x3ff) | 0xd800);\n unit = 0xdc00 | (unit & 0x3ff);\n }\n units.push(unit);\n }\n else {\n units.push(byte1);\n }\n if (units.length >= CHUNK_SIZE) {\n result += String.fromCharCode.apply(String, units);\n units.length = 0;\n }\n }\n if (units.length > 0) {\n result += String.fromCharCode.apply(String, units);\n }\n return result;\n}\nvar sharedTextDecoder = TEXT_ENCODING_AVAILABLE ? new TextDecoder() : null;\nexport var TEXT_DECODER_THRESHOLD = !TEXT_ENCODING_AVAILABLE\n ? UINT32_MAX\n : typeof process !== \"undefined\" && process.env[\"TEXT_DECODER\"] !== \"force\"\n ? 200\n : 0;\nexport function utf8DecodeTD(bytes, inputOffset, byteLength) {\n var stringBytes = bytes.subarray(inputOffset, inputOffset + byteLength);\n return sharedTextDecoder.decode(stringBytes);\n}\n//# sourceMappingURL=utf8.mjs.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar DecodeError = /** @class */ (function (_super) {\n __extends(DecodeError, _super);\n function DecodeError(message) {\n var _this = _super.call(this, message) || this;\n // fix the prototype chain in a cross-platform way\n var proto = Object.create(DecodeError.prototype);\n Object.setPrototypeOf(_this, proto);\n Object.defineProperty(_this, \"name\", {\n configurable: true,\n enumerable: false,\n value: DecodeError.name,\n });\n return _this;\n }\n return DecodeError;\n}(Error));\nexport { DecodeError };\n//# sourceMappingURL=DecodeError.mjs.map","/**\n * ExtData is used to handle Extension Types that are not registered to ExtensionCodec.\n */\nvar ExtData = /** @class */ (function () {\n function ExtData(type, data) {\n this.type = type;\n this.data = data;\n }\n return ExtData;\n}());\nexport { ExtData };\n//# sourceMappingURL=ExtData.mjs.map","// https://github.com/msgpack/msgpack/blob/master/spec.md#timestamp-extension-type\nimport { DecodeError } from \"./DecodeError.mjs\";\nimport { getInt64, setInt64 } from \"./utils/int.mjs\";\nexport var EXT_TIMESTAMP = -1;\nvar TIMESTAMP32_MAX_SEC = 0x100000000 - 1; // 32-bit unsigned int\nvar TIMESTAMP64_MAX_SEC = 0x400000000 - 1; // 34-bit unsigned int\nexport function encodeTimeSpecToTimestamp(_a) {\n var sec = _a.sec, nsec = _a.nsec;\n if (sec >= 0 && nsec >= 0 && sec <= TIMESTAMP64_MAX_SEC) {\n // Here sec >= 0 && nsec >= 0\n if (nsec === 0 && sec <= TIMESTAMP32_MAX_SEC) {\n // timestamp 32 = { sec32 (unsigned) }\n var rv = new Uint8Array(4);\n var view = new DataView(rv.buffer);\n view.setUint32(0, sec);\n return rv;\n }\n else {\n // timestamp 64 = { nsec30 (unsigned), sec34 (unsigned) }\n var secHigh = sec / 0x100000000;\n var secLow = sec & 0xffffffff;\n var rv = new Uint8Array(8);\n var view = new DataView(rv.buffer);\n // nsec30 | secHigh2\n view.setUint32(0, (nsec << 2) | (secHigh & 0x3));\n // secLow32\n view.setUint32(4, secLow);\n return rv;\n }\n }\n else {\n // timestamp 96 = { nsec32 (unsigned), sec64 (signed) }\n var rv = new Uint8Array(12);\n var view = new DataView(rv.buffer);\n view.setUint32(0, nsec);\n setInt64(view, 4, sec);\n return rv;\n }\n}\nexport function encodeDateToTimeSpec(date) {\n var msec = date.getTime();\n var sec = Math.floor(msec / 1e3);\n var nsec = (msec - sec * 1e3) * 1e6;\n // Normalizes { sec, nsec } to ensure nsec is unsigned.\n var nsecInSec = Math.floor(nsec / 1e9);\n return {\n sec: sec + nsecInSec,\n nsec: nsec - nsecInSec * 1e9,\n };\n}\nexport function encodeTimestampExtension(object) {\n if (object instanceof Date) {\n var timeSpec = encodeDateToTimeSpec(object);\n return encodeTimeSpecToTimestamp(timeSpec);\n }\n else {\n return null;\n }\n}\nexport function decodeTimestampToTimeSpec(data) {\n var view = new DataView(data.buffer, data.byteOffset, data.byteLength);\n // data may be 32, 64, or 96 bits\n switch (data.byteLength) {\n case 4: {\n // timestamp 32 = { sec32 }\n var sec = view.getUint32(0);\n var nsec = 0;\n return { sec: sec, nsec: nsec };\n }\n case 8: {\n // timestamp 64 = { nsec30, sec34 }\n var nsec30AndSecHigh2 = view.getUint32(0);\n var secLow32 = view.getUint32(4);\n var sec = (nsec30AndSecHigh2 & 0x3) * 0x100000000 + secLow32;\n var nsec = nsec30AndSecHigh2 >>> 2;\n return { sec: sec, nsec: nsec };\n }\n case 12: {\n // timestamp 96 = { nsec32 (unsigned), sec64 (signed) }\n var sec = getInt64(view, 4);\n var nsec = view.getUint32(0);\n return { sec: sec, nsec: nsec };\n }\n default:\n throw new DecodeError(\"Unrecognized data size for timestamp (expected 4, 8, or 12): \" + data.length);\n }\n}\nexport function decodeTimestampExtension(data) {\n var timeSpec = decodeTimestampToTimeSpec(data);\n return new Date(timeSpec.sec * 1e3 + timeSpec.nsec / 1e6);\n}\nexport var timestampExtension = {\n type: EXT_TIMESTAMP,\n encode: encodeTimestampExtension,\n decode: decodeTimestampExtension,\n};\n//# sourceMappingURL=timestamp.mjs.map","// ExtensionCodec to handle MessagePack extensions\nimport { ExtData } from \"./ExtData.mjs\";\nimport { timestampExtension } from \"./timestamp.mjs\";\nvar ExtensionCodec = /** @class */ (function () {\n function ExtensionCodec() {\n // built-in extensions\n this.builtInEncoders = [];\n this.builtInDecoders = [];\n // custom extensions\n this.encoders = [];\n this.decoders = [];\n this.register(timestampExtension);\n }\n ExtensionCodec.prototype.register = function (_a) {\n var type = _a.type, encode = _a.encode, decode = _a.decode;\n if (type >= 0) {\n // custom extensions\n this.encoders[type] = encode;\n this.decoders[type] = decode;\n }\n else {\n // built-in extensions\n var index = 1 + type;\n this.builtInEncoders[index] = encode;\n this.builtInDecoders[index] = decode;\n }\n };\n ExtensionCodec.prototype.tryToEncode = function (object, context) {\n // built-in extensions\n for (var i = 0; i < this.builtInEncoders.length; i++) {\n var encodeExt = this.builtInEncoders[i];\n if (encodeExt != null) {\n var data = encodeExt(object, context);\n if (data != null) {\n var type = -1 - i;\n return new ExtData(type, data);\n }\n }\n }\n // custom extensions\n for (var i = 0; i < this.encoders.length; i++) {\n var encodeExt = this.encoders[i];\n if (encodeExt != null) {\n var data = encodeExt(object, context);\n if (data != null) {\n var type = i;\n return new ExtData(type, data);\n }\n }\n }\n if (object instanceof ExtData) {\n // to keep ExtData as is\n return object;\n }\n return null;\n };\n ExtensionCodec.prototype.decode = function (data, type, context) {\n var decodeExt = type < 0 ? this.builtInDecoders[-1 - type] : this.decoders[type];\n if (decodeExt) {\n return decodeExt(data, type, context);\n }\n else {\n // decode() does not fail, returns ExtData instead.\n return new ExtData(type, data);\n }\n };\n ExtensionCodec.defaultCodec = new ExtensionCodec();\n return ExtensionCodec;\n}());\nexport { ExtensionCodec };\n//# sourceMappingURL=ExtensionCodec.mjs.map","export function ensureUint8Array(buffer) {\n if (buffer instanceof Uint8Array) {\n return buffer;\n }\n else if (ArrayBuffer.isView(buffer)) {\n return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n }\n else if (buffer instanceof ArrayBuffer) {\n return new Uint8Array(buffer);\n }\n else {\n // ArrayLike\n return Uint8Array.from(buffer);\n }\n}\nexport function createDataView(buffer) {\n if (buffer instanceof ArrayBuffer) {\n return new DataView(buffer);\n }\n var bufferView = ensureUint8Array(buffer);\n return new DataView(bufferView.buffer, bufferView.byteOffset, bufferView.byteLength);\n}\n//# sourceMappingURL=typedArrays.mjs.map","import { utf8EncodeJs, utf8Count, TEXT_ENCODER_THRESHOLD, utf8EncodeTE } from \"./utils/utf8.mjs\";\nimport { ExtensionCodec } from \"./ExtensionCodec.mjs\";\nimport { setInt64, setUint64 } from \"./utils/int.mjs\";\nimport { ensureUint8Array } from \"./utils/typedArrays.mjs\";\nexport var DEFAULT_MAX_DEPTH = 100;\nexport var DEFAULT_INITIAL_BUFFER_SIZE = 2048;\nvar Encoder = /** @class */ (function () {\n function Encoder(extensionCodec, context, maxDepth, initialBufferSize, sortKeys, forceFloat32, ignoreUndefined, forceIntegerToFloat) {\n if (extensionCodec === void 0) { extensionCodec = ExtensionCodec.defaultCodec; }\n if (context === void 0) { context = undefined; }\n if (maxDepth === void 0) { maxDepth = DEFAULT_MAX_DEPTH; }\n if (initialBufferSize === void 0) { initialBufferSize = DEFAULT_INITIAL_BUFFER_SIZE; }\n if (sortKeys === void 0) { sortKeys = false; }\n if (forceFloat32 === void 0) { forceFloat32 = false; }\n if (ignoreUndefined === void 0) { ignoreUndefined = false; }\n if (forceIntegerToFloat === void 0) { forceIntegerToFloat = false; }\n this.extensionCodec = extensionCodec;\n this.context = context;\n this.maxDepth = maxDepth;\n this.initialBufferSize = initialBufferSize;\n this.sortKeys = sortKeys;\n this.forceFloat32 = forceFloat32;\n this.ignoreUndefined = ignoreUndefined;\n this.forceIntegerToFloat = forceIntegerToFloat;\n this.pos = 0;\n this.view = new DataView(new ArrayBuffer(this.initialBufferSize));\n this.bytes = new Uint8Array(this.view.buffer);\n }\n Encoder.prototype.getUint8Array = function () {\n return this.bytes.subarray(0, this.pos);\n };\n Encoder.prototype.reinitializeState = function () {\n this.pos = 0;\n };\n Encoder.prototype.encode = function (object) {\n this.reinitializeState();\n this.doEncode(object, 1);\n return this.getUint8Array();\n };\n Encoder.prototype.doEncode = function (object, depth) {\n if (depth > this.maxDepth) {\n throw new Error(\"Too deep objects in depth \" + depth);\n }\n if (object == null) {\n this.encodeNil();\n }\n else if (typeof object === \"boolean\") {\n this.encodeBoolean(object);\n }\n else if (typeof object === \"number\") {\n this.encodeNumber(object);\n }\n else if (typeof object === \"string\") {\n this.encodeString(object);\n }\n else {\n this.encodeObject(object, depth);\n }\n };\n Encoder.prototype.ensureBufferSizeToWrite = function (sizeToWrite) {\n var requiredSize = this.pos + sizeToWrite;\n if (this.view.byteLength < requiredSize) {\n this.resizeBuffer(requiredSize * 2);\n }\n };\n Encoder.prototype.resizeBuffer = function (newSize) {\n var newBuffer = new ArrayBuffer(newSize);\n var newBytes = new Uint8Array(newBuffer);\n var newView = new DataView(newBuffer);\n newBytes.set(this.bytes);\n this.view = newView;\n this.bytes = newBytes;\n };\n Encoder.prototype.encodeNil = function () {\n this.writeU8(0xc0);\n };\n Encoder.prototype.encodeBoolean = function (object) {\n if (object === false) {\n this.writeU8(0xc2);\n }\n else {\n this.writeU8(0xc3);\n }\n };\n Encoder.prototype.encodeNumber = function (object) {\n if (Number.isSafeInteger(object) && !this.forceIntegerToFloat) {\n if (object >= 0) {\n if (object < 0x80) {\n // positive fixint\n this.writeU8(object);\n }\n else if (object < 0x100) {\n // uint 8\n this.writeU8(0xcc);\n this.writeU8(object);\n }\n else if (object < 0x10000) {\n // uint 16\n this.writeU8(0xcd);\n this.writeU16(object);\n }\n else if (object < 0x100000000) {\n // uint 32\n this.writeU8(0xce);\n this.writeU32(object);\n }\n else {\n // uint 64\n this.writeU8(0xcf);\n this.writeU64(object);\n }\n }\n else {\n if (object >= -0x20) {\n // negative fixint\n this.writeU8(0xe0 | (object + 0x20));\n }\n else if (object >= -0x80) {\n // int 8\n this.writeU8(0xd0);\n this.writeI8(object);\n }\n else if (object >= -0x8000) {\n // int 16\n this.writeU8(0xd1);\n this.writeI16(object);\n }\n else if (object >= -0x80000000) {\n // int 32\n this.writeU8(0xd2);\n this.writeI32(object);\n }\n else {\n // int 64\n this.writeU8(0xd3);\n this.writeI64(object);\n }\n }\n }\n else {\n // non-integer numbers\n if (this.forceFloat32) {\n // float 32\n this.writeU8(0xca);\n this.writeF32(object);\n }\n else {\n // float 64\n this.writeU8(0xcb);\n this.writeF64(object);\n }\n }\n };\n Encoder.prototype.writeStringHeader = function (byteLength) {\n if (byteLength < 32) {\n // fixstr\n this.writeU8(0xa0 + byteLength);\n }\n else if (byteLength < 0x100) {\n // str 8\n this.writeU8(0xd9);\n this.writeU8(byteLength);\n }\n else if (byteLength < 0x10000) {\n // str 16\n this.writeU8(0xda);\n this.writeU16(byteLength);\n }\n else if (byteLength < 0x100000000) {\n // str 32\n this.writeU8(0xdb);\n this.writeU32(byteLength);\n }\n else {\n throw new Error(\"Too long string: \" + byteLength + \" bytes in UTF-8\");\n }\n };\n Encoder.prototype.encodeString = function (object) {\n var maxHeaderSize = 1 + 4;\n var strLength = object.length;\n if (strLength > TEXT_ENCODER_THRESHOLD) {\n var byteLength = utf8Count(object);\n this.ensureBufferSizeToWrite(maxHeaderSize + byteLength);\n this.writeStringHeader(byteLength);\n utf8EncodeTE(object, this.bytes, this.pos);\n this.pos += byteLength;\n }\n else {\n var byteLength = utf8Count(object);\n this.ensureBufferSizeToWrite(maxHeaderSize + byteLength);\n this.writeStringHeader(byteLength);\n utf8EncodeJs(object, this.bytes, this.pos);\n this.pos += byteLength;\n }\n };\n Encoder.prototype.encodeObject = function (object, depth) {\n // try to encode objects with custom codec first of non-primitives\n var ext = this.extensionCodec.tryToEncode(object, this.context);\n if (ext != null) {\n this.encodeExtension(ext);\n }\n else if (Array.isArray(object)) {\n this.encodeArray(object, depth);\n }\n else if (ArrayBuffer.isView(object)) {\n this.encodeBinary(object);\n }\n else if (typeof object === \"object\") {\n this.encodeMap(object, depth);\n }\n else {\n // symbol, function and other special object come here unless extensionCodec handles them.\n throw new Error(\"Unrecognized object: \" + Object.prototype.toString.apply(object));\n }\n };\n Encoder.prototype.encodeBinary = function (object) {\n var size = object.byteLength;\n if (size < 0x100) {\n // bin 8\n this.writeU8(0xc4);\n this.writeU8(size);\n }\n else if (size < 0x10000) {\n // bin 16\n this.writeU8(0xc5);\n this.writeU16(size);\n }\n else if (size < 0x100000000) {\n // bin 32\n this.writeU8(0xc6);\n this.writeU32(size);\n }\n else {\n throw new Error(\"Too large binary: \" + size);\n }\n var bytes = ensureUint8Array(object);\n this.writeU8a(bytes);\n };\n Encoder.prototype.encodeArray = function (object, depth) {\n var size = object.length;\n if (size < 16) {\n // fixarray\n this.writeU8(0x90 + size);\n }\n else if (size < 0x10000) {\n // array 16\n this.writeU8(0xdc);\n this.writeU16(size);\n }\n else if (size < 0x100000000) {\n // array 32\n this.writeU8(0xdd);\n this.writeU32(size);\n }\n else {\n throw new Error(\"Too large array: \" + size);\n }\n for (var _i = 0, object_1 = object; _i < object_1.length; _i++) {\n var item = object_1[_i];\n this.doEncode(item, depth + 1);\n }\n };\n Encoder.prototype.countWithoutUndefined = function (object, keys) {\n var count = 0;\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\n var key = keys_1[_i];\n if (object[key] !== undefined) {\n count++;\n }\n }\n return count;\n };\n Encoder.prototype.encodeMap = function (object, depth) {\n var keys = Object.keys(object);\n if (this.sortKeys) {\n keys.sort();\n }\n var size = this.ignoreUndefined ? this.countWithoutUndefined(object, keys) : keys.length;\n if (size < 16) {\n // fixmap\n this.writeU8(0x80 + size);\n }\n else if (size < 0x10000) {\n // map 16\n this.writeU8(0xde);\n this.writeU16(size);\n }\n else if (size < 0x100000000) {\n // map 32\n this.writeU8(0xdf);\n this.writeU32(size);\n }\n else {\n throw new Error(\"Too large map object: \" + size);\n }\n for (var _i = 0, keys_2 = keys; _i < keys_2.length; _i++) {\n var key = keys_2[_i];\n var value = object[key];\n if (!(this.ignoreUndefined && value === undefined)) {\n this.encodeString(key);\n this.doEncode(value, depth + 1);\n }\n }\n };\n Encoder.prototype.encodeExtension = function (ext) {\n var size = ext.data.length;\n if (size === 1) {\n // fixext 1\n this.writeU8(0xd4);\n }\n else if (size === 2) {\n // fixext 2\n this.writeU8(0xd5);\n }\n else if (size === 4) {\n // fixext 4\n this.writeU8(0xd6);\n }\n else if (size === 8) {\n // fixext 8\n this.writeU8(0xd7);\n }\n else if (size === 16) {\n // fixext 16\n this.writeU8(0xd8);\n }\n else if (size < 0x100) {\n // ext 8\n this.writeU8(0xc7);\n this.writeU8(size);\n }\n else if (size < 0x10000) {\n // ext 16\n this.writeU8(0xc8);\n this.writeU16(size);\n }\n else if (size < 0x100000000) {\n // ext 32\n this.writeU8(0xc9);\n this.writeU32(size);\n }\n else {\n throw new Error(\"Too large extension object: \" + size);\n }\n this.writeI8(ext.type);\n this.writeU8a(ext.data);\n };\n Encoder.prototype.writeU8 = function (value) {\n this.ensureBufferSizeToWrite(1);\n this.view.setUint8(this.pos, value);\n this.pos++;\n };\n Encoder.prototype.writeU8a = function (values) {\n var size = values.length;\n this.ensureBufferSizeToWrite(size);\n this.bytes.set(values, this.pos);\n this.pos += size;\n };\n Encoder.prototype.writeI8 = function (value) {\n this.ensureBufferSizeToWrite(1);\n this.view.setInt8(this.pos, value);\n this.pos++;\n };\n Encoder.prototype.writeU16 = function (value) {\n this.ensureBufferSizeToWrite(2);\n this.view.setUint16(this.pos, value);\n this.pos += 2;\n };\n Encoder.prototype.writeI16 = function (value) {\n this.ensureBufferSizeToWrite(2);\n this.view.setInt16(this.pos, value);\n this.pos += 2;\n };\n Encoder.prototype.writeU32 = function (value) {\n this.ensureBufferSizeToWrite(4);\n this.view.setUint32(this.pos, value);\n this.pos += 4;\n };\n Encoder.prototype.writeI32 = function (value) {\n this.ensureBufferSizeToWrite(4);\n this.view.setInt32(this.pos, value);\n this.pos += 4;\n };\n Encoder.prototype.writeF32 = function (value) {\n this.ensureBufferSizeToWrite(4);\n this.view.setFloat32(this.pos, value);\n this.pos += 4;\n };\n Encoder.prototype.writeF64 = function (value) {\n this.ensureBufferSizeToWrite(8);\n this.view.setFloat64(this.pos, value);\n this.pos += 8;\n };\n Encoder.prototype.writeU64 = function (value) {\n this.ensureBufferSizeToWrite(8);\n setUint64(this.view, this.pos, value);\n this.pos += 8;\n };\n Encoder.prototype.writeI64 = function (value) {\n this.ensureBufferSizeToWrite(8);\n setInt64(this.view, this.pos, value);\n this.pos += 8;\n };\n return Encoder;\n}());\nexport { Encoder };\n//# sourceMappingURL=Encoder.mjs.map","export function prettyByte(byte) {\n return (byte < 0 ? \"-\" : \"\") + \"0x\" + Math.abs(byte).toString(16).padStart(2, \"0\");\n}\n//# sourceMappingURL=prettyByte.mjs.map","import { utf8DecodeJs } from \"./utils/utf8.mjs\";\nvar DEFAULT_MAX_KEY_LENGTH = 16;\nvar DEFAULT_MAX_LENGTH_PER_KEY = 16;\nvar CachedKeyDecoder = /** @class */ (function () {\n function CachedKeyDecoder(maxKeyLength, maxLengthPerKey) {\n if (maxKeyLength === void 0) { maxKeyLength = DEFAULT_MAX_KEY_LENGTH; }\n if (maxLengthPerKey === void 0) { maxLengthPerKey = DEFAULT_MAX_LENGTH_PER_KEY; }\n this.maxKeyLength = maxKeyLength;\n this.maxLengthPerKey = maxLengthPerKey;\n this.hit = 0;\n this.miss = 0;\n // avoid `new Array(N)`, which makes a sparse array,\n // because a sparse array is typically slower than a non-sparse array.\n this.caches = [];\n for (var i = 0; i < this.maxKeyLength; i++) {\n this.caches.push([]);\n }\n }\n CachedKeyDecoder.prototype.canBeCached = function (byteLength) {\n return byteLength > 0 && byteLength <= this.maxKeyLength;\n };\n CachedKeyDecoder.prototype.find = function (bytes, inputOffset, byteLength) {\n var records = this.caches[byteLength - 1];\n FIND_CHUNK: for (var _i = 0, records_1 = records; _i < records_1.length; _i++) {\n var record = records_1[_i];\n var recordBytes = record.bytes;\n for (var j = 0; j < byteLength; j++) {\n if (recordBytes[j] !== bytes[inputOffset + j]) {\n continue FIND_CHUNK;\n }\n }\n return record.str;\n }\n return null;\n };\n CachedKeyDecoder.prototype.store = function (bytes, value) {\n var records = this.caches[bytes.length - 1];\n var record = { bytes: bytes, str: value };\n if (records.length >= this.maxLengthPerKey) {\n // `records` are full!\n // Set `record` to an arbitrary position.\n records[(Math.random() * records.length) | 0] = record;\n }\n else {\n records.push(record);\n }\n };\n CachedKeyDecoder.prototype.decode = function (bytes, inputOffset, byteLength) {\n var cachedValue = this.find(bytes, inputOffset, byteLength);\n if (cachedValue != null) {\n this.hit++;\n return cachedValue;\n }\n this.miss++;\n var str = utf8DecodeJs(bytes, inputOffset, byteLength);\n // Ensure to copy a slice of bytes because the byte may be NodeJS Buffer and Buffer#slice() returns a reference to its internal ArrayBuffer.\n var slicedCopyOfBytes = Uint8Array.prototype.slice.call(bytes, inputOffset, inputOffset + byteLength);\n this.store(slicedCopyOfBytes, str);\n return str;\n };\n return CachedKeyDecoder;\n}());\nexport { CachedKeyDecoder };\n//# sourceMappingURL=CachedKeyDecoder.mjs.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nimport { prettyByte } from \"./utils/prettyByte.mjs\";\nimport { ExtensionCodec } from \"./ExtensionCodec.mjs\";\nimport { getInt64, getUint64, UINT32_MAX } from \"./utils/int.mjs\";\nimport { utf8DecodeJs, TEXT_DECODER_THRESHOLD, utf8DecodeTD } from \"./utils/utf8.mjs\";\nimport { createDataView, ensureUint8Array } from \"./utils/typedArrays.mjs\";\nimport { CachedKeyDecoder } from \"./CachedKeyDecoder.mjs\";\nimport { DecodeError } from \"./DecodeError.mjs\";\nvar isValidMapKeyType = function (key) {\n var keyType = typeof key;\n return keyType === \"string\" || keyType === \"number\";\n};\nvar HEAD_BYTE_REQUIRED = -1;\nvar EMPTY_VIEW = new DataView(new ArrayBuffer(0));\nvar EMPTY_BYTES = new Uint8Array(EMPTY_VIEW.buffer);\n// IE11: Hack to support IE11.\n// IE11: Drop this hack and just use RangeError when IE11 is obsolete.\nexport var DataViewIndexOutOfBoundsError = (function () {\n try {\n // IE11: The spec says it should throw RangeError,\n // IE11: but in IE11 it throws TypeError.\n EMPTY_VIEW.getInt8(0);\n }\n catch (e) {\n return e.constructor;\n }\n throw new Error(\"never reached\");\n})();\nvar MORE_DATA = new DataViewIndexOutOfBoundsError(\"Insufficient data\");\nvar sharedCachedKeyDecoder = new CachedKeyDecoder();\nvar Decoder = /** @class */ (function () {\n function Decoder(extensionCodec, context, maxStrLength, maxBinLength, maxArrayLength, maxMapLength, maxExtLength, keyDecoder) {\n if (extensionCodec === void 0) { extensionCodec = ExtensionCodec.defaultCodec; }\n if (context === void 0) { context = undefined; }\n if (maxStrLength === void 0) { maxStrLength = UINT32_MAX; }\n if (maxBinLength === void 0) { maxBinLength = UINT32_MAX; }\n if (maxArrayLength === void 0) { maxArrayLength = UINT32_MAX; }\n if (maxMapLength === void 0) { maxMapLength = UINT32_MAX; }\n if (maxExtLength === void 0) { maxExtLength = UINT32_MAX; }\n if (keyDecoder === void 0) { keyDecoder = sharedCachedKeyDecoder; }\n this.extensionCodec = extensionCodec;\n this.context = context;\n this.maxStrLength = maxStrLength;\n this.maxBinLength = maxBinLength;\n this.maxArrayLength = maxArrayLength;\n this.maxMapLength = maxMapLength;\n this.maxExtLength = maxExtLength;\n this.keyDecoder = keyDecoder;\n this.totalPos = 0;\n this.pos = 0;\n this.view = EMPTY_VIEW;\n this.bytes = EMPTY_BYTES;\n this.headByte = HEAD_BYTE_REQUIRED;\n this.stack = [];\n }\n Decoder.prototype.reinitializeState = function () {\n this.totalPos = 0;\n this.headByte = HEAD_BYTE_REQUIRED;\n this.stack.length = 0;\n // view, bytes, and pos will be re-initialized in setBuffer()\n };\n Decoder.prototype.setBuffer = function (buffer) {\n this.bytes = ensureUint8Array(buffer);\n this.view = createDataView(this.bytes);\n this.pos = 0;\n };\n Decoder.prototype.appendBuffer = function (buffer) {\n if (this.headByte === HEAD_BYTE_REQUIRED && !this.hasRemaining(1)) {\n this.setBuffer(buffer);\n }\n else {\n var remainingData = this.bytes.subarray(this.pos);\n var newData = ensureUint8Array(buffer);\n // concat remainingData + newData\n var newBuffer = new Uint8Array(remainingData.length + newData.length);\n newBuffer.set(remainingData);\n newBuffer.set(newData, remainingData.length);\n this.setBuffer(newBuffer);\n }\n };\n Decoder.prototype.hasRemaining = function (size) {\n return this.view.byteLength - this.pos >= size;\n };\n Decoder.prototype.createExtraByteError = function (posToShow) {\n var _a = this, view = _a.view, pos = _a.pos;\n return new RangeError(\"Extra \" + (view.byteLength - pos) + \" of \" + view.byteLength + \" byte(s) found at buffer[\" + posToShow + \"]\");\n };\n /**\n * @throws {DecodeError}\n * @throws {RangeError}\n */\n Decoder.prototype.decode = function (buffer) {\n this.reinitializeState();\n this.setBuffer(buffer);\n var object = this.doDecodeSync();\n if (this.hasRemaining(1)) {\n throw this.createExtraByteError(this.pos);\n }\n return object;\n };\n Decoder.prototype.decodeMulti = function (buffer) {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.reinitializeState();\n this.setBuffer(buffer);\n _a.label = 1;\n case 1:\n if (!this.hasRemaining(1)) return [3 /*break*/, 3];\n return [4 /*yield*/, this.doDecodeSync()];\n case 2:\n _a.sent();\n return [3 /*break*/, 1];\n case 3: return [2 /*return*/];\n }\n });\n };\n Decoder.prototype.decodeAsync = function (stream) {\n var stream_1, stream_1_1;\n var e_1, _a;\n return __awaiter(this, void 0, void 0, function () {\n var decoded, object, buffer, e_1_1, _b, headByte, pos, totalPos;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n decoded = false;\n _c.label = 1;\n case 1:\n _c.trys.push([1, 6, 7, 12]);\n stream_1 = __asyncValues(stream);\n _c.label = 2;\n case 2: return [4 /*yield*/, stream_1.next()];\n case 3:\n if (!(stream_1_1 = _c.sent(), !stream_1_1.done)) return [3 /*break*/, 5];\n buffer = stream_1_1.value;\n if (decoded) {\n throw this.createExtraByteError(this.totalPos);\n }\n this.appendBuffer(buffer);\n try {\n object = this.doDecodeSync();\n decoded = true;\n }\n catch (e) {\n if (!(e instanceof DataViewIndexOutOfBoundsError)) {\n throw e; // rethrow\n }\n // fallthrough\n }\n this.totalPos += this.pos;\n _c.label = 4;\n case 4: return [3 /*break*/, 2];\n case 5: return [3 /*break*/, 12];\n case 6:\n e_1_1 = _c.sent();\n e_1 = { error: e_1_1 };\n return [3 /*break*/, 12];\n case 7:\n _c.trys.push([7, , 10, 11]);\n if (!(stream_1_1 && !stream_1_1.done && (_a = stream_1.return))) return [3 /*break*/, 9];\n return [4 /*yield*/, _a.call(stream_1)];\n case 8:\n _c.sent();\n _c.label = 9;\n case 9: return [3 /*break*/, 11];\n case 10:\n if (e_1) throw e_1.error;\n return [7 /*endfinally*/];\n case 11: return [7 /*endfinally*/];\n case 12:\n if (decoded) {\n if (this.hasRemaining(1)) {\n throw this.createExtraByteError(this.totalPos);\n }\n return [2 /*return*/, object];\n }\n _b = this, headByte = _b.headByte, pos = _b.pos, totalPos = _b.totalPos;\n throw new RangeError(\"Insufficient data in parsing \" + prettyByte(headByte) + \" at \" + totalPos + \" (\" + pos + \" in the current buffer)\");\n }\n });\n });\n };\n Decoder.prototype.decodeArrayStream = function (stream) {\n return this.decodeMultiAsync(stream, true);\n };\n Decoder.prototype.decodeStream = function (stream) {\n return this.decodeMultiAsync(stream, false);\n };\n Decoder.prototype.decodeMultiAsync = function (stream, isArray) {\n return __asyncGenerator(this, arguments, function decodeMultiAsync_1() {\n var isArrayHeaderRequired, arrayItemsLeft, stream_2, stream_2_1, buffer, e_2, e_3_1;\n var e_3, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n isArrayHeaderRequired = isArray;\n arrayItemsLeft = -1;\n _b.label = 1;\n case 1:\n _b.trys.push([1, 13, 14, 19]);\n stream_2 = __asyncValues(stream);\n _b.label = 2;\n case 2: return [4 /*yield*/, __await(stream_2.next())];\n case 3:\n if (!(stream_2_1 = _b.sent(), !stream_2_1.done)) return [3 /*break*/, 12];\n buffer = stream_2_1.value;\n if (isArray && arrayItemsLeft === 0) {\n throw this.createExtraByteError(this.totalPos);\n }\n this.appendBuffer(buffer);\n if (isArrayHeaderRequired) {\n arrayItemsLeft = this.readArraySize();\n isArrayHeaderRequired = false;\n this.complete();\n }\n _b.label = 4;\n case 4:\n _b.trys.push([4, 9, , 10]);\n _b.label = 5;\n case 5:\n if (!true) return [3 /*break*/, 8];\n return [4 /*yield*/, __await(this.doDecodeSync())];\n case 6: return [4 /*yield*/, _b.sent()];\n case 7:\n _b.sent();\n if (--arrayItemsLeft === 0) {\n return [3 /*break*/, 8];\n }\n return [3 /*break*/, 5];\n case 8: return [3 /*break*/, 10];\n case 9:\n e_2 = _b.sent();\n if (!(e_2 instanceof DataViewIndexOutOfBoundsError)) {\n throw e_2; // rethrow\n }\n return [3 /*break*/, 10];\n case 10:\n this.totalPos += this.pos;\n _b.label = 11;\n case 11: return [3 /*break*/, 2];\n case 12: return [3 /*break*/, 19];\n case 13:\n e_3_1 = _b.sent();\n e_3 = { error: e_3_1 };\n return [3 /*break*/, 19];\n case 14:\n _b.trys.push([14, , 17, 18]);\n if (!(stream_2_1 && !stream_2_1.done && (_a = stream_2.return))) return [3 /*break*/, 16];\n return [4 /*yield*/, __await(_a.call(stream_2))];\n case 15:\n _b.sent();\n _b.label = 16;\n case 16: return [3 /*break*/, 18];\n case 17:\n if (e_3) throw e_3.error;\n return [7 /*endfinally*/];\n case 18: return [7 /*endfinally*/];\n case 19: return [2 /*return*/];\n }\n });\n });\n };\n Decoder.prototype.doDecodeSync = function () {\n DECODE: while (true) {\n var headByte = this.readHeadByte();\n var object = void 0;\n if (headByte >= 0xe0) {\n // negative fixint (111x xxxx) 0xe0 - 0xff\n object = headByte - 0x100;\n }\n else if (headByte < 0xc0) {\n if (headByte < 0x80) {\n // positive fixint (0xxx xxxx) 0x00 - 0x7f\n object = headByte;\n }\n else if (headByte < 0x90) {\n // fixmap (1000 xxxx) 0x80 - 0x8f\n var size = headByte - 0x80;\n if (size !== 0) {\n this.pushMapState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = {};\n }\n }\n else if (headByte < 0xa0) {\n // fixarray (1001 xxxx) 0x90 - 0x9f\n var size = headByte - 0x90;\n if (size !== 0) {\n this.pushArrayState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = [];\n }\n }\n else {\n // fixstr (101x xxxx) 0xa0 - 0xbf\n var byteLength = headByte - 0xa0;\n object = this.decodeUtf8String(byteLength, 0);\n }\n }\n else if (headByte === 0xc0) {\n // nil\n object = null;\n }\n else if (headByte === 0xc2) {\n // false\n object = false;\n }\n else if (headByte === 0xc3) {\n // true\n object = true;\n }\n else if (headByte === 0xca) {\n // float 32\n object = this.readF32();\n }\n else if (headByte === 0xcb) {\n // float 64\n object = this.readF64();\n }\n else if (headByte === 0xcc) {\n // uint 8\n object = this.readU8();\n }\n else if (headByte === 0xcd) {\n // uint 16\n object = this.readU16();\n }\n else if (headByte === 0xce) {\n // uint 32\n object = this.readU32();\n }\n else if (headByte === 0xcf) {\n // uint 64\n object = this.readU64();\n }\n else if (headByte === 0xd0) {\n // int 8\n object = this.readI8();\n }\n else if (headByte === 0xd1) {\n // int 16\n object = this.readI16();\n }\n else if (headByte === 0xd2) {\n // int 32\n object = this.readI32();\n }\n else if (headByte === 0xd3) {\n // int 64\n object = this.readI64();\n }\n else if (headByte === 0xd9) {\n // str 8\n var byteLength = this.lookU8();\n object = this.decodeUtf8String(byteLength, 1);\n }\n else if (headByte === 0xda) {\n // str 16\n var byteLength = this.lookU16();\n object = this.decodeUtf8String(byteLength, 2);\n }\n else if (headByte === 0xdb) {\n // str 32\n var byteLength = this.lookU32();\n object = this.decodeUtf8String(byteLength, 4);\n }\n else if (headByte === 0xdc) {\n // array 16\n var size = this.readU16();\n if (size !== 0) {\n this.pushArrayState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = [];\n }\n }\n else if (headByte === 0xdd) {\n // array 32\n var size = this.readU32();\n if (size !== 0) {\n this.pushArrayState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = [];\n }\n }\n else if (headByte === 0xde) {\n // map 16\n var size = this.readU16();\n if (size !== 0) {\n this.pushMapState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = {};\n }\n }\n else if (headByte === 0xdf) {\n // map 32\n var size = this.readU32();\n if (size !== 0) {\n this.pushMapState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = {};\n }\n }\n else if (headByte === 0xc4) {\n // bin 8\n var size = this.lookU8();\n object = this.decodeBinary(size, 1);\n }\n else if (headByte === 0xc5) {\n // bin 16\n var size = this.lookU16();\n object = this.decodeBinary(size, 2);\n }\n else if (headByte === 0xc6) {\n // bin 32\n var size = this.lookU32();\n object = this.decodeBinary(size, 4);\n }\n else if (headByte === 0xd4) {\n // fixext 1\n object = this.decodeExtension(1, 0);\n }\n else if (headByte === 0xd5) {\n // fixext 2\n object = this.decodeExtension(2, 0);\n }\n else if (headByte === 0xd6) {\n // fixext 4\n object = this.decodeExtension(4, 0);\n }\n else if (headByte === 0xd7) {\n // fixext 8\n object = this.decodeExtension(8, 0);\n }\n else if (headByte === 0xd8) {\n // fixext 16\n object = this.decodeExtension(16, 0);\n }\n else if (headByte === 0xc7) {\n // ext 8\n var size = this.lookU8();\n object = this.decodeExtension(size, 1);\n }\n else if (headByte === 0xc8) {\n // ext 16\n var size = this.lookU16();\n object = this.decodeExtension(size, 2);\n }\n else if (headByte === 0xc9) {\n // ext 32\n var size = this.lookU32();\n object = this.decodeExtension(size, 4);\n }\n else {\n throw new DecodeError(\"Unrecognized type byte: \" + prettyByte(headByte));\n }\n this.complete();\n var stack = this.stack;\n while (stack.length > 0) {\n // arrays and maps\n var state = stack[stack.length - 1];\n if (state.type === 0 /* ARRAY */) {\n state.array[state.position] = object;\n state.position++;\n if (state.position === state.size) {\n stack.pop();\n object = state.array;\n }\n else {\n continue DECODE;\n }\n }\n else if (state.type === 1 /* MAP_KEY */) {\n if (!isValidMapKeyType(object)) {\n throw new DecodeError(\"The type of key must be string or number but \" + typeof object);\n }\n if (object === \"__proto__\") {\n throw new DecodeError(\"The key __proto__ is not allowed\");\n }\n state.key = object;\n state.type = 2 /* MAP_VALUE */;\n continue DECODE;\n }\n else {\n // it must be `state.type === State.MAP_VALUE` here\n state.map[state.key] = object;\n state.readCount++;\n if (state.readCount === state.size) {\n stack.pop();\n object = state.map;\n }\n else {\n state.key = null;\n state.type = 1 /* MAP_KEY */;\n continue DECODE;\n }\n }\n }\n return object;\n }\n };\n Decoder.prototype.readHeadByte = function () {\n if (this.headByte === HEAD_BYTE_REQUIRED) {\n this.headByte = this.readU8();\n // console.log(\"headByte\", prettyByte(this.headByte));\n }\n return this.headByte;\n };\n Decoder.prototype.complete = function () {\n this.headByte = HEAD_BYTE_REQUIRED;\n };\n Decoder.prototype.readArraySize = function () {\n var headByte = this.readHeadByte();\n switch (headByte) {\n case 0xdc:\n return this.readU16();\n case 0xdd:\n return this.readU32();\n default: {\n if (headByte < 0xa0) {\n return headByte - 0x90;\n }\n else {\n throw new DecodeError(\"Unrecognized array type byte: \" + prettyByte(headByte));\n }\n }\n }\n };\n Decoder.prototype.pushMapState = function (size) {\n if (size > this.maxMapLength) {\n throw new DecodeError(\"Max length exceeded: map length (\" + size + \") > maxMapLengthLength (\" + this.maxMapLength + \")\");\n }\n this.stack.push({\n type: 1 /* MAP_KEY */,\n size: size,\n key: null,\n readCount: 0,\n map: {},\n });\n };\n Decoder.prototype.pushArrayState = function (size) {\n if (size > this.maxArrayLength) {\n throw new DecodeError(\"Max length exceeded: array length (\" + size + \") > maxArrayLength (\" + this.maxArrayLength + \")\");\n }\n this.stack.push({\n type: 0 /* ARRAY */,\n size: size,\n array: new Array(size),\n position: 0,\n });\n };\n Decoder.prototype.decodeUtf8String = function (byteLength, headerOffset) {\n var _a;\n if (byteLength > this.maxStrLength) {\n throw new DecodeError(\"Max length exceeded: UTF-8 byte length (\" + byteLength + \") > maxStrLength (\" + this.maxStrLength + \")\");\n }\n if (this.bytes.byteLength < this.pos + headerOffset + byteLength) {\n throw MORE_DATA;\n }\n var offset = this.pos + headerOffset;\n var object;\n if (this.stateIsMapKey() && ((_a = this.keyDecoder) === null || _a === void 0 ? void 0 : _a.canBeCached(byteLength))) {\n object = this.keyDecoder.decode(this.bytes, offset, byteLength);\n }\n else if (byteLength > TEXT_DECODER_THRESHOLD) {\n object = utf8DecodeTD(this.bytes, offset, byteLength);\n }\n else {\n object = utf8DecodeJs(this.bytes, offset, byteLength);\n }\n this.pos += headerOffset + byteLength;\n return object;\n };\n Decoder.prototype.stateIsMapKey = function () {\n if (this.stack.length > 0) {\n var state = this.stack[this.stack.length - 1];\n return state.type === 1 /* MAP_KEY */;\n }\n return false;\n };\n Decoder.prototype.decodeBinary = function (byteLength, headOffset) {\n if (byteLength > this.maxBinLength) {\n throw new DecodeError(\"Max length exceeded: bin length (\" + byteLength + \") > maxBinLength (\" + this.maxBinLength + \")\");\n }\n if (!this.hasRemaining(byteLength + headOffset)) {\n throw MORE_DATA;\n }\n var offset = this.pos + headOffset;\n var object = this.bytes.subarray(offset, offset + byteLength);\n this.pos += headOffset + byteLength;\n return object;\n };\n Decoder.prototype.decodeExtension = function (size, headOffset) {\n if (size > this.maxExtLength) {\n throw new DecodeError(\"Max length exceeded: ext length (\" + size + \") > maxExtLength (\" + this.maxExtLength + \")\");\n }\n var extType = this.view.getInt8(this.pos + headOffset);\n var data = this.decodeBinary(size, headOffset + 1 /* extType */);\n return this.extensionCodec.decode(data, extType, this.context);\n };\n Decoder.prototype.lookU8 = function () {\n return this.view.getUint8(this.pos);\n };\n Decoder.prototype.lookU16 = function () {\n return this.view.getUint16(this.pos);\n };\n Decoder.prototype.lookU32 = function () {\n return this.view.getUint32(this.pos);\n };\n Decoder.prototype.readU8 = function () {\n var value = this.view.getUint8(this.pos);\n this.pos++;\n return value;\n };\n Decoder.prototype.readI8 = function () {\n var value = this.view.getInt8(this.pos);\n this.pos++;\n return value;\n };\n Decoder.prototype.readU16 = function () {\n var value = this.view.getUint16(this.pos);\n this.pos += 2;\n return value;\n };\n Decoder.prototype.readI16 = function () {\n var value = this.view.getInt16(this.pos);\n this.pos += 2;\n return value;\n };\n Decoder.prototype.readU32 = function () {\n var value = this.view.getUint32(this.pos);\n this.pos += 4;\n return value;\n };\n Decoder.prototype.readI32 = function () {\n var value = this.view.getInt32(this.pos);\n this.pos += 4;\n return value;\n };\n Decoder.prototype.readU64 = function () {\n var value = getUint64(this.view, this.pos);\n this.pos += 8;\n return value;\n };\n Decoder.prototype.readI64 = function () {\n var value = getInt64(this.view, this.pos);\n this.pos += 8;\n return value;\n };\n Decoder.prototype.readF32 = function () {\n var value = this.view.getFloat32(this.pos);\n this.pos += 4;\n return value;\n };\n Decoder.prototype.readF64 = function () {\n var value = this.view.getFloat64(this.pos);\n this.pos += 8;\n return value;\n };\n return Decoder;\n}());\nexport { Decoder };\n//# sourceMappingURL=Decoder.mjs.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\n// Not exported from index.\r\n/** @private */\r\nexport class BinaryMessageFormat {\r\n\r\n // The length prefix of binary messages is encoded as VarInt. Read the comment in\r\n // the BinaryMessageParser.TryParseMessage for details.\r\n\r\n public static write(output: Uint8Array): ArrayBuffer {\r\n let size = output.byteLength || output.length;\r\n const lenBuffer = [];\r\n do {\r\n let sizePart = size & 0x7f;\r\n size = size >> 7;\r\n if (size > 0) {\r\n sizePart |= 0x80;\r\n }\r\n lenBuffer.push(sizePart);\r\n }\r\n while (size > 0);\r\n\r\n size = output.byteLength || output.length;\r\n\r\n const buffer = new Uint8Array(lenBuffer.length + size);\r\n buffer.set(lenBuffer, 0);\r\n buffer.set(output, lenBuffer.length);\r\n return buffer.buffer;\r\n }\r\n\r\n public static parse(input: ArrayBuffer): Uint8Array[] {\r\n const result: Uint8Array[] = [];\r\n const uint8Array = new Uint8Array(input);\r\n const maxLengthPrefixSize = 5;\r\n const numBitsToShift = [0, 7, 14, 21, 28 ];\r\n\r\n for (let offset = 0; offset < input.byteLength;) {\r\n let numBytes = 0;\r\n let size = 0;\r\n let byteRead;\r\n do {\r\n byteRead = uint8Array[offset + numBytes];\r\n size = size | ((byteRead & 0x7f) << (numBitsToShift[numBytes]));\r\n numBytes++;\r\n }\r\n while (numBytes < Math.min(maxLengthPrefixSize, input.byteLength - offset) && (byteRead & 0x80) !== 0);\r\n\r\n if ((byteRead & 0x80) !== 0 && numBytes < maxLengthPrefixSize) {\r\n throw new Error(\"Cannot read message size.\");\r\n }\r\n\r\n if (numBytes === maxLengthPrefixSize && byteRead > 7) {\r\n throw new Error(\"Messages bigger than 2GB are not supported.\");\r\n }\r\n\r\n if (uint8Array.byteLength >= (offset + numBytes + size)) {\r\n // IE does not support .slice() so use subarray\r\n result.push(uint8Array.slice\r\n ? uint8Array.slice(offset + numBytes, offset + numBytes + size)\r\n : uint8Array.subarray(offset + numBytes, offset + numBytes + size));\r\n } else {\r\n throw new Error(\"Incomplete message.\");\r\n }\r\n\r\n offset = offset + numBytes + size;\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\nimport { Encoder, Decoder } from \"@msgpack/msgpack\";\r\n\r\nimport { MessagePackOptions } from \"./MessagePackOptions\";\r\n\r\nimport {\r\n CancelInvocationMessage, CompletionMessage, HubMessage, IHubProtocol, ILogger, InvocationMessage,\r\n LogLevel, MessageHeaders, MessageType, NullLogger, StreamInvocationMessage, StreamItemMessage, TransferFormat,\r\n} from \"@microsoft/signalr\";\r\n\r\nimport { BinaryMessageFormat } from \"./BinaryMessageFormat\";\r\nimport { isArrayBuffer } from \"./Utils\";\r\n\r\n// TypeDoc's @inheritDoc and @link don't work across modules :(\r\n\r\n// constant encoding of the ping message\r\n// see: https://github.com/aspnet/SignalR/blob/dev/specs/HubProtocol.md#ping-message-encoding-1\r\n// Don't use Uint8Array.from as IE does not support it\r\nconst SERIALIZED_PING_MESSAGE: Uint8Array = new Uint8Array([0x91, MessageType.Ping]);\r\n\r\n/** Implements the MessagePack Hub Protocol */\r\nexport class MessagePackHubProtocol implements IHubProtocol {\r\n /** The name of the protocol. This is used by SignalR to resolve the protocol between the client and server. */\r\n public readonly name: string = \"messagepack\";\r\n /** The version of the protocol. */\r\n public readonly version: number = 1;\r\n /** The TransferFormat of the protocol. */\r\n public readonly transferFormat: TransferFormat = TransferFormat.Binary;\r\n\r\n private readonly _errorResult = 1;\r\n private readonly _voidResult = 2;\r\n private readonly _nonVoidResult = 3;\r\n\r\n private readonly _encoder: Encoder;\r\n private readonly _decoder: Decoder;\r\n\r\n /**\r\n *\r\n * @param messagePackOptions MessagePack options passed to @msgpack/msgpack\r\n */\r\n constructor(messagePackOptions?: MessagePackOptions) {\r\n messagePackOptions = messagePackOptions || {};\r\n this._encoder = new Encoder(\r\n messagePackOptions.extensionCodec,\r\n messagePackOptions.context,\r\n messagePackOptions.maxDepth,\r\n messagePackOptions.initialBufferSize,\r\n messagePackOptions.sortKeys,\r\n messagePackOptions.forceFloat32,\r\n messagePackOptions.ignoreUndefined,\r\n messagePackOptions.forceIntegerToFloat,\r\n );\r\n\r\n this._decoder = new Decoder(\r\n messagePackOptions.extensionCodec,\r\n messagePackOptions.context,\r\n messagePackOptions.maxStrLength,\r\n messagePackOptions.maxBinLength,\r\n messagePackOptions.maxArrayLength,\r\n messagePackOptions.maxMapLength,\r\n messagePackOptions.maxExtLength,\r\n );\r\n }\r\n\r\n /** Creates an array of HubMessage objects from the specified serialized representation.\r\n *\r\n * @param {ArrayBuffer} input An ArrayBuffer containing the serialized representation.\r\n * @param {ILogger} logger A logger that will be used to log messages that occur during parsing.\r\n */\r\n public parseMessages(input: ArrayBuffer, logger: ILogger): HubMessage[] {\r\n // The interface does allow \"string\" to be passed in, but this implementation does not. So let's throw a useful error.\r\n if (!(isArrayBuffer(input))) {\r\n throw new Error(\"Invalid input for MessagePack hub protocol. Expected an ArrayBuffer.\");\r\n }\r\n\r\n if (logger === null) {\r\n logger = NullLogger.instance;\r\n }\r\n\r\n const messages = BinaryMessageFormat.parse(input);\r\n\r\n const hubMessages = [];\r\n for (const message of messages) {\r\n const parsedMessage = this._parseMessage(message, logger);\r\n // Can be null for an unknown message. Unknown message is logged in parseMessage\r\n if (parsedMessage) {\r\n hubMessages.push(parsedMessage);\r\n }\r\n }\r\n\r\n return hubMessages;\r\n }\r\n\r\n /** Writes the specified HubMessage to an ArrayBuffer and returns it.\r\n *\r\n * @param {HubMessage} message The message to write.\r\n * @returns {ArrayBuffer} An ArrayBuffer containing the serialized representation of the message.\r\n */\r\n public writeMessage(message: HubMessage): ArrayBuffer {\r\n switch (message.type) {\r\n case MessageType.Invocation:\r\n return this._writeInvocation(message as InvocationMessage);\r\n case MessageType.StreamInvocation:\r\n return this._writeStreamInvocation(message as StreamInvocationMessage);\r\n case MessageType.StreamItem:\r\n return this._writeStreamItem(message as StreamItemMessage);\r\n case MessageType.Completion:\r\n return this._writeCompletion(message as CompletionMessage);\r\n case MessageType.Ping:\r\n return BinaryMessageFormat.write(SERIALIZED_PING_MESSAGE);\r\n case MessageType.CancelInvocation:\r\n return this._writeCancelInvocation(message as CancelInvocationMessage);\r\n default:\r\n throw new Error(\"Invalid message type.\");\r\n }\r\n }\r\n\r\n private _parseMessage(input: Uint8Array, logger: ILogger): HubMessage | null {\r\n if (input.length === 0) {\r\n throw new Error(\"Invalid payload.\");\r\n }\r\n\r\n const properties = this._decoder.decode(input) as any;\r\n if (properties.length === 0 || !(properties instanceof Array)) {\r\n throw new Error(\"Invalid payload.\");\r\n }\r\n\r\n const messageType = properties[0] as MessageType;\r\n\r\n switch (messageType) {\r\n case MessageType.Invocation:\r\n return this._createInvocationMessage(this._readHeaders(properties), properties);\r\n case MessageType.StreamItem:\r\n return this._createStreamItemMessage(this._readHeaders(properties), properties);\r\n case MessageType.Completion:\r\n return this._createCompletionMessage(this._readHeaders(properties), properties);\r\n case MessageType.Ping:\r\n return this._createPingMessage(properties);\r\n case MessageType.Close:\r\n return this._createCloseMessage(properties);\r\n default:\r\n // Future protocol changes can add message types, old clients can ignore them\r\n logger.log(LogLevel.Information, \"Unknown message type '\" + messageType + \"' ignored.\");\r\n return null;\r\n }\r\n }\r\n\r\n private _createCloseMessage(properties: any[]): HubMessage {\r\n // check minimum length to allow protocol to add items to the end of objects in future releases\r\n if (properties.length < 2) {\r\n throw new Error(\"Invalid payload for Close message.\");\r\n }\r\n\r\n return {\r\n // Close messages have no headers.\r\n allowReconnect: properties.length >= 3 ? properties[2] : undefined,\r\n error: properties[1],\r\n type: MessageType.Close,\r\n } as HubMessage;\r\n }\r\n\r\n private _createPingMessage(properties: any[]): HubMessage {\r\n // check minimum length to allow protocol to add items to the end of objects in future releases\r\n if (properties.length < 1) {\r\n throw new Error(\"Invalid payload for Ping message.\");\r\n }\r\n\r\n return {\r\n // Ping messages have no headers.\r\n type: MessageType.Ping,\r\n } as HubMessage;\r\n }\r\n\r\n private _createInvocationMessage(headers: MessageHeaders, properties: any[]): InvocationMessage {\r\n // check minimum length to allow protocol to add items to the end of objects in future releases\r\n if (properties.length < 5) {\r\n throw new Error(\"Invalid payload for Invocation message.\");\r\n }\r\n\r\n const invocationId = properties[2] as string;\r\n if (invocationId) {\r\n return {\r\n arguments: properties[4],\r\n headers,\r\n invocationId,\r\n streamIds: [],\r\n target: properties[3] as string,\r\n type: MessageType.Invocation,\r\n };\r\n } else {\r\n return {\r\n arguments: properties[4],\r\n headers,\r\n streamIds: [],\r\n target: properties[3],\r\n type: MessageType.Invocation,\r\n };\r\n }\r\n\r\n }\r\n\r\n private _createStreamItemMessage(headers: MessageHeaders, properties: any[]): StreamItemMessage {\r\n // check minimum length to allow protocol to add items to the end of objects in future releases\r\n if (properties.length < 4) {\r\n throw new Error(\"Invalid payload for StreamItem message.\");\r\n }\r\n\r\n return {\r\n headers,\r\n invocationId: properties[2],\r\n item: properties[3],\r\n type: MessageType.StreamItem,\r\n } as StreamItemMessage;\r\n }\r\n\r\n private _createCompletionMessage(headers: MessageHeaders, properties: any[]): CompletionMessage {\r\n // check minimum length to allow protocol to add items to the end of objects in future releases\r\n if (properties.length < 4) {\r\n throw new Error(\"Invalid payload for Completion message.\");\r\n }\r\n\r\n const resultKind = properties[3];\r\n\r\n if (resultKind !== this._voidResult && properties.length < 5) {\r\n throw new Error(\"Invalid payload for Completion message.\");\r\n }\r\n\r\n let error: string | undefined;\r\n let result: any;\r\n\r\n switch (resultKind) {\r\n case this._errorResult:\r\n error = properties[4];\r\n break;\r\n case this._nonVoidResult:\r\n result = properties[4];\r\n break;\r\n }\r\n\r\n const completionMessage: CompletionMessage = {\r\n error,\r\n headers,\r\n invocationId: properties[2],\r\n result,\r\n type: MessageType.Completion,\r\n };\r\n\r\n return completionMessage;\r\n }\r\n\r\n private _writeInvocation(invocationMessage: InvocationMessage): ArrayBuffer {\r\n let payload: any;\r\n if (invocationMessage.streamIds) {\r\n payload = this._encoder.encode([MessageType.Invocation, invocationMessage.headers || {}, invocationMessage.invocationId || null,\r\n invocationMessage.target, invocationMessage.arguments, invocationMessage.streamIds]);\r\n } else {\r\n payload = this._encoder.encode([MessageType.Invocation, invocationMessage.headers || {}, invocationMessage.invocationId || null,\r\n invocationMessage.target, invocationMessage.arguments]);\r\n }\r\n\r\n return BinaryMessageFormat.write(payload.slice());\r\n }\r\n\r\n private _writeStreamInvocation(streamInvocationMessage: StreamInvocationMessage): ArrayBuffer {\r\n let payload: any;\r\n if (streamInvocationMessage.streamIds) {\r\n payload = this._encoder.encode([MessageType.StreamInvocation, streamInvocationMessage.headers || {}, streamInvocationMessage.invocationId,\r\n streamInvocationMessage.target, streamInvocationMessage.arguments, streamInvocationMessage.streamIds]);\r\n } else {\r\n payload = this._encoder.encode([MessageType.StreamInvocation, streamInvocationMessage.headers || {}, streamInvocationMessage.invocationId,\r\n streamInvocationMessage.target, streamInvocationMessage.arguments]);\r\n }\r\n\r\n return BinaryMessageFormat.write(payload.slice());\r\n }\r\n\r\n private _writeStreamItem(streamItemMessage: StreamItemMessage): ArrayBuffer {\r\n const payload = this._encoder.encode([MessageType.StreamItem, streamItemMessage.headers || {}, streamItemMessage.invocationId,\r\n streamItemMessage.item]);\r\n\r\n return BinaryMessageFormat.write(payload.slice());\r\n }\r\n\r\n private _writeCompletion(completionMessage: CompletionMessage): ArrayBuffer {\r\n const resultKind = completionMessage.error ? this._errorResult : completionMessage.result ? this._nonVoidResult : this._voidResult;\r\n\r\n let payload: any;\r\n switch (resultKind) {\r\n case this._errorResult:\r\n payload = this._encoder.encode([MessageType.Completion, completionMessage.headers || {}, completionMessage.invocationId, resultKind, completionMessage.error]);\r\n break;\r\n case this._voidResult:\r\n payload = this._encoder.encode([MessageType.Completion, completionMessage.headers || {}, completionMessage.invocationId, resultKind]);\r\n break;\r\n case this._nonVoidResult:\r\n payload = this._encoder.encode([MessageType.Completion, completionMessage.headers || {}, completionMessage.invocationId, resultKind, completionMessage.result]);\r\n break;\r\n }\r\n\r\n return BinaryMessageFormat.write(payload.slice());\r\n }\r\n\r\n private _writeCancelInvocation(cancelInvocationMessage: CancelInvocationMessage): ArrayBuffer {\r\n const payload = this._encoder.encode([MessageType.CancelInvocation, cancelInvocationMessage.headers || {}, cancelInvocationMessage.invocationId]);\r\n\r\n return BinaryMessageFormat.write(payload.slice());\r\n }\r\n\r\n private _readHeaders(properties: any): MessageHeaders {\r\n const headers: MessageHeaders = properties[1] as MessageHeaders;\r\n if (typeof headers !== \"object\") {\r\n throw new Error(\"Invalid headers.\");\r\n }\r\n return headers;\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\n// Copied from signalr/Utils.ts\r\n/** @private */\r\nexport function isArrayBuffer(val: any): val is ArrayBuffer {\r\n return val && typeof ArrayBuffer !== \"undefined\" &&\r\n (val instanceof ArrayBuffer ||\r\n // Sometimes we get an ArrayBuffer that doesn't satisfy instanceof\r\n (val.constructor && val.constructor.name === \"ArrayBuffer\"));\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\n// Version token that will be replaced by the prepack command\r\n/** The version of the SignalR Message Pack protocol library. */\r\nexport const VERSION = \"0.0.0-DEV_BUILD\";\r\n\r\nexport { MessagePackHubProtocol } from \"./MessagePackHubProtocol\";\r\n\r\nexport { MessagePackOptions } from \"./MessagePackOptions\";\r\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://signalR.protocols.msgpack/webpack/universalModuleDefinition","webpack://signalR.protocols.msgpack/external \"signalR\"","webpack://signalR.protocols.msgpack/webpack/bootstrap","webpack://signalR.protocols.msgpack/webpack/runtime/define property getters","webpack://signalR.protocols.msgpack/webpack/runtime/hasOwnProperty shorthand","webpack://signalR.protocols.msgpack/webpack/runtime/make namespace object","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/utils/int.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/utils/utf8.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/ExtData.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/DecodeError.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/timestamp.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/ExtensionCodec.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/utils/typedArrays.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/Encoder.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/utils/prettyByte.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/CachedKeyDecoder.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/Decoder.mjs","webpack://signalR.protocols.msgpack/src/BinaryMessageFormat.ts","webpack://signalR.protocols.msgpack/src/Utils.ts","webpack://signalR.protocols.msgpack/src/MessagePackHubProtocol.ts","webpack://signalR.protocols.msgpack/src/index.ts","webpack://signalR.protocols.msgpack/src/browser-index.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,mEAAmE;AAC5G,CAAC;AACD,O;;;;;;;ACVA,gD;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,wCAAwC,yCAAyC;WACjF;WACA;WACA,E;;;;;WCPA,wF;;;;;WCAA;WACA;WACA;WACA,sDAAsD,kBAAkB;WACxE;WACA,+CAA+C,cAAc;WAC7D,E;;;;;;;;;;;;;;;;;ACNA;AACO;AACP;AACA;AACO;AACP;AACA,oBAAoB;AACpB;AACA;AACA;AACO;AACP;AACA,oBAAoB;AACpB;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,gC;;AC1BuC;AACvC;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,MAAM,UAAU;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,MAAM,UAAU;AAChB;AACA;AACA;AACO;AACP;AACA;AACA;AACA,iC;;AC7JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACkB;AACnB,oC;;ACXA,iBAAiB,SAAI,IAAI,SAAI;AAC7B;AACA;AACA,cAAc,gBAAgB,sCAAsC,iBAAiB,EAAE;AACvF,6BAA6B,8EAA8E;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,CAAC;AACsB;AACvB,wC;;AChCA;AACgD;AACK;AAC9C;AACP,0CAA0C;AAC1C,0CAA0C;AACnC;AACP;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,QAAQ,QAAQ;AAChB;AACA;AACA;AACO;AACP;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,oBAAoB;AACpB;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,+BAA+B;AAC/B,sBAAsB,QAAQ;AAC9B;AACA,oBAAoB;AACpB;AACA;AACA,sBAAsB,WAAW;AACjC;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,sC;;AChGA;AACwC;AACa;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kBAAkB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,iCAAiC;AACxD;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;AACA;AACA,uBAAuB,0BAA0B;AACjD;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;AACA,8BAA8B,OAAO;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA,CAAC;AACyB;AAC1B,2C;;ACtEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,wC;;ACtBiG;AAC3C;AACA;AACK;AACpD;AACA;AACP;AACA;AACA,wCAAwC,kBAAkB,2BAA2B,CAAC;AACtF,iCAAiC,qBAAqB;AACtD,kCAAkC,8BAA8B;AAChE,2CAA2C,iDAAiD;AAC5F,kCAAkC,kBAAkB;AACpD,sCAAsC,sBAAsB;AAC5D,yCAAyC,yBAAyB;AAClE,6CAA6C,6BAA6B;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,sBAAsB;AAC9C,6BAA6B,SAAS;AACtC;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA,6BAA6B,SAAS;AACtC;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,sBAAsB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,oBAAoB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,oBAAoB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,SAAS;AACjB;AACA;AACA;AACA;AACA,QAAQ,QAAQ;AAChB;AACA;AACA;AACA,CAAC;AACkB;AACnB,oC;;ACtZO;AACP;AACA;AACA,uC;;ACHgD;AAChD;AACA;AACA;AACA;AACA,sCAAsC,uCAAuC;AAC7E,yCAAyC,8CAA8C;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,uBAAuB;AAChF;AACA;AACA,2BAA2B,gBAAgB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAC2B;AAC5B,6C;;AC/DA,iBAAiB,SAAI,IAAI,SAAI;AAC7B,2BAA2B,+DAA+D,gBAAgB,EAAE,EAAE;AAC9G;AACA,mCAAmC,MAAM,6BAA6B,EAAE,YAAY,WAAW,EAAE;AACjG,kCAAkC,MAAM,iCAAiC,EAAE,YAAY,WAAW,EAAE;AACpG,+BAA+B,qFAAqF;AACpH;AACA,KAAK;AACL;AACA,mBAAmB,SAAI,IAAI,SAAI;AAC/B,aAAa,6BAA6B,0BAA0B,aAAa,EAAE,qBAAqB;AACxG,gBAAgB,qDAAqD,oEAAoE,aAAa,EAAE;AACxJ,sBAAsB,sBAAsB,qBAAqB,GAAG;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC,kCAAkC,SAAS;AAC3C,kCAAkC,WAAW,UAAU;AACvD,yCAAyC,cAAc;AACvD;AACA,6GAA6G,OAAO,UAAU;AAC9H,gFAAgF,iBAAiB,OAAO;AACxG,wDAAwD,gBAAgB,QAAQ,OAAO;AACvF,8CAA8C,gBAAgB,gBAAgB,OAAO;AACrF;AACA,iCAAiC;AACjC;AACA;AACA,SAAS,YAAY,aAAa,OAAO,EAAE,UAAU,WAAW;AAChE,mCAAmC,SAAS;AAC5C;AACA;AACA,qBAAqB,SAAI,IAAI,SAAI;AACjC;AACA;AACA,2GAA2G,sFAAsF,aAAa,EAAE;AAChN,sBAAsB,8BAA8B,gDAAgD,uDAAuD,EAAE,EAAE,GAAG;AAClK,4CAA4C,sCAAsC,UAAU,oBAAoB,EAAE,EAAE,UAAU;AAC9H;AACA,eAAe,SAAI,IAAI,SAAI,2BAA2B,sEAAsE;AAC5H,wBAAwB,SAAI,IAAI,SAAI;AACpC;AACA;AACA,iBAAiB,sFAAsF,aAAa,EAAE;AACtH,sBAAsB,gCAAgC,qCAAqC,0CAA0C,EAAE,EAAE,GAAG;AAC5I,2BAA2B,MAAM,eAAe,EAAE,YAAY,oBAAoB,EAAE;AACpF,sBAAsB,oGAAoG;AAC1H,6BAA6B,uBAAuB;AACpD,4BAA4B,wBAAwB;AACpD,2BAA2B,yDAAyD;AACpF;AACoD;AACE;AACY;AACoB;AACX;AACjB;AACV;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA,wCAAwC,kBAAkB,2BAA2B,CAAC;AACtF,iCAAiC,qBAAqB;AACtD,sCAAsC,gBAAgB,UAAU,CAAC;AACjE,sCAAsC,gBAAgB,UAAU,CAAC;AACjE,wCAAwC,kBAAkB,UAAU,CAAC;AACrE,sCAAsC,gBAAgB,UAAU,CAAC;AACjE,sCAAsC,gBAAgB,UAAU,CAAC;AACjE,oCAAoC,qCAAqC;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,gBAAgB;AACrC,oBAAoB,cAAc;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,gBAAgB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA+E,UAAU;AACzF;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,KAAK,EAAE,EAAwB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,WAAW,8BAA8B,UAAU;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,WAAW;AAC7C;AACA;AACA,kCAAkC,WAAW;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,WAAW,oCAAoC,UAAU;AACvF;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,WAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,SAAS;AACT;AACA;AACA;AACA,sBAAsB,WAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,sBAAsB,WAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,sBAAsB;AACpD,qBAAqB,YAAY;AACjC;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,WAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,WAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;AACA;AACA;AACA,oBAAoB,QAAQ;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACkB;AACnB,oC;;;;AC7tBA,gEAAgE;AAChE,uEAAuE;AAEvE,2BAA2B;AAC3B,eAAe;AACR,MAAM,mBAAmB;IAE5B,iFAAiF;IACjF,uDAAuD;IAEhD,MAAM,CAAC,KAAK,CAAC,MAAkB;QAClC,IAAI,IAAI,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC;QAC9C,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,GAAG;YACC,IAAI,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;YAC3B,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC;YACjB,IAAI,IAAI,GAAG,CAAC,EAAE;gBACV,QAAQ,IAAI,IAAI,CAAC;aACpB;YACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC5B,QACM,IAAI,GAAG,CAAC,EAAE;QAEjB,IAAI,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC;QAE1C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QACvD,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACrC,OAAO,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,KAAkB;QAClC,MAAM,MAAM,GAAiB,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,mBAAmB,GAAG,CAAC,CAAC;QAC9B,MAAM,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAE,CAAC;QAE3C,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,UAAU,GAAG;YAC7C,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,IAAI,QAAQ,CAAC;YACb,GAAG;gBACC,QAAQ,GAAG,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC;gBACzC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAChE,QAAQ,EAAE,CAAC;aACd,QACM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE;YAEvG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,QAAQ,GAAG,mBAAmB,EAAE;gBAC3D,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;aAChD;YAED,IAAI,QAAQ,KAAK,mBAAmB,IAAI,QAAQ,GAAG,CAAC,EAAE;gBAClD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;aAClE;YAED,IAAI,UAAU,CAAC,UAAU,IAAI,CAAC,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC,EAAE;gBACrD,+CAA+C;gBAC/C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK;oBACxB,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;oBAC/D,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;aAC3E;iBAAM;gBACH,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;aAC1C;YAED,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;SACrC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;;;ACtED,gEAAgE;AAChE,uEAAuE;AAEvE,+BAA+B;AAC/B,eAAe;AACR,SAAS,aAAa,CAAC,GAAQ;IAClC,OAAO,GAAG,IAAI,OAAO,WAAW,KAAK,WAAW;QAC5C,CAAC,GAAG,YAAY,WAAW;YAC3B,kEAAkE;YAClE,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC;AACrE,CAAC;;;ACVD,gEAAgE;AAChE,uEAAuE;AAEnB;AAOxB;AAEgC;AACpB;AAExC,+DAA+D;AAE/D,wCAAwC;AACxC,+FAA+F;AAC/F,sDAAsD;AACtD,MAAM,uBAAuB,GAAe,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,kCAAgB,CAAC,CAAC,CAAC;AAErF,8CAA8C;AACvC,MAAM,sBAAsB;IAe/B;;;OAGG;IACH,YAAY,kBAAuC;QAlBnD,+GAA+G;QAC/F,SAAI,GAAW,aAAa,CAAC;QAC7C,mCAAmC;QACnB,YAAO,GAAW,CAAC,CAAC;QACpC,0CAA0C;QAC1B,mBAAc,GAAmB,uCAAqB,CAAC;QAEtD,iBAAY,GAAG,CAAC,CAAC;QACjB,gBAAW,GAAG,CAAC,CAAC;QAChB,mBAAc,GAAG,CAAC,CAAC;QAUhC,kBAAkB,GAAG,kBAAkB,IAAI,EAAE,CAAC;QAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CACvB,kBAAkB,CAAC,cAAc,EACjC,kBAAkB,CAAC,OAAO,EAC1B,kBAAkB,CAAC,QAAQ,EAC3B,kBAAkB,CAAC,iBAAiB,EACpC,kBAAkB,CAAC,QAAQ,EAC3B,kBAAkB,CAAC,YAAY,EAC/B,kBAAkB,CAAC,eAAe,EAClC,kBAAkB,CAAC,mBAAmB,CACzC,CAAC;QAEF,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CACvB,kBAAkB,CAAC,cAAc,EACjC,kBAAkB,CAAC,OAAO,EAC1B,kBAAkB,CAAC,YAAY,EAC/B,kBAAkB,CAAC,YAAY,EAC/B,kBAAkB,CAAC,cAAc,EACjC,kBAAkB,CAAC,YAAY,EAC/B,kBAAkB,CAAC,YAAY,CAClC,CAAC;IACN,CAAC;IAED;;;;OAIG;IACI,aAAa,CAAC,KAAkB,EAAE,MAAe;QACpD,sHAAsH;QACtH,IAAI,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;SAC3F;QAED,IAAI,MAAM,KAAK,IAAI,EAAE;YACjB,MAAM,GAAG,qCAAmB,CAAC;SAChC;QAED,MAAM,QAAQ,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAElD,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC1D,gFAAgF;YAChF,IAAI,aAAa,EAAE;gBACf,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aACnC;SACJ;QAED,OAAO,WAAW,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACI,YAAY,CAAC,OAAmB;QACnC,QAAQ,OAAO,CAAC,IAAI,EAAE;YAClB,KAAK,wCAAsB;gBACvB,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAA4B,CAAC,CAAC;YAC/D,KAAK,8CAA4B;gBAC7B,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAkC,CAAC,CAAC;YAC3E,KAAK,wCAAsB;gBACvB,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAA4B,CAAC,CAAC;YAC/D,KAAK,wCAAsB;gBACvB,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAA4B,CAAC,CAAC;YAC/D,KAAK,kCAAgB;gBACjB,OAAO,yBAAyB,CAAC,uBAAuB,CAAC,CAAC;YAC9D,KAAK,8CAA4B;gBAC7B,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAkC,CAAC,CAAC;YAC3E;gBACI,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;SAChD;IACL,CAAC;IAEO,aAAa,CAAC,KAAiB,EAAE,MAAe;QACpD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACvC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAQ,CAAC;QACtD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,YAAY,KAAK,CAAC,EAAE;YAC3D,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACvC;QAED,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAgB,CAAC;QAEjD,QAAQ,WAAW,EAAE;YACjB,KAAK,wCAAsB;gBACvB,OAAO,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;YACpF,KAAK,wCAAsB;gBACvB,OAAO,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;YACpF,KAAK,wCAAsB;gBACvB,OAAO,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;YACpF,KAAK,kCAAgB;gBACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAC/C,KAAK,mCAAiB;gBAClB,OAAO,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAChD;gBACI,6EAA6E;gBAC7E,MAAM,CAAC,GAAG,CAAC,sCAAoB,EAAE,wBAAwB,GAAG,WAAW,GAAG,YAAY,CAAC,CAAC;gBACxF,OAAO,IAAI,CAAC;SACnB;IACL,CAAC;IAEO,mBAAmB,CAAC,UAAiB;QACzC,+FAA+F;QAC/F,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACzD;QAED,OAAO;YACH,kCAAkC;YAClC,cAAc,EAAE,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YAClE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;YACpB,IAAI,EAAE,mCAAiB;SACZ,CAAC;IACpB,CAAC;IAEO,kBAAkB,CAAC,UAAiB;QACxC,+FAA+F;QAC/F,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;SACxD;QAED,OAAO;YACH,iCAAiC;YACjC,IAAI,EAAE,kCAAgB;SACX,CAAC;IACpB,CAAC;IAEO,wBAAwB,CAAC,OAAuB,EAAE,UAAiB;QACvE,+FAA+F;QAC/F,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC9D;QAED,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAW,CAAC;QAC7C,IAAI,YAAY,EAAE;YACd,OAAO;gBACH,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;gBACxB,OAAO;gBACP,YAAY;gBACZ,SAAS,EAAE,EAAE;gBACb,MAAM,EAAE,UAAU,CAAC,CAAC,CAAW;gBAC/B,IAAI,EAAE,wCAAsB;aAC/B,CAAC;SACL;aAAM;YACH,OAAO;gBACH,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;gBACxB,OAAO;gBACP,SAAS,EAAE,EAAE;gBACb,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;gBACrB,IAAI,EAAE,wCAAsB;aAC/B,CAAC;SACL;IAEL,CAAC;IAEO,wBAAwB,CAAC,OAAuB,EAAE,UAAiB;QACvE,+FAA+F;QAC/F,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC9D;QAED,OAAO;YACH,OAAO;YACP,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;YAC3B,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;YACnB,IAAI,EAAE,wCAAsB;SACV,CAAC;IAC3B,CAAC;IAEO,wBAAwB,CAAC,OAAuB,EAAE,UAAiB;QACvE,+FAA+F;QAC/F,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC9D;QAED,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAEjC,IAAI,UAAU,KAAK,IAAI,CAAC,WAAW,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1D,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC9D;QAED,IAAI,KAAyB,CAAC;QAC9B,IAAI,MAAW,CAAC;QAEhB,QAAQ,UAAU,EAAE;YAChB,KAAK,IAAI,CAAC,YAAY;gBAClB,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBACtB,MAAM;YACV,KAAK,IAAI,CAAC,cAAc;gBACpB,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBACvB,MAAM;SACb;QAED,MAAM,iBAAiB,GAAsB;YACzC,KAAK;YACL,OAAO;YACP,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;YAC3B,MAAM;YACN,IAAI,EAAE,wCAAsB;SAC/B,CAAC;QAEF,OAAO,iBAAiB,CAAC;IAC7B,CAAC;IAEO,gBAAgB,CAAC,iBAAoC;QACzD,IAAI,OAAY,CAAC;QACjB,IAAI,iBAAiB,CAAC,SAAS,EAAE;YAC7B,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,wCAAsB,EAAE,iBAAiB,CAAC,OAAO,IAAI,EAAE,EAAE,iBAAiB,CAAC,YAAY,IAAI,IAAI;gBAC/H,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;SACxF;aAAM;YACH,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,wCAAsB,EAAE,iBAAiB,CAAC,OAAO,IAAI,EAAE,EAAE,iBAAiB,CAAC,YAAY,IAAI,IAAI;gBAC/H,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;SAC3D;QAED,OAAO,yBAAyB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAEO,sBAAsB,CAAC,uBAAgD;QAC3E,IAAI,OAAY,CAAC;QACjB,IAAI,uBAAuB,CAAC,SAAS,EAAE;YACnC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,8CAA4B,EAAE,uBAAuB,CAAC,OAAO,IAAI,EAAE,EAAE,uBAAuB,CAAC,YAAY;gBACzI,uBAAuB,CAAC,MAAM,EAAE,uBAAuB,CAAC,SAAS,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC;SAC1G;aAAM;YACH,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,8CAA4B,EAAE,uBAAuB,CAAC,OAAO,IAAI,EAAE,EAAE,uBAAuB,CAAC,YAAY;gBACzI,uBAAuB,CAAC,MAAM,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC;SACvE;QAED,OAAO,yBAAyB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAEO,gBAAgB,CAAC,iBAAoC;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,wCAAsB,EAAE,iBAAiB,CAAC,OAAO,IAAI,EAAE,EAAE,iBAAiB,CAAC,YAAY;YAC7H,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QAEzB,OAAO,yBAAyB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAEO,gBAAgB,CAAC,iBAAoC;QACzD,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QAEnI,IAAI,OAAY,CAAC;QACjB,QAAQ,UAAU,EAAE;YAChB,KAAK,IAAI,CAAC,YAAY;gBAClB,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,wCAAsB,EAAE,iBAAiB,CAAC,OAAO,IAAI,EAAE,EAAE,iBAAiB,CAAC,YAAY,EAAE,UAAU,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC/J,MAAM;YACV,KAAK,IAAI,CAAC,WAAW;gBACjB,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,wCAAsB,EAAE,iBAAiB,CAAC,OAAO,IAAI,EAAE,EAAE,iBAAiB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;gBACtI,MAAM;YACV,KAAK,IAAI,CAAC,cAAc;gBACpB,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,wCAAsB,EAAE,iBAAiB,CAAC,OAAO,IAAI,EAAE,EAAE,iBAAiB,CAAC,YAAY,EAAE,UAAU,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAChK,MAAM;SACb;QAED,OAAO,yBAAyB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAEO,sBAAsB,CAAC,uBAAgD;QAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,8CAA4B,EAAE,uBAAuB,CAAC,OAAO,IAAI,EAAE,EAAE,uBAAuB,CAAC,YAAY,CAAC,CAAC,CAAC;QAElJ,OAAO,yBAAyB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAEO,YAAY,CAAC,UAAe;QAChC,MAAM,OAAO,GAAmB,UAAU,CAAC,CAAC,CAAmB,CAAC;QAChE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACvC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ;;;AC7TD,gEAAgE;AAChE,uEAAuE;AAEvE,6DAA6D;AAC7D,gEAAgE;AACzD,MAAM,OAAO,GAAG,iBAAiB,CAAC;AAEyB;;;ACPlE,gEAAgE;AAChE,uEAAuE;AAEvE,qHAAqH;AAE7F","file":"signalr-protocol-msgpack.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"signalR\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"signalR\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"msgpack\"] = factory(require(\"signalR\"));\n\telse\n\t\troot[\"signalR\"] = root[\"signalR\"] || {}, root[\"signalR\"][\"protocols\"] = root[\"signalR\"][\"protocols\"] || {}, root[\"signalR\"][\"protocols\"][\"msgpack\"] = factory(root[\"signalR\"]);\n})(self, function(__WEBPACK_EXTERNAL_MODULE__1__) {\nreturn ","module.exports = __WEBPACK_EXTERNAL_MODULE__1__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// Integer Utility\nexport var UINT32_MAX = 4294967295;\n// DataView extension to handle int64 / uint64,\n// where the actual range is 53-bits integer (a.k.a. safe integer)\nexport function setUint64(view, offset, value) {\n var high = value / 4294967296;\n var low = value; // high bits are truncated by DataView\n view.setUint32(offset, high);\n view.setUint32(offset + 4, low);\n}\nexport function setInt64(view, offset, value) {\n var high = Math.floor(value / 4294967296);\n var low = value; // high bits are truncated by DataView\n view.setUint32(offset, high);\n view.setUint32(offset + 4, low);\n}\nexport function getInt64(view, offset) {\n var high = view.getInt32(offset);\n var low = view.getUint32(offset + 4);\n return high * 4294967296 + low;\n}\nexport function getUint64(view, offset) {\n var high = view.getUint32(offset);\n var low = view.getUint32(offset + 4);\n return high * 4294967296 + low;\n}\n//# sourceMappingURL=int.mjs.map","import { UINT32_MAX } from \"./int.mjs\";\nvar TEXT_ENCODING_AVAILABLE = (typeof process === \"undefined\" || process.env[\"TEXT_ENCODING\"] !== \"never\") &&\n typeof TextEncoder !== \"undefined\" &&\n typeof TextDecoder !== \"undefined\";\nexport function utf8Count(str) {\n var strLength = str.length;\n var byteLength = 0;\n var pos = 0;\n while (pos < strLength) {\n var value = str.charCodeAt(pos++);\n if ((value & 0xffffff80) === 0) {\n // 1-byte\n byteLength++;\n continue;\n }\n else if ((value & 0xfffff800) === 0) {\n // 2-bytes\n byteLength += 2;\n }\n else {\n // handle surrogate pair\n if (value >= 0xd800 && value <= 0xdbff) {\n // high surrogate\n if (pos < strLength) {\n var extra = str.charCodeAt(pos);\n if ((extra & 0xfc00) === 0xdc00) {\n ++pos;\n value = ((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000;\n }\n }\n }\n if ((value & 0xffff0000) === 0) {\n // 3-byte\n byteLength += 3;\n }\n else {\n // 4-byte\n byteLength += 4;\n }\n }\n }\n return byteLength;\n}\nexport function utf8EncodeJs(str, output, outputOffset) {\n var strLength = str.length;\n var offset = outputOffset;\n var pos = 0;\n while (pos < strLength) {\n var value = str.charCodeAt(pos++);\n if ((value & 0xffffff80) === 0) {\n // 1-byte\n output[offset++] = value;\n continue;\n }\n else if ((value & 0xfffff800) === 0) {\n // 2-bytes\n output[offset++] = ((value >> 6) & 0x1f) | 0xc0;\n }\n else {\n // handle surrogate pair\n if (value >= 0xd800 && value <= 0xdbff) {\n // high surrogate\n if (pos < strLength) {\n var extra = str.charCodeAt(pos);\n if ((extra & 0xfc00) === 0xdc00) {\n ++pos;\n value = ((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000;\n }\n }\n }\n if ((value & 0xffff0000) === 0) {\n // 3-byte\n output[offset++] = ((value >> 12) & 0x0f) | 0xe0;\n output[offset++] = ((value >> 6) & 0x3f) | 0x80;\n }\n else {\n // 4-byte\n output[offset++] = ((value >> 18) & 0x07) | 0xf0;\n output[offset++] = ((value >> 12) & 0x3f) | 0x80;\n output[offset++] = ((value >> 6) & 0x3f) | 0x80;\n }\n }\n output[offset++] = (value & 0x3f) | 0x80;\n }\n}\nvar sharedTextEncoder = TEXT_ENCODING_AVAILABLE ? new TextEncoder() : undefined;\nexport var TEXT_ENCODER_THRESHOLD = !TEXT_ENCODING_AVAILABLE\n ? UINT32_MAX\n : typeof process !== \"undefined\" && process.env[\"TEXT_ENCODING\"] !== \"force\"\n ? 200\n : 0;\nfunction utf8EncodeTEencode(str, output, outputOffset) {\n output.set(sharedTextEncoder.encode(str), outputOffset);\n}\nfunction utf8EncodeTEencodeInto(str, output, outputOffset) {\n sharedTextEncoder.encodeInto(str, output.subarray(outputOffset));\n}\nexport var utf8EncodeTE = (sharedTextEncoder === null || sharedTextEncoder === void 0 ? void 0 : sharedTextEncoder.encodeInto) ? utf8EncodeTEencodeInto : utf8EncodeTEencode;\nvar CHUNK_SIZE = 4096;\nexport function utf8DecodeJs(bytes, inputOffset, byteLength) {\n var offset = inputOffset;\n var end = offset + byteLength;\n var units = [];\n var result = \"\";\n while (offset < end) {\n var byte1 = bytes[offset++];\n if ((byte1 & 0x80) === 0) {\n // 1 byte\n units.push(byte1);\n }\n else if ((byte1 & 0xe0) === 0xc0) {\n // 2 bytes\n var byte2 = bytes[offset++] & 0x3f;\n units.push(((byte1 & 0x1f) << 6) | byte2);\n }\n else if ((byte1 & 0xf0) === 0xe0) {\n // 3 bytes\n var byte2 = bytes[offset++] & 0x3f;\n var byte3 = bytes[offset++] & 0x3f;\n units.push(((byte1 & 0x1f) << 12) | (byte2 << 6) | byte3);\n }\n else if ((byte1 & 0xf8) === 0xf0) {\n // 4 bytes\n var byte2 = bytes[offset++] & 0x3f;\n var byte3 = bytes[offset++] & 0x3f;\n var byte4 = bytes[offset++] & 0x3f;\n var unit = ((byte1 & 0x07) << 0x12) | (byte2 << 0x0c) | (byte3 << 0x06) | byte4;\n if (unit > 0xffff) {\n unit -= 0x10000;\n units.push(((unit >>> 10) & 0x3ff) | 0xd800);\n unit = 0xdc00 | (unit & 0x3ff);\n }\n units.push(unit);\n }\n else {\n units.push(byte1);\n }\n if (units.length >= CHUNK_SIZE) {\n result += String.fromCharCode.apply(String, units);\n units.length = 0;\n }\n }\n if (units.length > 0) {\n result += String.fromCharCode.apply(String, units);\n }\n return result;\n}\nvar sharedTextDecoder = TEXT_ENCODING_AVAILABLE ? new TextDecoder() : null;\nexport var TEXT_DECODER_THRESHOLD = !TEXT_ENCODING_AVAILABLE\n ? UINT32_MAX\n : typeof process !== \"undefined\" && process.env[\"TEXT_DECODER\"] !== \"force\"\n ? 200\n : 0;\nexport function utf8DecodeTD(bytes, inputOffset, byteLength) {\n var stringBytes = bytes.subarray(inputOffset, inputOffset + byteLength);\n return sharedTextDecoder.decode(stringBytes);\n}\n//# sourceMappingURL=utf8.mjs.map","/**\n * ExtData is used to handle Extension Types that are not registered to ExtensionCodec.\n */\nvar ExtData = /** @class */ (function () {\n function ExtData(type, data) {\n this.type = type;\n this.data = data;\n }\n return ExtData;\n}());\nexport { ExtData };\n//# sourceMappingURL=ExtData.mjs.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar DecodeError = /** @class */ (function (_super) {\n __extends(DecodeError, _super);\n function DecodeError(message) {\n var _this = _super.call(this, message) || this;\n // fix the prototype chain in a cross-platform way\n var proto = Object.create(DecodeError.prototype);\n Object.setPrototypeOf(_this, proto);\n Object.defineProperty(_this, \"name\", {\n configurable: true,\n enumerable: false,\n value: DecodeError.name,\n });\n return _this;\n }\n return DecodeError;\n}(Error));\nexport { DecodeError };\n//# sourceMappingURL=DecodeError.mjs.map","// https://github.com/msgpack/msgpack/blob/master/spec.md#timestamp-extension-type\nimport { DecodeError } from \"./DecodeError.mjs\";\nimport { getInt64, setInt64 } from \"./utils/int.mjs\";\nexport var EXT_TIMESTAMP = -1;\nvar TIMESTAMP32_MAX_SEC = 0x100000000 - 1; // 32-bit unsigned int\nvar TIMESTAMP64_MAX_SEC = 0x400000000 - 1; // 34-bit unsigned int\nexport function encodeTimeSpecToTimestamp(_a) {\n var sec = _a.sec, nsec = _a.nsec;\n if (sec >= 0 && nsec >= 0 && sec <= TIMESTAMP64_MAX_SEC) {\n // Here sec >= 0 && nsec >= 0\n if (nsec === 0 && sec <= TIMESTAMP32_MAX_SEC) {\n // timestamp 32 = { sec32 (unsigned) }\n var rv = new Uint8Array(4);\n var view = new DataView(rv.buffer);\n view.setUint32(0, sec);\n return rv;\n }\n else {\n // timestamp 64 = { nsec30 (unsigned), sec34 (unsigned) }\n var secHigh = sec / 0x100000000;\n var secLow = sec & 0xffffffff;\n var rv = new Uint8Array(8);\n var view = new DataView(rv.buffer);\n // nsec30 | secHigh2\n view.setUint32(0, (nsec << 2) | (secHigh & 0x3));\n // secLow32\n view.setUint32(4, secLow);\n return rv;\n }\n }\n else {\n // timestamp 96 = { nsec32 (unsigned), sec64 (signed) }\n var rv = new Uint8Array(12);\n var view = new DataView(rv.buffer);\n view.setUint32(0, nsec);\n setInt64(view, 4, sec);\n return rv;\n }\n}\nexport function encodeDateToTimeSpec(date) {\n var msec = date.getTime();\n var sec = Math.floor(msec / 1e3);\n var nsec = (msec - sec * 1e3) * 1e6;\n // Normalizes { sec, nsec } to ensure nsec is unsigned.\n var nsecInSec = Math.floor(nsec / 1e9);\n return {\n sec: sec + nsecInSec,\n nsec: nsec - nsecInSec * 1e9,\n };\n}\nexport function encodeTimestampExtension(object) {\n if (object instanceof Date) {\n var timeSpec = encodeDateToTimeSpec(object);\n return encodeTimeSpecToTimestamp(timeSpec);\n }\n else {\n return null;\n }\n}\nexport function decodeTimestampToTimeSpec(data) {\n var view = new DataView(data.buffer, data.byteOffset, data.byteLength);\n // data may be 32, 64, or 96 bits\n switch (data.byteLength) {\n case 4: {\n // timestamp 32 = { sec32 }\n var sec = view.getUint32(0);\n var nsec = 0;\n return { sec: sec, nsec: nsec };\n }\n case 8: {\n // timestamp 64 = { nsec30, sec34 }\n var nsec30AndSecHigh2 = view.getUint32(0);\n var secLow32 = view.getUint32(4);\n var sec = (nsec30AndSecHigh2 & 0x3) * 0x100000000 + secLow32;\n var nsec = nsec30AndSecHigh2 >>> 2;\n return { sec: sec, nsec: nsec };\n }\n case 12: {\n // timestamp 96 = { nsec32 (unsigned), sec64 (signed) }\n var sec = getInt64(view, 4);\n var nsec = view.getUint32(0);\n return { sec: sec, nsec: nsec };\n }\n default:\n throw new DecodeError(\"Unrecognized data size for timestamp (expected 4, 8, or 12): \" + data.length);\n }\n}\nexport function decodeTimestampExtension(data) {\n var timeSpec = decodeTimestampToTimeSpec(data);\n return new Date(timeSpec.sec * 1e3 + timeSpec.nsec / 1e6);\n}\nexport var timestampExtension = {\n type: EXT_TIMESTAMP,\n encode: encodeTimestampExtension,\n decode: decodeTimestampExtension,\n};\n//# sourceMappingURL=timestamp.mjs.map","// ExtensionCodec to handle MessagePack extensions\nimport { ExtData } from \"./ExtData.mjs\";\nimport { timestampExtension } from \"./timestamp.mjs\";\nvar ExtensionCodec = /** @class */ (function () {\n function ExtensionCodec() {\n // built-in extensions\n this.builtInEncoders = [];\n this.builtInDecoders = [];\n // custom extensions\n this.encoders = [];\n this.decoders = [];\n this.register(timestampExtension);\n }\n ExtensionCodec.prototype.register = function (_a) {\n var type = _a.type, encode = _a.encode, decode = _a.decode;\n if (type >= 0) {\n // custom extensions\n this.encoders[type] = encode;\n this.decoders[type] = decode;\n }\n else {\n // built-in extensions\n var index = 1 + type;\n this.builtInEncoders[index] = encode;\n this.builtInDecoders[index] = decode;\n }\n };\n ExtensionCodec.prototype.tryToEncode = function (object, context) {\n // built-in extensions\n for (var i = 0; i < this.builtInEncoders.length; i++) {\n var encodeExt = this.builtInEncoders[i];\n if (encodeExt != null) {\n var data = encodeExt(object, context);\n if (data != null) {\n var type = -1 - i;\n return new ExtData(type, data);\n }\n }\n }\n // custom extensions\n for (var i = 0; i < this.encoders.length; i++) {\n var encodeExt = this.encoders[i];\n if (encodeExt != null) {\n var data = encodeExt(object, context);\n if (data != null) {\n var type = i;\n return new ExtData(type, data);\n }\n }\n }\n if (object instanceof ExtData) {\n // to keep ExtData as is\n return object;\n }\n return null;\n };\n ExtensionCodec.prototype.decode = function (data, type, context) {\n var decodeExt = type < 0 ? this.builtInDecoders[-1 - type] : this.decoders[type];\n if (decodeExt) {\n return decodeExt(data, type, context);\n }\n else {\n // decode() does not fail, returns ExtData instead.\n return new ExtData(type, data);\n }\n };\n ExtensionCodec.defaultCodec = new ExtensionCodec();\n return ExtensionCodec;\n}());\nexport { ExtensionCodec };\n//# sourceMappingURL=ExtensionCodec.mjs.map","export function ensureUint8Array(buffer) {\n if (buffer instanceof Uint8Array) {\n return buffer;\n }\n else if (ArrayBuffer.isView(buffer)) {\n return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n }\n else if (buffer instanceof ArrayBuffer) {\n return new Uint8Array(buffer);\n }\n else {\n // ArrayLike\n return Uint8Array.from(buffer);\n }\n}\nexport function createDataView(buffer) {\n if (buffer instanceof ArrayBuffer) {\n return new DataView(buffer);\n }\n var bufferView = ensureUint8Array(buffer);\n return new DataView(bufferView.buffer, bufferView.byteOffset, bufferView.byteLength);\n}\n//# sourceMappingURL=typedArrays.mjs.map","import { utf8EncodeJs, utf8Count, TEXT_ENCODER_THRESHOLD, utf8EncodeTE } from \"./utils/utf8.mjs\";\nimport { ExtensionCodec } from \"./ExtensionCodec.mjs\";\nimport { setInt64, setUint64 } from \"./utils/int.mjs\";\nimport { ensureUint8Array } from \"./utils/typedArrays.mjs\";\nexport var DEFAULT_MAX_DEPTH = 100;\nexport var DEFAULT_INITIAL_BUFFER_SIZE = 2048;\nvar Encoder = /** @class */ (function () {\n function Encoder(extensionCodec, context, maxDepth, initialBufferSize, sortKeys, forceFloat32, ignoreUndefined, forceIntegerToFloat) {\n if (extensionCodec === void 0) { extensionCodec = ExtensionCodec.defaultCodec; }\n if (context === void 0) { context = undefined; }\n if (maxDepth === void 0) { maxDepth = DEFAULT_MAX_DEPTH; }\n if (initialBufferSize === void 0) { initialBufferSize = DEFAULT_INITIAL_BUFFER_SIZE; }\n if (sortKeys === void 0) { sortKeys = false; }\n if (forceFloat32 === void 0) { forceFloat32 = false; }\n if (ignoreUndefined === void 0) { ignoreUndefined = false; }\n if (forceIntegerToFloat === void 0) { forceIntegerToFloat = false; }\n this.extensionCodec = extensionCodec;\n this.context = context;\n this.maxDepth = maxDepth;\n this.initialBufferSize = initialBufferSize;\n this.sortKeys = sortKeys;\n this.forceFloat32 = forceFloat32;\n this.ignoreUndefined = ignoreUndefined;\n this.forceIntegerToFloat = forceIntegerToFloat;\n this.pos = 0;\n this.view = new DataView(new ArrayBuffer(this.initialBufferSize));\n this.bytes = new Uint8Array(this.view.buffer);\n }\n Encoder.prototype.getUint8Array = function () {\n return this.bytes.subarray(0, this.pos);\n };\n Encoder.prototype.reinitializeState = function () {\n this.pos = 0;\n };\n Encoder.prototype.encode = function (object) {\n this.reinitializeState();\n this.doEncode(object, 1);\n return this.getUint8Array();\n };\n Encoder.prototype.doEncode = function (object, depth) {\n if (depth > this.maxDepth) {\n throw new Error(\"Too deep objects in depth \" + depth);\n }\n if (object == null) {\n this.encodeNil();\n }\n else if (typeof object === \"boolean\") {\n this.encodeBoolean(object);\n }\n else if (typeof object === \"number\") {\n this.encodeNumber(object);\n }\n else if (typeof object === \"string\") {\n this.encodeString(object);\n }\n else {\n this.encodeObject(object, depth);\n }\n };\n Encoder.prototype.ensureBufferSizeToWrite = function (sizeToWrite) {\n var requiredSize = this.pos + sizeToWrite;\n if (this.view.byteLength < requiredSize) {\n this.resizeBuffer(requiredSize * 2);\n }\n };\n Encoder.prototype.resizeBuffer = function (newSize) {\n var newBuffer = new ArrayBuffer(newSize);\n var newBytes = new Uint8Array(newBuffer);\n var newView = new DataView(newBuffer);\n newBytes.set(this.bytes);\n this.view = newView;\n this.bytes = newBytes;\n };\n Encoder.prototype.encodeNil = function () {\n this.writeU8(0xc0);\n };\n Encoder.prototype.encodeBoolean = function (object) {\n if (object === false) {\n this.writeU8(0xc2);\n }\n else {\n this.writeU8(0xc3);\n }\n };\n Encoder.prototype.encodeNumber = function (object) {\n if (Number.isSafeInteger(object) && !this.forceIntegerToFloat) {\n if (object >= 0) {\n if (object < 0x80) {\n // positive fixint\n this.writeU8(object);\n }\n else if (object < 0x100) {\n // uint 8\n this.writeU8(0xcc);\n this.writeU8(object);\n }\n else if (object < 0x10000) {\n // uint 16\n this.writeU8(0xcd);\n this.writeU16(object);\n }\n else if (object < 0x100000000) {\n // uint 32\n this.writeU8(0xce);\n this.writeU32(object);\n }\n else {\n // uint 64\n this.writeU8(0xcf);\n this.writeU64(object);\n }\n }\n else {\n if (object >= -0x20) {\n // negative fixint\n this.writeU8(0xe0 | (object + 0x20));\n }\n else if (object >= -0x80) {\n // int 8\n this.writeU8(0xd0);\n this.writeI8(object);\n }\n else if (object >= -0x8000) {\n // int 16\n this.writeU8(0xd1);\n this.writeI16(object);\n }\n else if (object >= -0x80000000) {\n // int 32\n this.writeU8(0xd2);\n this.writeI32(object);\n }\n else {\n // int 64\n this.writeU8(0xd3);\n this.writeI64(object);\n }\n }\n }\n else {\n // non-integer numbers\n if (this.forceFloat32) {\n // float 32\n this.writeU8(0xca);\n this.writeF32(object);\n }\n else {\n // float 64\n this.writeU8(0xcb);\n this.writeF64(object);\n }\n }\n };\n Encoder.prototype.writeStringHeader = function (byteLength) {\n if (byteLength < 32) {\n // fixstr\n this.writeU8(0xa0 + byteLength);\n }\n else if (byteLength < 0x100) {\n // str 8\n this.writeU8(0xd9);\n this.writeU8(byteLength);\n }\n else if (byteLength < 0x10000) {\n // str 16\n this.writeU8(0xda);\n this.writeU16(byteLength);\n }\n else if (byteLength < 0x100000000) {\n // str 32\n this.writeU8(0xdb);\n this.writeU32(byteLength);\n }\n else {\n throw new Error(\"Too long string: \" + byteLength + \" bytes in UTF-8\");\n }\n };\n Encoder.prototype.encodeString = function (object) {\n var maxHeaderSize = 1 + 4;\n var strLength = object.length;\n if (strLength > TEXT_ENCODER_THRESHOLD) {\n var byteLength = utf8Count(object);\n this.ensureBufferSizeToWrite(maxHeaderSize + byteLength);\n this.writeStringHeader(byteLength);\n utf8EncodeTE(object, this.bytes, this.pos);\n this.pos += byteLength;\n }\n else {\n var byteLength = utf8Count(object);\n this.ensureBufferSizeToWrite(maxHeaderSize + byteLength);\n this.writeStringHeader(byteLength);\n utf8EncodeJs(object, this.bytes, this.pos);\n this.pos += byteLength;\n }\n };\n Encoder.prototype.encodeObject = function (object, depth) {\n // try to encode objects with custom codec first of non-primitives\n var ext = this.extensionCodec.tryToEncode(object, this.context);\n if (ext != null) {\n this.encodeExtension(ext);\n }\n else if (Array.isArray(object)) {\n this.encodeArray(object, depth);\n }\n else if (ArrayBuffer.isView(object)) {\n this.encodeBinary(object);\n }\n else if (typeof object === \"object\") {\n this.encodeMap(object, depth);\n }\n else {\n // symbol, function and other special object come here unless extensionCodec handles them.\n throw new Error(\"Unrecognized object: \" + Object.prototype.toString.apply(object));\n }\n };\n Encoder.prototype.encodeBinary = function (object) {\n var size = object.byteLength;\n if (size < 0x100) {\n // bin 8\n this.writeU8(0xc4);\n this.writeU8(size);\n }\n else if (size < 0x10000) {\n // bin 16\n this.writeU8(0xc5);\n this.writeU16(size);\n }\n else if (size < 0x100000000) {\n // bin 32\n this.writeU8(0xc6);\n this.writeU32(size);\n }\n else {\n throw new Error(\"Too large binary: \" + size);\n }\n var bytes = ensureUint8Array(object);\n this.writeU8a(bytes);\n };\n Encoder.prototype.encodeArray = function (object, depth) {\n var size = object.length;\n if (size < 16) {\n // fixarray\n this.writeU8(0x90 + size);\n }\n else if (size < 0x10000) {\n // array 16\n this.writeU8(0xdc);\n this.writeU16(size);\n }\n else if (size < 0x100000000) {\n // array 32\n this.writeU8(0xdd);\n this.writeU32(size);\n }\n else {\n throw new Error(\"Too large array: \" + size);\n }\n for (var _i = 0, object_1 = object; _i < object_1.length; _i++) {\n var item = object_1[_i];\n this.doEncode(item, depth + 1);\n }\n };\n Encoder.prototype.countWithoutUndefined = function (object, keys) {\n var count = 0;\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\n var key = keys_1[_i];\n if (object[key] !== undefined) {\n count++;\n }\n }\n return count;\n };\n Encoder.prototype.encodeMap = function (object, depth) {\n var keys = Object.keys(object);\n if (this.sortKeys) {\n keys.sort();\n }\n var size = this.ignoreUndefined ? this.countWithoutUndefined(object, keys) : keys.length;\n if (size < 16) {\n // fixmap\n this.writeU8(0x80 + size);\n }\n else if (size < 0x10000) {\n // map 16\n this.writeU8(0xde);\n this.writeU16(size);\n }\n else if (size < 0x100000000) {\n // map 32\n this.writeU8(0xdf);\n this.writeU32(size);\n }\n else {\n throw new Error(\"Too large map object: \" + size);\n }\n for (var _i = 0, keys_2 = keys; _i < keys_2.length; _i++) {\n var key = keys_2[_i];\n var value = object[key];\n if (!(this.ignoreUndefined && value === undefined)) {\n this.encodeString(key);\n this.doEncode(value, depth + 1);\n }\n }\n };\n Encoder.prototype.encodeExtension = function (ext) {\n var size = ext.data.length;\n if (size === 1) {\n // fixext 1\n this.writeU8(0xd4);\n }\n else if (size === 2) {\n // fixext 2\n this.writeU8(0xd5);\n }\n else if (size === 4) {\n // fixext 4\n this.writeU8(0xd6);\n }\n else if (size === 8) {\n // fixext 8\n this.writeU8(0xd7);\n }\n else if (size === 16) {\n // fixext 16\n this.writeU8(0xd8);\n }\n else if (size < 0x100) {\n // ext 8\n this.writeU8(0xc7);\n this.writeU8(size);\n }\n else if (size < 0x10000) {\n // ext 16\n this.writeU8(0xc8);\n this.writeU16(size);\n }\n else if (size < 0x100000000) {\n // ext 32\n this.writeU8(0xc9);\n this.writeU32(size);\n }\n else {\n throw new Error(\"Too large extension object: \" + size);\n }\n this.writeI8(ext.type);\n this.writeU8a(ext.data);\n };\n Encoder.prototype.writeU8 = function (value) {\n this.ensureBufferSizeToWrite(1);\n this.view.setUint8(this.pos, value);\n this.pos++;\n };\n Encoder.prototype.writeU8a = function (values) {\n var size = values.length;\n this.ensureBufferSizeToWrite(size);\n this.bytes.set(values, this.pos);\n this.pos += size;\n };\n Encoder.prototype.writeI8 = function (value) {\n this.ensureBufferSizeToWrite(1);\n this.view.setInt8(this.pos, value);\n this.pos++;\n };\n Encoder.prototype.writeU16 = function (value) {\n this.ensureBufferSizeToWrite(2);\n this.view.setUint16(this.pos, value);\n this.pos += 2;\n };\n Encoder.prototype.writeI16 = function (value) {\n this.ensureBufferSizeToWrite(2);\n this.view.setInt16(this.pos, value);\n this.pos += 2;\n };\n Encoder.prototype.writeU32 = function (value) {\n this.ensureBufferSizeToWrite(4);\n this.view.setUint32(this.pos, value);\n this.pos += 4;\n };\n Encoder.prototype.writeI32 = function (value) {\n this.ensureBufferSizeToWrite(4);\n this.view.setInt32(this.pos, value);\n this.pos += 4;\n };\n Encoder.prototype.writeF32 = function (value) {\n this.ensureBufferSizeToWrite(4);\n this.view.setFloat32(this.pos, value);\n this.pos += 4;\n };\n Encoder.prototype.writeF64 = function (value) {\n this.ensureBufferSizeToWrite(8);\n this.view.setFloat64(this.pos, value);\n this.pos += 8;\n };\n Encoder.prototype.writeU64 = function (value) {\n this.ensureBufferSizeToWrite(8);\n setUint64(this.view, this.pos, value);\n this.pos += 8;\n };\n Encoder.prototype.writeI64 = function (value) {\n this.ensureBufferSizeToWrite(8);\n setInt64(this.view, this.pos, value);\n this.pos += 8;\n };\n return Encoder;\n}());\nexport { Encoder };\n//# sourceMappingURL=Encoder.mjs.map","export function prettyByte(byte) {\n return (byte < 0 ? \"-\" : \"\") + \"0x\" + Math.abs(byte).toString(16).padStart(2, \"0\");\n}\n//# sourceMappingURL=prettyByte.mjs.map","import { utf8DecodeJs } from \"./utils/utf8.mjs\";\nvar DEFAULT_MAX_KEY_LENGTH = 16;\nvar DEFAULT_MAX_LENGTH_PER_KEY = 16;\nvar CachedKeyDecoder = /** @class */ (function () {\n function CachedKeyDecoder(maxKeyLength, maxLengthPerKey) {\n if (maxKeyLength === void 0) { maxKeyLength = DEFAULT_MAX_KEY_LENGTH; }\n if (maxLengthPerKey === void 0) { maxLengthPerKey = DEFAULT_MAX_LENGTH_PER_KEY; }\n this.maxKeyLength = maxKeyLength;\n this.maxLengthPerKey = maxLengthPerKey;\n this.hit = 0;\n this.miss = 0;\n // avoid `new Array(N)`, which makes a sparse array,\n // because a sparse array is typically slower than a non-sparse array.\n this.caches = [];\n for (var i = 0; i < this.maxKeyLength; i++) {\n this.caches.push([]);\n }\n }\n CachedKeyDecoder.prototype.canBeCached = function (byteLength) {\n return byteLength > 0 && byteLength <= this.maxKeyLength;\n };\n CachedKeyDecoder.prototype.find = function (bytes, inputOffset, byteLength) {\n var records = this.caches[byteLength - 1];\n FIND_CHUNK: for (var _i = 0, records_1 = records; _i < records_1.length; _i++) {\n var record = records_1[_i];\n var recordBytes = record.bytes;\n for (var j = 0; j < byteLength; j++) {\n if (recordBytes[j] !== bytes[inputOffset + j]) {\n continue FIND_CHUNK;\n }\n }\n return record.str;\n }\n return null;\n };\n CachedKeyDecoder.prototype.store = function (bytes, value) {\n var records = this.caches[bytes.length - 1];\n var record = { bytes: bytes, str: value };\n if (records.length >= this.maxLengthPerKey) {\n // `records` are full!\n // Set `record` to an arbitrary position.\n records[(Math.random() * records.length) | 0] = record;\n }\n else {\n records.push(record);\n }\n };\n CachedKeyDecoder.prototype.decode = function (bytes, inputOffset, byteLength) {\n var cachedValue = this.find(bytes, inputOffset, byteLength);\n if (cachedValue != null) {\n this.hit++;\n return cachedValue;\n }\n this.miss++;\n var str = utf8DecodeJs(bytes, inputOffset, byteLength);\n // Ensure to copy a slice of bytes because the byte may be NodeJS Buffer and Buffer#slice() returns a reference to its internal ArrayBuffer.\n var slicedCopyOfBytes = Uint8Array.prototype.slice.call(bytes, inputOffset, inputOffset + byteLength);\n this.store(slicedCopyOfBytes, str);\n return str;\n };\n return CachedKeyDecoder;\n}());\nexport { CachedKeyDecoder };\n//# sourceMappingURL=CachedKeyDecoder.mjs.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nimport { prettyByte } from \"./utils/prettyByte.mjs\";\nimport { ExtensionCodec } from \"./ExtensionCodec.mjs\";\nimport { getInt64, getUint64, UINT32_MAX } from \"./utils/int.mjs\";\nimport { utf8DecodeJs, TEXT_DECODER_THRESHOLD, utf8DecodeTD } from \"./utils/utf8.mjs\";\nimport { createDataView, ensureUint8Array } from \"./utils/typedArrays.mjs\";\nimport { CachedKeyDecoder } from \"./CachedKeyDecoder.mjs\";\nimport { DecodeError } from \"./DecodeError.mjs\";\nvar isValidMapKeyType = function (key) {\n var keyType = typeof key;\n return keyType === \"string\" || keyType === \"number\";\n};\nvar HEAD_BYTE_REQUIRED = -1;\nvar EMPTY_VIEW = new DataView(new ArrayBuffer(0));\nvar EMPTY_BYTES = new Uint8Array(EMPTY_VIEW.buffer);\n// IE11: Hack to support IE11.\n// IE11: Drop this hack and just use RangeError when IE11 is obsolete.\nexport var DataViewIndexOutOfBoundsError = (function () {\n try {\n // IE11: The spec says it should throw RangeError,\n // IE11: but in IE11 it throws TypeError.\n EMPTY_VIEW.getInt8(0);\n }\n catch (e) {\n return e.constructor;\n }\n throw new Error(\"never reached\");\n})();\nvar MORE_DATA = new DataViewIndexOutOfBoundsError(\"Insufficient data\");\nvar sharedCachedKeyDecoder = new CachedKeyDecoder();\nvar Decoder = /** @class */ (function () {\n function Decoder(extensionCodec, context, maxStrLength, maxBinLength, maxArrayLength, maxMapLength, maxExtLength, keyDecoder) {\n if (extensionCodec === void 0) { extensionCodec = ExtensionCodec.defaultCodec; }\n if (context === void 0) { context = undefined; }\n if (maxStrLength === void 0) { maxStrLength = UINT32_MAX; }\n if (maxBinLength === void 0) { maxBinLength = UINT32_MAX; }\n if (maxArrayLength === void 0) { maxArrayLength = UINT32_MAX; }\n if (maxMapLength === void 0) { maxMapLength = UINT32_MAX; }\n if (maxExtLength === void 0) { maxExtLength = UINT32_MAX; }\n if (keyDecoder === void 0) { keyDecoder = sharedCachedKeyDecoder; }\n this.extensionCodec = extensionCodec;\n this.context = context;\n this.maxStrLength = maxStrLength;\n this.maxBinLength = maxBinLength;\n this.maxArrayLength = maxArrayLength;\n this.maxMapLength = maxMapLength;\n this.maxExtLength = maxExtLength;\n this.keyDecoder = keyDecoder;\n this.totalPos = 0;\n this.pos = 0;\n this.view = EMPTY_VIEW;\n this.bytes = EMPTY_BYTES;\n this.headByte = HEAD_BYTE_REQUIRED;\n this.stack = [];\n }\n Decoder.prototype.reinitializeState = function () {\n this.totalPos = 0;\n this.headByte = HEAD_BYTE_REQUIRED;\n this.stack.length = 0;\n // view, bytes, and pos will be re-initialized in setBuffer()\n };\n Decoder.prototype.setBuffer = function (buffer) {\n this.bytes = ensureUint8Array(buffer);\n this.view = createDataView(this.bytes);\n this.pos = 0;\n };\n Decoder.prototype.appendBuffer = function (buffer) {\n if (this.headByte === HEAD_BYTE_REQUIRED && !this.hasRemaining(1)) {\n this.setBuffer(buffer);\n }\n else {\n var remainingData = this.bytes.subarray(this.pos);\n var newData = ensureUint8Array(buffer);\n // concat remainingData + newData\n var newBuffer = new Uint8Array(remainingData.length + newData.length);\n newBuffer.set(remainingData);\n newBuffer.set(newData, remainingData.length);\n this.setBuffer(newBuffer);\n }\n };\n Decoder.prototype.hasRemaining = function (size) {\n return this.view.byteLength - this.pos >= size;\n };\n Decoder.prototype.createExtraByteError = function (posToShow) {\n var _a = this, view = _a.view, pos = _a.pos;\n return new RangeError(\"Extra \" + (view.byteLength - pos) + \" of \" + view.byteLength + \" byte(s) found at buffer[\" + posToShow + \"]\");\n };\n /**\n * @throws {DecodeError}\n * @throws {RangeError}\n */\n Decoder.prototype.decode = function (buffer) {\n this.reinitializeState();\n this.setBuffer(buffer);\n var object = this.doDecodeSync();\n if (this.hasRemaining(1)) {\n throw this.createExtraByteError(this.pos);\n }\n return object;\n };\n Decoder.prototype.decodeMulti = function (buffer) {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.reinitializeState();\n this.setBuffer(buffer);\n _a.label = 1;\n case 1:\n if (!this.hasRemaining(1)) return [3 /*break*/, 3];\n return [4 /*yield*/, this.doDecodeSync()];\n case 2:\n _a.sent();\n return [3 /*break*/, 1];\n case 3: return [2 /*return*/];\n }\n });\n };\n Decoder.prototype.decodeAsync = function (stream) {\n var stream_1, stream_1_1;\n var e_1, _a;\n return __awaiter(this, void 0, void 0, function () {\n var decoded, object, buffer, e_1_1, _b, headByte, pos, totalPos;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n decoded = false;\n _c.label = 1;\n case 1:\n _c.trys.push([1, 6, 7, 12]);\n stream_1 = __asyncValues(stream);\n _c.label = 2;\n case 2: return [4 /*yield*/, stream_1.next()];\n case 3:\n if (!(stream_1_1 = _c.sent(), !stream_1_1.done)) return [3 /*break*/, 5];\n buffer = stream_1_1.value;\n if (decoded) {\n throw this.createExtraByteError(this.totalPos);\n }\n this.appendBuffer(buffer);\n try {\n object = this.doDecodeSync();\n decoded = true;\n }\n catch (e) {\n if (!(e instanceof DataViewIndexOutOfBoundsError)) {\n throw e; // rethrow\n }\n // fallthrough\n }\n this.totalPos += this.pos;\n _c.label = 4;\n case 4: return [3 /*break*/, 2];\n case 5: return [3 /*break*/, 12];\n case 6:\n e_1_1 = _c.sent();\n e_1 = { error: e_1_1 };\n return [3 /*break*/, 12];\n case 7:\n _c.trys.push([7, , 10, 11]);\n if (!(stream_1_1 && !stream_1_1.done && (_a = stream_1.return))) return [3 /*break*/, 9];\n return [4 /*yield*/, _a.call(stream_1)];\n case 8:\n _c.sent();\n _c.label = 9;\n case 9: return [3 /*break*/, 11];\n case 10:\n if (e_1) throw e_1.error;\n return [7 /*endfinally*/];\n case 11: return [7 /*endfinally*/];\n case 12:\n if (decoded) {\n if (this.hasRemaining(1)) {\n throw this.createExtraByteError(this.totalPos);\n }\n return [2 /*return*/, object];\n }\n _b = this, headByte = _b.headByte, pos = _b.pos, totalPos = _b.totalPos;\n throw new RangeError(\"Insufficient data in parsing \" + prettyByte(headByte) + \" at \" + totalPos + \" (\" + pos + \" in the current buffer)\");\n }\n });\n });\n };\n Decoder.prototype.decodeArrayStream = function (stream) {\n return this.decodeMultiAsync(stream, true);\n };\n Decoder.prototype.decodeStream = function (stream) {\n return this.decodeMultiAsync(stream, false);\n };\n Decoder.prototype.decodeMultiAsync = function (stream, isArray) {\n return __asyncGenerator(this, arguments, function decodeMultiAsync_1() {\n var isArrayHeaderRequired, arrayItemsLeft, stream_2, stream_2_1, buffer, e_2, e_3_1;\n var e_3, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n isArrayHeaderRequired = isArray;\n arrayItemsLeft = -1;\n _b.label = 1;\n case 1:\n _b.trys.push([1, 13, 14, 19]);\n stream_2 = __asyncValues(stream);\n _b.label = 2;\n case 2: return [4 /*yield*/, __await(stream_2.next())];\n case 3:\n if (!(stream_2_1 = _b.sent(), !stream_2_1.done)) return [3 /*break*/, 12];\n buffer = stream_2_1.value;\n if (isArray && arrayItemsLeft === 0) {\n throw this.createExtraByteError(this.totalPos);\n }\n this.appendBuffer(buffer);\n if (isArrayHeaderRequired) {\n arrayItemsLeft = this.readArraySize();\n isArrayHeaderRequired = false;\n this.complete();\n }\n _b.label = 4;\n case 4:\n _b.trys.push([4, 9, , 10]);\n _b.label = 5;\n case 5:\n if (!true) return [3 /*break*/, 8];\n return [4 /*yield*/, __await(this.doDecodeSync())];\n case 6: return [4 /*yield*/, _b.sent()];\n case 7:\n _b.sent();\n if (--arrayItemsLeft === 0) {\n return [3 /*break*/, 8];\n }\n return [3 /*break*/, 5];\n case 8: return [3 /*break*/, 10];\n case 9:\n e_2 = _b.sent();\n if (!(e_2 instanceof DataViewIndexOutOfBoundsError)) {\n throw e_2; // rethrow\n }\n return [3 /*break*/, 10];\n case 10:\n this.totalPos += this.pos;\n _b.label = 11;\n case 11: return [3 /*break*/, 2];\n case 12: return [3 /*break*/, 19];\n case 13:\n e_3_1 = _b.sent();\n e_3 = { error: e_3_1 };\n return [3 /*break*/, 19];\n case 14:\n _b.trys.push([14, , 17, 18]);\n if (!(stream_2_1 && !stream_2_1.done && (_a = stream_2.return))) return [3 /*break*/, 16];\n return [4 /*yield*/, __await(_a.call(stream_2))];\n case 15:\n _b.sent();\n _b.label = 16;\n case 16: return [3 /*break*/, 18];\n case 17:\n if (e_3) throw e_3.error;\n return [7 /*endfinally*/];\n case 18: return [7 /*endfinally*/];\n case 19: return [2 /*return*/];\n }\n });\n });\n };\n Decoder.prototype.doDecodeSync = function () {\n DECODE: while (true) {\n var headByte = this.readHeadByte();\n var object = void 0;\n if (headByte >= 0xe0) {\n // negative fixint (111x xxxx) 0xe0 - 0xff\n object = headByte - 0x100;\n }\n else if (headByte < 0xc0) {\n if (headByte < 0x80) {\n // positive fixint (0xxx xxxx) 0x00 - 0x7f\n object = headByte;\n }\n else if (headByte < 0x90) {\n // fixmap (1000 xxxx) 0x80 - 0x8f\n var size = headByte - 0x80;\n if (size !== 0) {\n this.pushMapState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = {};\n }\n }\n else if (headByte < 0xa0) {\n // fixarray (1001 xxxx) 0x90 - 0x9f\n var size = headByte - 0x90;\n if (size !== 0) {\n this.pushArrayState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = [];\n }\n }\n else {\n // fixstr (101x xxxx) 0xa0 - 0xbf\n var byteLength = headByte - 0xa0;\n object = this.decodeUtf8String(byteLength, 0);\n }\n }\n else if (headByte === 0xc0) {\n // nil\n object = null;\n }\n else if (headByte === 0xc2) {\n // false\n object = false;\n }\n else if (headByte === 0xc3) {\n // true\n object = true;\n }\n else if (headByte === 0xca) {\n // float 32\n object = this.readF32();\n }\n else if (headByte === 0xcb) {\n // float 64\n object = this.readF64();\n }\n else if (headByte === 0xcc) {\n // uint 8\n object = this.readU8();\n }\n else if (headByte === 0xcd) {\n // uint 16\n object = this.readU16();\n }\n else if (headByte === 0xce) {\n // uint 32\n object = this.readU32();\n }\n else if (headByte === 0xcf) {\n // uint 64\n object = this.readU64();\n }\n else if (headByte === 0xd0) {\n // int 8\n object = this.readI8();\n }\n else if (headByte === 0xd1) {\n // int 16\n object = this.readI16();\n }\n else if (headByte === 0xd2) {\n // int 32\n object = this.readI32();\n }\n else if (headByte === 0xd3) {\n // int 64\n object = this.readI64();\n }\n else if (headByte === 0xd9) {\n // str 8\n var byteLength = this.lookU8();\n object = this.decodeUtf8String(byteLength, 1);\n }\n else if (headByte === 0xda) {\n // str 16\n var byteLength = this.lookU16();\n object = this.decodeUtf8String(byteLength, 2);\n }\n else if (headByte === 0xdb) {\n // str 32\n var byteLength = this.lookU32();\n object = this.decodeUtf8String(byteLength, 4);\n }\n else if (headByte === 0xdc) {\n // array 16\n var size = this.readU16();\n if (size !== 0) {\n this.pushArrayState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = [];\n }\n }\n else if (headByte === 0xdd) {\n // array 32\n var size = this.readU32();\n if (size !== 0) {\n this.pushArrayState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = [];\n }\n }\n else if (headByte === 0xde) {\n // map 16\n var size = this.readU16();\n if (size !== 0) {\n this.pushMapState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = {};\n }\n }\n else if (headByte === 0xdf) {\n // map 32\n var size = this.readU32();\n if (size !== 0) {\n this.pushMapState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = {};\n }\n }\n else if (headByte === 0xc4) {\n // bin 8\n var size = this.lookU8();\n object = this.decodeBinary(size, 1);\n }\n else if (headByte === 0xc5) {\n // bin 16\n var size = this.lookU16();\n object = this.decodeBinary(size, 2);\n }\n else if (headByte === 0xc6) {\n // bin 32\n var size = this.lookU32();\n object = this.decodeBinary(size, 4);\n }\n else if (headByte === 0xd4) {\n // fixext 1\n object = this.decodeExtension(1, 0);\n }\n else if (headByte === 0xd5) {\n // fixext 2\n object = this.decodeExtension(2, 0);\n }\n else if (headByte === 0xd6) {\n // fixext 4\n object = this.decodeExtension(4, 0);\n }\n else if (headByte === 0xd7) {\n // fixext 8\n object = this.decodeExtension(8, 0);\n }\n else if (headByte === 0xd8) {\n // fixext 16\n object = this.decodeExtension(16, 0);\n }\n else if (headByte === 0xc7) {\n // ext 8\n var size = this.lookU8();\n object = this.decodeExtension(size, 1);\n }\n else if (headByte === 0xc8) {\n // ext 16\n var size = this.lookU16();\n object = this.decodeExtension(size, 2);\n }\n else if (headByte === 0xc9) {\n // ext 32\n var size = this.lookU32();\n object = this.decodeExtension(size, 4);\n }\n else {\n throw new DecodeError(\"Unrecognized type byte: \" + prettyByte(headByte));\n }\n this.complete();\n var stack = this.stack;\n while (stack.length > 0) {\n // arrays and maps\n var state = stack[stack.length - 1];\n if (state.type === 0 /* ARRAY */) {\n state.array[state.position] = object;\n state.position++;\n if (state.position === state.size) {\n stack.pop();\n object = state.array;\n }\n else {\n continue DECODE;\n }\n }\n else if (state.type === 1 /* MAP_KEY */) {\n if (!isValidMapKeyType(object)) {\n throw new DecodeError(\"The type of key must be string or number but \" + typeof object);\n }\n if (object === \"__proto__\") {\n throw new DecodeError(\"The key __proto__ is not allowed\");\n }\n state.key = object;\n state.type = 2 /* MAP_VALUE */;\n continue DECODE;\n }\n else {\n // it must be `state.type === State.MAP_VALUE` here\n state.map[state.key] = object;\n state.readCount++;\n if (state.readCount === state.size) {\n stack.pop();\n object = state.map;\n }\n else {\n state.key = null;\n state.type = 1 /* MAP_KEY */;\n continue DECODE;\n }\n }\n }\n return object;\n }\n };\n Decoder.prototype.readHeadByte = function () {\n if (this.headByte === HEAD_BYTE_REQUIRED) {\n this.headByte = this.readU8();\n // console.log(\"headByte\", prettyByte(this.headByte));\n }\n return this.headByte;\n };\n Decoder.prototype.complete = function () {\n this.headByte = HEAD_BYTE_REQUIRED;\n };\n Decoder.prototype.readArraySize = function () {\n var headByte = this.readHeadByte();\n switch (headByte) {\n case 0xdc:\n return this.readU16();\n case 0xdd:\n return this.readU32();\n default: {\n if (headByte < 0xa0) {\n return headByte - 0x90;\n }\n else {\n throw new DecodeError(\"Unrecognized array type byte: \" + prettyByte(headByte));\n }\n }\n }\n };\n Decoder.prototype.pushMapState = function (size) {\n if (size > this.maxMapLength) {\n throw new DecodeError(\"Max length exceeded: map length (\" + size + \") > maxMapLengthLength (\" + this.maxMapLength + \")\");\n }\n this.stack.push({\n type: 1 /* MAP_KEY */,\n size: size,\n key: null,\n readCount: 0,\n map: {},\n });\n };\n Decoder.prototype.pushArrayState = function (size) {\n if (size > this.maxArrayLength) {\n throw new DecodeError(\"Max length exceeded: array length (\" + size + \") > maxArrayLength (\" + this.maxArrayLength + \")\");\n }\n this.stack.push({\n type: 0 /* ARRAY */,\n size: size,\n array: new Array(size),\n position: 0,\n });\n };\n Decoder.prototype.decodeUtf8String = function (byteLength, headerOffset) {\n var _a;\n if (byteLength > this.maxStrLength) {\n throw new DecodeError(\"Max length exceeded: UTF-8 byte length (\" + byteLength + \") > maxStrLength (\" + this.maxStrLength + \")\");\n }\n if (this.bytes.byteLength < this.pos + headerOffset + byteLength) {\n throw MORE_DATA;\n }\n var offset = this.pos + headerOffset;\n var object;\n if (this.stateIsMapKey() && ((_a = this.keyDecoder) === null || _a === void 0 ? void 0 : _a.canBeCached(byteLength))) {\n object = this.keyDecoder.decode(this.bytes, offset, byteLength);\n }\n else if (byteLength > TEXT_DECODER_THRESHOLD) {\n object = utf8DecodeTD(this.bytes, offset, byteLength);\n }\n else {\n object = utf8DecodeJs(this.bytes, offset, byteLength);\n }\n this.pos += headerOffset + byteLength;\n return object;\n };\n Decoder.prototype.stateIsMapKey = function () {\n if (this.stack.length > 0) {\n var state = this.stack[this.stack.length - 1];\n return state.type === 1 /* MAP_KEY */;\n }\n return false;\n };\n Decoder.prototype.decodeBinary = function (byteLength, headOffset) {\n if (byteLength > this.maxBinLength) {\n throw new DecodeError(\"Max length exceeded: bin length (\" + byteLength + \") > maxBinLength (\" + this.maxBinLength + \")\");\n }\n if (!this.hasRemaining(byteLength + headOffset)) {\n throw MORE_DATA;\n }\n var offset = this.pos + headOffset;\n var object = this.bytes.subarray(offset, offset + byteLength);\n this.pos += headOffset + byteLength;\n return object;\n };\n Decoder.prototype.decodeExtension = function (size, headOffset) {\n if (size > this.maxExtLength) {\n throw new DecodeError(\"Max length exceeded: ext length (\" + size + \") > maxExtLength (\" + this.maxExtLength + \")\");\n }\n var extType = this.view.getInt8(this.pos + headOffset);\n var data = this.decodeBinary(size, headOffset + 1 /* extType */);\n return this.extensionCodec.decode(data, extType, this.context);\n };\n Decoder.prototype.lookU8 = function () {\n return this.view.getUint8(this.pos);\n };\n Decoder.prototype.lookU16 = function () {\n return this.view.getUint16(this.pos);\n };\n Decoder.prototype.lookU32 = function () {\n return this.view.getUint32(this.pos);\n };\n Decoder.prototype.readU8 = function () {\n var value = this.view.getUint8(this.pos);\n this.pos++;\n return value;\n };\n Decoder.prototype.readI8 = function () {\n var value = this.view.getInt8(this.pos);\n this.pos++;\n return value;\n };\n Decoder.prototype.readU16 = function () {\n var value = this.view.getUint16(this.pos);\n this.pos += 2;\n return value;\n };\n Decoder.prototype.readI16 = function () {\n var value = this.view.getInt16(this.pos);\n this.pos += 2;\n return value;\n };\n Decoder.prototype.readU32 = function () {\n var value = this.view.getUint32(this.pos);\n this.pos += 4;\n return value;\n };\n Decoder.prototype.readI32 = function () {\n var value = this.view.getInt32(this.pos);\n this.pos += 4;\n return value;\n };\n Decoder.prototype.readU64 = function () {\n var value = getUint64(this.view, this.pos);\n this.pos += 8;\n return value;\n };\n Decoder.prototype.readI64 = function () {\n var value = getInt64(this.view, this.pos);\n this.pos += 8;\n return value;\n };\n Decoder.prototype.readF32 = function () {\n var value = this.view.getFloat32(this.pos);\n this.pos += 4;\n return value;\n };\n Decoder.prototype.readF64 = function () {\n var value = this.view.getFloat64(this.pos);\n this.pos += 8;\n return value;\n };\n return Decoder;\n}());\nexport { Decoder };\n//# sourceMappingURL=Decoder.mjs.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\n// Not exported from index.\r\n/** @private */\r\nexport class BinaryMessageFormat {\r\n\r\n // The length prefix of binary messages is encoded as VarInt. Read the comment in\r\n // the BinaryMessageParser.TryParseMessage for details.\r\n\r\n public static write(output: Uint8Array): ArrayBuffer {\r\n let size = output.byteLength || output.length;\r\n const lenBuffer = [];\r\n do {\r\n let sizePart = size & 0x7f;\r\n size = size >> 7;\r\n if (size > 0) {\r\n sizePart |= 0x80;\r\n }\r\n lenBuffer.push(sizePart);\r\n }\r\n while (size > 0);\r\n\r\n size = output.byteLength || output.length;\r\n\r\n const buffer = new Uint8Array(lenBuffer.length + size);\r\n buffer.set(lenBuffer, 0);\r\n buffer.set(output, lenBuffer.length);\r\n return buffer.buffer;\r\n }\r\n\r\n public static parse(input: ArrayBuffer): Uint8Array[] {\r\n const result: Uint8Array[] = [];\r\n const uint8Array = new Uint8Array(input);\r\n const maxLengthPrefixSize = 5;\r\n const numBitsToShift = [0, 7, 14, 21, 28 ];\r\n\r\n for (let offset = 0; offset < input.byteLength;) {\r\n let numBytes = 0;\r\n let size = 0;\r\n let byteRead;\r\n do {\r\n byteRead = uint8Array[offset + numBytes];\r\n size = size | ((byteRead & 0x7f) << (numBitsToShift[numBytes]));\r\n numBytes++;\r\n }\r\n while (numBytes < Math.min(maxLengthPrefixSize, input.byteLength - offset) && (byteRead & 0x80) !== 0);\r\n\r\n if ((byteRead & 0x80) !== 0 && numBytes < maxLengthPrefixSize) {\r\n throw new Error(\"Cannot read message size.\");\r\n }\r\n\r\n if (numBytes === maxLengthPrefixSize && byteRead > 7) {\r\n throw new Error(\"Messages bigger than 2GB are not supported.\");\r\n }\r\n\r\n if (uint8Array.byteLength >= (offset + numBytes + size)) {\r\n // IE does not support .slice() so use subarray\r\n result.push(uint8Array.slice\r\n ? uint8Array.slice(offset + numBytes, offset + numBytes + size)\r\n : uint8Array.subarray(offset + numBytes, offset + numBytes + size));\r\n } else {\r\n throw new Error(\"Incomplete message.\");\r\n }\r\n\r\n offset = offset + numBytes + size;\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\n// Copied from signalr/Utils.ts\r\n/** @private */\r\nexport function isArrayBuffer(val: any): val is ArrayBuffer {\r\n return val && typeof ArrayBuffer !== \"undefined\" &&\r\n (val instanceof ArrayBuffer ||\r\n // Sometimes we get an ArrayBuffer that doesn't satisfy instanceof\r\n (val.constructor && val.constructor.name === \"ArrayBuffer\"));\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\nimport { Encoder, Decoder } from \"@msgpack/msgpack\";\r\n\r\nimport { MessagePackOptions } from \"./MessagePackOptions\";\r\n\r\nimport {\r\n CancelInvocationMessage, CompletionMessage, HubMessage, IHubProtocol, ILogger, InvocationMessage,\r\n LogLevel, MessageHeaders, MessageType, NullLogger, StreamInvocationMessage, StreamItemMessage, TransferFormat,\r\n} from \"@microsoft/signalr\";\r\n\r\nimport { BinaryMessageFormat } from \"./BinaryMessageFormat\";\r\nimport { isArrayBuffer } from \"./Utils\";\r\n\r\n// TypeDoc's @inheritDoc and @link don't work across modules :(\r\n\r\n// constant encoding of the ping message\r\n// see: https://github.com/aspnet/SignalR/blob/dev/specs/HubProtocol.md#ping-message-encoding-1\r\n// Don't use Uint8Array.from as IE does not support it\r\nconst SERIALIZED_PING_MESSAGE: Uint8Array = new Uint8Array([0x91, MessageType.Ping]);\r\n\r\n/** Implements the MessagePack Hub Protocol */\r\nexport class MessagePackHubProtocol implements IHubProtocol {\r\n /** The name of the protocol. This is used by SignalR to resolve the protocol between the client and server. */\r\n public readonly name: string = \"messagepack\";\r\n /** The version of the protocol. */\r\n public readonly version: number = 1;\r\n /** The TransferFormat of the protocol. */\r\n public readonly transferFormat: TransferFormat = TransferFormat.Binary;\r\n\r\n private readonly _errorResult = 1;\r\n private readonly _voidResult = 2;\r\n private readonly _nonVoidResult = 3;\r\n\r\n private readonly _encoder: Encoder;\r\n private readonly _decoder: Decoder;\r\n\r\n /**\r\n *\r\n * @param messagePackOptions MessagePack options passed to @msgpack/msgpack\r\n */\r\n constructor(messagePackOptions?: MessagePackOptions) {\r\n messagePackOptions = messagePackOptions || {};\r\n this._encoder = new Encoder(\r\n messagePackOptions.extensionCodec,\r\n messagePackOptions.context,\r\n messagePackOptions.maxDepth,\r\n messagePackOptions.initialBufferSize,\r\n messagePackOptions.sortKeys,\r\n messagePackOptions.forceFloat32,\r\n messagePackOptions.ignoreUndefined,\r\n messagePackOptions.forceIntegerToFloat,\r\n );\r\n\r\n this._decoder = new Decoder(\r\n messagePackOptions.extensionCodec,\r\n messagePackOptions.context,\r\n messagePackOptions.maxStrLength,\r\n messagePackOptions.maxBinLength,\r\n messagePackOptions.maxArrayLength,\r\n messagePackOptions.maxMapLength,\r\n messagePackOptions.maxExtLength,\r\n );\r\n }\r\n\r\n /** Creates an array of HubMessage objects from the specified serialized representation.\r\n *\r\n * @param {ArrayBuffer} input An ArrayBuffer containing the serialized representation.\r\n * @param {ILogger} logger A logger that will be used to log messages that occur during parsing.\r\n */\r\n public parseMessages(input: ArrayBuffer, logger: ILogger): HubMessage[] {\r\n // The interface does allow \"string\" to be passed in, but this implementation does not. So let's throw a useful error.\r\n if (!(isArrayBuffer(input))) {\r\n throw new Error(\"Invalid input for MessagePack hub protocol. Expected an ArrayBuffer.\");\r\n }\r\n\r\n if (logger === null) {\r\n logger = NullLogger.instance;\r\n }\r\n\r\n const messages = BinaryMessageFormat.parse(input);\r\n\r\n const hubMessages = [];\r\n for (const message of messages) {\r\n const parsedMessage = this._parseMessage(message, logger);\r\n // Can be null for an unknown message. Unknown message is logged in parseMessage\r\n if (parsedMessage) {\r\n hubMessages.push(parsedMessage);\r\n }\r\n }\r\n\r\n return hubMessages;\r\n }\r\n\r\n /** Writes the specified HubMessage to an ArrayBuffer and returns it.\r\n *\r\n * @param {HubMessage} message The message to write.\r\n * @returns {ArrayBuffer} An ArrayBuffer containing the serialized representation of the message.\r\n */\r\n public writeMessage(message: HubMessage): ArrayBuffer {\r\n switch (message.type) {\r\n case MessageType.Invocation:\r\n return this._writeInvocation(message as InvocationMessage);\r\n case MessageType.StreamInvocation:\r\n return this._writeStreamInvocation(message as StreamInvocationMessage);\r\n case MessageType.StreamItem:\r\n return this._writeStreamItem(message as StreamItemMessage);\r\n case MessageType.Completion:\r\n return this._writeCompletion(message as CompletionMessage);\r\n case MessageType.Ping:\r\n return BinaryMessageFormat.write(SERIALIZED_PING_MESSAGE);\r\n case MessageType.CancelInvocation:\r\n return this._writeCancelInvocation(message as CancelInvocationMessage);\r\n default:\r\n throw new Error(\"Invalid message type.\");\r\n }\r\n }\r\n\r\n private _parseMessage(input: Uint8Array, logger: ILogger): HubMessage | null {\r\n if (input.length === 0) {\r\n throw new Error(\"Invalid payload.\");\r\n }\r\n\r\n const properties = this._decoder.decode(input) as any;\r\n if (properties.length === 0 || !(properties instanceof Array)) {\r\n throw new Error(\"Invalid payload.\");\r\n }\r\n\r\n const messageType = properties[0] as MessageType;\r\n\r\n switch (messageType) {\r\n case MessageType.Invocation:\r\n return this._createInvocationMessage(this._readHeaders(properties), properties);\r\n case MessageType.StreamItem:\r\n return this._createStreamItemMessage(this._readHeaders(properties), properties);\r\n case MessageType.Completion:\r\n return this._createCompletionMessage(this._readHeaders(properties), properties);\r\n case MessageType.Ping:\r\n return this._createPingMessage(properties);\r\n case MessageType.Close:\r\n return this._createCloseMessage(properties);\r\n default:\r\n // Future protocol changes can add message types, old clients can ignore them\r\n logger.log(LogLevel.Information, \"Unknown message type '\" + messageType + \"' ignored.\");\r\n return null;\r\n }\r\n }\r\n\r\n private _createCloseMessage(properties: any[]): HubMessage {\r\n // check minimum length to allow protocol to add items to the end of objects in future releases\r\n if (properties.length < 2) {\r\n throw new Error(\"Invalid payload for Close message.\");\r\n }\r\n\r\n return {\r\n // Close messages have no headers.\r\n allowReconnect: properties.length >= 3 ? properties[2] : undefined,\r\n error: properties[1],\r\n type: MessageType.Close,\r\n } as HubMessage;\r\n }\r\n\r\n private _createPingMessage(properties: any[]): HubMessage {\r\n // check minimum length to allow protocol to add items to the end of objects in future releases\r\n if (properties.length < 1) {\r\n throw new Error(\"Invalid payload for Ping message.\");\r\n }\r\n\r\n return {\r\n // Ping messages have no headers.\r\n type: MessageType.Ping,\r\n } as HubMessage;\r\n }\r\n\r\n private _createInvocationMessage(headers: MessageHeaders, properties: any[]): InvocationMessage {\r\n // check minimum length to allow protocol to add items to the end of objects in future releases\r\n if (properties.length < 5) {\r\n throw new Error(\"Invalid payload for Invocation message.\");\r\n }\r\n\r\n const invocationId = properties[2] as string;\r\n if (invocationId) {\r\n return {\r\n arguments: properties[4],\r\n headers,\r\n invocationId,\r\n streamIds: [],\r\n target: properties[3] as string,\r\n type: MessageType.Invocation,\r\n };\r\n } else {\r\n return {\r\n arguments: properties[4],\r\n headers,\r\n streamIds: [],\r\n target: properties[3],\r\n type: MessageType.Invocation,\r\n };\r\n }\r\n\r\n }\r\n\r\n private _createStreamItemMessage(headers: MessageHeaders, properties: any[]): StreamItemMessage {\r\n // check minimum length to allow protocol to add items to the end of objects in future releases\r\n if (properties.length < 4) {\r\n throw new Error(\"Invalid payload for StreamItem message.\");\r\n }\r\n\r\n return {\r\n headers,\r\n invocationId: properties[2],\r\n item: properties[3],\r\n type: MessageType.StreamItem,\r\n } as StreamItemMessage;\r\n }\r\n\r\n private _createCompletionMessage(headers: MessageHeaders, properties: any[]): CompletionMessage {\r\n // check minimum length to allow protocol to add items to the end of objects in future releases\r\n if (properties.length < 4) {\r\n throw new Error(\"Invalid payload for Completion message.\");\r\n }\r\n\r\n const resultKind = properties[3];\r\n\r\n if (resultKind !== this._voidResult && properties.length < 5) {\r\n throw new Error(\"Invalid payload for Completion message.\");\r\n }\r\n\r\n let error: string | undefined;\r\n let result: any;\r\n\r\n switch (resultKind) {\r\n case this._errorResult:\r\n error = properties[4];\r\n break;\r\n case this._nonVoidResult:\r\n result = properties[4];\r\n break;\r\n }\r\n\r\n const completionMessage: CompletionMessage = {\r\n error,\r\n headers,\r\n invocationId: properties[2],\r\n result,\r\n type: MessageType.Completion,\r\n };\r\n\r\n return completionMessage;\r\n }\r\n\r\n private _writeInvocation(invocationMessage: InvocationMessage): ArrayBuffer {\r\n let payload: any;\r\n if (invocationMessage.streamIds) {\r\n payload = this._encoder.encode([MessageType.Invocation, invocationMessage.headers || {}, invocationMessage.invocationId || null,\r\n invocationMessage.target, invocationMessage.arguments, invocationMessage.streamIds]);\r\n } else {\r\n payload = this._encoder.encode([MessageType.Invocation, invocationMessage.headers || {}, invocationMessage.invocationId || null,\r\n invocationMessage.target, invocationMessage.arguments]);\r\n }\r\n\r\n return BinaryMessageFormat.write(payload.slice());\r\n }\r\n\r\n private _writeStreamInvocation(streamInvocationMessage: StreamInvocationMessage): ArrayBuffer {\r\n let payload: any;\r\n if (streamInvocationMessage.streamIds) {\r\n payload = this._encoder.encode([MessageType.StreamInvocation, streamInvocationMessage.headers || {}, streamInvocationMessage.invocationId,\r\n streamInvocationMessage.target, streamInvocationMessage.arguments, streamInvocationMessage.streamIds]);\r\n } else {\r\n payload = this._encoder.encode([MessageType.StreamInvocation, streamInvocationMessage.headers || {}, streamInvocationMessage.invocationId,\r\n streamInvocationMessage.target, streamInvocationMessage.arguments]);\r\n }\r\n\r\n return BinaryMessageFormat.write(payload.slice());\r\n }\r\n\r\n private _writeStreamItem(streamItemMessage: StreamItemMessage): ArrayBuffer {\r\n const payload = this._encoder.encode([MessageType.StreamItem, streamItemMessage.headers || {}, streamItemMessage.invocationId,\r\n streamItemMessage.item]);\r\n\r\n return BinaryMessageFormat.write(payload.slice());\r\n }\r\n\r\n private _writeCompletion(completionMessage: CompletionMessage): ArrayBuffer {\r\n const resultKind = completionMessage.error ? this._errorResult : completionMessage.result ? this._nonVoidResult : this._voidResult;\r\n\r\n let payload: any;\r\n switch (resultKind) {\r\n case this._errorResult:\r\n payload = this._encoder.encode([MessageType.Completion, completionMessage.headers || {}, completionMessage.invocationId, resultKind, completionMessage.error]);\r\n break;\r\n case this._voidResult:\r\n payload = this._encoder.encode([MessageType.Completion, completionMessage.headers || {}, completionMessage.invocationId, resultKind]);\r\n break;\r\n case this._nonVoidResult:\r\n payload = this._encoder.encode([MessageType.Completion, completionMessage.headers || {}, completionMessage.invocationId, resultKind, completionMessage.result]);\r\n break;\r\n }\r\n\r\n return BinaryMessageFormat.write(payload.slice());\r\n }\r\n\r\n private _writeCancelInvocation(cancelInvocationMessage: CancelInvocationMessage): ArrayBuffer {\r\n const payload = this._encoder.encode([MessageType.CancelInvocation, cancelInvocationMessage.headers || {}, cancelInvocationMessage.invocationId]);\r\n\r\n return BinaryMessageFormat.write(payload.slice());\r\n }\r\n\r\n private _readHeaders(properties: any): MessageHeaders {\r\n const headers: MessageHeaders = properties[1] as MessageHeaders;\r\n if (typeof headers !== \"object\") {\r\n throw new Error(\"Invalid headers.\");\r\n }\r\n return headers;\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\n// Version token that will be replaced by the prepack command\r\n/** The version of the SignalR Message Pack protocol library. */\r\nexport const VERSION = \"0.0.0-DEV_BUILD\";\r\n\r\nexport { MessagePackHubProtocol } from \"./MessagePackHubProtocol\";\r\n\r\nexport { MessagePackOptions } from \"./MessagePackOptions\";\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\n// This is where we add any polyfills we'll need for the browser. It is the entry module for browser-specific builds.\r\n\r\nexport * from \"./index\";\r\n"],"sourceRoot":""} \ No newline at end of file diff --git a/Server/wwwroot/lib/microsoft/signalr-protocol-msgpack/dist/browser/signalr-protocol-msgpack.min.js b/Server/wwwroot/lib/microsoft/signalr-protocol-msgpack/dist/browser/signalr-protocol-msgpack.min.js index 2fef5995..947b4d01 100644 --- a/Server/wwwroot/lib/microsoft/signalr-protocol-msgpack/dist/browser/signalr-protocol-msgpack.min.js +++ b/Server/wwwroot/lib/microsoft/signalr-protocol-msgpack/dist/browser/signalr-protocol-msgpack.min.js @@ -1,2 +1,2 @@ -var e,t;e=self,t=function(e){return(()=>{var t=[,t=>{t.exports=e}],r={};function i(e){var n=r[e];if(void 0!==n)return n.exports;var s=r[e]={exports:{}};return t[e](s,s.exports,i),s.exports}i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"t",{value:!0})};var n={};return(()=>{i.r(n),i.d(n,{MessagePackHubProtocol:()=>_,VERSION:()=>j});var e=4294967295;function t(e,t,r){var i=Math.floor(r/4294967296),n=r;e.setUint32(t,i),e.setUint32(t+4,n)}function r(e,t){return 4294967296*e.getInt32(t)+e.getUint32(t+4)}var s=("undefined"==typeof process||"never"!==process.env.TEXT_ENCODING)&&"undefined"!=typeof TextEncoder&&"undefined"!=typeof TextDecoder;function o(e){for(var t=e.length,r=0,i=0;i=55296&&n<=56319&&i65535&&(u-=65536,s.push(u>>>10&1023|55296),u=56320|1023&u),s.push(u)}else s.push(a);s.length>=4096&&(o+=String.fromCharCode.apply(String,s),s.length=0)}return s.length>0&&(o+=String.fromCharCode.apply(String,s)),o}var f,p=s?new TextDecoder:null,l=s?"undefined"!=typeof process&&"force"!==process.env.TEXT_DECODER?200:0:e,d=function(e,t){this.type=e,this.data=t},y=(f=function(e,t){return(f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}f(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),w=function(e){function t(r){var i=e.call(this,r)||this,n=Object.create(t.prototype);return Object.setPrototypeOf(i,n),Object.defineProperty(i,"name",{configurable:!0,enumerable:!1,value:t.name}),i}return y(t,e),t}(Error),g={type:-1,encode:function(e){var r,i,n,s;return e instanceof Date?function(e){var r,i=e.sec,n=e.nsec;if(i>=0&&n>=0&&i<=17179869183){if(0===n&&i<=4294967295){var s=new Uint8Array(4);return(r=new DataView(s.buffer)).setUint32(0,i),s}var o=i/4294967296,a=4294967295&i;return s=new Uint8Array(8),(r=new DataView(s.buffer)).setUint32(0,n<<2|3&o),r.setUint32(4,a),s}return s=new Uint8Array(12),(r=new DataView(s.buffer)).setUint32(0,n),t(r,4,i),s}((n=1e6*((r=e.getTime())-1e3*(i=Math.floor(r/1e3))),{sec:i+(s=Math.floor(n/1e9)),nsec:n-1e9*s})):null},decode:function(e){var t=function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength);switch(e.byteLength){case 4:return{sec:t.getUint32(0),nsec:0};case 8:var i=t.getUint32(0);return{sec:4294967296*(3&i)+t.getUint32(4),nsec:i>>>2};case 12:return{sec:r(t,4),nsec:t.getUint32(0)};default:throw new w("Unrecognized data size for timestamp (expected 4, 8, or 12): "+e.length)}}(e);return new Date(1e3*t.sec+t.nsec/1e6)}},v=function(){function e(){this.builtInEncoders=[],this.builtInDecoders=[],this.encoders=[],this.decoders=[],this.register(g)}return e.prototype.register=function(e){var t=e.type,r=e.encode,i=e.decode;if(t>=0)this.encoders[t]=r,this.decoders[t]=i;else{var n=1+t;this.builtInEncoders[n]=r,this.builtInDecoders[n]=i}},e.prototype.tryToEncode=function(e,t){for(var r=0;rthis.maxDepth)throw new Error("Too deep objects in depth "+t);null==e?this.encodeNil():"boolean"==typeof e?this.encodeBoolean(e):"number"==typeof e?this.encodeNumber(e):"string"==typeof e?this.encodeString(e):this.encodeObject(e,t)},e.prototype.ensureBufferSizeToWrite=function(e){var t=this.pos+e;this.view.byteLength=0?e<128?this.writeU8(e):e<256?(this.writeU8(204),this.writeU8(e)):e<65536?(this.writeU8(205),this.writeU16(e)):e<4294967296?(this.writeU8(206),this.writeU32(e)):(this.writeU8(207),this.writeU64(e)):e>=-32?this.writeU8(224|e+32):e>=-128?(this.writeU8(208),this.writeI8(e)):e>=-32768?(this.writeU8(209),this.writeI16(e)):e>=-2147483648?(this.writeU8(210),this.writeI32(e)):(this.writeU8(211),this.writeI64(e)):this.forceFloat32?(this.writeU8(202),this.writeF32(e)):(this.writeU8(203),this.writeF64(e))},e.prototype.writeStringHeader=function(e){if(e<32)this.writeU8(160+e);else if(e<256)this.writeU8(217),this.writeU8(e);else if(e<65536)this.writeU8(218),this.writeU16(e);else{if(!(e<4294967296))throw new Error("Too long string: "+e+" bytes in UTF-8");this.writeU8(219),this.writeU32(e)}},e.prototype.encodeString=function(e){if(e.length>h){var t=o(e);this.ensureBufferSizeToWrite(5+t),this.writeStringHeader(t),c(e,this.bytes,this.pos),this.pos+=t}else t=o(e),this.ensureBufferSizeToWrite(5+t),this.writeStringHeader(t),function(e,t,r){for(var i=e.length,n=r,s=0;s>6&31|192;else{if(o>=55296&&o<=56319&&s>12&15|224,t[n++]=o>>6&63|128):(t[n++]=o>>18&7|240,t[n++]=o>>12&63|128,t[n++]=o>>6&63|128)}t[n++]=63&o|128}else t[n++]=o}}(e,this.bytes,this.pos),this.pos+=t},e.prototype.encodeObject=function(e,t){var r=this.extensionCodec.tryToEncode(e,this.context);if(null!=r)this.encodeExtension(r);else if(Array.isArray(e))this.encodeArray(e,t);else if(ArrayBuffer.isView(e))this.encodeBinary(e);else{if("object"!=typeof e)throw new Error("Unrecognized object: "+Object.prototype.toString.apply(e));this.encodeMap(e,t)}},e.prototype.encodeBinary=function(e){var t=e.byteLength;if(t<256)this.writeU8(196),this.writeU8(t);else if(t<65536)this.writeU8(197),this.writeU16(t);else{if(!(t<4294967296))throw new Error("Too large binary: "+t);this.writeU8(198),this.writeU32(t)}var r=m(e);this.writeU8a(r)},e.prototype.encodeArray=function(e,t){var r=e.length;if(r<16)this.writeU8(144+r);else if(r<65536)this.writeU8(220),this.writeU16(r);else{if(!(r<4294967296))throw new Error("Too large array: "+r);this.writeU8(221),this.writeU32(r)}for(var i=0,n=e;i0&&e<=this.maxKeyLength},e.prototype.find=function(e,t,r){e:for(var i=0,n=this.caches[r-1];i=this.maxLengthPerKey?r[Math.random()*r.length|0]=i:r.push(i)},e.prototype.decode=function(e,t,r){var i=this.find(e,t,r);if(null!=i)return this.hit++,i;this.miss++;var n=u(e,t,r),s=Uint8Array.prototype.slice.call(e,t,t+r);return this.store(s,n),n},e}(),I=function(e,t){var r,i,n,s,o={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(n=2&s[0]?i.return:s[0]?i.throw||((n=i.return)&&n.call(i),0):i.next)&&!(n=n.call(i,s[1])).done)return n;switch(i=0,n&&(s=[2&s[0],n.value]),s[0]){case 0:case 1:n=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,i=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!((n=(n=o.trys).length>0&&n[n.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!n||s[1]>n[0]&&s[1]1||a(e,t)}))})}function a(e,t){try{(r=n[e](t)).value instanceof E?Promise.resolve(r.value.v).then(h,c):u(s[0][2],r)}catch(e){u(s[0][3],e)}var r}function h(e){a("next",e)}function c(e){a("throw",e)}function u(e,t){e(t),s.shift(),s.length&&a(s[0][0],s[0][1])}},B=new DataView(new ArrayBuffer(0)),M=new Uint8Array(B.buffer),A=function(){try{B.getInt8(0)}catch(e){return e.constructor}throw new Error("never reached")}(),L=new A("Insufficient data"),k=new x,C=function(){function t(t,r,i,n,s,o,a,h){void 0===t&&(t=v.defaultCodec),void 0===r&&(r=void 0),void 0===i&&(i=e),void 0===n&&(n=e),void 0===s&&(s=e),void 0===o&&(o=e),void 0===a&&(a=e),void 0===h&&(h=k),this.extensionCodec=t,this.context=r,this.maxStrLength=i,this.maxBinLength=n,this.maxArrayLength=s,this.maxMapLength=o,this.maxExtLength=a,this.keyDecoder=h,this.totalPos=0,this.pos=0,this.view=B,this.bytes=M,this.headByte=-1,this.stack=[]}return t.prototype.reinitializeState=function(){this.totalPos=0,this.headByte=-1,this.stack.length=0},t.prototype.setBuffer=function(e){this.bytes=m(e),this.view=function(e){if(e instanceof ArrayBuffer)return new DataView(e);var t=m(e);return new DataView(t.buffer,t.byteOffset,t.byteLength)}(this.bytes),this.pos=0},t.prototype.appendBuffer=function(e){if(-1!==this.headByte||this.hasRemaining(1)){var t=this.bytes.subarray(this.pos),r=m(e),i=new Uint8Array(t.length+r.length);i.set(t),i.set(r,t.length),this.setBuffer(i)}else this.setBuffer(e)},t.prototype.hasRemaining=function(e){return this.view.byteLength-this.pos>=e},t.prototype.createExtraByteError=function(e){var t=this.view,r=this.pos;return new RangeError("Extra "+(t.byteLength-r)+" of "+t.byteLength+" byte(s) found at buffer["+e+"]")},t.prototype.decode=function(e){this.reinitializeState(),this.setBuffer(e);var t=this.doDecodeSync();if(this.hasRemaining(1))throw this.createExtraByteError(this.pos);return t},t.prototype.decodeMulti=function(e){return I(this,(function(t){switch(t.label){case 0:this.reinitializeState(),this.setBuffer(e),t.label=1;case 1:return this.hasRemaining(1)?[4,this.doDecodeSync()]:[3,3];case 2:return t.sent(),[3,1];case 3:return[2]}}))},t.prototype.decodeAsync=function(e){var t,r,i,n;return function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function o(e){try{h(i.next(e))}catch(e){s(e)}}function a(e){try{h(i.throw(e))}catch(e){s(e)}}function h(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,a)}h((i=i.apply(e,t||[])).next())}))}(this,void 0,void 0,(function(){var s,o,a,h,c,u,f,p;return I(this,(function(l){switch(l.label){case 0:s=!1,l.label=1;case 1:l.trys.push([1,6,7,12]),t=S(e),l.label=2;case 2:return[4,t.next()];case 3:if((r=l.sent()).done)return[3,5];if(a=r.value,s)throw this.createExtraByteError(this.totalPos);this.appendBuffer(a);try{o=this.doDecodeSync(),s=!0}catch(e){if(!(e instanceof A))throw e}this.totalPos+=this.pos,l.label=4;case 4:return[3,2];case 5:return[3,12];case 6:return h=l.sent(),i={error:h},[3,12];case 7:return l.trys.push([7,,10,11]),r&&!r.done&&(n=t.return)?[4,n.call(t)]:[3,9];case 8:l.sent(),l.label=9;case 9:return[3,11];case 10:if(i)throw i.error;return[7];case 11:return[7];case 12:if(s){if(this.hasRemaining(1))throw this.createExtraByteError(this.totalPos);return[2,o]}throw u=(c=this).headByte,f=c.pos,p=c.totalPos,new RangeError("Insufficient data in parsing "+b(u)+" at "+p+" ("+f+" in the current buffer)")}}))}))},t.prototype.decodeArrayStream=function(e){return this.decodeMultiAsync(e,!0)},t.prototype.decodeStream=function(e){return this.decodeMultiAsync(e,!1)},t.prototype.decodeMultiAsync=function(e,t){return T(this,arguments,(function(){var r,i,n,s,o,a,h,c,u;return I(this,(function(f){switch(f.label){case 0:r=t,i=-1,f.label=1;case 1:f.trys.push([1,13,14,19]),n=S(e),f.label=2;case 2:return[4,E(n.next())];case 3:if((s=f.sent()).done)return[3,12];if(o=s.value,t&&0===i)throw this.createExtraByteError(this.totalPos);this.appendBuffer(o),r&&(i=this.readArraySize(),r=!1,this.complete()),f.label=4;case 4:f.trys.push([4,9,,10]),f.label=5;case 5:return[4,E(this.doDecodeSync())];case 6:return[4,f.sent()];case 7:return f.sent(),0==--i?[3,8]:[3,5];case 8:return[3,10];case 9:if(!((a=f.sent())instanceof A))throw a;return[3,10];case 10:this.totalPos+=this.pos,f.label=11;case 11:return[3,2];case 12:return[3,19];case 13:return h=f.sent(),c={error:h},[3,19];case 14:return f.trys.push([14,,17,18]),s&&!s.done&&(u=n.return)?[4,E(u.call(n))]:[3,16];case 15:f.sent(),f.label=16;case 16:return[3,18];case 17:if(c)throw c.error;return[7];case 18:return[7];case 19:return[2]}}))}))},t.prototype.doDecodeSync=function(){e:for(;;){var e=this.readHeadByte(),t=void 0;if(e>=224)t=e-256;else if(e<192)if(e<128)t=e;else if(e<144){if(0!=(i=e-128)){this.pushMapState(i),this.complete();continue e}t={}}else if(e<160){if(0!=(i=e-144)){this.pushArrayState(i),this.complete();continue e}t=[]}else{var r=e-160;t=this.decodeUtf8String(r,0)}else if(192===e)t=null;else if(194===e)t=!1;else if(195===e)t=!0;else if(202===e)t=this.readF32();else if(203===e)t=this.readF64();else if(204===e)t=this.readU8();else if(205===e)t=this.readU16();else if(206===e)t=this.readU32();else if(207===e)t=this.readU64();else if(208===e)t=this.readI8();else if(209===e)t=this.readI16();else if(210===e)t=this.readI32();else if(211===e)t=this.readI64();else if(217===e)r=this.lookU8(),t=this.decodeUtf8String(r,1);else if(218===e)r=this.lookU16(),t=this.decodeUtf8String(r,2);else if(219===e)r=this.lookU32(),t=this.decodeUtf8String(r,4);else if(220===e){if(0!==(i=this.readU16())){this.pushArrayState(i),this.complete();continue e}t=[]}else if(221===e){if(0!==(i=this.readU32())){this.pushArrayState(i),this.complete();continue e}t=[]}else if(222===e){if(0!==(i=this.readU16())){this.pushMapState(i),this.complete();continue e}t={}}else if(223===e){if(0!==(i=this.readU32())){this.pushMapState(i),this.complete();continue e}t={}}else if(196===e){var i=this.lookU8();t=this.decodeBinary(i,1)}else if(197===e)i=this.lookU16(),t=this.decodeBinary(i,2);else if(198===e)i=this.lookU32(),t=this.decodeBinary(i,4);else if(212===e)t=this.decodeExtension(1,0);else if(213===e)t=this.decodeExtension(2,0);else if(214===e)t=this.decodeExtension(4,0);else if(215===e)t=this.decodeExtension(8,0);else if(216===e)t=this.decodeExtension(16,0);else if(199===e)i=this.lookU8(),t=this.decodeExtension(i,1);else if(200===e)i=this.lookU16(),t=this.decodeExtension(i,2);else{if(201!==e)throw new w("Unrecognized type byte: "+b(e));i=this.lookU32(),t=this.decodeExtension(i,4)}this.complete();for(var n=this.stack;n.length>0;){var s=n[n.length-1];if(0===s.type){if(s.array[s.position]=t,s.position++,s.position!==s.size)continue e;n.pop(),t=s.array}else{if(1===s.type){if(void 0,"string"!=(o=typeof t)&&"number"!==o)throw new w("The type of key must be string or number but "+typeof t);if("__proto__"===t)throw new w("The key __proto__ is not allowed");s.key=t,s.type=2;continue e}if(s.map[s.key]=t,s.readCount++,s.readCount!==s.size){s.key=null,s.type=1;continue e}n.pop(),t=s.map}}return t}var o},t.prototype.readHeadByte=function(){return-1===this.headByte&&(this.headByte=this.readU8()),this.headByte},t.prototype.complete=function(){this.headByte=-1},t.prototype.readArraySize=function(){var e=this.readHeadByte();switch(e){case 220:return this.readU16();case 221:return this.readU32();default:if(e<160)return e-144;throw new w("Unrecognized array type byte: "+b(e))}},t.prototype.pushMapState=function(e){if(e>this.maxMapLength)throw new w("Max length exceeded: map length ("+e+") > maxMapLengthLength ("+this.maxMapLength+")");this.stack.push({type:1,size:e,key:null,readCount:0,map:{}})},t.prototype.pushArrayState=function(e){if(e>this.maxArrayLength)throw new w("Max length exceeded: array length ("+e+") > maxArrayLength ("+this.maxArrayLength+")");this.stack.push({type:0,size:e,array:new Array(e),position:0})},t.prototype.decodeUtf8String=function(e,t){var r;if(e>this.maxStrLength)throw new w("Max length exceeded: UTF-8 byte length ("+e+") > maxStrLength ("+this.maxStrLength+")");if(this.bytes.byteLengthl?function(e,t,r){var i=e.subarray(t,t+r);return p.decode(i)}(this.bytes,n,e):u(this.bytes,n,e),this.pos+=t+e,i},t.prototype.stateIsMapKey=function(){return this.stack.length>0&&1===this.stack[this.stack.length-1].type},t.prototype.decodeBinary=function(e,t){if(e>this.maxBinLength)throw new w("Max length exceeded: bin length ("+e+") > maxBinLength ("+this.maxBinLength+")");if(!this.hasRemaining(e+t))throw L;var r=this.pos+t,i=this.bytes.subarray(r,r+e);return this.pos+=t+e,i},t.prototype.decodeExtension=function(e,t){if(e>this.maxExtLength)throw new w("Max length exceeded: ext length ("+e+") > maxExtLength ("+this.maxExtLength+")");var r=this.view.getInt8(this.pos+t),i=this.decodeBinary(e,t+1);return this.extensionCodec.decode(i,r,this.context)},t.prototype.lookU8=function(){return this.view.getUint8(this.pos)},t.prototype.lookU16=function(){return this.view.getUint16(this.pos)},t.prototype.lookU32=function(){return this.view.getUint32(this.pos)},t.prototype.readU8=function(){var e=this.view.getUint8(this.pos);return this.pos++,e},t.prototype.readI8=function(){var e=this.view.getInt8(this.pos);return this.pos++,e},t.prototype.readU16=function(){var e=this.view.getUint16(this.pos);return this.pos+=2,e},t.prototype.readI16=function(){var e=this.view.getInt16(this.pos);return this.pos+=2,e},t.prototype.readU32=function(){var e=this.view.getUint32(this.pos);return this.pos+=4,e},t.prototype.readI32=function(){var e=this.view.getInt32(this.pos);return this.pos+=4,e},t.prototype.readU64=function(){var e,t,r=(e=this.view,t=this.pos,4294967296*e.getUint32(t)+e.getUint32(t+4));return this.pos+=8,r},t.prototype.readI64=function(){var e=r(this.view,this.pos);return this.pos+=8,e},t.prototype.readF32=function(){var e=this.view.getFloat32(this.pos);return this.pos+=4,e},t.prototype.readF64=function(){var e=this.view.getFloat64(this.pos);return this.pos+=8,e},t}(),z=i(1);class D{static write(e){let t=e.byteLength||e.length;const r=[];do{let e=127&t;t>>=7,t>0&&(e|=128),r.push(e)}while(t>0);t=e.byteLength||e.length;const i=new Uint8Array(r.length+t);return i.set(r,0),i.set(e,r.length),i.buffer}static parse(e){const t=[],r=new Uint8Array(e),i=[0,7,14,21,28];for(let n=0;n7)throw new Error("Messages bigger than 2GB are not supported.");if(!(r.byteLength>=n+o+a))throw new Error("Incomplete message.");t.push(r.slice?r.slice(n+o,n+o+a):r.subarray(n+o,n+o+a)),n=n+o+a}return t}}const P=new Uint8Array([145,z.MessageType.Ping]);class _{constructor(e){this.name="messagepack",this.version=1,this.transferFormat=z.TransferFormat.Binary,this.i=1,this.h=2,this.u=3,e=e||{},this.l=new U(e.extensionCodec,e.context,e.maxDepth,e.initialBufferSize,e.sortKeys,e.forceFloat32,e.ignoreUndefined,e.forceIntegerToFloat),this.p=new C(e.extensionCodec,e.context,e.maxStrLength,e.maxBinLength,e.maxArrayLength,e.maxMapLength,e.maxExtLength)}parseMessages(e,t){if(!(r=e)||"undefined"==typeof ArrayBuffer||!(r instanceof ArrayBuffer||r.constructor&&"ArrayBuffer"===r.constructor.name))throw new Error("Invalid input for MessagePack hub protocol. Expected an ArrayBuffer.");var r;null===t&&(t=z.NullLogger.instance);const i=D.parse(e),n=[];for(const e of i){const r=this.g(e,t);r&&n.push(r)}return n}writeMessage(e){switch(e.type){case z.MessageType.Invocation:return this.m(e);case z.MessageType.StreamInvocation:return this.A(e);case z.MessageType.StreamItem:return this.I(e);case z.MessageType.Completion:return this._(e);case z.MessageType.Ping:return D.write(P);case z.MessageType.CancelInvocation:return this.M(e);default:throw new Error("Invalid message type.")}}g(e,t){if(0===e.length)throw new Error("Invalid payload.");const r=this.p.decode(e);if(0===r.length||!(r instanceof Array))throw new Error("Invalid payload.");const i=r[0];switch(i){case z.MessageType.Invocation:return this.S(this.U(r),r);case z.MessageType.StreamItem:return this.j(this.U(r),r);case z.MessageType.Completion:return this.T(this.U(r),r);case z.MessageType.Ping:return this.D(r);case z.MessageType.Close:return this.k(r);default:return t.log(z.LogLevel.Information,"Unknown message type '"+i+"' ignored."),null}}k(e){if(e.length<2)throw new Error("Invalid payload for Close message.");return{allowReconnect:e.length>=3?e[2]:void 0,error:e[1],type:z.MessageType.Close}}D(e){if(e.length<1)throw new Error("Invalid payload for Ping message.");return{type:z.MessageType.Ping}}S(e,t){if(t.length<5)throw new Error("Invalid payload for Invocation message.");const r=t[2];return r?{arguments:t[4],headers:e,invocationId:r,streamIds:[],target:t[3],type:z.MessageType.Invocation}:{arguments:t[4],headers:e,streamIds:[],target:t[3],type:z.MessageType.Invocation}}j(e,t){if(t.length<4)throw new Error("Invalid payload for StreamItem message.");return{headers:e,invocationId:t[2],item:t[3],type:z.MessageType.StreamItem}}T(e,t){if(t.length<4)throw new Error("Invalid payload for Completion message.");const r=t[3];if(r!==this.h&&t.length<5)throw new Error("Invalid payload for Completion message.");let i,n;switch(r){case this.i:i=t[4];break;case this.u:n=t[4]}return{error:i,headers:e,invocationId:t[2],result:n,type:z.MessageType.Completion}}m(e){let t;return t=e.streamIds?this.l.encode([z.MessageType.Invocation,e.headers||{},e.invocationId||null,e.target,e.arguments,e.streamIds]):this.l.encode([z.MessageType.Invocation,e.headers||{},e.invocationId||null,e.target,e.arguments]),D.write(t.slice())}A(e){let t;return t=e.streamIds?this.l.encode([z.MessageType.StreamInvocation,e.headers||{},e.invocationId,e.target,e.arguments,e.streamIds]):this.l.encode([z.MessageType.StreamInvocation,e.headers||{},e.invocationId,e.target,e.arguments]),D.write(t.slice())}I(e){const t=this.l.encode([z.MessageType.StreamItem,e.headers||{},e.invocationId,e.item]);return D.write(t.slice())}_(e){const t=e.error?this.i:e.result?this.u:this.h;let r;switch(t){case this.i:r=this.l.encode([z.MessageType.Completion,e.headers||{},e.invocationId,t,e.error]);break;case this.h:r=this.l.encode([z.MessageType.Completion,e.headers||{},e.invocationId,t]);break;case this.u:r=this.l.encode([z.MessageType.Completion,e.headers||{},e.invocationId,t,e.result])}return D.write(r.slice())}M(e){const t=this.l.encode([z.MessageType.CancelInvocation,e.headers||{},e.invocationId]);return D.write(t.slice())}U(e){const t=e[1];if("object"!=typeof t)throw new Error("Invalid headers.");return t}}const j="6.0.0"})(),n})()},"object"==typeof exports&&"object"==typeof module?module.exports=t(require("signalR")):"function"==typeof define&&define.amd?define(["signalR"],t):"object"==typeof exports?exports.msgpack=t(require("signalR")):(e.signalR=e.signalR||{},e.signalR.protocols=e.signalR.protocols||{},e.signalR.protocols.msgpack=t(e.signalR)); +var e,t;e=self,t=function(e){return(()=>{var t=[,t=>{t.exports=e}],r={};function i(e){var n=r[e];if(void 0!==n)return n.exports;var s=r[e]={exports:{}};return t[e](s,s.exports,i),s.exports}i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{i.r(n),i.d(n,{MessagePackHubProtocol:()=>R,VERSION:()=>O});var e=4294967295;function t(e,t,r){var i=Math.floor(r/4294967296),n=r;e.setUint32(t,i),e.setUint32(t+4,n)}function r(e,t){return 4294967296*e.getInt32(t)+e.getUint32(t+4)}var s=("undefined"==typeof process||"never"!==process.env.TEXT_ENCODING)&&"undefined"!=typeof TextEncoder&&"undefined"!=typeof TextDecoder;function o(e){for(var t=e.length,r=0,i=0;i=55296&&n<=56319&&i65535&&(u-=65536,s.push(u>>>10&1023|55296),u=56320|1023&u),s.push(u)}else s.push(a);s.length>=4096&&(o+=String.fromCharCode.apply(String,s),s.length=0)}return s.length>0&&(o+=String.fromCharCode.apply(String,s)),o}var f,p=s?new TextDecoder:null,l=s?"undefined"!=typeof process&&"force"!==process.env.TEXT_DECODER?200:0:e,d=function(e,t){this.type=e,this.data=t},y=(f=function(e,t){return(f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}f(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),w=function(e){function t(r){var i=e.call(this,r)||this,n=Object.create(t.prototype);return Object.setPrototypeOf(i,n),Object.defineProperty(i,"name",{configurable:!0,enumerable:!1,value:t.name}),i}return y(t,e),t}(Error),g={type:-1,encode:function(e){var r,i,n,s;return e instanceof Date?function(e){var r,i=e.sec,n=e.nsec;if(i>=0&&n>=0&&i<=17179869183){if(0===n&&i<=4294967295){var s=new Uint8Array(4);return(r=new DataView(s.buffer)).setUint32(0,i),s}var o=i/4294967296,a=4294967295&i;return s=new Uint8Array(8),(r=new DataView(s.buffer)).setUint32(0,n<<2|3&o),r.setUint32(4,a),s}return s=new Uint8Array(12),(r=new DataView(s.buffer)).setUint32(0,n),t(r,4,i),s}((r=e.getTime(),i=Math.floor(r/1e3),n=1e6*(r-1e3*i),s=Math.floor(n/1e9),{sec:i+s,nsec:n-1e9*s})):null},decode:function(e){var t=function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength);switch(e.byteLength){case 4:return{sec:t.getUint32(0),nsec:0};case 8:var i=t.getUint32(0);return{sec:4294967296*(3&i)+t.getUint32(4),nsec:i>>>2};case 12:return{sec:r(t,4),nsec:t.getUint32(0)};default:throw new w("Unrecognized data size for timestamp (expected 4, 8, or 12): "+e.length)}}(e);return new Date(1e3*t.sec+t.nsec/1e6)}},v=function(){function e(){this.builtInEncoders=[],this.builtInDecoders=[],this.encoders=[],this.decoders=[],this.register(g)}return e.prototype.register=function(e){var t=e.type,r=e.encode,i=e.decode;if(t>=0)this.encoders[t]=r,this.decoders[t]=i;else{var n=1+t;this.builtInEncoders[n]=r,this.builtInDecoders[n]=i}},e.prototype.tryToEncode=function(e,t){for(var r=0;rthis.maxDepth)throw new Error("Too deep objects in depth "+t);null==e?this.encodeNil():"boolean"==typeof e?this.encodeBoolean(e):"number"==typeof e?this.encodeNumber(e):"string"==typeof e?this.encodeString(e):this.encodeObject(e,t)},e.prototype.ensureBufferSizeToWrite=function(e){var t=this.pos+e;this.view.byteLength=0?e<128?this.writeU8(e):e<256?(this.writeU8(204),this.writeU8(e)):e<65536?(this.writeU8(205),this.writeU16(e)):e<4294967296?(this.writeU8(206),this.writeU32(e)):(this.writeU8(207),this.writeU64(e)):e>=-32?this.writeU8(224|e+32):e>=-128?(this.writeU8(208),this.writeI8(e)):e>=-32768?(this.writeU8(209),this.writeI16(e)):e>=-2147483648?(this.writeU8(210),this.writeI32(e)):(this.writeU8(211),this.writeI64(e)):this.forceFloat32?(this.writeU8(202),this.writeF32(e)):(this.writeU8(203),this.writeF64(e))},e.prototype.writeStringHeader=function(e){if(e<32)this.writeU8(160+e);else if(e<256)this.writeU8(217),this.writeU8(e);else if(e<65536)this.writeU8(218),this.writeU16(e);else{if(!(e<4294967296))throw new Error("Too long string: "+e+" bytes in UTF-8");this.writeU8(219),this.writeU32(e)}},e.prototype.encodeString=function(e){if(e.length>h){var t=o(e);this.ensureBufferSizeToWrite(5+t),this.writeStringHeader(t),c(e,this.bytes,this.pos),this.pos+=t}else t=o(e),this.ensureBufferSizeToWrite(5+t),this.writeStringHeader(t),function(e,t,r){for(var i=e.length,n=r,s=0;s>6&31|192;else{if(o>=55296&&o<=56319&&s>12&15|224,t[n++]=o>>6&63|128):(t[n++]=o>>18&7|240,t[n++]=o>>12&63|128,t[n++]=o>>6&63|128)}t[n++]=63&o|128}else t[n++]=o}}(e,this.bytes,this.pos),this.pos+=t},e.prototype.encodeObject=function(e,t){var r=this.extensionCodec.tryToEncode(e,this.context);if(null!=r)this.encodeExtension(r);else if(Array.isArray(e))this.encodeArray(e,t);else if(ArrayBuffer.isView(e))this.encodeBinary(e);else{if("object"!=typeof e)throw new Error("Unrecognized object: "+Object.prototype.toString.apply(e));this.encodeMap(e,t)}},e.prototype.encodeBinary=function(e){var t=e.byteLength;if(t<256)this.writeU8(196),this.writeU8(t);else if(t<65536)this.writeU8(197),this.writeU16(t);else{if(!(t<4294967296))throw new Error("Too large binary: "+t);this.writeU8(198),this.writeU32(t)}var r=m(e);this.writeU8a(r)},e.prototype.encodeArray=function(e,t){var r=e.length;if(r<16)this.writeU8(144+r);else if(r<65536)this.writeU8(220),this.writeU16(r);else{if(!(r<4294967296))throw new Error("Too large array: "+r);this.writeU8(221),this.writeU32(r)}for(var i=0,n=e;i0&&e<=this.maxKeyLength},e.prototype.find=function(e,t,r){e:for(var i=0,n=this.caches[r-1];i=this.maxLengthPerKey?r[Math.random()*r.length|0]=i:r.push(i)},e.prototype.decode=function(e,t,r){var i=this.find(e,t,r);if(null!=i)return this.hit++,i;this.miss++;var n=u(e,t,r),s=Uint8Array.prototype.slice.call(e,t,t+r);return this.store(s,n),n},e}(),x=function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function o(e){try{h(i.next(e))}catch(e){s(e)}}function a(e){try{h(i.throw(e))}catch(e){s(e)}}function h(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,a)}h((i=i.apply(e,t||[])).next())}))},S=function(e,t){var r,i,n,s,o={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(n=2&s[0]?i.return:s[0]?i.throw||((n=i.return)&&n.call(i),0):i.next)&&!(n=n.call(i,s[1])).done)return n;switch(i=0,n&&(s=[2&s[0],n.value]),s[0]){case 0:case 1:n=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,i=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!((n=(n=o.trys).length>0&&n[n.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!n||s[1]>n[0]&&s[1]1||a(e,t)}))})}function a(e,t){try{(r=n[e](t)).value instanceof _?Promise.resolve(r.value.v).then(h,c):u(s[0][2],r)}catch(e){u(s[0][3],e)}var r}function h(e){a("next",e)}function c(e){a("throw",e)}function u(e,t){e(t),s.shift(),s.length&&a(s[0][0],s[0][1])}},T=new DataView(new ArrayBuffer(0)),B=new Uint8Array(T.buffer),A=function(){try{T.getInt8(0)}catch(e){return e.constructor}throw new Error("never reached")}(),L=new A("Insufficient data"),C=new I,k=function(){function t(t,r,i,n,s,o,a,h){void 0===t&&(t=v.defaultCodec),void 0===r&&(r=void 0),void 0===i&&(i=e),void 0===n&&(n=e),void 0===s&&(s=e),void 0===o&&(o=e),void 0===a&&(a=e),void 0===h&&(h=C),this.extensionCodec=t,this.context=r,this.maxStrLength=i,this.maxBinLength=n,this.maxArrayLength=s,this.maxMapLength=o,this.maxExtLength=a,this.keyDecoder=h,this.totalPos=0,this.pos=0,this.view=T,this.bytes=B,this.headByte=-1,this.stack=[]}return t.prototype.reinitializeState=function(){this.totalPos=0,this.headByte=-1,this.stack.length=0},t.prototype.setBuffer=function(e){this.bytes=m(e),this.view=function(e){if(e instanceof ArrayBuffer)return new DataView(e);var t=m(e);return new DataView(t.buffer,t.byteOffset,t.byteLength)}(this.bytes),this.pos=0},t.prototype.appendBuffer=function(e){if(-1!==this.headByte||this.hasRemaining(1)){var t=this.bytes.subarray(this.pos),r=m(e),i=new Uint8Array(t.length+r.length);i.set(t),i.set(r,t.length),this.setBuffer(i)}else this.setBuffer(e)},t.prototype.hasRemaining=function(e){return this.view.byteLength-this.pos>=e},t.prototype.createExtraByteError=function(e){var t=this.view,r=this.pos;return new RangeError("Extra "+(t.byteLength-r)+" of "+t.byteLength+" byte(s) found at buffer["+e+"]")},t.prototype.decode=function(e){this.reinitializeState(),this.setBuffer(e);var t=this.doDecodeSync();if(this.hasRemaining(1))throw this.createExtraByteError(this.pos);return t},t.prototype.decodeMulti=function(e){return S(this,(function(t){switch(t.label){case 0:this.reinitializeState(),this.setBuffer(e),t.label=1;case 1:return this.hasRemaining(1)?[4,this.doDecodeSync()]:[3,3];case 2:return t.sent(),[3,1];case 3:return[2]}}))},t.prototype.decodeAsync=function(e){var t,r,i,n;return x(this,void 0,void 0,(function(){var s,o,a,h,c,u,f,p;return S(this,(function(l){switch(l.label){case 0:s=!1,l.label=1;case 1:l.trys.push([1,6,7,12]),t=E(e),l.label=2;case 2:return[4,t.next()];case 3:if((r=l.sent()).done)return[3,5];if(a=r.value,s)throw this.createExtraByteError(this.totalPos);this.appendBuffer(a);try{o=this.doDecodeSync(),s=!0}catch(e){if(!(e instanceof A))throw e}this.totalPos+=this.pos,l.label=4;case 4:return[3,2];case 5:return[3,12];case 6:return h=l.sent(),i={error:h},[3,12];case 7:return l.trys.push([7,,10,11]),r&&!r.done&&(n=t.return)?[4,n.call(t)]:[3,9];case 8:l.sent(),l.label=9;case 9:return[3,11];case 10:if(i)throw i.error;return[7];case 11:return[7];case 12:if(s){if(this.hasRemaining(1))throw this.createExtraByteError(this.totalPos);return[2,o]}throw u=(c=this).headByte,f=c.pos,p=c.totalPos,new RangeError("Insufficient data in parsing "+U(u)+" at "+p+" ("+f+" in the current buffer)")}}))}))},t.prototype.decodeArrayStream=function(e){return this.decodeMultiAsync(e,!0)},t.prototype.decodeStream=function(e){return this.decodeMultiAsync(e,!1)},t.prototype.decodeMultiAsync=function(e,t){return M(this,arguments,(function(){var r,i,n,s,o,a,h,c,u;return S(this,(function(f){switch(f.label){case 0:r=t,i=-1,f.label=1;case 1:f.trys.push([1,13,14,19]),n=E(e),f.label=2;case 2:return[4,_(n.next())];case 3:if((s=f.sent()).done)return[3,12];if(o=s.value,t&&0===i)throw this.createExtraByteError(this.totalPos);this.appendBuffer(o),r&&(i=this.readArraySize(),r=!1,this.complete()),f.label=4;case 4:f.trys.push([4,9,,10]),f.label=5;case 5:return[4,_(this.doDecodeSync())];case 6:return[4,f.sent()];case 7:return f.sent(),0==--i?[3,8]:[3,5];case 8:return[3,10];case 9:if(!((a=f.sent())instanceof A))throw a;return[3,10];case 10:this.totalPos+=this.pos,f.label=11;case 11:return[3,2];case 12:return[3,19];case 13:return h=f.sent(),c={error:h},[3,19];case 14:return f.trys.push([14,,17,18]),s&&!s.done&&(u=n.return)?[4,_(u.call(n))]:[3,16];case 15:f.sent(),f.label=16;case 16:return[3,18];case 17:if(c)throw c.error;return[7];case 18:return[7];case 19:return[2]}}))}))},t.prototype.doDecodeSync=function(){e:for(;;){var e=this.readHeadByte(),t=void 0;if(e>=224)t=e-256;else if(e<192)if(e<128)t=e;else if(e<144){if(0!=(i=e-128)){this.pushMapState(i),this.complete();continue e}t={}}else if(e<160){if(0!=(i=e-144)){this.pushArrayState(i),this.complete();continue e}t=[]}else{var r=e-160;t=this.decodeUtf8String(r,0)}else if(192===e)t=null;else if(194===e)t=!1;else if(195===e)t=!0;else if(202===e)t=this.readF32();else if(203===e)t=this.readF64();else if(204===e)t=this.readU8();else if(205===e)t=this.readU16();else if(206===e)t=this.readU32();else if(207===e)t=this.readU64();else if(208===e)t=this.readI8();else if(209===e)t=this.readI16();else if(210===e)t=this.readI32();else if(211===e)t=this.readI64();else if(217===e)r=this.lookU8(),t=this.decodeUtf8String(r,1);else if(218===e)r=this.lookU16(),t=this.decodeUtf8String(r,2);else if(219===e)r=this.lookU32(),t=this.decodeUtf8String(r,4);else if(220===e){if(0!==(i=this.readU16())){this.pushArrayState(i),this.complete();continue e}t=[]}else if(221===e){if(0!==(i=this.readU32())){this.pushArrayState(i),this.complete();continue e}t=[]}else if(222===e){if(0!==(i=this.readU16())){this.pushMapState(i),this.complete();continue e}t={}}else if(223===e){if(0!==(i=this.readU32())){this.pushMapState(i),this.complete();continue e}t={}}else if(196===e){var i=this.lookU8();t=this.decodeBinary(i,1)}else if(197===e)i=this.lookU16(),t=this.decodeBinary(i,2);else if(198===e)i=this.lookU32(),t=this.decodeBinary(i,4);else if(212===e)t=this.decodeExtension(1,0);else if(213===e)t=this.decodeExtension(2,0);else if(214===e)t=this.decodeExtension(4,0);else if(215===e)t=this.decodeExtension(8,0);else if(216===e)t=this.decodeExtension(16,0);else if(199===e)i=this.lookU8(),t=this.decodeExtension(i,1);else if(200===e)i=this.lookU16(),t=this.decodeExtension(i,2);else{if(201!==e)throw new w("Unrecognized type byte: "+U(e));i=this.lookU32(),t=this.decodeExtension(i,4)}this.complete();for(var n=this.stack;n.length>0;){var s=n[n.length-1];if(0===s.type){if(s.array[s.position]=t,s.position++,s.position!==s.size)continue e;n.pop(),t=s.array}else{if(1===s.type){if(o=void 0,"string"!=(o=typeof t)&&"number"!==o)throw new w("The type of key must be string or number but "+typeof t);if("__proto__"===t)throw new w("The key __proto__ is not allowed");s.key=t,s.type=2;continue e}if(s.map[s.key]=t,s.readCount++,s.readCount!==s.size){s.key=null,s.type=1;continue e}n.pop(),t=s.map}}return t}var o},t.prototype.readHeadByte=function(){return-1===this.headByte&&(this.headByte=this.readU8()),this.headByte},t.prototype.complete=function(){this.headByte=-1},t.prototype.readArraySize=function(){var e=this.readHeadByte();switch(e){case 220:return this.readU16();case 221:return this.readU32();default:if(e<160)return e-144;throw new w("Unrecognized array type byte: "+U(e))}},t.prototype.pushMapState=function(e){if(e>this.maxMapLength)throw new w("Max length exceeded: map length ("+e+") > maxMapLengthLength ("+this.maxMapLength+")");this.stack.push({type:1,size:e,key:null,readCount:0,map:{}})},t.prototype.pushArrayState=function(e){if(e>this.maxArrayLength)throw new w("Max length exceeded: array length ("+e+") > maxArrayLength ("+this.maxArrayLength+")");this.stack.push({type:0,size:e,array:new Array(e),position:0})},t.prototype.decodeUtf8String=function(e,t){var r;if(e>this.maxStrLength)throw new w("Max length exceeded: UTF-8 byte length ("+e+") > maxStrLength ("+this.maxStrLength+")");if(this.bytes.byteLengthl?function(e,t,r){var i=e.subarray(t,t+r);return p.decode(i)}(this.bytes,n,e):u(this.bytes,n,e),this.pos+=t+e,i},t.prototype.stateIsMapKey=function(){return this.stack.length>0&&1===this.stack[this.stack.length-1].type},t.prototype.decodeBinary=function(e,t){if(e>this.maxBinLength)throw new w("Max length exceeded: bin length ("+e+") > maxBinLength ("+this.maxBinLength+")");if(!this.hasRemaining(e+t))throw L;var r=this.pos+t,i=this.bytes.subarray(r,r+e);return this.pos+=t+e,i},t.prototype.decodeExtension=function(e,t){if(e>this.maxExtLength)throw new w("Max length exceeded: ext length ("+e+") > maxExtLength ("+this.maxExtLength+")");var r=this.view.getInt8(this.pos+t),i=this.decodeBinary(e,t+1);return this.extensionCodec.decode(i,r,this.context)},t.prototype.lookU8=function(){return this.view.getUint8(this.pos)},t.prototype.lookU16=function(){return this.view.getUint16(this.pos)},t.prototype.lookU32=function(){return this.view.getUint32(this.pos)},t.prototype.readU8=function(){var e=this.view.getUint8(this.pos);return this.pos++,e},t.prototype.readI8=function(){var e=this.view.getInt8(this.pos);return this.pos++,e},t.prototype.readU16=function(){var e=this.view.getUint16(this.pos);return this.pos+=2,e},t.prototype.readI16=function(){var e=this.view.getInt16(this.pos);return this.pos+=2,e},t.prototype.readU32=function(){var e=this.view.getUint32(this.pos);return this.pos+=4,e},t.prototype.readI32=function(){var e=this.view.getInt32(this.pos);return this.pos+=4,e},t.prototype.readU64=function(){var e,t,r=(e=this.view,t=this.pos,4294967296*e.getUint32(t)+e.getUint32(t+4));return this.pos+=8,r},t.prototype.readI64=function(){var e=r(this.view,this.pos);return this.pos+=8,e},t.prototype.readF32=function(){var e=this.view.getFloat32(this.pos);return this.pos+=4,e},t.prototype.readF64=function(){var e=this.view.getFloat64(this.pos);return this.pos+=8,e},t}(),z=i(1);class D{static write(e){let t=e.byteLength||e.length;const r=[];do{let e=127&t;t>>=7,t>0&&(e|=128),r.push(e)}while(t>0);t=e.byteLength||e.length;const i=new Uint8Array(r.length+t);return i.set(r,0),i.set(e,r.length),i.buffer}static parse(e){const t=[],r=new Uint8Array(e),i=[0,7,14,21,28];for(let n=0;n7)throw new Error("Messages bigger than 2GB are not supported.");if(!(r.byteLength>=n+o+a))throw new Error("Incomplete message.");t.push(r.slice?r.slice(n+o,n+o+a):r.subarray(n+o,n+o+a)),n=n+o+a}return t}}const P=new Uint8Array([145,z.MessageType.Ping]);class R{constructor(e){this.name="messagepack",this.version=1,this.transferFormat=z.TransferFormat.Binary,this._errorResult=1,this._voidResult=2,this._nonVoidResult=3,e=e||{},this._encoder=new b(e.extensionCodec,e.context,e.maxDepth,e.initialBufferSize,e.sortKeys,e.forceFloat32,e.ignoreUndefined,e.forceIntegerToFloat),this._decoder=new k(e.extensionCodec,e.context,e.maxStrLength,e.maxBinLength,e.maxArrayLength,e.maxMapLength,e.maxExtLength)}parseMessages(e,t){if(!(r=e)||"undefined"==typeof ArrayBuffer||!(r instanceof ArrayBuffer||r.constructor&&"ArrayBuffer"===r.constructor.name))throw new Error("Invalid input for MessagePack hub protocol. Expected an ArrayBuffer.");var r;null===t&&(t=z.NullLogger.instance);const i=D.parse(e),n=[];for(const e of i){const r=this._parseMessage(e,t);r&&n.push(r)}return n}writeMessage(e){switch(e.type){case z.MessageType.Invocation:return this._writeInvocation(e);case z.MessageType.StreamInvocation:return this._writeStreamInvocation(e);case z.MessageType.StreamItem:return this._writeStreamItem(e);case z.MessageType.Completion:return this._writeCompletion(e);case z.MessageType.Ping:return D.write(P);case z.MessageType.CancelInvocation:return this._writeCancelInvocation(e);default:throw new Error("Invalid message type.")}}_parseMessage(e,t){if(0===e.length)throw new Error("Invalid payload.");const r=this._decoder.decode(e);if(0===r.length||!(r instanceof Array))throw new Error("Invalid payload.");const i=r[0];switch(i){case z.MessageType.Invocation:return this._createInvocationMessage(this._readHeaders(r),r);case z.MessageType.StreamItem:return this._createStreamItemMessage(this._readHeaders(r),r);case z.MessageType.Completion:return this._createCompletionMessage(this._readHeaders(r),r);case z.MessageType.Ping:return this._createPingMessage(r);case z.MessageType.Close:return this._createCloseMessage(r);default:return t.log(z.LogLevel.Information,"Unknown message type '"+i+"' ignored."),null}}_createCloseMessage(e){if(e.length<2)throw new Error("Invalid payload for Close message.");return{allowReconnect:e.length>=3?e[2]:void 0,error:e[1],type:z.MessageType.Close}}_createPingMessage(e){if(e.length<1)throw new Error("Invalid payload for Ping message.");return{type:z.MessageType.Ping}}_createInvocationMessage(e,t){if(t.length<5)throw new Error("Invalid payload for Invocation message.");const r=t[2];return r?{arguments:t[4],headers:e,invocationId:r,streamIds:[],target:t[3],type:z.MessageType.Invocation}:{arguments:t[4],headers:e,streamIds:[],target:t[3],type:z.MessageType.Invocation}}_createStreamItemMessage(e,t){if(t.length<4)throw new Error("Invalid payload for StreamItem message.");return{headers:e,invocationId:t[2],item:t[3],type:z.MessageType.StreamItem}}_createCompletionMessage(e,t){if(t.length<4)throw new Error("Invalid payload for Completion message.");const r=t[3];if(r!==this._voidResult&&t.length<5)throw new Error("Invalid payload for Completion message.");let i,n;switch(r){case this._errorResult:i=t[4];break;case this._nonVoidResult:n=t[4]}return{error:i,headers:e,invocationId:t[2],result:n,type:z.MessageType.Completion}}_writeInvocation(e){let t;return t=e.streamIds?this._encoder.encode([z.MessageType.Invocation,e.headers||{},e.invocationId||null,e.target,e.arguments,e.streamIds]):this._encoder.encode([z.MessageType.Invocation,e.headers||{},e.invocationId||null,e.target,e.arguments]),D.write(t.slice())}_writeStreamInvocation(e){let t;return t=e.streamIds?this._encoder.encode([z.MessageType.StreamInvocation,e.headers||{},e.invocationId,e.target,e.arguments,e.streamIds]):this._encoder.encode([z.MessageType.StreamInvocation,e.headers||{},e.invocationId,e.target,e.arguments]),D.write(t.slice())}_writeStreamItem(e){const t=this._encoder.encode([z.MessageType.StreamItem,e.headers||{},e.invocationId,e.item]);return D.write(t.slice())}_writeCompletion(e){const t=e.error?this._errorResult:e.result?this._nonVoidResult:this._voidResult;let r;switch(t){case this._errorResult:r=this._encoder.encode([z.MessageType.Completion,e.headers||{},e.invocationId,t,e.error]);break;case this._voidResult:r=this._encoder.encode([z.MessageType.Completion,e.headers||{},e.invocationId,t]);break;case this._nonVoidResult:r=this._encoder.encode([z.MessageType.Completion,e.headers||{},e.invocationId,t,e.result])}return D.write(r.slice())}_writeCancelInvocation(e){const t=this._encoder.encode([z.MessageType.CancelInvocation,e.headers||{},e.invocationId]);return D.write(t.slice())}_readHeaders(e){const t=e[1];if("object"!=typeof t)throw new Error("Invalid headers.");return t}}const O="6.0.6"})(),n})()},"object"==typeof exports&&"object"==typeof module?module.exports=t(require("signalR")):"function"==typeof define&&define.amd?define(["signalR"],t):"object"==typeof exports?exports.msgpack=t(require("signalR")):(e.signalR=e.signalR||{},e.signalR.protocols=e.signalR.protocols||{},e.signalR.protocols.msgpack=t(e.signalR)); //# sourceMappingURL=signalr-protocol-msgpack.min.js.map \ No newline at end of file diff --git a/Server/wwwroot/lib/microsoft/signalr-protocol-msgpack/dist/browser/signalr-protocol-msgpack.min.js.map b/Server/wwwroot/lib/microsoft/signalr-protocol-msgpack/dist/browser/signalr-protocol-msgpack.min.js.map index e46d3e05..14d817d3 100644 --- a/Server/wwwroot/lib/microsoft/signalr-protocol-msgpack/dist/browser/signalr-protocol-msgpack.min.js.map +++ b/Server/wwwroot/lib/microsoft/signalr-protocol-msgpack/dist/browser/signalr-protocol-msgpack.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://signalR.protocols.msgpack/webpack/universalModuleDefinition","webpack://signalR.protocols.msgpack/external \"signalR\"","webpack://signalR.protocols.msgpack/webpack/bootstrap","webpack://signalR.protocols.msgpack/webpack/runtime/define property getters","webpack://signalR.protocols.msgpack/webpack/runtime/hasOwnProperty shorthand","webpack://signalR.protocols.msgpack/webpack/runtime/make namespace object","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/utils/int.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/utils/utf8.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/DecodeError.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/ExtData.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/timestamp.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/ExtensionCodec.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/utils/typedArrays.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/Encoder.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/utils/prettyByte.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/CachedKeyDecoder.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/Decoder.mjs","webpack://signalR.protocols.msgpack/src/BinaryMessageFormat.ts","webpack://signalR.protocols.msgpack/src/MessagePackHubProtocol.ts","webpack://signalR.protocols.msgpack/src/Utils.ts","webpack://signalR.protocols.msgpack/src/index.ts"],"names":["root","factory","self","__WEBPACK_EXTERNAL_MODULE__1__","module","exports","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","d","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","UINT32_MAX","setInt64","view","offset","high","Math","floor","low","setUint32","getInt64","getInt32","getUint32","TEXT_ENCODING_AVAILABLE","process","env","TEXT_ENCODING","TextEncoder","TextDecoder","utf8Count","str","strLength","length","byteLength","pos","charCodeAt","extra","sharedTextEncoder","TEXT_ENCODER_THRESHOLD","utf8EncodeTE","encodeInto","output","outputOffset","subarray","set","encode","utf8DecodeJs","bytes","inputOffset","end","units","result","byte1","push","byte2","byte3","unit","String","fromCharCode","apply","extendStatics","sharedTextDecoder","TEXT_DECODER_THRESHOLD","TEXT_DECODER","ExtData","type","data","this","__extends","b","setPrototypeOf","__proto__","Array","p","TypeError","__","constructor","create","DecodeError","_super","message","_this","proto","configurable","name","Error","timestampExtension","object","msec","sec","nsec","nsecInSec","Date","_a","rv","Uint8Array","DataView","buffer","secHigh","secLow","getTime","decode","timeSpec","byteOffset","nsec30AndSecHigh2","ExtensionCodec","builtInEncoders","builtInDecoders","encoders","decoders","register","index","tryToEncode","context","i","encodeExt","decodeExt","defaultCodec","ensureUint8Array","ArrayBuffer","isView","from","Encoder","extensionCodec","maxDepth","initialBufferSize","sortKeys","forceFloat32","ignoreUndefined","forceIntegerToFloat","undefined","getUint8Array","reinitializeState","doEncode","depth","encodeNil","encodeBoolean","encodeNumber","encodeString","encodeObject","ensureBufferSizeToWrite","sizeToWrite","requiredSize","resizeBuffer","newSize","newBuffer","newBytes","newView","writeU8","Number","isSafeInteger","writeU16","writeU32","writeU64","writeI8","writeI16","writeI32","writeI64","writeF32","writeF64","writeStringHeader","ext","encodeExtension","isArray","encodeArray","encodeBinary","toString","encodeMap","size","writeU8a","_i","object_1","item","countWithoutUndefined","keys","count","keys_1","sort","keys_2","setUint8","values","setInt8","setUint16","setInt16","setInt32","setFloat32","setFloat64","prettyByte","byte","abs","padStart","CachedKeyDecoder","maxKeyLength","maxLengthPerKey","hit","miss","caches","canBeCached","find","FIND_CHUNK","records_1","record","recordBytes","j","store","records","random","cachedValue","slicedCopyOfBytes","slice","__generator","thisArg","body","f","y","t","g","_","label","sent","trys","ops","next","verb","throw","return","iterator","n","v","op","done","pop","e","__asyncValues","asyncIterator","m","__values","Promise","resolve","reject","then","__await","__asyncGenerator","_arguments","generator","q","a","resume","fulfill","settle","shift","EMPTY_VIEW","EMPTY_BYTES","DataViewIndexOutOfBoundsError","getInt8","MORE_DATA","sharedCachedKeyDecoder","Decoder","maxStrLength","maxBinLength","maxArrayLength","maxMapLength","maxExtLength","keyDecoder","totalPos","headByte","stack","setBuffer","bufferView","appendBuffer","hasRemaining","remainingData","newData","createExtraByteError","posToShow","RangeError","doDecodeSync","decodeMulti","decodeAsync","stream","stream_1","stream_1_1","e_1","P","fulfilled","step","rejected","__awaiter","decoded","e_1_1","_b","_c","error","decodeArrayStream","decodeMultiAsync","decodeStream","arguments","isArrayHeaderRequired","arrayItemsLeft","stream_2","stream_2_1","e_2","e_3_1","e_3","readArraySize","complete","DECODE","readHeadByte","pushMapState","pushArrayState","decodeUtf8String","readF32","readF64","readU8","readU16","readU32","readU64","readI8","readI16","readI32","readI64","lookU8","lookU16","lookU32","decodeBinary","decodeExtension","state","array","position","keyType","map","readCount","headerOffset","stateIsMapKey","stringBytes","headOffset","extType","getUint8","getUint16","getInt16","getFloat32","getFloat64","BinaryMessageFormat","[object Object]","lenBuffer","sizePart","input","uint8Array","numBitsToShift","byteRead","numBytes","min","SERIALIZED_PING_MESSAGE","O","MessageType","Ping","MessagePackHubProtocol","messagePackOptions","version","transferFormat","TransferFormat","Binary","_errorResult","_voidResult","_nonVoidResult","_encoder","_decoder","logger","val","NullLogger","instance","messages","parse","hubMessages","parsedMessage","_parseMessage","Invocation","_writeInvocation","StreamInvocation","_writeStreamInvocation","StreamItem","_writeStreamItem","Completion","_writeCompletion","write","CancelInvocation","_writeCancelInvocation","properties","messageType","_createInvocationMessage","_readHeaders","_createStreamItemMessage","_createCompletionMessage","_createPingMessage","Close","_createCloseMessage","log","LogLevel","Information","allowReconnect","headers","invocationId","streamIds","target","resultKind","invocationMessage","payload","streamInvocationMessage","streamItemMessage","completionMessage","cancelInvocationMessage","VERSION","require","define","amd","msgpack","signalR","protocols"],"mappings":"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","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"signalR\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"signalR\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"msgpack\"] = factory(require(\"signalR\"));\n\telse\n\t\troot[\"signalR\"] = root[\"signalR\"] || {}, root[\"signalR\"][\"protocols\"] = root[\"signalR\"][\"protocols\"] || {}, root[\"signalR\"][\"protocols\"][\"msgpack\"] = factory(root[\"signalR\"]);\n})(self, function(__WEBPACK_EXTERNAL_MODULE__1__) {\nreturn ","module.exports = __WEBPACK_EXTERNAL_MODULE__1__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// Integer Utility\nexport var UINT32_MAX = 4294967295;\n// DataView extension to handle int64 / uint64,\n// where the actual range is 53-bits integer (a.k.a. safe integer)\nexport function setUint64(view, offset, value) {\n var high = value / 4294967296;\n var low = value; // high bits are truncated by DataView\n view.setUint32(offset, high);\n view.setUint32(offset + 4, low);\n}\nexport function setInt64(view, offset, value) {\n var high = Math.floor(value / 4294967296);\n var low = value; // high bits are truncated by DataView\n view.setUint32(offset, high);\n view.setUint32(offset + 4, low);\n}\nexport function getInt64(view, offset) {\n var high = view.getInt32(offset);\n var low = view.getUint32(offset + 4);\n return high * 4294967296 + low;\n}\nexport function getUint64(view, offset) {\n var high = view.getUint32(offset);\n var low = view.getUint32(offset + 4);\n return high * 4294967296 + low;\n}\n//# sourceMappingURL=int.mjs.map","import { UINT32_MAX } from \"./int.mjs\";\nvar TEXT_ENCODING_AVAILABLE = (typeof process === \"undefined\" || process.env[\"TEXT_ENCODING\"] !== \"never\") &&\n typeof TextEncoder !== \"undefined\" &&\n typeof TextDecoder !== \"undefined\";\nexport function utf8Count(str) {\n var strLength = str.length;\n var byteLength = 0;\n var pos = 0;\n while (pos < strLength) {\n var value = str.charCodeAt(pos++);\n if ((value & 0xffffff80) === 0) {\n // 1-byte\n byteLength++;\n continue;\n }\n else if ((value & 0xfffff800) === 0) {\n // 2-bytes\n byteLength += 2;\n }\n else {\n // handle surrogate pair\n if (value >= 0xd800 && value <= 0xdbff) {\n // high surrogate\n if (pos < strLength) {\n var extra = str.charCodeAt(pos);\n if ((extra & 0xfc00) === 0xdc00) {\n ++pos;\n value = ((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000;\n }\n }\n }\n if ((value & 0xffff0000) === 0) {\n // 3-byte\n byteLength += 3;\n }\n else {\n // 4-byte\n byteLength += 4;\n }\n }\n }\n return byteLength;\n}\nexport function utf8EncodeJs(str, output, outputOffset) {\n var strLength = str.length;\n var offset = outputOffset;\n var pos = 0;\n while (pos < strLength) {\n var value = str.charCodeAt(pos++);\n if ((value & 0xffffff80) === 0) {\n // 1-byte\n output[offset++] = value;\n continue;\n }\n else if ((value & 0xfffff800) === 0) {\n // 2-bytes\n output[offset++] = ((value >> 6) & 0x1f) | 0xc0;\n }\n else {\n // handle surrogate pair\n if (value >= 0xd800 && value <= 0xdbff) {\n // high surrogate\n if (pos < strLength) {\n var extra = str.charCodeAt(pos);\n if ((extra & 0xfc00) === 0xdc00) {\n ++pos;\n value = ((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000;\n }\n }\n }\n if ((value & 0xffff0000) === 0) {\n // 3-byte\n output[offset++] = ((value >> 12) & 0x0f) | 0xe0;\n output[offset++] = ((value >> 6) & 0x3f) | 0x80;\n }\n else {\n // 4-byte\n output[offset++] = ((value >> 18) & 0x07) | 0xf0;\n output[offset++] = ((value >> 12) & 0x3f) | 0x80;\n output[offset++] = ((value >> 6) & 0x3f) | 0x80;\n }\n }\n output[offset++] = (value & 0x3f) | 0x80;\n }\n}\nvar sharedTextEncoder = TEXT_ENCODING_AVAILABLE ? new TextEncoder() : undefined;\nexport var TEXT_ENCODER_THRESHOLD = !TEXT_ENCODING_AVAILABLE\n ? UINT32_MAX\n : typeof process !== \"undefined\" && process.env[\"TEXT_ENCODING\"] !== \"force\"\n ? 200\n : 0;\nfunction utf8EncodeTEencode(str, output, outputOffset) {\n output.set(sharedTextEncoder.encode(str), outputOffset);\n}\nfunction utf8EncodeTEencodeInto(str, output, outputOffset) {\n sharedTextEncoder.encodeInto(str, output.subarray(outputOffset));\n}\nexport var utf8EncodeTE = (sharedTextEncoder === null || sharedTextEncoder === void 0 ? void 0 : sharedTextEncoder.encodeInto) ? utf8EncodeTEencodeInto : utf8EncodeTEencode;\nvar CHUNK_SIZE = 4096;\nexport function utf8DecodeJs(bytes, inputOffset, byteLength) {\n var offset = inputOffset;\n var end = offset + byteLength;\n var units = [];\n var result = \"\";\n while (offset < end) {\n var byte1 = bytes[offset++];\n if ((byte1 & 0x80) === 0) {\n // 1 byte\n units.push(byte1);\n }\n else if ((byte1 & 0xe0) === 0xc0) {\n // 2 bytes\n var byte2 = bytes[offset++] & 0x3f;\n units.push(((byte1 & 0x1f) << 6) | byte2);\n }\n else if ((byte1 & 0xf0) === 0xe0) {\n // 3 bytes\n var byte2 = bytes[offset++] & 0x3f;\n var byte3 = bytes[offset++] & 0x3f;\n units.push(((byte1 & 0x1f) << 12) | (byte2 << 6) | byte3);\n }\n else if ((byte1 & 0xf8) === 0xf0) {\n // 4 bytes\n var byte2 = bytes[offset++] & 0x3f;\n var byte3 = bytes[offset++] & 0x3f;\n var byte4 = bytes[offset++] & 0x3f;\n var unit = ((byte1 & 0x07) << 0x12) | (byte2 << 0x0c) | (byte3 << 0x06) | byte4;\n if (unit > 0xffff) {\n unit -= 0x10000;\n units.push(((unit >>> 10) & 0x3ff) | 0xd800);\n unit = 0xdc00 | (unit & 0x3ff);\n }\n units.push(unit);\n }\n else {\n units.push(byte1);\n }\n if (units.length >= CHUNK_SIZE) {\n result += String.fromCharCode.apply(String, units);\n units.length = 0;\n }\n }\n if (units.length > 0) {\n result += String.fromCharCode.apply(String, units);\n }\n return result;\n}\nvar sharedTextDecoder = TEXT_ENCODING_AVAILABLE ? new TextDecoder() : null;\nexport var TEXT_DECODER_THRESHOLD = !TEXT_ENCODING_AVAILABLE\n ? UINT32_MAX\n : typeof process !== \"undefined\" && process.env[\"TEXT_DECODER\"] !== \"force\"\n ? 200\n : 0;\nexport function utf8DecodeTD(bytes, inputOffset, byteLength) {\n var stringBytes = bytes.subarray(inputOffset, inputOffset + byteLength);\n return sharedTextDecoder.decode(stringBytes);\n}\n//# sourceMappingURL=utf8.mjs.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar DecodeError = /** @class */ (function (_super) {\n __extends(DecodeError, _super);\n function DecodeError(message) {\n var _this = _super.call(this, message) || this;\n // fix the prototype chain in a cross-platform way\n var proto = Object.create(DecodeError.prototype);\n Object.setPrototypeOf(_this, proto);\n Object.defineProperty(_this, \"name\", {\n configurable: true,\n enumerable: false,\n value: DecodeError.name,\n });\n return _this;\n }\n return DecodeError;\n}(Error));\nexport { DecodeError };\n//# sourceMappingURL=DecodeError.mjs.map","/**\n * ExtData is used to handle Extension Types that are not registered to ExtensionCodec.\n */\nvar ExtData = /** @class */ (function () {\n function ExtData(type, data) {\n this.type = type;\n this.data = data;\n }\n return ExtData;\n}());\nexport { ExtData };\n//# sourceMappingURL=ExtData.mjs.map","// https://github.com/msgpack/msgpack/blob/master/spec.md#timestamp-extension-type\nimport { DecodeError } from \"./DecodeError.mjs\";\nimport { getInt64, setInt64 } from \"./utils/int.mjs\";\nexport var EXT_TIMESTAMP = -1;\nvar TIMESTAMP32_MAX_SEC = 0x100000000 - 1; // 32-bit unsigned int\nvar TIMESTAMP64_MAX_SEC = 0x400000000 - 1; // 34-bit unsigned int\nexport function encodeTimeSpecToTimestamp(_a) {\n var sec = _a.sec, nsec = _a.nsec;\n if (sec >= 0 && nsec >= 0 && sec <= TIMESTAMP64_MAX_SEC) {\n // Here sec >= 0 && nsec >= 0\n if (nsec === 0 && sec <= TIMESTAMP32_MAX_SEC) {\n // timestamp 32 = { sec32 (unsigned) }\n var rv = new Uint8Array(4);\n var view = new DataView(rv.buffer);\n view.setUint32(0, sec);\n return rv;\n }\n else {\n // timestamp 64 = { nsec30 (unsigned), sec34 (unsigned) }\n var secHigh = sec / 0x100000000;\n var secLow = sec & 0xffffffff;\n var rv = new Uint8Array(8);\n var view = new DataView(rv.buffer);\n // nsec30 | secHigh2\n view.setUint32(0, (nsec << 2) | (secHigh & 0x3));\n // secLow32\n view.setUint32(4, secLow);\n return rv;\n }\n }\n else {\n // timestamp 96 = { nsec32 (unsigned), sec64 (signed) }\n var rv = new Uint8Array(12);\n var view = new DataView(rv.buffer);\n view.setUint32(0, nsec);\n setInt64(view, 4, sec);\n return rv;\n }\n}\nexport function encodeDateToTimeSpec(date) {\n var msec = date.getTime();\n var sec = Math.floor(msec / 1e3);\n var nsec = (msec - sec * 1e3) * 1e6;\n // Normalizes { sec, nsec } to ensure nsec is unsigned.\n var nsecInSec = Math.floor(nsec / 1e9);\n return {\n sec: sec + nsecInSec,\n nsec: nsec - nsecInSec * 1e9,\n };\n}\nexport function encodeTimestampExtension(object) {\n if (object instanceof Date) {\n var timeSpec = encodeDateToTimeSpec(object);\n return encodeTimeSpecToTimestamp(timeSpec);\n }\n else {\n return null;\n }\n}\nexport function decodeTimestampToTimeSpec(data) {\n var view = new DataView(data.buffer, data.byteOffset, data.byteLength);\n // data may be 32, 64, or 96 bits\n switch (data.byteLength) {\n case 4: {\n // timestamp 32 = { sec32 }\n var sec = view.getUint32(0);\n var nsec = 0;\n return { sec: sec, nsec: nsec };\n }\n case 8: {\n // timestamp 64 = { nsec30, sec34 }\n var nsec30AndSecHigh2 = view.getUint32(0);\n var secLow32 = view.getUint32(4);\n var sec = (nsec30AndSecHigh2 & 0x3) * 0x100000000 + secLow32;\n var nsec = nsec30AndSecHigh2 >>> 2;\n return { sec: sec, nsec: nsec };\n }\n case 12: {\n // timestamp 96 = { nsec32 (unsigned), sec64 (signed) }\n var sec = getInt64(view, 4);\n var nsec = view.getUint32(0);\n return { sec: sec, nsec: nsec };\n }\n default:\n throw new DecodeError(\"Unrecognized data size for timestamp (expected 4, 8, or 12): \" + data.length);\n }\n}\nexport function decodeTimestampExtension(data) {\n var timeSpec = decodeTimestampToTimeSpec(data);\n return new Date(timeSpec.sec * 1e3 + timeSpec.nsec / 1e6);\n}\nexport var timestampExtension = {\n type: EXT_TIMESTAMP,\n encode: encodeTimestampExtension,\n decode: decodeTimestampExtension,\n};\n//# sourceMappingURL=timestamp.mjs.map","// ExtensionCodec to handle MessagePack extensions\nimport { ExtData } from \"./ExtData.mjs\";\nimport { timestampExtension } from \"./timestamp.mjs\";\nvar ExtensionCodec = /** @class */ (function () {\n function ExtensionCodec() {\n // built-in extensions\n this.builtInEncoders = [];\n this.builtInDecoders = [];\n // custom extensions\n this.encoders = [];\n this.decoders = [];\n this.register(timestampExtension);\n }\n ExtensionCodec.prototype.register = function (_a) {\n var type = _a.type, encode = _a.encode, decode = _a.decode;\n if (type >= 0) {\n // custom extensions\n this.encoders[type] = encode;\n this.decoders[type] = decode;\n }\n else {\n // built-in extensions\n var index = 1 + type;\n this.builtInEncoders[index] = encode;\n this.builtInDecoders[index] = decode;\n }\n };\n ExtensionCodec.prototype.tryToEncode = function (object, context) {\n // built-in extensions\n for (var i = 0; i < this.builtInEncoders.length; i++) {\n var encodeExt = this.builtInEncoders[i];\n if (encodeExt != null) {\n var data = encodeExt(object, context);\n if (data != null) {\n var type = -1 - i;\n return new ExtData(type, data);\n }\n }\n }\n // custom extensions\n for (var i = 0; i < this.encoders.length; i++) {\n var encodeExt = this.encoders[i];\n if (encodeExt != null) {\n var data = encodeExt(object, context);\n if (data != null) {\n var type = i;\n return new ExtData(type, data);\n }\n }\n }\n if (object instanceof ExtData) {\n // to keep ExtData as is\n return object;\n }\n return null;\n };\n ExtensionCodec.prototype.decode = function (data, type, context) {\n var decodeExt = type < 0 ? this.builtInDecoders[-1 - type] : this.decoders[type];\n if (decodeExt) {\n return decodeExt(data, type, context);\n }\n else {\n // decode() does not fail, returns ExtData instead.\n return new ExtData(type, data);\n }\n };\n ExtensionCodec.defaultCodec = new ExtensionCodec();\n return ExtensionCodec;\n}());\nexport { ExtensionCodec };\n//# sourceMappingURL=ExtensionCodec.mjs.map","export function ensureUint8Array(buffer) {\n if (buffer instanceof Uint8Array) {\n return buffer;\n }\n else if (ArrayBuffer.isView(buffer)) {\n return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n }\n else if (buffer instanceof ArrayBuffer) {\n return new Uint8Array(buffer);\n }\n else {\n // ArrayLike\n return Uint8Array.from(buffer);\n }\n}\nexport function createDataView(buffer) {\n if (buffer instanceof ArrayBuffer) {\n return new DataView(buffer);\n }\n var bufferView = ensureUint8Array(buffer);\n return new DataView(bufferView.buffer, bufferView.byteOffset, bufferView.byteLength);\n}\n//# sourceMappingURL=typedArrays.mjs.map","import { utf8EncodeJs, utf8Count, TEXT_ENCODER_THRESHOLD, utf8EncodeTE } from \"./utils/utf8.mjs\";\nimport { ExtensionCodec } from \"./ExtensionCodec.mjs\";\nimport { setInt64, setUint64 } from \"./utils/int.mjs\";\nimport { ensureUint8Array } from \"./utils/typedArrays.mjs\";\nexport var DEFAULT_MAX_DEPTH = 100;\nexport var DEFAULT_INITIAL_BUFFER_SIZE = 2048;\nvar Encoder = /** @class */ (function () {\n function Encoder(extensionCodec, context, maxDepth, initialBufferSize, sortKeys, forceFloat32, ignoreUndefined, forceIntegerToFloat) {\n if (extensionCodec === void 0) { extensionCodec = ExtensionCodec.defaultCodec; }\n if (context === void 0) { context = undefined; }\n if (maxDepth === void 0) { maxDepth = DEFAULT_MAX_DEPTH; }\n if (initialBufferSize === void 0) { initialBufferSize = DEFAULT_INITIAL_BUFFER_SIZE; }\n if (sortKeys === void 0) { sortKeys = false; }\n if (forceFloat32 === void 0) { forceFloat32 = false; }\n if (ignoreUndefined === void 0) { ignoreUndefined = false; }\n if (forceIntegerToFloat === void 0) { forceIntegerToFloat = false; }\n this.extensionCodec = extensionCodec;\n this.context = context;\n this.maxDepth = maxDepth;\n this.initialBufferSize = initialBufferSize;\n this.sortKeys = sortKeys;\n this.forceFloat32 = forceFloat32;\n this.ignoreUndefined = ignoreUndefined;\n this.forceIntegerToFloat = forceIntegerToFloat;\n this.pos = 0;\n this.view = new DataView(new ArrayBuffer(this.initialBufferSize));\n this.bytes = new Uint8Array(this.view.buffer);\n }\n Encoder.prototype.getUint8Array = function () {\n return this.bytes.subarray(0, this.pos);\n };\n Encoder.prototype.reinitializeState = function () {\n this.pos = 0;\n };\n Encoder.prototype.encode = function (object) {\n this.reinitializeState();\n this.doEncode(object, 1);\n return this.getUint8Array();\n };\n Encoder.prototype.doEncode = function (object, depth) {\n if (depth > this.maxDepth) {\n throw new Error(\"Too deep objects in depth \" + depth);\n }\n if (object == null) {\n this.encodeNil();\n }\n else if (typeof object === \"boolean\") {\n this.encodeBoolean(object);\n }\n else if (typeof object === \"number\") {\n this.encodeNumber(object);\n }\n else if (typeof object === \"string\") {\n this.encodeString(object);\n }\n else {\n this.encodeObject(object, depth);\n }\n };\n Encoder.prototype.ensureBufferSizeToWrite = function (sizeToWrite) {\n var requiredSize = this.pos + sizeToWrite;\n if (this.view.byteLength < requiredSize) {\n this.resizeBuffer(requiredSize * 2);\n }\n };\n Encoder.prototype.resizeBuffer = function (newSize) {\n var newBuffer = new ArrayBuffer(newSize);\n var newBytes = new Uint8Array(newBuffer);\n var newView = new DataView(newBuffer);\n newBytes.set(this.bytes);\n this.view = newView;\n this.bytes = newBytes;\n };\n Encoder.prototype.encodeNil = function () {\n this.writeU8(0xc0);\n };\n Encoder.prototype.encodeBoolean = function (object) {\n if (object === false) {\n this.writeU8(0xc2);\n }\n else {\n this.writeU8(0xc3);\n }\n };\n Encoder.prototype.encodeNumber = function (object) {\n if (Number.isSafeInteger(object) && !this.forceIntegerToFloat) {\n if (object >= 0) {\n if (object < 0x80) {\n // positive fixint\n this.writeU8(object);\n }\n else if (object < 0x100) {\n // uint 8\n this.writeU8(0xcc);\n this.writeU8(object);\n }\n else if (object < 0x10000) {\n // uint 16\n this.writeU8(0xcd);\n this.writeU16(object);\n }\n else if (object < 0x100000000) {\n // uint 32\n this.writeU8(0xce);\n this.writeU32(object);\n }\n else {\n // uint 64\n this.writeU8(0xcf);\n this.writeU64(object);\n }\n }\n else {\n if (object >= -0x20) {\n // negative fixint\n this.writeU8(0xe0 | (object + 0x20));\n }\n else if (object >= -0x80) {\n // int 8\n this.writeU8(0xd0);\n this.writeI8(object);\n }\n else if (object >= -0x8000) {\n // int 16\n this.writeU8(0xd1);\n this.writeI16(object);\n }\n else if (object >= -0x80000000) {\n // int 32\n this.writeU8(0xd2);\n this.writeI32(object);\n }\n else {\n // int 64\n this.writeU8(0xd3);\n this.writeI64(object);\n }\n }\n }\n else {\n // non-integer numbers\n if (this.forceFloat32) {\n // float 32\n this.writeU8(0xca);\n this.writeF32(object);\n }\n else {\n // float 64\n this.writeU8(0xcb);\n this.writeF64(object);\n }\n }\n };\n Encoder.prototype.writeStringHeader = function (byteLength) {\n if (byteLength < 32) {\n // fixstr\n this.writeU8(0xa0 + byteLength);\n }\n else if (byteLength < 0x100) {\n // str 8\n this.writeU8(0xd9);\n this.writeU8(byteLength);\n }\n else if (byteLength < 0x10000) {\n // str 16\n this.writeU8(0xda);\n this.writeU16(byteLength);\n }\n else if (byteLength < 0x100000000) {\n // str 32\n this.writeU8(0xdb);\n this.writeU32(byteLength);\n }\n else {\n throw new Error(\"Too long string: \" + byteLength + \" bytes in UTF-8\");\n }\n };\n Encoder.prototype.encodeString = function (object) {\n var maxHeaderSize = 1 + 4;\n var strLength = object.length;\n if (strLength > TEXT_ENCODER_THRESHOLD) {\n var byteLength = utf8Count(object);\n this.ensureBufferSizeToWrite(maxHeaderSize + byteLength);\n this.writeStringHeader(byteLength);\n utf8EncodeTE(object, this.bytes, this.pos);\n this.pos += byteLength;\n }\n else {\n var byteLength = utf8Count(object);\n this.ensureBufferSizeToWrite(maxHeaderSize + byteLength);\n this.writeStringHeader(byteLength);\n utf8EncodeJs(object, this.bytes, this.pos);\n this.pos += byteLength;\n }\n };\n Encoder.prototype.encodeObject = function (object, depth) {\n // try to encode objects with custom codec first of non-primitives\n var ext = this.extensionCodec.tryToEncode(object, this.context);\n if (ext != null) {\n this.encodeExtension(ext);\n }\n else if (Array.isArray(object)) {\n this.encodeArray(object, depth);\n }\n else if (ArrayBuffer.isView(object)) {\n this.encodeBinary(object);\n }\n else if (typeof object === \"object\") {\n this.encodeMap(object, depth);\n }\n else {\n // symbol, function and other special object come here unless extensionCodec handles them.\n throw new Error(\"Unrecognized object: \" + Object.prototype.toString.apply(object));\n }\n };\n Encoder.prototype.encodeBinary = function (object) {\n var size = object.byteLength;\n if (size < 0x100) {\n // bin 8\n this.writeU8(0xc4);\n this.writeU8(size);\n }\n else if (size < 0x10000) {\n // bin 16\n this.writeU8(0xc5);\n this.writeU16(size);\n }\n else if (size < 0x100000000) {\n // bin 32\n this.writeU8(0xc6);\n this.writeU32(size);\n }\n else {\n throw new Error(\"Too large binary: \" + size);\n }\n var bytes = ensureUint8Array(object);\n this.writeU8a(bytes);\n };\n Encoder.prototype.encodeArray = function (object, depth) {\n var size = object.length;\n if (size < 16) {\n // fixarray\n this.writeU8(0x90 + size);\n }\n else if (size < 0x10000) {\n // array 16\n this.writeU8(0xdc);\n this.writeU16(size);\n }\n else if (size < 0x100000000) {\n // array 32\n this.writeU8(0xdd);\n this.writeU32(size);\n }\n else {\n throw new Error(\"Too large array: \" + size);\n }\n for (var _i = 0, object_1 = object; _i < object_1.length; _i++) {\n var item = object_1[_i];\n this.doEncode(item, depth + 1);\n }\n };\n Encoder.prototype.countWithoutUndefined = function (object, keys) {\n var count = 0;\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\n var key = keys_1[_i];\n if (object[key] !== undefined) {\n count++;\n }\n }\n return count;\n };\n Encoder.prototype.encodeMap = function (object, depth) {\n var keys = Object.keys(object);\n if (this.sortKeys) {\n keys.sort();\n }\n var size = this.ignoreUndefined ? this.countWithoutUndefined(object, keys) : keys.length;\n if (size < 16) {\n // fixmap\n this.writeU8(0x80 + size);\n }\n else if (size < 0x10000) {\n // map 16\n this.writeU8(0xde);\n this.writeU16(size);\n }\n else if (size < 0x100000000) {\n // map 32\n this.writeU8(0xdf);\n this.writeU32(size);\n }\n else {\n throw new Error(\"Too large map object: \" + size);\n }\n for (var _i = 0, keys_2 = keys; _i < keys_2.length; _i++) {\n var key = keys_2[_i];\n var value = object[key];\n if (!(this.ignoreUndefined && value === undefined)) {\n this.encodeString(key);\n this.doEncode(value, depth + 1);\n }\n }\n };\n Encoder.prototype.encodeExtension = function (ext) {\n var size = ext.data.length;\n if (size === 1) {\n // fixext 1\n this.writeU8(0xd4);\n }\n else if (size === 2) {\n // fixext 2\n this.writeU8(0xd5);\n }\n else if (size === 4) {\n // fixext 4\n this.writeU8(0xd6);\n }\n else if (size === 8) {\n // fixext 8\n this.writeU8(0xd7);\n }\n else if (size === 16) {\n // fixext 16\n this.writeU8(0xd8);\n }\n else if (size < 0x100) {\n // ext 8\n this.writeU8(0xc7);\n this.writeU8(size);\n }\n else if (size < 0x10000) {\n // ext 16\n this.writeU8(0xc8);\n this.writeU16(size);\n }\n else if (size < 0x100000000) {\n // ext 32\n this.writeU8(0xc9);\n this.writeU32(size);\n }\n else {\n throw new Error(\"Too large extension object: \" + size);\n }\n this.writeI8(ext.type);\n this.writeU8a(ext.data);\n };\n Encoder.prototype.writeU8 = function (value) {\n this.ensureBufferSizeToWrite(1);\n this.view.setUint8(this.pos, value);\n this.pos++;\n };\n Encoder.prototype.writeU8a = function (values) {\n var size = values.length;\n this.ensureBufferSizeToWrite(size);\n this.bytes.set(values, this.pos);\n this.pos += size;\n };\n Encoder.prototype.writeI8 = function (value) {\n this.ensureBufferSizeToWrite(1);\n this.view.setInt8(this.pos, value);\n this.pos++;\n };\n Encoder.prototype.writeU16 = function (value) {\n this.ensureBufferSizeToWrite(2);\n this.view.setUint16(this.pos, value);\n this.pos += 2;\n };\n Encoder.prototype.writeI16 = function (value) {\n this.ensureBufferSizeToWrite(2);\n this.view.setInt16(this.pos, value);\n this.pos += 2;\n };\n Encoder.prototype.writeU32 = function (value) {\n this.ensureBufferSizeToWrite(4);\n this.view.setUint32(this.pos, value);\n this.pos += 4;\n };\n Encoder.prototype.writeI32 = function (value) {\n this.ensureBufferSizeToWrite(4);\n this.view.setInt32(this.pos, value);\n this.pos += 4;\n };\n Encoder.prototype.writeF32 = function (value) {\n this.ensureBufferSizeToWrite(4);\n this.view.setFloat32(this.pos, value);\n this.pos += 4;\n };\n Encoder.prototype.writeF64 = function (value) {\n this.ensureBufferSizeToWrite(8);\n this.view.setFloat64(this.pos, value);\n this.pos += 8;\n };\n Encoder.prototype.writeU64 = function (value) {\n this.ensureBufferSizeToWrite(8);\n setUint64(this.view, this.pos, value);\n this.pos += 8;\n };\n Encoder.prototype.writeI64 = function (value) {\n this.ensureBufferSizeToWrite(8);\n setInt64(this.view, this.pos, value);\n this.pos += 8;\n };\n return Encoder;\n}());\nexport { Encoder };\n//# sourceMappingURL=Encoder.mjs.map","export function prettyByte(byte) {\n return (byte < 0 ? \"-\" : \"\") + \"0x\" + Math.abs(byte).toString(16).padStart(2, \"0\");\n}\n//# sourceMappingURL=prettyByte.mjs.map","import { utf8DecodeJs } from \"./utils/utf8.mjs\";\nvar DEFAULT_MAX_KEY_LENGTH = 16;\nvar DEFAULT_MAX_LENGTH_PER_KEY = 16;\nvar CachedKeyDecoder = /** @class */ (function () {\n function CachedKeyDecoder(maxKeyLength, maxLengthPerKey) {\n if (maxKeyLength === void 0) { maxKeyLength = DEFAULT_MAX_KEY_LENGTH; }\n if (maxLengthPerKey === void 0) { maxLengthPerKey = DEFAULT_MAX_LENGTH_PER_KEY; }\n this.maxKeyLength = maxKeyLength;\n this.maxLengthPerKey = maxLengthPerKey;\n this.hit = 0;\n this.miss = 0;\n // avoid `new Array(N)`, which makes a sparse array,\n // because a sparse array is typically slower than a non-sparse array.\n this.caches = [];\n for (var i = 0; i < this.maxKeyLength; i++) {\n this.caches.push([]);\n }\n }\n CachedKeyDecoder.prototype.canBeCached = function (byteLength) {\n return byteLength > 0 && byteLength <= this.maxKeyLength;\n };\n CachedKeyDecoder.prototype.find = function (bytes, inputOffset, byteLength) {\n var records = this.caches[byteLength - 1];\n FIND_CHUNK: for (var _i = 0, records_1 = records; _i < records_1.length; _i++) {\n var record = records_1[_i];\n var recordBytes = record.bytes;\n for (var j = 0; j < byteLength; j++) {\n if (recordBytes[j] !== bytes[inputOffset + j]) {\n continue FIND_CHUNK;\n }\n }\n return record.str;\n }\n return null;\n };\n CachedKeyDecoder.prototype.store = function (bytes, value) {\n var records = this.caches[bytes.length - 1];\n var record = { bytes: bytes, str: value };\n if (records.length >= this.maxLengthPerKey) {\n // `records` are full!\n // Set `record` to an arbitrary position.\n records[(Math.random() * records.length) | 0] = record;\n }\n else {\n records.push(record);\n }\n };\n CachedKeyDecoder.prototype.decode = function (bytes, inputOffset, byteLength) {\n var cachedValue = this.find(bytes, inputOffset, byteLength);\n if (cachedValue != null) {\n this.hit++;\n return cachedValue;\n }\n this.miss++;\n var str = utf8DecodeJs(bytes, inputOffset, byteLength);\n // Ensure to copy a slice of bytes because the byte may be NodeJS Buffer and Buffer#slice() returns a reference to its internal ArrayBuffer.\n var slicedCopyOfBytes = Uint8Array.prototype.slice.call(bytes, inputOffset, inputOffset + byteLength);\n this.store(slicedCopyOfBytes, str);\n return str;\n };\n return CachedKeyDecoder;\n}());\nexport { CachedKeyDecoder };\n//# sourceMappingURL=CachedKeyDecoder.mjs.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nimport { prettyByte } from \"./utils/prettyByte.mjs\";\nimport { ExtensionCodec } from \"./ExtensionCodec.mjs\";\nimport { getInt64, getUint64, UINT32_MAX } from \"./utils/int.mjs\";\nimport { utf8DecodeJs, TEXT_DECODER_THRESHOLD, utf8DecodeTD } from \"./utils/utf8.mjs\";\nimport { createDataView, ensureUint8Array } from \"./utils/typedArrays.mjs\";\nimport { CachedKeyDecoder } from \"./CachedKeyDecoder.mjs\";\nimport { DecodeError } from \"./DecodeError.mjs\";\nvar isValidMapKeyType = function (key) {\n var keyType = typeof key;\n return keyType === \"string\" || keyType === \"number\";\n};\nvar HEAD_BYTE_REQUIRED = -1;\nvar EMPTY_VIEW = new DataView(new ArrayBuffer(0));\nvar EMPTY_BYTES = new Uint8Array(EMPTY_VIEW.buffer);\n// IE11: Hack to support IE11.\n// IE11: Drop this hack and just use RangeError when IE11 is obsolete.\nexport var DataViewIndexOutOfBoundsError = (function () {\n try {\n // IE11: The spec says it should throw RangeError,\n // IE11: but in IE11 it throws TypeError.\n EMPTY_VIEW.getInt8(0);\n }\n catch (e) {\n return e.constructor;\n }\n throw new Error(\"never reached\");\n})();\nvar MORE_DATA = new DataViewIndexOutOfBoundsError(\"Insufficient data\");\nvar sharedCachedKeyDecoder = new CachedKeyDecoder();\nvar Decoder = /** @class */ (function () {\n function Decoder(extensionCodec, context, maxStrLength, maxBinLength, maxArrayLength, maxMapLength, maxExtLength, keyDecoder) {\n if (extensionCodec === void 0) { extensionCodec = ExtensionCodec.defaultCodec; }\n if (context === void 0) { context = undefined; }\n if (maxStrLength === void 0) { maxStrLength = UINT32_MAX; }\n if (maxBinLength === void 0) { maxBinLength = UINT32_MAX; }\n if (maxArrayLength === void 0) { maxArrayLength = UINT32_MAX; }\n if (maxMapLength === void 0) { maxMapLength = UINT32_MAX; }\n if (maxExtLength === void 0) { maxExtLength = UINT32_MAX; }\n if (keyDecoder === void 0) { keyDecoder = sharedCachedKeyDecoder; }\n this.extensionCodec = extensionCodec;\n this.context = context;\n this.maxStrLength = maxStrLength;\n this.maxBinLength = maxBinLength;\n this.maxArrayLength = maxArrayLength;\n this.maxMapLength = maxMapLength;\n this.maxExtLength = maxExtLength;\n this.keyDecoder = keyDecoder;\n this.totalPos = 0;\n this.pos = 0;\n this.view = EMPTY_VIEW;\n this.bytes = EMPTY_BYTES;\n this.headByte = HEAD_BYTE_REQUIRED;\n this.stack = [];\n }\n Decoder.prototype.reinitializeState = function () {\n this.totalPos = 0;\n this.headByte = HEAD_BYTE_REQUIRED;\n this.stack.length = 0;\n // view, bytes, and pos will be re-initialized in setBuffer()\n };\n Decoder.prototype.setBuffer = function (buffer) {\n this.bytes = ensureUint8Array(buffer);\n this.view = createDataView(this.bytes);\n this.pos = 0;\n };\n Decoder.prototype.appendBuffer = function (buffer) {\n if (this.headByte === HEAD_BYTE_REQUIRED && !this.hasRemaining(1)) {\n this.setBuffer(buffer);\n }\n else {\n var remainingData = this.bytes.subarray(this.pos);\n var newData = ensureUint8Array(buffer);\n // concat remainingData + newData\n var newBuffer = new Uint8Array(remainingData.length + newData.length);\n newBuffer.set(remainingData);\n newBuffer.set(newData, remainingData.length);\n this.setBuffer(newBuffer);\n }\n };\n Decoder.prototype.hasRemaining = function (size) {\n return this.view.byteLength - this.pos >= size;\n };\n Decoder.prototype.createExtraByteError = function (posToShow) {\n var _a = this, view = _a.view, pos = _a.pos;\n return new RangeError(\"Extra \" + (view.byteLength - pos) + \" of \" + view.byteLength + \" byte(s) found at buffer[\" + posToShow + \"]\");\n };\n /**\n * @throws {DecodeError}\n * @throws {RangeError}\n */\n Decoder.prototype.decode = function (buffer) {\n this.reinitializeState();\n this.setBuffer(buffer);\n var object = this.doDecodeSync();\n if (this.hasRemaining(1)) {\n throw this.createExtraByteError(this.pos);\n }\n return object;\n };\n Decoder.prototype.decodeMulti = function (buffer) {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.reinitializeState();\n this.setBuffer(buffer);\n _a.label = 1;\n case 1:\n if (!this.hasRemaining(1)) return [3 /*break*/, 3];\n return [4 /*yield*/, this.doDecodeSync()];\n case 2:\n _a.sent();\n return [3 /*break*/, 1];\n case 3: return [2 /*return*/];\n }\n });\n };\n Decoder.prototype.decodeAsync = function (stream) {\n var stream_1, stream_1_1;\n var e_1, _a;\n return __awaiter(this, void 0, void 0, function () {\n var decoded, object, buffer, e_1_1, _b, headByte, pos, totalPos;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n decoded = false;\n _c.label = 1;\n case 1:\n _c.trys.push([1, 6, 7, 12]);\n stream_1 = __asyncValues(stream);\n _c.label = 2;\n case 2: return [4 /*yield*/, stream_1.next()];\n case 3:\n if (!(stream_1_1 = _c.sent(), !stream_1_1.done)) return [3 /*break*/, 5];\n buffer = stream_1_1.value;\n if (decoded) {\n throw this.createExtraByteError(this.totalPos);\n }\n this.appendBuffer(buffer);\n try {\n object = this.doDecodeSync();\n decoded = true;\n }\n catch (e) {\n if (!(e instanceof DataViewIndexOutOfBoundsError)) {\n throw e; // rethrow\n }\n // fallthrough\n }\n this.totalPos += this.pos;\n _c.label = 4;\n case 4: return [3 /*break*/, 2];\n case 5: return [3 /*break*/, 12];\n case 6:\n e_1_1 = _c.sent();\n e_1 = { error: e_1_1 };\n return [3 /*break*/, 12];\n case 7:\n _c.trys.push([7, , 10, 11]);\n if (!(stream_1_1 && !stream_1_1.done && (_a = stream_1.return))) return [3 /*break*/, 9];\n return [4 /*yield*/, _a.call(stream_1)];\n case 8:\n _c.sent();\n _c.label = 9;\n case 9: return [3 /*break*/, 11];\n case 10:\n if (e_1) throw e_1.error;\n return [7 /*endfinally*/];\n case 11: return [7 /*endfinally*/];\n case 12:\n if (decoded) {\n if (this.hasRemaining(1)) {\n throw this.createExtraByteError(this.totalPos);\n }\n return [2 /*return*/, object];\n }\n _b = this, headByte = _b.headByte, pos = _b.pos, totalPos = _b.totalPos;\n throw new RangeError(\"Insufficient data in parsing \" + prettyByte(headByte) + \" at \" + totalPos + \" (\" + pos + \" in the current buffer)\");\n }\n });\n });\n };\n Decoder.prototype.decodeArrayStream = function (stream) {\n return this.decodeMultiAsync(stream, true);\n };\n Decoder.prototype.decodeStream = function (stream) {\n return this.decodeMultiAsync(stream, false);\n };\n Decoder.prototype.decodeMultiAsync = function (stream, isArray) {\n return __asyncGenerator(this, arguments, function decodeMultiAsync_1() {\n var isArrayHeaderRequired, arrayItemsLeft, stream_2, stream_2_1, buffer, e_2, e_3_1;\n var e_3, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n isArrayHeaderRequired = isArray;\n arrayItemsLeft = -1;\n _b.label = 1;\n case 1:\n _b.trys.push([1, 13, 14, 19]);\n stream_2 = __asyncValues(stream);\n _b.label = 2;\n case 2: return [4 /*yield*/, __await(stream_2.next())];\n case 3:\n if (!(stream_2_1 = _b.sent(), !stream_2_1.done)) return [3 /*break*/, 12];\n buffer = stream_2_1.value;\n if (isArray && arrayItemsLeft === 0) {\n throw this.createExtraByteError(this.totalPos);\n }\n this.appendBuffer(buffer);\n if (isArrayHeaderRequired) {\n arrayItemsLeft = this.readArraySize();\n isArrayHeaderRequired = false;\n this.complete();\n }\n _b.label = 4;\n case 4:\n _b.trys.push([4, 9, , 10]);\n _b.label = 5;\n case 5:\n if (!true) return [3 /*break*/, 8];\n return [4 /*yield*/, __await(this.doDecodeSync())];\n case 6: return [4 /*yield*/, _b.sent()];\n case 7:\n _b.sent();\n if (--arrayItemsLeft === 0) {\n return [3 /*break*/, 8];\n }\n return [3 /*break*/, 5];\n case 8: return [3 /*break*/, 10];\n case 9:\n e_2 = _b.sent();\n if (!(e_2 instanceof DataViewIndexOutOfBoundsError)) {\n throw e_2; // rethrow\n }\n return [3 /*break*/, 10];\n case 10:\n this.totalPos += this.pos;\n _b.label = 11;\n case 11: return [3 /*break*/, 2];\n case 12: return [3 /*break*/, 19];\n case 13:\n e_3_1 = _b.sent();\n e_3 = { error: e_3_1 };\n return [3 /*break*/, 19];\n case 14:\n _b.trys.push([14, , 17, 18]);\n if (!(stream_2_1 && !stream_2_1.done && (_a = stream_2.return))) return [3 /*break*/, 16];\n return [4 /*yield*/, __await(_a.call(stream_2))];\n case 15:\n _b.sent();\n _b.label = 16;\n case 16: return [3 /*break*/, 18];\n case 17:\n if (e_3) throw e_3.error;\n return [7 /*endfinally*/];\n case 18: return [7 /*endfinally*/];\n case 19: return [2 /*return*/];\n }\n });\n });\n };\n Decoder.prototype.doDecodeSync = function () {\n DECODE: while (true) {\n var headByte = this.readHeadByte();\n var object = void 0;\n if (headByte >= 0xe0) {\n // negative fixint (111x xxxx) 0xe0 - 0xff\n object = headByte - 0x100;\n }\n else if (headByte < 0xc0) {\n if (headByte < 0x80) {\n // positive fixint (0xxx xxxx) 0x00 - 0x7f\n object = headByte;\n }\n else if (headByte < 0x90) {\n // fixmap (1000 xxxx) 0x80 - 0x8f\n var size = headByte - 0x80;\n if (size !== 0) {\n this.pushMapState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = {};\n }\n }\n else if (headByte < 0xa0) {\n // fixarray (1001 xxxx) 0x90 - 0x9f\n var size = headByte - 0x90;\n if (size !== 0) {\n this.pushArrayState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = [];\n }\n }\n else {\n // fixstr (101x xxxx) 0xa0 - 0xbf\n var byteLength = headByte - 0xa0;\n object = this.decodeUtf8String(byteLength, 0);\n }\n }\n else if (headByte === 0xc0) {\n // nil\n object = null;\n }\n else if (headByte === 0xc2) {\n // false\n object = false;\n }\n else if (headByte === 0xc3) {\n // true\n object = true;\n }\n else if (headByte === 0xca) {\n // float 32\n object = this.readF32();\n }\n else if (headByte === 0xcb) {\n // float 64\n object = this.readF64();\n }\n else if (headByte === 0xcc) {\n // uint 8\n object = this.readU8();\n }\n else if (headByte === 0xcd) {\n // uint 16\n object = this.readU16();\n }\n else if (headByte === 0xce) {\n // uint 32\n object = this.readU32();\n }\n else if (headByte === 0xcf) {\n // uint 64\n object = this.readU64();\n }\n else if (headByte === 0xd0) {\n // int 8\n object = this.readI8();\n }\n else if (headByte === 0xd1) {\n // int 16\n object = this.readI16();\n }\n else if (headByte === 0xd2) {\n // int 32\n object = this.readI32();\n }\n else if (headByte === 0xd3) {\n // int 64\n object = this.readI64();\n }\n else if (headByte === 0xd9) {\n // str 8\n var byteLength = this.lookU8();\n object = this.decodeUtf8String(byteLength, 1);\n }\n else if (headByte === 0xda) {\n // str 16\n var byteLength = this.lookU16();\n object = this.decodeUtf8String(byteLength, 2);\n }\n else if (headByte === 0xdb) {\n // str 32\n var byteLength = this.lookU32();\n object = this.decodeUtf8String(byteLength, 4);\n }\n else if (headByte === 0xdc) {\n // array 16\n var size = this.readU16();\n if (size !== 0) {\n this.pushArrayState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = [];\n }\n }\n else if (headByte === 0xdd) {\n // array 32\n var size = this.readU32();\n if (size !== 0) {\n this.pushArrayState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = [];\n }\n }\n else if (headByte === 0xde) {\n // map 16\n var size = this.readU16();\n if (size !== 0) {\n this.pushMapState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = {};\n }\n }\n else if (headByte === 0xdf) {\n // map 32\n var size = this.readU32();\n if (size !== 0) {\n this.pushMapState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = {};\n }\n }\n else if (headByte === 0xc4) {\n // bin 8\n var size = this.lookU8();\n object = this.decodeBinary(size, 1);\n }\n else if (headByte === 0xc5) {\n // bin 16\n var size = this.lookU16();\n object = this.decodeBinary(size, 2);\n }\n else if (headByte === 0xc6) {\n // bin 32\n var size = this.lookU32();\n object = this.decodeBinary(size, 4);\n }\n else if (headByte === 0xd4) {\n // fixext 1\n object = this.decodeExtension(1, 0);\n }\n else if (headByte === 0xd5) {\n // fixext 2\n object = this.decodeExtension(2, 0);\n }\n else if (headByte === 0xd6) {\n // fixext 4\n object = this.decodeExtension(4, 0);\n }\n else if (headByte === 0xd7) {\n // fixext 8\n object = this.decodeExtension(8, 0);\n }\n else if (headByte === 0xd8) {\n // fixext 16\n object = this.decodeExtension(16, 0);\n }\n else if (headByte === 0xc7) {\n // ext 8\n var size = this.lookU8();\n object = this.decodeExtension(size, 1);\n }\n else if (headByte === 0xc8) {\n // ext 16\n var size = this.lookU16();\n object = this.decodeExtension(size, 2);\n }\n else if (headByte === 0xc9) {\n // ext 32\n var size = this.lookU32();\n object = this.decodeExtension(size, 4);\n }\n else {\n throw new DecodeError(\"Unrecognized type byte: \" + prettyByte(headByte));\n }\n this.complete();\n var stack = this.stack;\n while (stack.length > 0) {\n // arrays and maps\n var state = stack[stack.length - 1];\n if (state.type === 0 /* ARRAY */) {\n state.array[state.position] = object;\n state.position++;\n if (state.position === state.size) {\n stack.pop();\n object = state.array;\n }\n else {\n continue DECODE;\n }\n }\n else if (state.type === 1 /* MAP_KEY */) {\n if (!isValidMapKeyType(object)) {\n throw new DecodeError(\"The type of key must be string or number but \" + typeof object);\n }\n if (object === \"__proto__\") {\n throw new DecodeError(\"The key __proto__ is not allowed\");\n }\n state.key = object;\n state.type = 2 /* MAP_VALUE */;\n continue DECODE;\n }\n else {\n // it must be `state.type === State.MAP_VALUE` here\n state.map[state.key] = object;\n state.readCount++;\n if (state.readCount === state.size) {\n stack.pop();\n object = state.map;\n }\n else {\n state.key = null;\n state.type = 1 /* MAP_KEY */;\n continue DECODE;\n }\n }\n }\n return object;\n }\n };\n Decoder.prototype.readHeadByte = function () {\n if (this.headByte === HEAD_BYTE_REQUIRED) {\n this.headByte = this.readU8();\n // console.log(\"headByte\", prettyByte(this.headByte));\n }\n return this.headByte;\n };\n Decoder.prototype.complete = function () {\n this.headByte = HEAD_BYTE_REQUIRED;\n };\n Decoder.prototype.readArraySize = function () {\n var headByte = this.readHeadByte();\n switch (headByte) {\n case 0xdc:\n return this.readU16();\n case 0xdd:\n return this.readU32();\n default: {\n if (headByte < 0xa0) {\n return headByte - 0x90;\n }\n else {\n throw new DecodeError(\"Unrecognized array type byte: \" + prettyByte(headByte));\n }\n }\n }\n };\n Decoder.prototype.pushMapState = function (size) {\n if (size > this.maxMapLength) {\n throw new DecodeError(\"Max length exceeded: map length (\" + size + \") > maxMapLengthLength (\" + this.maxMapLength + \")\");\n }\n this.stack.push({\n type: 1 /* MAP_KEY */,\n size: size,\n key: null,\n readCount: 0,\n map: {},\n });\n };\n Decoder.prototype.pushArrayState = function (size) {\n if (size > this.maxArrayLength) {\n throw new DecodeError(\"Max length exceeded: array length (\" + size + \") > maxArrayLength (\" + this.maxArrayLength + \")\");\n }\n this.stack.push({\n type: 0 /* ARRAY */,\n size: size,\n array: new Array(size),\n position: 0,\n });\n };\n Decoder.prototype.decodeUtf8String = function (byteLength, headerOffset) {\n var _a;\n if (byteLength > this.maxStrLength) {\n throw new DecodeError(\"Max length exceeded: UTF-8 byte length (\" + byteLength + \") > maxStrLength (\" + this.maxStrLength + \")\");\n }\n if (this.bytes.byteLength < this.pos + headerOffset + byteLength) {\n throw MORE_DATA;\n }\n var offset = this.pos + headerOffset;\n var object;\n if (this.stateIsMapKey() && ((_a = this.keyDecoder) === null || _a === void 0 ? void 0 : _a.canBeCached(byteLength))) {\n object = this.keyDecoder.decode(this.bytes, offset, byteLength);\n }\n else if (byteLength > TEXT_DECODER_THRESHOLD) {\n object = utf8DecodeTD(this.bytes, offset, byteLength);\n }\n else {\n object = utf8DecodeJs(this.bytes, offset, byteLength);\n }\n this.pos += headerOffset + byteLength;\n return object;\n };\n Decoder.prototype.stateIsMapKey = function () {\n if (this.stack.length > 0) {\n var state = this.stack[this.stack.length - 1];\n return state.type === 1 /* MAP_KEY */;\n }\n return false;\n };\n Decoder.prototype.decodeBinary = function (byteLength, headOffset) {\n if (byteLength > this.maxBinLength) {\n throw new DecodeError(\"Max length exceeded: bin length (\" + byteLength + \") > maxBinLength (\" + this.maxBinLength + \")\");\n }\n if (!this.hasRemaining(byteLength + headOffset)) {\n throw MORE_DATA;\n }\n var offset = this.pos + headOffset;\n var object = this.bytes.subarray(offset, offset + byteLength);\n this.pos += headOffset + byteLength;\n return object;\n };\n Decoder.prototype.decodeExtension = function (size, headOffset) {\n if (size > this.maxExtLength) {\n throw new DecodeError(\"Max length exceeded: ext length (\" + size + \") > maxExtLength (\" + this.maxExtLength + \")\");\n }\n var extType = this.view.getInt8(this.pos + headOffset);\n var data = this.decodeBinary(size, headOffset + 1 /* extType */);\n return this.extensionCodec.decode(data, extType, this.context);\n };\n Decoder.prototype.lookU8 = function () {\n return this.view.getUint8(this.pos);\n };\n Decoder.prototype.lookU16 = function () {\n return this.view.getUint16(this.pos);\n };\n Decoder.prototype.lookU32 = function () {\n return this.view.getUint32(this.pos);\n };\n Decoder.prototype.readU8 = function () {\n var value = this.view.getUint8(this.pos);\n this.pos++;\n return value;\n };\n Decoder.prototype.readI8 = function () {\n var value = this.view.getInt8(this.pos);\n this.pos++;\n return value;\n };\n Decoder.prototype.readU16 = function () {\n var value = this.view.getUint16(this.pos);\n this.pos += 2;\n return value;\n };\n Decoder.prototype.readI16 = function () {\n var value = this.view.getInt16(this.pos);\n this.pos += 2;\n return value;\n };\n Decoder.prototype.readU32 = function () {\n var value = this.view.getUint32(this.pos);\n this.pos += 4;\n return value;\n };\n Decoder.prototype.readI32 = function () {\n var value = this.view.getInt32(this.pos);\n this.pos += 4;\n return value;\n };\n Decoder.prototype.readU64 = function () {\n var value = getUint64(this.view, this.pos);\n this.pos += 8;\n return value;\n };\n Decoder.prototype.readI64 = function () {\n var value = getInt64(this.view, this.pos);\n this.pos += 8;\n return value;\n };\n Decoder.prototype.readF32 = function () {\n var value = this.view.getFloat32(this.pos);\n this.pos += 4;\n return value;\n };\n Decoder.prototype.readF64 = function () {\n var value = this.view.getFloat64(this.pos);\n this.pos += 8;\n return value;\n };\n return Decoder;\n}());\nexport { Decoder };\n//# sourceMappingURL=Decoder.mjs.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\n// Not exported from index.\r\n/** @private */\r\nexport class BinaryMessageFormat {\r\n\r\n // The length prefix of binary messages is encoded as VarInt. Read the comment in\r\n // the BinaryMessageParser.TryParseMessage for details.\r\n\r\n public static write(output: Uint8Array): ArrayBuffer {\r\n let size = output.byteLength || output.length;\r\n const lenBuffer = [];\r\n do {\r\n let sizePart = size & 0x7f;\r\n size = size >> 7;\r\n if (size > 0) {\r\n sizePart |= 0x80;\r\n }\r\n lenBuffer.push(sizePart);\r\n }\r\n while (size > 0);\r\n\r\n size = output.byteLength || output.length;\r\n\r\n const buffer = new Uint8Array(lenBuffer.length + size);\r\n buffer.set(lenBuffer, 0);\r\n buffer.set(output, lenBuffer.length);\r\n return buffer.buffer;\r\n }\r\n\r\n public static parse(input: ArrayBuffer): Uint8Array[] {\r\n const result: Uint8Array[] = [];\r\n const uint8Array = new Uint8Array(input);\r\n const maxLengthPrefixSize = 5;\r\n const numBitsToShift = [0, 7, 14, 21, 28 ];\r\n\r\n for (let offset = 0; offset < input.byteLength;) {\r\n let numBytes = 0;\r\n let size = 0;\r\n let byteRead;\r\n do {\r\n byteRead = uint8Array[offset + numBytes];\r\n size = size | ((byteRead & 0x7f) << (numBitsToShift[numBytes]));\r\n numBytes++;\r\n }\r\n while (numBytes < Math.min(maxLengthPrefixSize, input.byteLength - offset) && (byteRead & 0x80) !== 0);\r\n\r\n if ((byteRead & 0x80) !== 0 && numBytes < maxLengthPrefixSize) {\r\n throw new Error(\"Cannot read message size.\");\r\n }\r\n\r\n if (numBytes === maxLengthPrefixSize && byteRead > 7) {\r\n throw new Error(\"Messages bigger than 2GB are not supported.\");\r\n }\r\n\r\n if (uint8Array.byteLength >= (offset + numBytes + size)) {\r\n // IE does not support .slice() so use subarray\r\n result.push(uint8Array.slice\r\n ? uint8Array.slice(offset + numBytes, offset + numBytes + size)\r\n : uint8Array.subarray(offset + numBytes, offset + numBytes + size));\r\n } else {\r\n throw new Error(\"Incomplete message.\");\r\n }\r\n\r\n offset = offset + numBytes + size;\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\nimport { Encoder, Decoder } from \"@msgpack/msgpack\";\r\n\r\nimport { MessagePackOptions } from \"./MessagePackOptions\";\r\n\r\nimport {\r\n CancelInvocationMessage, CompletionMessage, HubMessage, IHubProtocol, ILogger, InvocationMessage,\r\n LogLevel, MessageHeaders, MessageType, NullLogger, StreamInvocationMessage, StreamItemMessage, TransferFormat,\r\n} from \"@microsoft/signalr\";\r\n\r\nimport { BinaryMessageFormat } from \"./BinaryMessageFormat\";\r\nimport { isArrayBuffer } from \"./Utils\";\r\n\r\n// TypeDoc's @inheritDoc and @link don't work across modules :(\r\n\r\n// constant encoding of the ping message\r\n// see: https://github.com/aspnet/SignalR/blob/dev/specs/HubProtocol.md#ping-message-encoding-1\r\n// Don't use Uint8Array.from as IE does not support it\r\nconst SERIALIZED_PING_MESSAGE: Uint8Array = new Uint8Array([0x91, MessageType.Ping]);\r\n\r\n/** Implements the MessagePack Hub Protocol */\r\nexport class MessagePackHubProtocol implements IHubProtocol {\r\n /** The name of the protocol. This is used by SignalR to resolve the protocol between the client and server. */\r\n public readonly name: string = \"messagepack\";\r\n /** The version of the protocol. */\r\n public readonly version: number = 1;\r\n /** The TransferFormat of the protocol. */\r\n public readonly transferFormat: TransferFormat = TransferFormat.Binary;\r\n\r\n private readonly _errorResult = 1;\r\n private readonly _voidResult = 2;\r\n private readonly _nonVoidResult = 3;\r\n\r\n private readonly _encoder: Encoder;\r\n private readonly _decoder: Decoder;\r\n\r\n /**\r\n *\r\n * @param messagePackOptions MessagePack options passed to @msgpack/msgpack\r\n */\r\n constructor(messagePackOptions?: MessagePackOptions) {\r\n messagePackOptions = messagePackOptions || {};\r\n this._encoder = new Encoder(\r\n messagePackOptions.extensionCodec,\r\n messagePackOptions.context,\r\n messagePackOptions.maxDepth,\r\n messagePackOptions.initialBufferSize,\r\n messagePackOptions.sortKeys,\r\n messagePackOptions.forceFloat32,\r\n messagePackOptions.ignoreUndefined,\r\n messagePackOptions.forceIntegerToFloat,\r\n );\r\n\r\n this._decoder = new Decoder(\r\n messagePackOptions.extensionCodec,\r\n messagePackOptions.context,\r\n messagePackOptions.maxStrLength,\r\n messagePackOptions.maxBinLength,\r\n messagePackOptions.maxArrayLength,\r\n messagePackOptions.maxMapLength,\r\n messagePackOptions.maxExtLength,\r\n );\r\n }\r\n\r\n /** Creates an array of HubMessage objects from the specified serialized representation.\r\n *\r\n * @param {ArrayBuffer} input An ArrayBuffer containing the serialized representation.\r\n * @param {ILogger} logger A logger that will be used to log messages that occur during parsing.\r\n */\r\n public parseMessages(input: ArrayBuffer, logger: ILogger): HubMessage[] {\r\n // The interface does allow \"string\" to be passed in, but this implementation does not. So let's throw a useful error.\r\n if (!(isArrayBuffer(input))) {\r\n throw new Error(\"Invalid input for MessagePack hub protocol. Expected an ArrayBuffer.\");\r\n }\r\n\r\n if (logger === null) {\r\n logger = NullLogger.instance;\r\n }\r\n\r\n const messages = BinaryMessageFormat.parse(input);\r\n\r\n const hubMessages = [];\r\n for (const message of messages) {\r\n const parsedMessage = this._parseMessage(message, logger);\r\n // Can be null for an unknown message. Unknown message is logged in parseMessage\r\n if (parsedMessage) {\r\n hubMessages.push(parsedMessage);\r\n }\r\n }\r\n\r\n return hubMessages;\r\n }\r\n\r\n /** Writes the specified HubMessage to an ArrayBuffer and returns it.\r\n *\r\n * @param {HubMessage} message The message to write.\r\n * @returns {ArrayBuffer} An ArrayBuffer containing the serialized representation of the message.\r\n */\r\n public writeMessage(message: HubMessage): ArrayBuffer {\r\n switch (message.type) {\r\n case MessageType.Invocation:\r\n return this._writeInvocation(message as InvocationMessage);\r\n case MessageType.StreamInvocation:\r\n return this._writeStreamInvocation(message as StreamInvocationMessage);\r\n case MessageType.StreamItem:\r\n return this._writeStreamItem(message as StreamItemMessage);\r\n case MessageType.Completion:\r\n return this._writeCompletion(message as CompletionMessage);\r\n case MessageType.Ping:\r\n return BinaryMessageFormat.write(SERIALIZED_PING_MESSAGE);\r\n case MessageType.CancelInvocation:\r\n return this._writeCancelInvocation(message as CancelInvocationMessage);\r\n default:\r\n throw new Error(\"Invalid message type.\");\r\n }\r\n }\r\n\r\n private _parseMessage(input: Uint8Array, logger: ILogger): HubMessage | null {\r\n if (input.length === 0) {\r\n throw new Error(\"Invalid payload.\");\r\n }\r\n\r\n const properties = this._decoder.decode(input) as any;\r\n if (properties.length === 0 || !(properties instanceof Array)) {\r\n throw new Error(\"Invalid payload.\");\r\n }\r\n\r\n const messageType = properties[0] as MessageType;\r\n\r\n switch (messageType) {\r\n case MessageType.Invocation:\r\n return this._createInvocationMessage(this._readHeaders(properties), properties);\r\n case MessageType.StreamItem:\r\n return this._createStreamItemMessage(this._readHeaders(properties), properties);\r\n case MessageType.Completion:\r\n return this._createCompletionMessage(this._readHeaders(properties), properties);\r\n case MessageType.Ping:\r\n return this._createPingMessage(properties);\r\n case MessageType.Close:\r\n return this._createCloseMessage(properties);\r\n default:\r\n // Future protocol changes can add message types, old clients can ignore them\r\n logger.log(LogLevel.Information, \"Unknown message type '\" + messageType + \"' ignored.\");\r\n return null;\r\n }\r\n }\r\n\r\n private _createCloseMessage(properties: any[]): HubMessage {\r\n // check minimum length to allow protocol to add items to the end of objects in future releases\r\n if (properties.length < 2) {\r\n throw new Error(\"Invalid payload for Close message.\");\r\n }\r\n\r\n return {\r\n // Close messages have no headers.\r\n allowReconnect: properties.length >= 3 ? properties[2] : undefined,\r\n error: properties[1],\r\n type: MessageType.Close,\r\n } as HubMessage;\r\n }\r\n\r\n private _createPingMessage(properties: any[]): HubMessage {\r\n // check minimum length to allow protocol to add items to the end of objects in future releases\r\n if (properties.length < 1) {\r\n throw new Error(\"Invalid payload for Ping message.\");\r\n }\r\n\r\n return {\r\n // Ping messages have no headers.\r\n type: MessageType.Ping,\r\n } as HubMessage;\r\n }\r\n\r\n private _createInvocationMessage(headers: MessageHeaders, properties: any[]): InvocationMessage {\r\n // check minimum length to allow protocol to add items to the end of objects in future releases\r\n if (properties.length < 5) {\r\n throw new Error(\"Invalid payload for Invocation message.\");\r\n }\r\n\r\n const invocationId = properties[2] as string;\r\n if (invocationId) {\r\n return {\r\n arguments: properties[4],\r\n headers,\r\n invocationId,\r\n streamIds: [],\r\n target: properties[3] as string,\r\n type: MessageType.Invocation,\r\n };\r\n } else {\r\n return {\r\n arguments: properties[4],\r\n headers,\r\n streamIds: [],\r\n target: properties[3],\r\n type: MessageType.Invocation,\r\n };\r\n }\r\n\r\n }\r\n\r\n private _createStreamItemMessage(headers: MessageHeaders, properties: any[]): StreamItemMessage {\r\n // check minimum length to allow protocol to add items to the end of objects in future releases\r\n if (properties.length < 4) {\r\n throw new Error(\"Invalid payload for StreamItem message.\");\r\n }\r\n\r\n return {\r\n headers,\r\n invocationId: properties[2],\r\n item: properties[3],\r\n type: MessageType.StreamItem,\r\n } as StreamItemMessage;\r\n }\r\n\r\n private _createCompletionMessage(headers: MessageHeaders, properties: any[]): CompletionMessage {\r\n // check minimum length to allow protocol to add items to the end of objects in future releases\r\n if (properties.length < 4) {\r\n throw new Error(\"Invalid payload for Completion message.\");\r\n }\r\n\r\n const resultKind = properties[3];\r\n\r\n if (resultKind !== this._voidResult && properties.length < 5) {\r\n throw new Error(\"Invalid payload for Completion message.\");\r\n }\r\n\r\n let error: string | undefined;\r\n let result: any;\r\n\r\n switch (resultKind) {\r\n case this._errorResult:\r\n error = properties[4];\r\n break;\r\n case this._nonVoidResult:\r\n result = properties[4];\r\n break;\r\n }\r\n\r\n const completionMessage: CompletionMessage = {\r\n error,\r\n headers,\r\n invocationId: properties[2],\r\n result,\r\n type: MessageType.Completion,\r\n };\r\n\r\n return completionMessage;\r\n }\r\n\r\n private _writeInvocation(invocationMessage: InvocationMessage): ArrayBuffer {\r\n let payload: any;\r\n if (invocationMessage.streamIds) {\r\n payload = this._encoder.encode([MessageType.Invocation, invocationMessage.headers || {}, invocationMessage.invocationId || null,\r\n invocationMessage.target, invocationMessage.arguments, invocationMessage.streamIds]);\r\n } else {\r\n payload = this._encoder.encode([MessageType.Invocation, invocationMessage.headers || {}, invocationMessage.invocationId || null,\r\n invocationMessage.target, invocationMessage.arguments]);\r\n }\r\n\r\n return BinaryMessageFormat.write(payload.slice());\r\n }\r\n\r\n private _writeStreamInvocation(streamInvocationMessage: StreamInvocationMessage): ArrayBuffer {\r\n let payload: any;\r\n if (streamInvocationMessage.streamIds) {\r\n payload = this._encoder.encode([MessageType.StreamInvocation, streamInvocationMessage.headers || {}, streamInvocationMessage.invocationId,\r\n streamInvocationMessage.target, streamInvocationMessage.arguments, streamInvocationMessage.streamIds]);\r\n } else {\r\n payload = this._encoder.encode([MessageType.StreamInvocation, streamInvocationMessage.headers || {}, streamInvocationMessage.invocationId,\r\n streamInvocationMessage.target, streamInvocationMessage.arguments]);\r\n }\r\n\r\n return BinaryMessageFormat.write(payload.slice());\r\n }\r\n\r\n private _writeStreamItem(streamItemMessage: StreamItemMessage): ArrayBuffer {\r\n const payload = this._encoder.encode([MessageType.StreamItem, streamItemMessage.headers || {}, streamItemMessage.invocationId,\r\n streamItemMessage.item]);\r\n\r\n return BinaryMessageFormat.write(payload.slice());\r\n }\r\n\r\n private _writeCompletion(completionMessage: CompletionMessage): ArrayBuffer {\r\n const resultKind = completionMessage.error ? this._errorResult : completionMessage.result ? this._nonVoidResult : this._voidResult;\r\n\r\n let payload: any;\r\n switch (resultKind) {\r\n case this._errorResult:\r\n payload = this._encoder.encode([MessageType.Completion, completionMessage.headers || {}, completionMessage.invocationId, resultKind, completionMessage.error]);\r\n break;\r\n case this._voidResult:\r\n payload = this._encoder.encode([MessageType.Completion, completionMessage.headers || {}, completionMessage.invocationId, resultKind]);\r\n break;\r\n case this._nonVoidResult:\r\n payload = this._encoder.encode([MessageType.Completion, completionMessage.headers || {}, completionMessage.invocationId, resultKind, completionMessage.result]);\r\n break;\r\n }\r\n\r\n return BinaryMessageFormat.write(payload.slice());\r\n }\r\n\r\n private _writeCancelInvocation(cancelInvocationMessage: CancelInvocationMessage): ArrayBuffer {\r\n const payload = this._encoder.encode([MessageType.CancelInvocation, cancelInvocationMessage.headers || {}, cancelInvocationMessage.invocationId]);\r\n\r\n return BinaryMessageFormat.write(payload.slice());\r\n }\r\n\r\n private _readHeaders(properties: any): MessageHeaders {\r\n const headers: MessageHeaders = properties[1] as MessageHeaders;\r\n if (typeof headers !== \"object\") {\r\n throw new Error(\"Invalid headers.\");\r\n }\r\n return headers;\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\n// Copied from signalr/Utils.ts\r\n/** @private */\r\nexport function isArrayBuffer(val: any): val is ArrayBuffer {\r\n return val && typeof ArrayBuffer !== \"undefined\" &&\r\n (val instanceof ArrayBuffer ||\r\n // Sometimes we get an ArrayBuffer that doesn't satisfy instanceof\r\n (val.constructor && val.constructor.name === \"ArrayBuffer\"));\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\n// Version token that will be replaced by the prepack command\r\n/** The version of the SignalR Message Pack protocol library. */\r\nexport const VERSION = \"0.0.0-DEV_BUILD\";\r\n\r\nexport { MessagePackHubProtocol } from \"./MessagePackHubProtocol\";\r\n\r\nexport { MessagePackOptions } from \"./MessagePackOptions\";\r\n"]} \ No newline at end of file +{"version":3,"sources":["webpack://signalR.protocols.msgpack/webpack/universalModuleDefinition","webpack://signalR.protocols.msgpack/external \"signalR\"","webpack://signalR.protocols.msgpack/webpack/bootstrap","webpack://signalR.protocols.msgpack/webpack/runtime/define property getters","webpack://signalR.protocols.msgpack/webpack/runtime/hasOwnProperty shorthand","webpack://signalR.protocols.msgpack/webpack/runtime/make namespace object","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/utils/int.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/utils/utf8.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/DecodeError.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/ExtData.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/timestamp.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/ExtensionCodec.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/utils/typedArrays.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/Encoder.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/utils/prettyByte.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/CachedKeyDecoder.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/Decoder.mjs","webpack://signalR.protocols.msgpack/src/BinaryMessageFormat.ts","webpack://signalR.protocols.msgpack/src/MessagePackHubProtocol.ts","webpack://signalR.protocols.msgpack/src/Utils.ts","webpack://signalR.protocols.msgpack/src/index.ts"],"names":["root","factory","self","__WEBPACK_EXTERNAL_MODULE__1__","module","exports","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","d","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","UINT32_MAX","setInt64","view","offset","high","Math","floor","low","setUint32","getInt64","getInt32","getUint32","TEXT_ENCODING_AVAILABLE","process","env","TextEncoder","TextDecoder","utf8Count","str","strLength","length","byteLength","pos","charCodeAt","extra","sharedTextEncoder","TEXT_ENCODER_THRESHOLD","utf8EncodeTE","encodeInto","output","outputOffset","subarray","set","encode","utf8DecodeJs","bytes","inputOffset","end","units","result","byte1","push","byte2","byte3","unit","String","fromCharCode","apply","extendStatics","sharedTextDecoder","TEXT_DECODER_THRESHOLD","ExtData","type","data","this","__extends","b","setPrototypeOf","__proto__","Array","p","TypeError","__","constructor","create","DecodeError","_super","message","_this","proto","configurable","name","Error","timestampExtension","object","msec","sec","nsec","nsecInSec","Date","_a","rv","Uint8Array","DataView","buffer","secHigh","secLow","encodeTimeSpecToTimestamp","getTime","decode","timeSpec","byteOffset","nsec30AndSecHigh2","decodeTimestampToTimeSpec","ExtensionCodec","builtInEncoders","builtInDecoders","encoders","decoders","register","index","tryToEncode","context","i","encodeExt","decodeExt","defaultCodec","ensureUint8Array","ArrayBuffer","isView","from","Encoder","extensionCodec","maxDepth","initialBufferSize","sortKeys","forceFloat32","ignoreUndefined","forceIntegerToFloat","getUint8Array","reinitializeState","doEncode","depth","encodeNil","encodeBoolean","encodeNumber","encodeString","encodeObject","ensureBufferSizeToWrite","sizeToWrite","requiredSize","resizeBuffer","newSize","newBuffer","newBytes","newView","writeU8","Number","isSafeInteger","writeU16","writeU32","writeU64","writeI8","writeI16","writeI32","writeI64","writeF32","writeF64","writeStringHeader","utf8EncodeJs","ext","encodeExtension","isArray","encodeArray","encodeBinary","toString","encodeMap","size","writeU8a","_i","object_1","item","countWithoutUndefined","keys","count","keys_1","sort","keys_2","setUint8","values","setInt8","setUint16","setInt16","setInt32","setFloat32","setFloat64","setUint64","prettyByte","byte","abs","padStart","CachedKeyDecoder","maxKeyLength","maxLengthPerKey","hit","miss","caches","canBeCached","find","FIND_CHUNK","records_1","record","recordBytes","j","store","records","random","cachedValue","slicedCopyOfBytes","slice","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","e","rejected","done","then","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","throw","return","iterator","n","v","op","pop","__asyncValues","asyncIterator","m","__values","settle","__await","__asyncGenerator","q","a","resume","fulfill","shift","EMPTY_VIEW","EMPTY_BYTES","DataViewIndexOutOfBoundsError","getInt8","MORE_DATA","sharedCachedKeyDecoder","Decoder","maxStrLength","maxBinLength","maxArrayLength","maxMapLength","maxExtLength","keyDecoder","totalPos","headByte","stack","setBuffer","bufferView","createDataView","appendBuffer","hasRemaining","remainingData","newData","createExtraByteError","posToShow","RangeError","doDecodeSync","decodeMulti","decodeAsync","stream","stream_1","stream_1_1","e_1","decoded","e_1_1","_b","_c","error","decodeArrayStream","decodeMultiAsync","decodeStream","arguments","isArrayHeaderRequired","arrayItemsLeft","stream_2","stream_2_1","e_2","e_3_1","e_3","readArraySize","complete","DECODE","readHeadByte","pushMapState","pushArrayState","decodeUtf8String","readF32","readF64","readU8","readU16","readU32","readU64","readI8","readI16","readI32","readI64","lookU8","lookU16","lookU32","decodeBinary","decodeExtension","state","array","position","keyType","map","readCount","headerOffset","stateIsMapKey","stringBytes","utf8DecodeTD","headOffset","extType","getUint8","getUint16","getInt16","getFloat32","getFloat64","BinaryMessageFormat","[object Object]","lenBuffer","sizePart","input","uint8Array","numBitsToShift","byteRead","numBytes","min","SERIALIZED_PING_MESSAGE","external_signalR_","MessageType","Ping","MessagePackHubProtocol","messagePackOptions","version","transferFormat","TransferFormat","Binary","_errorResult","_voidResult","_nonVoidResult","_encoder","_decoder","logger","val","NullLogger","instance","messages","parse","hubMessages","parsedMessage","_parseMessage","Invocation","_writeInvocation","StreamInvocation","_writeStreamInvocation","StreamItem","_writeStreamItem","Completion","_writeCompletion","write","CancelInvocation","_writeCancelInvocation","properties","messageType","_createInvocationMessage","_readHeaders","_createStreamItemMessage","_createCompletionMessage","_createPingMessage","Close","_createCloseMessage","log","LogLevel","Information","allowReconnect","headers","invocationId","streamIds","target","resultKind","invocationMessage","payload","streamInvocationMessage","streamItemMessage","completionMessage","cancelInvocationMessage","VERSION","require","define","amd"],"mappings":"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","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"signalR\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"signalR\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"msgpack\"] = factory(require(\"signalR\"));\n\telse\n\t\troot[\"signalR\"] = root[\"signalR\"] || {}, root[\"signalR\"][\"protocols\"] = root[\"signalR\"][\"protocols\"] || {}, root[\"signalR\"][\"protocols\"][\"msgpack\"] = factory(root[\"signalR\"]);\n})(self, function(__WEBPACK_EXTERNAL_MODULE__1__) {\nreturn ","module.exports = __WEBPACK_EXTERNAL_MODULE__1__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// Integer Utility\nexport var UINT32_MAX = 4294967295;\n// DataView extension to handle int64 / uint64,\n// where the actual range is 53-bits integer (a.k.a. safe integer)\nexport function setUint64(view, offset, value) {\n var high = value / 4294967296;\n var low = value; // high bits are truncated by DataView\n view.setUint32(offset, high);\n view.setUint32(offset + 4, low);\n}\nexport function setInt64(view, offset, value) {\n var high = Math.floor(value / 4294967296);\n var low = value; // high bits are truncated by DataView\n view.setUint32(offset, high);\n view.setUint32(offset + 4, low);\n}\nexport function getInt64(view, offset) {\n var high = view.getInt32(offset);\n var low = view.getUint32(offset + 4);\n return high * 4294967296 + low;\n}\nexport function getUint64(view, offset) {\n var high = view.getUint32(offset);\n var low = view.getUint32(offset + 4);\n return high * 4294967296 + low;\n}\n//# sourceMappingURL=int.mjs.map","import { UINT32_MAX } from \"./int.mjs\";\nvar TEXT_ENCODING_AVAILABLE = (typeof process === \"undefined\" || process.env[\"TEXT_ENCODING\"] !== \"never\") &&\n typeof TextEncoder !== \"undefined\" &&\n typeof TextDecoder !== \"undefined\";\nexport function utf8Count(str) {\n var strLength = str.length;\n var byteLength = 0;\n var pos = 0;\n while (pos < strLength) {\n var value = str.charCodeAt(pos++);\n if ((value & 0xffffff80) === 0) {\n // 1-byte\n byteLength++;\n continue;\n }\n else if ((value & 0xfffff800) === 0) {\n // 2-bytes\n byteLength += 2;\n }\n else {\n // handle surrogate pair\n if (value >= 0xd800 && value <= 0xdbff) {\n // high surrogate\n if (pos < strLength) {\n var extra = str.charCodeAt(pos);\n if ((extra & 0xfc00) === 0xdc00) {\n ++pos;\n value = ((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000;\n }\n }\n }\n if ((value & 0xffff0000) === 0) {\n // 3-byte\n byteLength += 3;\n }\n else {\n // 4-byte\n byteLength += 4;\n }\n }\n }\n return byteLength;\n}\nexport function utf8EncodeJs(str, output, outputOffset) {\n var strLength = str.length;\n var offset = outputOffset;\n var pos = 0;\n while (pos < strLength) {\n var value = str.charCodeAt(pos++);\n if ((value & 0xffffff80) === 0) {\n // 1-byte\n output[offset++] = value;\n continue;\n }\n else if ((value & 0xfffff800) === 0) {\n // 2-bytes\n output[offset++] = ((value >> 6) & 0x1f) | 0xc0;\n }\n else {\n // handle surrogate pair\n if (value >= 0xd800 && value <= 0xdbff) {\n // high surrogate\n if (pos < strLength) {\n var extra = str.charCodeAt(pos);\n if ((extra & 0xfc00) === 0xdc00) {\n ++pos;\n value = ((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000;\n }\n }\n }\n if ((value & 0xffff0000) === 0) {\n // 3-byte\n output[offset++] = ((value >> 12) & 0x0f) | 0xe0;\n output[offset++] = ((value >> 6) & 0x3f) | 0x80;\n }\n else {\n // 4-byte\n output[offset++] = ((value >> 18) & 0x07) | 0xf0;\n output[offset++] = ((value >> 12) & 0x3f) | 0x80;\n output[offset++] = ((value >> 6) & 0x3f) | 0x80;\n }\n }\n output[offset++] = (value & 0x3f) | 0x80;\n }\n}\nvar sharedTextEncoder = TEXT_ENCODING_AVAILABLE ? new TextEncoder() : undefined;\nexport var TEXT_ENCODER_THRESHOLD = !TEXT_ENCODING_AVAILABLE\n ? UINT32_MAX\n : typeof process !== \"undefined\" && process.env[\"TEXT_ENCODING\"] !== \"force\"\n ? 200\n : 0;\nfunction utf8EncodeTEencode(str, output, outputOffset) {\n output.set(sharedTextEncoder.encode(str), outputOffset);\n}\nfunction utf8EncodeTEencodeInto(str, output, outputOffset) {\n sharedTextEncoder.encodeInto(str, output.subarray(outputOffset));\n}\nexport var utf8EncodeTE = (sharedTextEncoder === null || sharedTextEncoder === void 0 ? void 0 : sharedTextEncoder.encodeInto) ? utf8EncodeTEencodeInto : utf8EncodeTEencode;\nvar CHUNK_SIZE = 4096;\nexport function utf8DecodeJs(bytes, inputOffset, byteLength) {\n var offset = inputOffset;\n var end = offset + byteLength;\n var units = [];\n var result = \"\";\n while (offset < end) {\n var byte1 = bytes[offset++];\n if ((byte1 & 0x80) === 0) {\n // 1 byte\n units.push(byte1);\n }\n else if ((byte1 & 0xe0) === 0xc0) {\n // 2 bytes\n var byte2 = bytes[offset++] & 0x3f;\n units.push(((byte1 & 0x1f) << 6) | byte2);\n }\n else if ((byte1 & 0xf0) === 0xe0) {\n // 3 bytes\n var byte2 = bytes[offset++] & 0x3f;\n var byte3 = bytes[offset++] & 0x3f;\n units.push(((byte1 & 0x1f) << 12) | (byte2 << 6) | byte3);\n }\n else if ((byte1 & 0xf8) === 0xf0) {\n // 4 bytes\n var byte2 = bytes[offset++] & 0x3f;\n var byte3 = bytes[offset++] & 0x3f;\n var byte4 = bytes[offset++] & 0x3f;\n var unit = ((byte1 & 0x07) << 0x12) | (byte2 << 0x0c) | (byte3 << 0x06) | byte4;\n if (unit > 0xffff) {\n unit -= 0x10000;\n units.push(((unit >>> 10) & 0x3ff) | 0xd800);\n unit = 0xdc00 | (unit & 0x3ff);\n }\n units.push(unit);\n }\n else {\n units.push(byte1);\n }\n if (units.length >= CHUNK_SIZE) {\n result += String.fromCharCode.apply(String, units);\n units.length = 0;\n }\n }\n if (units.length > 0) {\n result += String.fromCharCode.apply(String, units);\n }\n return result;\n}\nvar sharedTextDecoder = TEXT_ENCODING_AVAILABLE ? new TextDecoder() : null;\nexport var TEXT_DECODER_THRESHOLD = !TEXT_ENCODING_AVAILABLE\n ? UINT32_MAX\n : typeof process !== \"undefined\" && process.env[\"TEXT_DECODER\"] !== \"force\"\n ? 200\n : 0;\nexport function utf8DecodeTD(bytes, inputOffset, byteLength) {\n var stringBytes = bytes.subarray(inputOffset, inputOffset + byteLength);\n return sharedTextDecoder.decode(stringBytes);\n}\n//# sourceMappingURL=utf8.mjs.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar DecodeError = /** @class */ (function (_super) {\n __extends(DecodeError, _super);\n function DecodeError(message) {\n var _this = _super.call(this, message) || this;\n // fix the prototype chain in a cross-platform way\n var proto = Object.create(DecodeError.prototype);\n Object.setPrototypeOf(_this, proto);\n Object.defineProperty(_this, \"name\", {\n configurable: true,\n enumerable: false,\n value: DecodeError.name,\n });\n return _this;\n }\n return DecodeError;\n}(Error));\nexport { DecodeError };\n//# sourceMappingURL=DecodeError.mjs.map","/**\n * ExtData is used to handle Extension Types that are not registered to ExtensionCodec.\n */\nvar ExtData = /** @class */ (function () {\n function ExtData(type, data) {\n this.type = type;\n this.data = data;\n }\n return ExtData;\n}());\nexport { ExtData };\n//# sourceMappingURL=ExtData.mjs.map","// https://github.com/msgpack/msgpack/blob/master/spec.md#timestamp-extension-type\nimport { DecodeError } from \"./DecodeError.mjs\";\nimport { getInt64, setInt64 } from \"./utils/int.mjs\";\nexport var EXT_TIMESTAMP = -1;\nvar TIMESTAMP32_MAX_SEC = 0x100000000 - 1; // 32-bit unsigned int\nvar TIMESTAMP64_MAX_SEC = 0x400000000 - 1; // 34-bit unsigned int\nexport function encodeTimeSpecToTimestamp(_a) {\n var sec = _a.sec, nsec = _a.nsec;\n if (sec >= 0 && nsec >= 0 && sec <= TIMESTAMP64_MAX_SEC) {\n // Here sec >= 0 && nsec >= 0\n if (nsec === 0 && sec <= TIMESTAMP32_MAX_SEC) {\n // timestamp 32 = { sec32 (unsigned) }\n var rv = new Uint8Array(4);\n var view = new DataView(rv.buffer);\n view.setUint32(0, sec);\n return rv;\n }\n else {\n // timestamp 64 = { nsec30 (unsigned), sec34 (unsigned) }\n var secHigh = sec / 0x100000000;\n var secLow = sec & 0xffffffff;\n var rv = new Uint8Array(8);\n var view = new DataView(rv.buffer);\n // nsec30 | secHigh2\n view.setUint32(0, (nsec << 2) | (secHigh & 0x3));\n // secLow32\n view.setUint32(4, secLow);\n return rv;\n }\n }\n else {\n // timestamp 96 = { nsec32 (unsigned), sec64 (signed) }\n var rv = new Uint8Array(12);\n var view = new DataView(rv.buffer);\n view.setUint32(0, nsec);\n setInt64(view, 4, sec);\n return rv;\n }\n}\nexport function encodeDateToTimeSpec(date) {\n var msec = date.getTime();\n var sec = Math.floor(msec / 1e3);\n var nsec = (msec - sec * 1e3) * 1e6;\n // Normalizes { sec, nsec } to ensure nsec is unsigned.\n var nsecInSec = Math.floor(nsec / 1e9);\n return {\n sec: sec + nsecInSec,\n nsec: nsec - nsecInSec * 1e9,\n };\n}\nexport function encodeTimestampExtension(object) {\n if (object instanceof Date) {\n var timeSpec = encodeDateToTimeSpec(object);\n return encodeTimeSpecToTimestamp(timeSpec);\n }\n else {\n return null;\n }\n}\nexport function decodeTimestampToTimeSpec(data) {\n var view = new DataView(data.buffer, data.byteOffset, data.byteLength);\n // data may be 32, 64, or 96 bits\n switch (data.byteLength) {\n case 4: {\n // timestamp 32 = { sec32 }\n var sec = view.getUint32(0);\n var nsec = 0;\n return { sec: sec, nsec: nsec };\n }\n case 8: {\n // timestamp 64 = { nsec30, sec34 }\n var nsec30AndSecHigh2 = view.getUint32(0);\n var secLow32 = view.getUint32(4);\n var sec = (nsec30AndSecHigh2 & 0x3) * 0x100000000 + secLow32;\n var nsec = nsec30AndSecHigh2 >>> 2;\n return { sec: sec, nsec: nsec };\n }\n case 12: {\n // timestamp 96 = { nsec32 (unsigned), sec64 (signed) }\n var sec = getInt64(view, 4);\n var nsec = view.getUint32(0);\n return { sec: sec, nsec: nsec };\n }\n default:\n throw new DecodeError(\"Unrecognized data size for timestamp (expected 4, 8, or 12): \" + data.length);\n }\n}\nexport function decodeTimestampExtension(data) {\n var timeSpec = decodeTimestampToTimeSpec(data);\n return new Date(timeSpec.sec * 1e3 + timeSpec.nsec / 1e6);\n}\nexport var timestampExtension = {\n type: EXT_TIMESTAMP,\n encode: encodeTimestampExtension,\n decode: decodeTimestampExtension,\n};\n//# sourceMappingURL=timestamp.mjs.map","// ExtensionCodec to handle MessagePack extensions\nimport { ExtData } from \"./ExtData.mjs\";\nimport { timestampExtension } from \"./timestamp.mjs\";\nvar ExtensionCodec = /** @class */ (function () {\n function ExtensionCodec() {\n // built-in extensions\n this.builtInEncoders = [];\n this.builtInDecoders = [];\n // custom extensions\n this.encoders = [];\n this.decoders = [];\n this.register(timestampExtension);\n }\n ExtensionCodec.prototype.register = function (_a) {\n var type = _a.type, encode = _a.encode, decode = _a.decode;\n if (type >= 0) {\n // custom extensions\n this.encoders[type] = encode;\n this.decoders[type] = decode;\n }\n else {\n // built-in extensions\n var index = 1 + type;\n this.builtInEncoders[index] = encode;\n this.builtInDecoders[index] = decode;\n }\n };\n ExtensionCodec.prototype.tryToEncode = function (object, context) {\n // built-in extensions\n for (var i = 0; i < this.builtInEncoders.length; i++) {\n var encodeExt = this.builtInEncoders[i];\n if (encodeExt != null) {\n var data = encodeExt(object, context);\n if (data != null) {\n var type = -1 - i;\n return new ExtData(type, data);\n }\n }\n }\n // custom extensions\n for (var i = 0; i < this.encoders.length; i++) {\n var encodeExt = this.encoders[i];\n if (encodeExt != null) {\n var data = encodeExt(object, context);\n if (data != null) {\n var type = i;\n return new ExtData(type, data);\n }\n }\n }\n if (object instanceof ExtData) {\n // to keep ExtData as is\n return object;\n }\n return null;\n };\n ExtensionCodec.prototype.decode = function (data, type, context) {\n var decodeExt = type < 0 ? this.builtInDecoders[-1 - type] : this.decoders[type];\n if (decodeExt) {\n return decodeExt(data, type, context);\n }\n else {\n // decode() does not fail, returns ExtData instead.\n return new ExtData(type, data);\n }\n };\n ExtensionCodec.defaultCodec = new ExtensionCodec();\n return ExtensionCodec;\n}());\nexport { ExtensionCodec };\n//# sourceMappingURL=ExtensionCodec.mjs.map","export function ensureUint8Array(buffer) {\n if (buffer instanceof Uint8Array) {\n return buffer;\n }\n else if (ArrayBuffer.isView(buffer)) {\n return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n }\n else if (buffer instanceof ArrayBuffer) {\n return new Uint8Array(buffer);\n }\n else {\n // ArrayLike\n return Uint8Array.from(buffer);\n }\n}\nexport function createDataView(buffer) {\n if (buffer instanceof ArrayBuffer) {\n return new DataView(buffer);\n }\n var bufferView = ensureUint8Array(buffer);\n return new DataView(bufferView.buffer, bufferView.byteOffset, bufferView.byteLength);\n}\n//# sourceMappingURL=typedArrays.mjs.map","import { utf8EncodeJs, utf8Count, TEXT_ENCODER_THRESHOLD, utf8EncodeTE } from \"./utils/utf8.mjs\";\nimport { ExtensionCodec } from \"./ExtensionCodec.mjs\";\nimport { setInt64, setUint64 } from \"./utils/int.mjs\";\nimport { ensureUint8Array } from \"./utils/typedArrays.mjs\";\nexport var DEFAULT_MAX_DEPTH = 100;\nexport var DEFAULT_INITIAL_BUFFER_SIZE = 2048;\nvar Encoder = /** @class */ (function () {\n function Encoder(extensionCodec, context, maxDepth, initialBufferSize, sortKeys, forceFloat32, ignoreUndefined, forceIntegerToFloat) {\n if (extensionCodec === void 0) { extensionCodec = ExtensionCodec.defaultCodec; }\n if (context === void 0) { context = undefined; }\n if (maxDepth === void 0) { maxDepth = DEFAULT_MAX_DEPTH; }\n if (initialBufferSize === void 0) { initialBufferSize = DEFAULT_INITIAL_BUFFER_SIZE; }\n if (sortKeys === void 0) { sortKeys = false; }\n if (forceFloat32 === void 0) { forceFloat32 = false; }\n if (ignoreUndefined === void 0) { ignoreUndefined = false; }\n if (forceIntegerToFloat === void 0) { forceIntegerToFloat = false; }\n this.extensionCodec = extensionCodec;\n this.context = context;\n this.maxDepth = maxDepth;\n this.initialBufferSize = initialBufferSize;\n this.sortKeys = sortKeys;\n this.forceFloat32 = forceFloat32;\n this.ignoreUndefined = ignoreUndefined;\n this.forceIntegerToFloat = forceIntegerToFloat;\n this.pos = 0;\n this.view = new DataView(new ArrayBuffer(this.initialBufferSize));\n this.bytes = new Uint8Array(this.view.buffer);\n }\n Encoder.prototype.getUint8Array = function () {\n return this.bytes.subarray(0, this.pos);\n };\n Encoder.prototype.reinitializeState = function () {\n this.pos = 0;\n };\n Encoder.prototype.encode = function (object) {\n this.reinitializeState();\n this.doEncode(object, 1);\n return this.getUint8Array();\n };\n Encoder.prototype.doEncode = function (object, depth) {\n if (depth > this.maxDepth) {\n throw new Error(\"Too deep objects in depth \" + depth);\n }\n if (object == null) {\n this.encodeNil();\n }\n else if (typeof object === \"boolean\") {\n this.encodeBoolean(object);\n }\n else if (typeof object === \"number\") {\n this.encodeNumber(object);\n }\n else if (typeof object === \"string\") {\n this.encodeString(object);\n }\n else {\n this.encodeObject(object, depth);\n }\n };\n Encoder.prototype.ensureBufferSizeToWrite = function (sizeToWrite) {\n var requiredSize = this.pos + sizeToWrite;\n if (this.view.byteLength < requiredSize) {\n this.resizeBuffer(requiredSize * 2);\n }\n };\n Encoder.prototype.resizeBuffer = function (newSize) {\n var newBuffer = new ArrayBuffer(newSize);\n var newBytes = new Uint8Array(newBuffer);\n var newView = new DataView(newBuffer);\n newBytes.set(this.bytes);\n this.view = newView;\n this.bytes = newBytes;\n };\n Encoder.prototype.encodeNil = function () {\n this.writeU8(0xc0);\n };\n Encoder.prototype.encodeBoolean = function (object) {\n if (object === false) {\n this.writeU8(0xc2);\n }\n else {\n this.writeU8(0xc3);\n }\n };\n Encoder.prototype.encodeNumber = function (object) {\n if (Number.isSafeInteger(object) && !this.forceIntegerToFloat) {\n if (object >= 0) {\n if (object < 0x80) {\n // positive fixint\n this.writeU8(object);\n }\n else if (object < 0x100) {\n // uint 8\n this.writeU8(0xcc);\n this.writeU8(object);\n }\n else if (object < 0x10000) {\n // uint 16\n this.writeU8(0xcd);\n this.writeU16(object);\n }\n else if (object < 0x100000000) {\n // uint 32\n this.writeU8(0xce);\n this.writeU32(object);\n }\n else {\n // uint 64\n this.writeU8(0xcf);\n this.writeU64(object);\n }\n }\n else {\n if (object >= -0x20) {\n // negative fixint\n this.writeU8(0xe0 | (object + 0x20));\n }\n else if (object >= -0x80) {\n // int 8\n this.writeU8(0xd0);\n this.writeI8(object);\n }\n else if (object >= -0x8000) {\n // int 16\n this.writeU8(0xd1);\n this.writeI16(object);\n }\n else if (object >= -0x80000000) {\n // int 32\n this.writeU8(0xd2);\n this.writeI32(object);\n }\n else {\n // int 64\n this.writeU8(0xd3);\n this.writeI64(object);\n }\n }\n }\n else {\n // non-integer numbers\n if (this.forceFloat32) {\n // float 32\n this.writeU8(0xca);\n this.writeF32(object);\n }\n else {\n // float 64\n this.writeU8(0xcb);\n this.writeF64(object);\n }\n }\n };\n Encoder.prototype.writeStringHeader = function (byteLength) {\n if (byteLength < 32) {\n // fixstr\n this.writeU8(0xa0 + byteLength);\n }\n else if (byteLength < 0x100) {\n // str 8\n this.writeU8(0xd9);\n this.writeU8(byteLength);\n }\n else if (byteLength < 0x10000) {\n // str 16\n this.writeU8(0xda);\n this.writeU16(byteLength);\n }\n else if (byteLength < 0x100000000) {\n // str 32\n this.writeU8(0xdb);\n this.writeU32(byteLength);\n }\n else {\n throw new Error(\"Too long string: \" + byteLength + \" bytes in UTF-8\");\n }\n };\n Encoder.prototype.encodeString = function (object) {\n var maxHeaderSize = 1 + 4;\n var strLength = object.length;\n if (strLength > TEXT_ENCODER_THRESHOLD) {\n var byteLength = utf8Count(object);\n this.ensureBufferSizeToWrite(maxHeaderSize + byteLength);\n this.writeStringHeader(byteLength);\n utf8EncodeTE(object, this.bytes, this.pos);\n this.pos += byteLength;\n }\n else {\n var byteLength = utf8Count(object);\n this.ensureBufferSizeToWrite(maxHeaderSize + byteLength);\n this.writeStringHeader(byteLength);\n utf8EncodeJs(object, this.bytes, this.pos);\n this.pos += byteLength;\n }\n };\n Encoder.prototype.encodeObject = function (object, depth) {\n // try to encode objects with custom codec first of non-primitives\n var ext = this.extensionCodec.tryToEncode(object, this.context);\n if (ext != null) {\n this.encodeExtension(ext);\n }\n else if (Array.isArray(object)) {\n this.encodeArray(object, depth);\n }\n else if (ArrayBuffer.isView(object)) {\n this.encodeBinary(object);\n }\n else if (typeof object === \"object\") {\n this.encodeMap(object, depth);\n }\n else {\n // symbol, function and other special object come here unless extensionCodec handles them.\n throw new Error(\"Unrecognized object: \" + Object.prototype.toString.apply(object));\n }\n };\n Encoder.prototype.encodeBinary = function (object) {\n var size = object.byteLength;\n if (size < 0x100) {\n // bin 8\n this.writeU8(0xc4);\n this.writeU8(size);\n }\n else if (size < 0x10000) {\n // bin 16\n this.writeU8(0xc5);\n this.writeU16(size);\n }\n else if (size < 0x100000000) {\n // bin 32\n this.writeU8(0xc6);\n this.writeU32(size);\n }\n else {\n throw new Error(\"Too large binary: \" + size);\n }\n var bytes = ensureUint8Array(object);\n this.writeU8a(bytes);\n };\n Encoder.prototype.encodeArray = function (object, depth) {\n var size = object.length;\n if (size < 16) {\n // fixarray\n this.writeU8(0x90 + size);\n }\n else if (size < 0x10000) {\n // array 16\n this.writeU8(0xdc);\n this.writeU16(size);\n }\n else if (size < 0x100000000) {\n // array 32\n this.writeU8(0xdd);\n this.writeU32(size);\n }\n else {\n throw new Error(\"Too large array: \" + size);\n }\n for (var _i = 0, object_1 = object; _i < object_1.length; _i++) {\n var item = object_1[_i];\n this.doEncode(item, depth + 1);\n }\n };\n Encoder.prototype.countWithoutUndefined = function (object, keys) {\n var count = 0;\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\n var key = keys_1[_i];\n if (object[key] !== undefined) {\n count++;\n }\n }\n return count;\n };\n Encoder.prototype.encodeMap = function (object, depth) {\n var keys = Object.keys(object);\n if (this.sortKeys) {\n keys.sort();\n }\n var size = this.ignoreUndefined ? this.countWithoutUndefined(object, keys) : keys.length;\n if (size < 16) {\n // fixmap\n this.writeU8(0x80 + size);\n }\n else if (size < 0x10000) {\n // map 16\n this.writeU8(0xde);\n this.writeU16(size);\n }\n else if (size < 0x100000000) {\n // map 32\n this.writeU8(0xdf);\n this.writeU32(size);\n }\n else {\n throw new Error(\"Too large map object: \" + size);\n }\n for (var _i = 0, keys_2 = keys; _i < keys_2.length; _i++) {\n var key = keys_2[_i];\n var value = object[key];\n if (!(this.ignoreUndefined && value === undefined)) {\n this.encodeString(key);\n this.doEncode(value, depth + 1);\n }\n }\n };\n Encoder.prototype.encodeExtension = function (ext) {\n var size = ext.data.length;\n if (size === 1) {\n // fixext 1\n this.writeU8(0xd4);\n }\n else if (size === 2) {\n // fixext 2\n this.writeU8(0xd5);\n }\n else if (size === 4) {\n // fixext 4\n this.writeU8(0xd6);\n }\n else if (size === 8) {\n // fixext 8\n this.writeU8(0xd7);\n }\n else if (size === 16) {\n // fixext 16\n this.writeU8(0xd8);\n }\n else if (size < 0x100) {\n // ext 8\n this.writeU8(0xc7);\n this.writeU8(size);\n }\n else if (size < 0x10000) {\n // ext 16\n this.writeU8(0xc8);\n this.writeU16(size);\n }\n else if (size < 0x100000000) {\n // ext 32\n this.writeU8(0xc9);\n this.writeU32(size);\n }\n else {\n throw new Error(\"Too large extension object: \" + size);\n }\n this.writeI8(ext.type);\n this.writeU8a(ext.data);\n };\n Encoder.prototype.writeU8 = function (value) {\n this.ensureBufferSizeToWrite(1);\n this.view.setUint8(this.pos, value);\n this.pos++;\n };\n Encoder.prototype.writeU8a = function (values) {\n var size = values.length;\n this.ensureBufferSizeToWrite(size);\n this.bytes.set(values, this.pos);\n this.pos += size;\n };\n Encoder.prototype.writeI8 = function (value) {\n this.ensureBufferSizeToWrite(1);\n this.view.setInt8(this.pos, value);\n this.pos++;\n };\n Encoder.prototype.writeU16 = function (value) {\n this.ensureBufferSizeToWrite(2);\n this.view.setUint16(this.pos, value);\n this.pos += 2;\n };\n Encoder.prototype.writeI16 = function (value) {\n this.ensureBufferSizeToWrite(2);\n this.view.setInt16(this.pos, value);\n this.pos += 2;\n };\n Encoder.prototype.writeU32 = function (value) {\n this.ensureBufferSizeToWrite(4);\n this.view.setUint32(this.pos, value);\n this.pos += 4;\n };\n Encoder.prototype.writeI32 = function (value) {\n this.ensureBufferSizeToWrite(4);\n this.view.setInt32(this.pos, value);\n this.pos += 4;\n };\n Encoder.prototype.writeF32 = function (value) {\n this.ensureBufferSizeToWrite(4);\n this.view.setFloat32(this.pos, value);\n this.pos += 4;\n };\n Encoder.prototype.writeF64 = function (value) {\n this.ensureBufferSizeToWrite(8);\n this.view.setFloat64(this.pos, value);\n this.pos += 8;\n };\n Encoder.prototype.writeU64 = function (value) {\n this.ensureBufferSizeToWrite(8);\n setUint64(this.view, this.pos, value);\n this.pos += 8;\n };\n Encoder.prototype.writeI64 = function (value) {\n this.ensureBufferSizeToWrite(8);\n setInt64(this.view, this.pos, value);\n this.pos += 8;\n };\n return Encoder;\n}());\nexport { Encoder };\n//# sourceMappingURL=Encoder.mjs.map","export function prettyByte(byte) {\n return (byte < 0 ? \"-\" : \"\") + \"0x\" + Math.abs(byte).toString(16).padStart(2, \"0\");\n}\n//# sourceMappingURL=prettyByte.mjs.map","import { utf8DecodeJs } from \"./utils/utf8.mjs\";\nvar DEFAULT_MAX_KEY_LENGTH = 16;\nvar DEFAULT_MAX_LENGTH_PER_KEY = 16;\nvar CachedKeyDecoder = /** @class */ (function () {\n function CachedKeyDecoder(maxKeyLength, maxLengthPerKey) {\n if (maxKeyLength === void 0) { maxKeyLength = DEFAULT_MAX_KEY_LENGTH; }\n if (maxLengthPerKey === void 0) { maxLengthPerKey = DEFAULT_MAX_LENGTH_PER_KEY; }\n this.maxKeyLength = maxKeyLength;\n this.maxLengthPerKey = maxLengthPerKey;\n this.hit = 0;\n this.miss = 0;\n // avoid `new Array(N)`, which makes a sparse array,\n // because a sparse array is typically slower than a non-sparse array.\n this.caches = [];\n for (var i = 0; i < this.maxKeyLength; i++) {\n this.caches.push([]);\n }\n }\n CachedKeyDecoder.prototype.canBeCached = function (byteLength) {\n return byteLength > 0 && byteLength <= this.maxKeyLength;\n };\n CachedKeyDecoder.prototype.find = function (bytes, inputOffset, byteLength) {\n var records = this.caches[byteLength - 1];\n FIND_CHUNK: for (var _i = 0, records_1 = records; _i < records_1.length; _i++) {\n var record = records_1[_i];\n var recordBytes = record.bytes;\n for (var j = 0; j < byteLength; j++) {\n if (recordBytes[j] !== bytes[inputOffset + j]) {\n continue FIND_CHUNK;\n }\n }\n return record.str;\n }\n return null;\n };\n CachedKeyDecoder.prototype.store = function (bytes, value) {\n var records = this.caches[bytes.length - 1];\n var record = { bytes: bytes, str: value };\n if (records.length >= this.maxLengthPerKey) {\n // `records` are full!\n // Set `record` to an arbitrary position.\n records[(Math.random() * records.length) | 0] = record;\n }\n else {\n records.push(record);\n }\n };\n CachedKeyDecoder.prototype.decode = function (bytes, inputOffset, byteLength) {\n var cachedValue = this.find(bytes, inputOffset, byteLength);\n if (cachedValue != null) {\n this.hit++;\n return cachedValue;\n }\n this.miss++;\n var str = utf8DecodeJs(bytes, inputOffset, byteLength);\n // Ensure to copy a slice of bytes because the byte may be NodeJS Buffer and Buffer#slice() returns a reference to its internal ArrayBuffer.\n var slicedCopyOfBytes = Uint8Array.prototype.slice.call(bytes, inputOffset, inputOffset + byteLength);\n this.store(slicedCopyOfBytes, str);\n return str;\n };\n return CachedKeyDecoder;\n}());\nexport { CachedKeyDecoder };\n//# sourceMappingURL=CachedKeyDecoder.mjs.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nimport { prettyByte } from \"./utils/prettyByte.mjs\";\nimport { ExtensionCodec } from \"./ExtensionCodec.mjs\";\nimport { getInt64, getUint64, UINT32_MAX } from \"./utils/int.mjs\";\nimport { utf8DecodeJs, TEXT_DECODER_THRESHOLD, utf8DecodeTD } from \"./utils/utf8.mjs\";\nimport { createDataView, ensureUint8Array } from \"./utils/typedArrays.mjs\";\nimport { CachedKeyDecoder } from \"./CachedKeyDecoder.mjs\";\nimport { DecodeError } from \"./DecodeError.mjs\";\nvar isValidMapKeyType = function (key) {\n var keyType = typeof key;\n return keyType === \"string\" || keyType === \"number\";\n};\nvar HEAD_BYTE_REQUIRED = -1;\nvar EMPTY_VIEW = new DataView(new ArrayBuffer(0));\nvar EMPTY_BYTES = new Uint8Array(EMPTY_VIEW.buffer);\n// IE11: Hack to support IE11.\n// IE11: Drop this hack and just use RangeError when IE11 is obsolete.\nexport var DataViewIndexOutOfBoundsError = (function () {\n try {\n // IE11: The spec says it should throw RangeError,\n // IE11: but in IE11 it throws TypeError.\n EMPTY_VIEW.getInt8(0);\n }\n catch (e) {\n return e.constructor;\n }\n throw new Error(\"never reached\");\n})();\nvar MORE_DATA = new DataViewIndexOutOfBoundsError(\"Insufficient data\");\nvar sharedCachedKeyDecoder = new CachedKeyDecoder();\nvar Decoder = /** @class */ (function () {\n function Decoder(extensionCodec, context, maxStrLength, maxBinLength, maxArrayLength, maxMapLength, maxExtLength, keyDecoder) {\n if (extensionCodec === void 0) { extensionCodec = ExtensionCodec.defaultCodec; }\n if (context === void 0) { context = undefined; }\n if (maxStrLength === void 0) { maxStrLength = UINT32_MAX; }\n if (maxBinLength === void 0) { maxBinLength = UINT32_MAX; }\n if (maxArrayLength === void 0) { maxArrayLength = UINT32_MAX; }\n if (maxMapLength === void 0) { maxMapLength = UINT32_MAX; }\n if (maxExtLength === void 0) { maxExtLength = UINT32_MAX; }\n if (keyDecoder === void 0) { keyDecoder = sharedCachedKeyDecoder; }\n this.extensionCodec = extensionCodec;\n this.context = context;\n this.maxStrLength = maxStrLength;\n this.maxBinLength = maxBinLength;\n this.maxArrayLength = maxArrayLength;\n this.maxMapLength = maxMapLength;\n this.maxExtLength = maxExtLength;\n this.keyDecoder = keyDecoder;\n this.totalPos = 0;\n this.pos = 0;\n this.view = EMPTY_VIEW;\n this.bytes = EMPTY_BYTES;\n this.headByte = HEAD_BYTE_REQUIRED;\n this.stack = [];\n }\n Decoder.prototype.reinitializeState = function () {\n this.totalPos = 0;\n this.headByte = HEAD_BYTE_REQUIRED;\n this.stack.length = 0;\n // view, bytes, and pos will be re-initialized in setBuffer()\n };\n Decoder.prototype.setBuffer = function (buffer) {\n this.bytes = ensureUint8Array(buffer);\n this.view = createDataView(this.bytes);\n this.pos = 0;\n };\n Decoder.prototype.appendBuffer = function (buffer) {\n if (this.headByte === HEAD_BYTE_REQUIRED && !this.hasRemaining(1)) {\n this.setBuffer(buffer);\n }\n else {\n var remainingData = this.bytes.subarray(this.pos);\n var newData = ensureUint8Array(buffer);\n // concat remainingData + newData\n var newBuffer = new Uint8Array(remainingData.length + newData.length);\n newBuffer.set(remainingData);\n newBuffer.set(newData, remainingData.length);\n this.setBuffer(newBuffer);\n }\n };\n Decoder.prototype.hasRemaining = function (size) {\n return this.view.byteLength - this.pos >= size;\n };\n Decoder.prototype.createExtraByteError = function (posToShow) {\n var _a = this, view = _a.view, pos = _a.pos;\n return new RangeError(\"Extra \" + (view.byteLength - pos) + \" of \" + view.byteLength + \" byte(s) found at buffer[\" + posToShow + \"]\");\n };\n /**\n * @throws {DecodeError}\n * @throws {RangeError}\n */\n Decoder.prototype.decode = function (buffer) {\n this.reinitializeState();\n this.setBuffer(buffer);\n var object = this.doDecodeSync();\n if (this.hasRemaining(1)) {\n throw this.createExtraByteError(this.pos);\n }\n return object;\n };\n Decoder.prototype.decodeMulti = function (buffer) {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.reinitializeState();\n this.setBuffer(buffer);\n _a.label = 1;\n case 1:\n if (!this.hasRemaining(1)) return [3 /*break*/, 3];\n return [4 /*yield*/, this.doDecodeSync()];\n case 2:\n _a.sent();\n return [3 /*break*/, 1];\n case 3: return [2 /*return*/];\n }\n });\n };\n Decoder.prototype.decodeAsync = function (stream) {\n var stream_1, stream_1_1;\n var e_1, _a;\n return __awaiter(this, void 0, void 0, function () {\n var decoded, object, buffer, e_1_1, _b, headByte, pos, totalPos;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n decoded = false;\n _c.label = 1;\n case 1:\n _c.trys.push([1, 6, 7, 12]);\n stream_1 = __asyncValues(stream);\n _c.label = 2;\n case 2: return [4 /*yield*/, stream_1.next()];\n case 3:\n if (!(stream_1_1 = _c.sent(), !stream_1_1.done)) return [3 /*break*/, 5];\n buffer = stream_1_1.value;\n if (decoded) {\n throw this.createExtraByteError(this.totalPos);\n }\n this.appendBuffer(buffer);\n try {\n object = this.doDecodeSync();\n decoded = true;\n }\n catch (e) {\n if (!(e instanceof DataViewIndexOutOfBoundsError)) {\n throw e; // rethrow\n }\n // fallthrough\n }\n this.totalPos += this.pos;\n _c.label = 4;\n case 4: return [3 /*break*/, 2];\n case 5: return [3 /*break*/, 12];\n case 6:\n e_1_1 = _c.sent();\n e_1 = { error: e_1_1 };\n return [3 /*break*/, 12];\n case 7:\n _c.trys.push([7, , 10, 11]);\n if (!(stream_1_1 && !stream_1_1.done && (_a = stream_1.return))) return [3 /*break*/, 9];\n return [4 /*yield*/, _a.call(stream_1)];\n case 8:\n _c.sent();\n _c.label = 9;\n case 9: return [3 /*break*/, 11];\n case 10:\n if (e_1) throw e_1.error;\n return [7 /*endfinally*/];\n case 11: return [7 /*endfinally*/];\n case 12:\n if (decoded) {\n if (this.hasRemaining(1)) {\n throw this.createExtraByteError(this.totalPos);\n }\n return [2 /*return*/, object];\n }\n _b = this, headByte = _b.headByte, pos = _b.pos, totalPos = _b.totalPos;\n throw new RangeError(\"Insufficient data in parsing \" + prettyByte(headByte) + \" at \" + totalPos + \" (\" + pos + \" in the current buffer)\");\n }\n });\n });\n };\n Decoder.prototype.decodeArrayStream = function (stream) {\n return this.decodeMultiAsync(stream, true);\n };\n Decoder.prototype.decodeStream = function (stream) {\n return this.decodeMultiAsync(stream, false);\n };\n Decoder.prototype.decodeMultiAsync = function (stream, isArray) {\n return __asyncGenerator(this, arguments, function decodeMultiAsync_1() {\n var isArrayHeaderRequired, arrayItemsLeft, stream_2, stream_2_1, buffer, e_2, e_3_1;\n var e_3, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n isArrayHeaderRequired = isArray;\n arrayItemsLeft = -1;\n _b.label = 1;\n case 1:\n _b.trys.push([1, 13, 14, 19]);\n stream_2 = __asyncValues(stream);\n _b.label = 2;\n case 2: return [4 /*yield*/, __await(stream_2.next())];\n case 3:\n if (!(stream_2_1 = _b.sent(), !stream_2_1.done)) return [3 /*break*/, 12];\n buffer = stream_2_1.value;\n if (isArray && arrayItemsLeft === 0) {\n throw this.createExtraByteError(this.totalPos);\n }\n this.appendBuffer(buffer);\n if (isArrayHeaderRequired) {\n arrayItemsLeft = this.readArraySize();\n isArrayHeaderRequired = false;\n this.complete();\n }\n _b.label = 4;\n case 4:\n _b.trys.push([4, 9, , 10]);\n _b.label = 5;\n case 5:\n if (!true) return [3 /*break*/, 8];\n return [4 /*yield*/, __await(this.doDecodeSync())];\n case 6: return [4 /*yield*/, _b.sent()];\n case 7:\n _b.sent();\n if (--arrayItemsLeft === 0) {\n return [3 /*break*/, 8];\n }\n return [3 /*break*/, 5];\n case 8: return [3 /*break*/, 10];\n case 9:\n e_2 = _b.sent();\n if (!(e_2 instanceof DataViewIndexOutOfBoundsError)) {\n throw e_2; // rethrow\n }\n return [3 /*break*/, 10];\n case 10:\n this.totalPos += this.pos;\n _b.label = 11;\n case 11: return [3 /*break*/, 2];\n case 12: return [3 /*break*/, 19];\n case 13:\n e_3_1 = _b.sent();\n e_3 = { error: e_3_1 };\n return [3 /*break*/, 19];\n case 14:\n _b.trys.push([14, , 17, 18]);\n if (!(stream_2_1 && !stream_2_1.done && (_a = stream_2.return))) return [3 /*break*/, 16];\n return [4 /*yield*/, __await(_a.call(stream_2))];\n case 15:\n _b.sent();\n _b.label = 16;\n case 16: return [3 /*break*/, 18];\n case 17:\n if (e_3) throw e_3.error;\n return [7 /*endfinally*/];\n case 18: return [7 /*endfinally*/];\n case 19: return [2 /*return*/];\n }\n });\n });\n };\n Decoder.prototype.doDecodeSync = function () {\n DECODE: while (true) {\n var headByte = this.readHeadByte();\n var object = void 0;\n if (headByte >= 0xe0) {\n // negative fixint (111x xxxx) 0xe0 - 0xff\n object = headByte - 0x100;\n }\n else if (headByte < 0xc0) {\n if (headByte < 0x80) {\n // positive fixint (0xxx xxxx) 0x00 - 0x7f\n object = headByte;\n }\n else if (headByte < 0x90) {\n // fixmap (1000 xxxx) 0x80 - 0x8f\n var size = headByte - 0x80;\n if (size !== 0) {\n this.pushMapState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = {};\n }\n }\n else if (headByte < 0xa0) {\n // fixarray (1001 xxxx) 0x90 - 0x9f\n var size = headByte - 0x90;\n if (size !== 0) {\n this.pushArrayState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = [];\n }\n }\n else {\n // fixstr (101x xxxx) 0xa0 - 0xbf\n var byteLength = headByte - 0xa0;\n object = this.decodeUtf8String(byteLength, 0);\n }\n }\n else if (headByte === 0xc0) {\n // nil\n object = null;\n }\n else if (headByte === 0xc2) {\n // false\n object = false;\n }\n else if (headByte === 0xc3) {\n // true\n object = true;\n }\n else if (headByte === 0xca) {\n // float 32\n object = this.readF32();\n }\n else if (headByte === 0xcb) {\n // float 64\n object = this.readF64();\n }\n else if (headByte === 0xcc) {\n // uint 8\n object = this.readU8();\n }\n else if (headByte === 0xcd) {\n // uint 16\n object = this.readU16();\n }\n else if (headByte === 0xce) {\n // uint 32\n object = this.readU32();\n }\n else if (headByte === 0xcf) {\n // uint 64\n object = this.readU64();\n }\n else if (headByte === 0xd0) {\n // int 8\n object = this.readI8();\n }\n else if (headByte === 0xd1) {\n // int 16\n object = this.readI16();\n }\n else if (headByte === 0xd2) {\n // int 32\n object = this.readI32();\n }\n else if (headByte === 0xd3) {\n // int 64\n object = this.readI64();\n }\n else if (headByte === 0xd9) {\n // str 8\n var byteLength = this.lookU8();\n object = this.decodeUtf8String(byteLength, 1);\n }\n else if (headByte === 0xda) {\n // str 16\n var byteLength = this.lookU16();\n object = this.decodeUtf8String(byteLength, 2);\n }\n else if (headByte === 0xdb) {\n // str 32\n var byteLength = this.lookU32();\n object = this.decodeUtf8String(byteLength, 4);\n }\n else if (headByte === 0xdc) {\n // array 16\n var size = this.readU16();\n if (size !== 0) {\n this.pushArrayState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = [];\n }\n }\n else if (headByte === 0xdd) {\n // array 32\n var size = this.readU32();\n if (size !== 0) {\n this.pushArrayState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = [];\n }\n }\n else if (headByte === 0xde) {\n // map 16\n var size = this.readU16();\n if (size !== 0) {\n this.pushMapState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = {};\n }\n }\n else if (headByte === 0xdf) {\n // map 32\n var size = this.readU32();\n if (size !== 0) {\n this.pushMapState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = {};\n }\n }\n else if (headByte === 0xc4) {\n // bin 8\n var size = this.lookU8();\n object = this.decodeBinary(size, 1);\n }\n else if (headByte === 0xc5) {\n // bin 16\n var size = this.lookU16();\n object = this.decodeBinary(size, 2);\n }\n else if (headByte === 0xc6) {\n // bin 32\n var size = this.lookU32();\n object = this.decodeBinary(size, 4);\n }\n else if (headByte === 0xd4) {\n // fixext 1\n object = this.decodeExtension(1, 0);\n }\n else if (headByte === 0xd5) {\n // fixext 2\n object = this.decodeExtension(2, 0);\n }\n else if (headByte === 0xd6) {\n // fixext 4\n object = this.decodeExtension(4, 0);\n }\n else if (headByte === 0xd7) {\n // fixext 8\n object = this.decodeExtension(8, 0);\n }\n else if (headByte === 0xd8) {\n // fixext 16\n object = this.decodeExtension(16, 0);\n }\n else if (headByte === 0xc7) {\n // ext 8\n var size = this.lookU8();\n object = this.decodeExtension(size, 1);\n }\n else if (headByte === 0xc8) {\n // ext 16\n var size = this.lookU16();\n object = this.decodeExtension(size, 2);\n }\n else if (headByte === 0xc9) {\n // ext 32\n var size = this.lookU32();\n object = this.decodeExtension(size, 4);\n }\n else {\n throw new DecodeError(\"Unrecognized type byte: \" + prettyByte(headByte));\n }\n this.complete();\n var stack = this.stack;\n while (stack.length > 0) {\n // arrays and maps\n var state = stack[stack.length - 1];\n if (state.type === 0 /* ARRAY */) {\n state.array[state.position] = object;\n state.position++;\n if (state.position === state.size) {\n stack.pop();\n object = state.array;\n }\n else {\n continue DECODE;\n }\n }\n else if (state.type === 1 /* MAP_KEY */) {\n if (!isValidMapKeyType(object)) {\n throw new DecodeError(\"The type of key must be string or number but \" + typeof object);\n }\n if (object === \"__proto__\") {\n throw new DecodeError(\"The key __proto__ is not allowed\");\n }\n state.key = object;\n state.type = 2 /* MAP_VALUE */;\n continue DECODE;\n }\n else {\n // it must be `state.type === State.MAP_VALUE` here\n state.map[state.key] = object;\n state.readCount++;\n if (state.readCount === state.size) {\n stack.pop();\n object = state.map;\n }\n else {\n state.key = null;\n state.type = 1 /* MAP_KEY */;\n continue DECODE;\n }\n }\n }\n return object;\n }\n };\n Decoder.prototype.readHeadByte = function () {\n if (this.headByte === HEAD_BYTE_REQUIRED) {\n this.headByte = this.readU8();\n // console.log(\"headByte\", prettyByte(this.headByte));\n }\n return this.headByte;\n };\n Decoder.prototype.complete = function () {\n this.headByte = HEAD_BYTE_REQUIRED;\n };\n Decoder.prototype.readArraySize = function () {\n var headByte = this.readHeadByte();\n switch (headByte) {\n case 0xdc:\n return this.readU16();\n case 0xdd:\n return this.readU32();\n default: {\n if (headByte < 0xa0) {\n return headByte - 0x90;\n }\n else {\n throw new DecodeError(\"Unrecognized array type byte: \" + prettyByte(headByte));\n }\n }\n }\n };\n Decoder.prototype.pushMapState = function (size) {\n if (size > this.maxMapLength) {\n throw new DecodeError(\"Max length exceeded: map length (\" + size + \") > maxMapLengthLength (\" + this.maxMapLength + \")\");\n }\n this.stack.push({\n type: 1 /* MAP_KEY */,\n size: size,\n key: null,\n readCount: 0,\n map: {},\n });\n };\n Decoder.prototype.pushArrayState = function (size) {\n if (size > this.maxArrayLength) {\n throw new DecodeError(\"Max length exceeded: array length (\" + size + \") > maxArrayLength (\" + this.maxArrayLength + \")\");\n }\n this.stack.push({\n type: 0 /* ARRAY */,\n size: size,\n array: new Array(size),\n position: 0,\n });\n };\n Decoder.prototype.decodeUtf8String = function (byteLength, headerOffset) {\n var _a;\n if (byteLength > this.maxStrLength) {\n throw new DecodeError(\"Max length exceeded: UTF-8 byte length (\" + byteLength + \") > maxStrLength (\" + this.maxStrLength + \")\");\n }\n if (this.bytes.byteLength < this.pos + headerOffset + byteLength) {\n throw MORE_DATA;\n }\n var offset = this.pos + headerOffset;\n var object;\n if (this.stateIsMapKey() && ((_a = this.keyDecoder) === null || _a === void 0 ? void 0 : _a.canBeCached(byteLength))) {\n object = this.keyDecoder.decode(this.bytes, offset, byteLength);\n }\n else if (byteLength > TEXT_DECODER_THRESHOLD) {\n object = utf8DecodeTD(this.bytes, offset, byteLength);\n }\n else {\n object = utf8DecodeJs(this.bytes, offset, byteLength);\n }\n this.pos += headerOffset + byteLength;\n return object;\n };\n Decoder.prototype.stateIsMapKey = function () {\n if (this.stack.length > 0) {\n var state = this.stack[this.stack.length - 1];\n return state.type === 1 /* MAP_KEY */;\n }\n return false;\n };\n Decoder.prototype.decodeBinary = function (byteLength, headOffset) {\n if (byteLength > this.maxBinLength) {\n throw new DecodeError(\"Max length exceeded: bin length (\" + byteLength + \") > maxBinLength (\" + this.maxBinLength + \")\");\n }\n if (!this.hasRemaining(byteLength + headOffset)) {\n throw MORE_DATA;\n }\n var offset = this.pos + headOffset;\n var object = this.bytes.subarray(offset, offset + byteLength);\n this.pos += headOffset + byteLength;\n return object;\n };\n Decoder.prototype.decodeExtension = function (size, headOffset) {\n if (size > this.maxExtLength) {\n throw new DecodeError(\"Max length exceeded: ext length (\" + size + \") > maxExtLength (\" + this.maxExtLength + \")\");\n }\n var extType = this.view.getInt8(this.pos + headOffset);\n var data = this.decodeBinary(size, headOffset + 1 /* extType */);\n return this.extensionCodec.decode(data, extType, this.context);\n };\n Decoder.prototype.lookU8 = function () {\n return this.view.getUint8(this.pos);\n };\n Decoder.prototype.lookU16 = function () {\n return this.view.getUint16(this.pos);\n };\n Decoder.prototype.lookU32 = function () {\n return this.view.getUint32(this.pos);\n };\n Decoder.prototype.readU8 = function () {\n var value = this.view.getUint8(this.pos);\n this.pos++;\n return value;\n };\n Decoder.prototype.readI8 = function () {\n var value = this.view.getInt8(this.pos);\n this.pos++;\n return value;\n };\n Decoder.prototype.readU16 = function () {\n var value = this.view.getUint16(this.pos);\n this.pos += 2;\n return value;\n };\n Decoder.prototype.readI16 = function () {\n var value = this.view.getInt16(this.pos);\n this.pos += 2;\n return value;\n };\n Decoder.prototype.readU32 = function () {\n var value = this.view.getUint32(this.pos);\n this.pos += 4;\n return value;\n };\n Decoder.prototype.readI32 = function () {\n var value = this.view.getInt32(this.pos);\n this.pos += 4;\n return value;\n };\n Decoder.prototype.readU64 = function () {\n var value = getUint64(this.view, this.pos);\n this.pos += 8;\n return value;\n };\n Decoder.prototype.readI64 = function () {\n var value = getInt64(this.view, this.pos);\n this.pos += 8;\n return value;\n };\n Decoder.prototype.readF32 = function () {\n var value = this.view.getFloat32(this.pos);\n this.pos += 4;\n return value;\n };\n Decoder.prototype.readF64 = function () {\n var value = this.view.getFloat64(this.pos);\n this.pos += 8;\n return value;\n };\n return Decoder;\n}());\nexport { Decoder };\n//# sourceMappingURL=Decoder.mjs.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\n// Not exported from index.\r\n/** @private */\r\nexport class BinaryMessageFormat {\r\n\r\n // The length prefix of binary messages is encoded as VarInt. Read the comment in\r\n // the BinaryMessageParser.TryParseMessage for details.\r\n\r\n public static write(output: Uint8Array): ArrayBuffer {\r\n let size = output.byteLength || output.length;\r\n const lenBuffer = [];\r\n do {\r\n let sizePart = size & 0x7f;\r\n size = size >> 7;\r\n if (size > 0) {\r\n sizePart |= 0x80;\r\n }\r\n lenBuffer.push(sizePart);\r\n }\r\n while (size > 0);\r\n\r\n size = output.byteLength || output.length;\r\n\r\n const buffer = new Uint8Array(lenBuffer.length + size);\r\n buffer.set(lenBuffer, 0);\r\n buffer.set(output, lenBuffer.length);\r\n return buffer.buffer;\r\n }\r\n\r\n public static parse(input: ArrayBuffer): Uint8Array[] {\r\n const result: Uint8Array[] = [];\r\n const uint8Array = new Uint8Array(input);\r\n const maxLengthPrefixSize = 5;\r\n const numBitsToShift = [0, 7, 14, 21, 28 ];\r\n\r\n for (let offset = 0; offset < input.byteLength;) {\r\n let numBytes = 0;\r\n let size = 0;\r\n let byteRead;\r\n do {\r\n byteRead = uint8Array[offset + numBytes];\r\n size = size | ((byteRead & 0x7f) << (numBitsToShift[numBytes]));\r\n numBytes++;\r\n }\r\n while (numBytes < Math.min(maxLengthPrefixSize, input.byteLength - offset) && (byteRead & 0x80) !== 0);\r\n\r\n if ((byteRead & 0x80) !== 0 && numBytes < maxLengthPrefixSize) {\r\n throw new Error(\"Cannot read message size.\");\r\n }\r\n\r\n if (numBytes === maxLengthPrefixSize && byteRead > 7) {\r\n throw new Error(\"Messages bigger than 2GB are not supported.\");\r\n }\r\n\r\n if (uint8Array.byteLength >= (offset + numBytes + size)) {\r\n // IE does not support .slice() so use subarray\r\n result.push(uint8Array.slice\r\n ? uint8Array.slice(offset + numBytes, offset + numBytes + size)\r\n : uint8Array.subarray(offset + numBytes, offset + numBytes + size));\r\n } else {\r\n throw new Error(\"Incomplete message.\");\r\n }\r\n\r\n offset = offset + numBytes + size;\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\nimport { Encoder, Decoder } from \"@msgpack/msgpack\";\r\n\r\nimport { MessagePackOptions } from \"./MessagePackOptions\";\r\n\r\nimport {\r\n CancelInvocationMessage, CompletionMessage, HubMessage, IHubProtocol, ILogger, InvocationMessage,\r\n LogLevel, MessageHeaders, MessageType, NullLogger, StreamInvocationMessage, StreamItemMessage, TransferFormat,\r\n} from \"@microsoft/signalr\";\r\n\r\nimport { BinaryMessageFormat } from \"./BinaryMessageFormat\";\r\nimport { isArrayBuffer } from \"./Utils\";\r\n\r\n// TypeDoc's @inheritDoc and @link don't work across modules :(\r\n\r\n// constant encoding of the ping message\r\n// see: https://github.com/aspnet/SignalR/blob/dev/specs/HubProtocol.md#ping-message-encoding-1\r\n// Don't use Uint8Array.from as IE does not support it\r\nconst SERIALIZED_PING_MESSAGE: Uint8Array = new Uint8Array([0x91, MessageType.Ping]);\r\n\r\n/** Implements the MessagePack Hub Protocol */\r\nexport class MessagePackHubProtocol implements IHubProtocol {\r\n /** The name of the protocol. This is used by SignalR to resolve the protocol between the client and server. */\r\n public readonly name: string = \"messagepack\";\r\n /** The version of the protocol. */\r\n public readonly version: number = 1;\r\n /** The TransferFormat of the protocol. */\r\n public readonly transferFormat: TransferFormat = TransferFormat.Binary;\r\n\r\n private readonly _errorResult = 1;\r\n private readonly _voidResult = 2;\r\n private readonly _nonVoidResult = 3;\r\n\r\n private readonly _encoder: Encoder;\r\n private readonly _decoder: Decoder;\r\n\r\n /**\r\n *\r\n * @param messagePackOptions MessagePack options passed to @msgpack/msgpack\r\n */\r\n constructor(messagePackOptions?: MessagePackOptions) {\r\n messagePackOptions = messagePackOptions || {};\r\n this._encoder = new Encoder(\r\n messagePackOptions.extensionCodec,\r\n messagePackOptions.context,\r\n messagePackOptions.maxDepth,\r\n messagePackOptions.initialBufferSize,\r\n messagePackOptions.sortKeys,\r\n messagePackOptions.forceFloat32,\r\n messagePackOptions.ignoreUndefined,\r\n messagePackOptions.forceIntegerToFloat,\r\n );\r\n\r\n this._decoder = new Decoder(\r\n messagePackOptions.extensionCodec,\r\n messagePackOptions.context,\r\n messagePackOptions.maxStrLength,\r\n messagePackOptions.maxBinLength,\r\n messagePackOptions.maxArrayLength,\r\n messagePackOptions.maxMapLength,\r\n messagePackOptions.maxExtLength,\r\n );\r\n }\r\n\r\n /** Creates an array of HubMessage objects from the specified serialized representation.\r\n *\r\n * @param {ArrayBuffer} input An ArrayBuffer containing the serialized representation.\r\n * @param {ILogger} logger A logger that will be used to log messages that occur during parsing.\r\n */\r\n public parseMessages(input: ArrayBuffer, logger: ILogger): HubMessage[] {\r\n // The interface does allow \"string\" to be passed in, but this implementation does not. So let's throw a useful error.\r\n if (!(isArrayBuffer(input))) {\r\n throw new Error(\"Invalid input for MessagePack hub protocol. Expected an ArrayBuffer.\");\r\n }\r\n\r\n if (logger === null) {\r\n logger = NullLogger.instance;\r\n }\r\n\r\n const messages = BinaryMessageFormat.parse(input);\r\n\r\n const hubMessages = [];\r\n for (const message of messages) {\r\n const parsedMessage = this._parseMessage(message, logger);\r\n // Can be null for an unknown message. Unknown message is logged in parseMessage\r\n if (parsedMessage) {\r\n hubMessages.push(parsedMessage);\r\n }\r\n }\r\n\r\n return hubMessages;\r\n }\r\n\r\n /** Writes the specified HubMessage to an ArrayBuffer and returns it.\r\n *\r\n * @param {HubMessage} message The message to write.\r\n * @returns {ArrayBuffer} An ArrayBuffer containing the serialized representation of the message.\r\n */\r\n public writeMessage(message: HubMessage): ArrayBuffer {\r\n switch (message.type) {\r\n case MessageType.Invocation:\r\n return this._writeInvocation(message as InvocationMessage);\r\n case MessageType.StreamInvocation:\r\n return this._writeStreamInvocation(message as StreamInvocationMessage);\r\n case MessageType.StreamItem:\r\n return this._writeStreamItem(message as StreamItemMessage);\r\n case MessageType.Completion:\r\n return this._writeCompletion(message as CompletionMessage);\r\n case MessageType.Ping:\r\n return BinaryMessageFormat.write(SERIALIZED_PING_MESSAGE);\r\n case MessageType.CancelInvocation:\r\n return this._writeCancelInvocation(message as CancelInvocationMessage);\r\n default:\r\n throw new Error(\"Invalid message type.\");\r\n }\r\n }\r\n\r\n private _parseMessage(input: Uint8Array, logger: ILogger): HubMessage | null {\r\n if (input.length === 0) {\r\n throw new Error(\"Invalid payload.\");\r\n }\r\n\r\n const properties = this._decoder.decode(input) as any;\r\n if (properties.length === 0 || !(properties instanceof Array)) {\r\n throw new Error(\"Invalid payload.\");\r\n }\r\n\r\n const messageType = properties[0] as MessageType;\r\n\r\n switch (messageType) {\r\n case MessageType.Invocation:\r\n return this._createInvocationMessage(this._readHeaders(properties), properties);\r\n case MessageType.StreamItem:\r\n return this._createStreamItemMessage(this._readHeaders(properties), properties);\r\n case MessageType.Completion:\r\n return this._createCompletionMessage(this._readHeaders(properties), properties);\r\n case MessageType.Ping:\r\n return this._createPingMessage(properties);\r\n case MessageType.Close:\r\n return this._createCloseMessage(properties);\r\n default:\r\n // Future protocol changes can add message types, old clients can ignore them\r\n logger.log(LogLevel.Information, \"Unknown message type '\" + messageType + \"' ignored.\");\r\n return null;\r\n }\r\n }\r\n\r\n private _createCloseMessage(properties: any[]): HubMessage {\r\n // check minimum length to allow protocol to add items to the end of objects in future releases\r\n if (properties.length < 2) {\r\n throw new Error(\"Invalid payload for Close message.\");\r\n }\r\n\r\n return {\r\n // Close messages have no headers.\r\n allowReconnect: properties.length >= 3 ? properties[2] : undefined,\r\n error: properties[1],\r\n type: MessageType.Close,\r\n } as HubMessage;\r\n }\r\n\r\n private _createPingMessage(properties: any[]): HubMessage {\r\n // check minimum length to allow protocol to add items to the end of objects in future releases\r\n if (properties.length < 1) {\r\n throw new Error(\"Invalid payload for Ping message.\");\r\n }\r\n\r\n return {\r\n // Ping messages have no headers.\r\n type: MessageType.Ping,\r\n } as HubMessage;\r\n }\r\n\r\n private _createInvocationMessage(headers: MessageHeaders, properties: any[]): InvocationMessage {\r\n // check minimum length to allow protocol to add items to the end of objects in future releases\r\n if (properties.length < 5) {\r\n throw new Error(\"Invalid payload for Invocation message.\");\r\n }\r\n\r\n const invocationId = properties[2] as string;\r\n if (invocationId) {\r\n return {\r\n arguments: properties[4],\r\n headers,\r\n invocationId,\r\n streamIds: [],\r\n target: properties[3] as string,\r\n type: MessageType.Invocation,\r\n };\r\n } else {\r\n return {\r\n arguments: properties[4],\r\n headers,\r\n streamIds: [],\r\n target: properties[3],\r\n type: MessageType.Invocation,\r\n };\r\n }\r\n\r\n }\r\n\r\n private _createStreamItemMessage(headers: MessageHeaders, properties: any[]): StreamItemMessage {\r\n // check minimum length to allow protocol to add items to the end of objects in future releases\r\n if (properties.length < 4) {\r\n throw new Error(\"Invalid payload for StreamItem message.\");\r\n }\r\n\r\n return {\r\n headers,\r\n invocationId: properties[2],\r\n item: properties[3],\r\n type: MessageType.StreamItem,\r\n } as StreamItemMessage;\r\n }\r\n\r\n private _createCompletionMessage(headers: MessageHeaders, properties: any[]): CompletionMessage {\r\n // check minimum length to allow protocol to add items to the end of objects in future releases\r\n if (properties.length < 4) {\r\n throw new Error(\"Invalid payload for Completion message.\");\r\n }\r\n\r\n const resultKind = properties[3];\r\n\r\n if (resultKind !== this._voidResult && properties.length < 5) {\r\n throw new Error(\"Invalid payload for Completion message.\");\r\n }\r\n\r\n let error: string | undefined;\r\n let result: any;\r\n\r\n switch (resultKind) {\r\n case this._errorResult:\r\n error = properties[4];\r\n break;\r\n case this._nonVoidResult:\r\n result = properties[4];\r\n break;\r\n }\r\n\r\n const completionMessage: CompletionMessage = {\r\n error,\r\n headers,\r\n invocationId: properties[2],\r\n result,\r\n type: MessageType.Completion,\r\n };\r\n\r\n return completionMessage;\r\n }\r\n\r\n private _writeInvocation(invocationMessage: InvocationMessage): ArrayBuffer {\r\n let payload: any;\r\n if (invocationMessage.streamIds) {\r\n payload = this._encoder.encode([MessageType.Invocation, invocationMessage.headers || {}, invocationMessage.invocationId || null,\r\n invocationMessage.target, invocationMessage.arguments, invocationMessage.streamIds]);\r\n } else {\r\n payload = this._encoder.encode([MessageType.Invocation, invocationMessage.headers || {}, invocationMessage.invocationId || null,\r\n invocationMessage.target, invocationMessage.arguments]);\r\n }\r\n\r\n return BinaryMessageFormat.write(payload.slice());\r\n }\r\n\r\n private _writeStreamInvocation(streamInvocationMessage: StreamInvocationMessage): ArrayBuffer {\r\n let payload: any;\r\n if (streamInvocationMessage.streamIds) {\r\n payload = this._encoder.encode([MessageType.StreamInvocation, streamInvocationMessage.headers || {}, streamInvocationMessage.invocationId,\r\n streamInvocationMessage.target, streamInvocationMessage.arguments, streamInvocationMessage.streamIds]);\r\n } else {\r\n payload = this._encoder.encode([MessageType.StreamInvocation, streamInvocationMessage.headers || {}, streamInvocationMessage.invocationId,\r\n streamInvocationMessage.target, streamInvocationMessage.arguments]);\r\n }\r\n\r\n return BinaryMessageFormat.write(payload.slice());\r\n }\r\n\r\n private _writeStreamItem(streamItemMessage: StreamItemMessage): ArrayBuffer {\r\n const payload = this._encoder.encode([MessageType.StreamItem, streamItemMessage.headers || {}, streamItemMessage.invocationId,\r\n streamItemMessage.item]);\r\n\r\n return BinaryMessageFormat.write(payload.slice());\r\n }\r\n\r\n private _writeCompletion(completionMessage: CompletionMessage): ArrayBuffer {\r\n const resultKind = completionMessage.error ? this._errorResult : completionMessage.result ? this._nonVoidResult : this._voidResult;\r\n\r\n let payload: any;\r\n switch (resultKind) {\r\n case this._errorResult:\r\n payload = this._encoder.encode([MessageType.Completion, completionMessage.headers || {}, completionMessage.invocationId, resultKind, completionMessage.error]);\r\n break;\r\n case this._voidResult:\r\n payload = this._encoder.encode([MessageType.Completion, completionMessage.headers || {}, completionMessage.invocationId, resultKind]);\r\n break;\r\n case this._nonVoidResult:\r\n payload = this._encoder.encode([MessageType.Completion, completionMessage.headers || {}, completionMessage.invocationId, resultKind, completionMessage.result]);\r\n break;\r\n }\r\n\r\n return BinaryMessageFormat.write(payload.slice());\r\n }\r\n\r\n private _writeCancelInvocation(cancelInvocationMessage: CancelInvocationMessage): ArrayBuffer {\r\n const payload = this._encoder.encode([MessageType.CancelInvocation, cancelInvocationMessage.headers || {}, cancelInvocationMessage.invocationId]);\r\n\r\n return BinaryMessageFormat.write(payload.slice());\r\n }\r\n\r\n private _readHeaders(properties: any): MessageHeaders {\r\n const headers: MessageHeaders = properties[1] as MessageHeaders;\r\n if (typeof headers !== \"object\") {\r\n throw new Error(\"Invalid headers.\");\r\n }\r\n return headers;\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\n// Copied from signalr/Utils.ts\r\n/** @private */\r\nexport function isArrayBuffer(val: any): val is ArrayBuffer {\r\n return val && typeof ArrayBuffer !== \"undefined\" &&\r\n (val instanceof ArrayBuffer ||\r\n // Sometimes we get an ArrayBuffer that doesn't satisfy instanceof\r\n (val.constructor && val.constructor.name === \"ArrayBuffer\"));\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\n// Version token that will be replaced by the prepack command\r\n/** The version of the SignalR Message Pack protocol library. */\r\nexport const VERSION = \"0.0.0-DEV_BUILD\";\r\n\r\nexport { MessagePackHubProtocol } from \"./MessagePackHubProtocol\";\r\n\r\nexport { MessagePackOptions } from \"./MessagePackOptions\";\r\n"]} \ No newline at end of file diff --git a/Server/wwwroot/lib/msgpack5/msgpack5.js b/Server/wwwroot/lib/msgpack5/msgpack5.js index 371e1ab4..ad0547c7 100644 --- a/Server/wwwroot/lib/msgpack5/msgpack5.js +++ b/Server/wwwroot/lib/msgpack5/msgpack5.js @@ -91,7 +91,7 @@ function msgpack (options) { module.exports = msgpack -},{"./lib/codecs/DateCodec":2,"./lib/decoder":3,"./lib/encoder":4,"./lib/helpers.js":5,"./lib/streams":6,"assert":8,"bl":15,"safe-buffer":53}],2:[function(require,module,exports){ +},{"./lib/codecs/DateCodec":2,"./lib/decoder":3,"./lib/encoder":4,"./lib/helpers.js":5,"./lib/streams":6,"assert":7,"bl":14,"safe-buffer":51}],2:[function(require,module,exports){ (function (Buffer){(function (){ const type = -1 @@ -226,7 +226,7 @@ function decode (buf) { module.exports = { check, type, encode, decode } }).call(this)}).call(this,require("buffer").Buffer) -},{"buffer":17}],3:[function(require,module,exports){ +},{"buffer":16}],3:[function(require,module,exports){ 'use strict' const bl = require('bl') @@ -267,238 +267,236 @@ function isValidDataSize (dataLength, bufLength, headerLength) { } module.exports = function buildDecode (decodingTypes, options) { + const context = { decodingTypes, options, decode } return decode function decode (buf) { - // TODO: Make it into ensureBl handler ? - if (!(buf instanceof bl)) { - buf = bl().append(buf) + if (!bl.isBufferList(buf)) { + buf = bl(buf) } - const result = tryDecode(buf, 0) + const result = tryDecode(buf, 0, context) // Handle worst case ASAP and keep code flat if (!result) throw new IncompleteBufferError() buf.consume(result[1]) return result[0] } +} - function tryDecode (buf, initialOffset) { - if (buf.length <= initialOffset) return null +function decodeArray (buf, initialOffset, length, headerLength, context) { + let offset = initialOffset + const result = [] + let i = 0 - const bufLength = buf.length - initialOffset - let offset = initialOffset + while (i++ < length) { + const decodeResult = tryDecode(buf, offset, context) + if (!decodeResult) return null - const first = buf.readUInt8(offset) - offset += 1 + result.push(decodeResult[0]) + offset += decodeResult[1] + } + return [result, headerLength + offset - initialOffset] +} - const size = SIZES[first] || -1 - if (bufLength < size) return null +function decodeMap (buf, offset, length, headerLength, context) { + const _temp = decodeArray(buf, offset, 2 * length, headerLength, context) + if (!_temp) return null + const [result, consumedBytes] = _temp - const inRange = (start, end) => first >= start && first <= end + let isPlainObject = !context.options.preferMap - if (first < 0x80) return [first, 1] // 7-bits positive ints - if ((first & 0xf0) === 0x80) { - const length = first & 0x0f - const headerSize = offset - initialOffset - // we have a map with less than 15 elements - return decodeMap(buf, offset, length, headerSize, options) - } - if ((first & 0xf0) === 0x90) { - const length = first & 0x0f - const headerSize = offset - initialOffset - // we have an array with less than 15 elements - return decodeArray(buf, offset, length, headerSize) - } - - if ((first & 0xe0) === 0xa0) { - // fixstr up to 31 bytes - const length = first & 0x1f - if (!isValidDataSize(length, bufLength, 1)) return null - const result = buf.toString('utf8', offset, offset + length) - return [result, length + 1] - } - if (inRange(0xc0, 0xc3)) return decodeConstants(first) - if (inRange(0xc4, 0xc6)) { - const length = buf.readUIntBE(offset, size - 1) - offset += size - 1 - - if (!isValidDataSize(length, bufLength, size)) return null - const result = buf.slice(offset, offset + length) - return [result, size + length] - } - if (inRange(0xc7, 0xc9)) { - const length = buf.readUIntBE(offset, size - 2) - offset += size - 2 - - const type = buf.readInt8(offset) - offset += 1 - - if (!isValidDataSize(length, bufLength, size)) return null - return decodeExt(buf, offset, type, length, size) - } - if (inRange(0xca, 0xcb)) return decodeFloat(buf, offset, size - 1) - if (inRange(0xcc, 0xcf)) return decodeUnsignedInt(buf, offset, size - 1) - if (inRange(0xd0, 0xd3)) return decodeSigned(buf, offset, size - 1) - if (inRange(0xd4, 0xd8)) { - const type = buf.readInt8(offset) // Signed - offset += 1 - return decodeExt(buf, offset, type, size - 2, 2) - } - - if (inRange(0xd9, 0xdb)) { - const length = buf.readUIntBE(offset, size - 1) - offset += size - 1 - - if (!isValidDataSize(length, bufLength, size)) return null - const result = buf.toString('utf8', offset, offset + length) - return [result, size + length] - } - if (inRange(0xdc, 0xdd)) { - const length = buf.readUIntBE(offset, size - 1) - offset += size - 1 - return decodeArray(buf, offset, length, size) - } - if (inRange(0xde, 0xdf)) { - let length - switch (first) { - case 0xde: - // maps up to 2^16 elements - 2 bytes - length = buf.readUInt16BE(offset) - offset += 2 - // console.log(offset - initialOffset) - return decodeMap(buf, offset, length, 3, options) - - case 0xdf: - length = buf.readUInt32BE(offset) - offset += 4 - return decodeMap(buf, offset, length, 5, options) + if (isPlainObject) { + for (let i = 0; i < 2 * length; i += 2) { + if (typeof result[i] !== 'string') { + isPlainObject = false + break } } - if (first >= 0xe0) return [first - 0x100, 1] // 5 bits negative ints - - throw new Error('not implemented yet') } - function decodeArray (buf, initialOffset, length, headerLength) { - let offset = initialOffset - const result = [] - let i = 0 + if (isPlainObject) { + const object = {} + for (let i = 0; i < 2 * length; i += 2) { + const key = result[i] + const val = result[i + 1] - while (i++ < length) { - const decodeResult = tryDecode(buf, offset) - if (!decodeResult) return null - - result.push(decodeResult[0]) - offset += decodeResult[1] - } - return [result, headerLength + offset - initialOffset] - } - - function decodeMap (buf, offset, length, headerLength, options) { - const _temp = decodeArray(buf, offset, 2 * length, headerLength) - if (!_temp) return null - const [result, consumedBytes] = _temp - - let isPlainObject = !options.preferMap - - if (isPlainObject) { - for (let i = 0; i < 2 * length; i += 2) { - if (typeof result[i] !== 'string') { - isPlainObject = false - break - } - } - } - - if (isPlainObject) { - const object = {} - for (let i = 0; i < 2 * length; i += 2) { - const key = result[i] - const val = result[i + 1] - - if (key === '__proto__') { - if (options.protoAction === 'error') { - throw new SyntaxError('Object contains forbidden prototype property') - } - - if (options.protoAction === 'remove') { - continue - } + if (key === '__proto__') { + if (context.options.protoAction === 'error') { + throw new SyntaxError('Object contains forbidden prototype property') } - object[key] = val + if (context.options.protoAction === 'remove') { + continue + } } - return [object, consumedBytes] - } else { - const mapping = new Map() - for (let i = 0; i < 2 * length; i += 2) { - const key = result[i] - const val = result[i + 1] - mapping.set(key, val) - } - return [mapping, consumedBytes] + + object[key] = val } - } - - function readInt64BE (buf, offset) { - var negate = (buf[offset] & 0x80) == 0x80; // eslint-disable-line - - if (negate) { - let carry = 1 - for (let i = offset + 7; i >= offset; i--) { - const v = (buf[i] ^ 0xff) + carry - buf[i] = v & 0xff - carry = v >> 8 - } + return [object, consumedBytes] + } else { + const mapping = new Map() + for (let i = 0; i < 2 * length; i += 2) { + const key = result[i] + const val = result[i + 1] + mapping.set(key, val) } - - const hi = buf.readUInt32BE(offset + 0) - const lo = buf.readUInt32BE(offset + 4) - return (hi * 4294967296 + lo) * (negate ? -1 : +1) - } - - function decodeUnsignedInt (buf, offset, size) { - const maxOffset = offset + size - let result = 0 - while (offset < maxOffset) { result += buf.readUInt8(offset++) * Math.pow(256, maxOffset - offset) } - return [result, size + 1] - } - - function decodeConstants (first) { - if (first === 0xc0) return [null, 1] - if (first === 0xc2) return [false, 1] - if (first === 0xc3) return [true, 1] - } - - function decodeSigned (buf, offset, size) { - let result - if (size === 1) result = buf.readInt8(offset) - if (size === 2) result = buf.readInt16BE(offset) - if (size === 4) result = buf.readInt32BE(offset) - if (size === 8) result = readInt64BE(buf.slice(offset, offset + 8), 0) - return [result, size + 1] - } - - function decodeFloat (buf, offset, size) { - let result - if (size === 4) result = buf.readFloatBE(offset) - if (size === 8) result = buf.readDoubleBE(offset) - return [result, size + 1] - } - - function decodeExt (buf, offset, type, size, headerSize) { - const toDecode = buf.slice(offset, offset + size) - - const decode = decodingTypes.get(type) - if (!decode) throw new Error('unable to find ext type ' + type) - - const value = decode(toDecode) - return [value, headerSize + size] + return [mapping, consumedBytes] } } -},{"./helpers.js":5,"bl":15}],4:[function(require,module,exports){ +function tryDecode (buf, initialOffset, context) { + if (buf.length <= initialOffset) return null + + const bufLength = buf.length - initialOffset + let offset = initialOffset + + const first = buf.readUInt8(offset) + offset += 1 + + const size = SIZES[first] || -1 + if (bufLength < size) return null + + if (first < 0x80) return [first, 1] // 7-bits positive ints + if ((first & 0xf0) === 0x80) { + const length = first & 0x0f + const headerSize = offset - initialOffset + // we have a map with less than 15 elements + return decodeMap(buf, offset, length, headerSize, context) + } + if ((first & 0xf0) === 0x90) { + const length = first & 0x0f + const headerSize = offset - initialOffset + // we have an array with less than 15 elements + return decodeArray(buf, offset, length, headerSize, context) + } + + if ((first & 0xe0) === 0xa0) { + // fixstr up to 31 bytes + const length = first & 0x1f + if (!isValidDataSize(length, bufLength, 1)) return null + const result = buf.toString('utf8', offset, offset + length) + return [result, length + 1] + } + if (first >= 0xc0 && first <= 0xc3) return decodeConstants(first) + if (first >= 0xc4 && first <= 0xc6) { + const length = buf.readUIntBE(offset, size - 1) + offset += size - 1 + + if (!isValidDataSize(length, bufLength, size)) return null + const result = buf.slice(offset, offset + length) + return [result, size + length] + } + if (first >= 0xc7 && first <= 0xc9) { + const length = buf.readUIntBE(offset, size - 2) + offset += size - 2 + + const type = buf.readInt8(offset) + offset += 1 + + if (!isValidDataSize(length, bufLength, size)) return null + return decodeExt(buf, offset, type, length, size, context) + } + if (first >= 0xca && first <= 0xcb) return decodeFloat(buf, offset, size - 1) + if (first >= 0xcc && first <= 0xcf) return decodeUnsignedInt(buf, offset, size - 1) + if (first >= 0xd0 && first <= 0xd3) return decodeSigned(buf, offset, size - 1) + if (first >= 0xd4 && first <= 0xd8) { + const type = buf.readInt8(offset) // Signed + offset += 1 + return decodeExt(buf, offset, type, size - 2, 2, context) + } + + if (first >= 0xd9 && first <= 0xdb) { + const length = buf.readUIntBE(offset, size - 1) + offset += size - 1 + + if (!isValidDataSize(length, bufLength, size)) return null + const result = buf.toString('utf8', offset, offset + length) + return [result, size + length] + } + if (first >= 0xdc && first <= 0xdd) { + const length = buf.readUIntBE(offset, size - 1) + offset += size - 1 + return decodeArray(buf, offset, length, size, context) + } + if (first >= 0xde && first <= 0xdf) { + let length + switch (first) { + case 0xde: + // maps up to 2^16 elements - 2 bytes + length = buf.readUInt16BE(offset) + offset += 2 + // console.log(offset - initialOffset) + return decodeMap(buf, offset, length, 3, context) + + case 0xdf: + length = buf.readUInt32BE(offset) + offset += 4 + return decodeMap(buf, offset, length, 5, context) + } + } + if (first >= 0xe0) return [first - 0x100, 1] // 5 bits negative ints + + throw new Error('not implemented yet') +} + +function decodeSigned (buf, offset, size) { + let result + if (size === 1) result = buf.readInt8(offset) + if (size === 2) result = buf.readInt16BE(offset) + if (size === 4) result = buf.readInt32BE(offset) + if (size === 8) result = readInt64BE(buf.slice(offset, offset + 8), 0) + return [result, size + 1] +} + +function decodeExt (buf, offset, type, size, headerSize, context) { + const toDecode = buf.slice(offset, offset + size) + + const decode = context.decodingTypes.get(type) + if (!decode) throw new Error('unable to find ext type ' + type) + + const value = decode(toDecode) + return [value, headerSize + size] +} + +function decodeUnsignedInt (buf, offset, size) { + const maxOffset = offset + size + let result = 0 + while (offset < maxOffset) { result += buf.readUInt8(offset++) * Math.pow(256, maxOffset - offset) } + return [result, size + 1] +} + +function decodeConstants (first) { + if (first === 0xc0) return [null, 1] + if (first === 0xc2) return [false, 1] + if (first === 0xc3) return [true, 1] +} + +function decodeFloat (buf, offset, size) { + let result + if (size === 4) result = buf.readFloatBE(offset) + if (size === 8) result = buf.readDoubleBE(offset) + return [result, size + 1] +} + +function readInt64BE (buf, offset) { + var negate = (buf[offset] & 0x80) == 0x80; // eslint-disable-line + + if (negate) { + let carry = 1 + for (let i = offset + 7; i >= offset; i--) { + const v = (buf[i] ^ 0xff) + carry + buf[i] = v & 0xff + carry = v >> 8 + } + } + + const hi = buf.readUInt32BE(offset + 0) + const lo = buf.readUInt32BE(offset + 4) + return (hi * 4294967296 + lo) * (negate ? -1 : +1) +} + +},{"./helpers.js":5,"bl":14}],4:[function(require,module,exports){ 'use strict' const Buffer = require('safe-buffer').Buffer @@ -777,7 +775,7 @@ function encodeNumber (obj, options) { // return n // } -},{"./helpers.js":5,"bl":15,"safe-buffer":53}],5:[function(require,module,exports){ +},{"./helpers.js":5,"bl":14,"safe-buffer":51}],5:[function(require,module,exports){ 'use strict' const util = require('util') @@ -799,7 +797,7 @@ exports.isFloat = function isFloat (n) { return n % 1 !== 0 } -},{"util":57}],6:[function(require,module,exports){ +},{"util":56}],6:[function(require,module,exports){ 'use strict' const Transform = require('readable-stream').Transform @@ -891,34 +889,7 @@ Decoder.prototype._transform = function (buf, enc, done) { module.exports.decoder = Decoder module.exports.encoder = Encoder -},{"bl":15,"inherits":30,"readable-stream":52}],7:[function(require,module,exports){ - -/** - * Array#filter. - * - * @param {Array} arr - * @param {Function} fn - * @param {Object=} self - * @return {Array} - * @throw TypeError - */ - -module.exports = function (arr, fn, self) { - if (arr.filter) return arr.filter(fn, self); - if (void 0 === arr || null === arr) throw new TypeError; - if ('function' != typeof fn) throw new TypeError; - var ret = []; - for (var i = 0; i < arr.length; i++) { - if (!hasOwn.call(arr, i)) continue; - var val = arr[i]; - if (fn.call(self, val, i, arr)) ret.push(val); - } - return ret; -}; - -var hasOwn = Object.prototype.hasOwnProperty; - -},{}],8:[function(require,module,exports){ +},{"bl":14,"inherits":30,"readable-stream":50}],7:[function(require,module,exports){ (function (global){(function (){ 'use strict'; @@ -1428,7 +1399,7 @@ var objectKeys = Object.keys || function (obj) { }; }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"object-assign":34,"util/":11}],9:[function(require,module,exports){ +},{"object-assign":34,"util/":10}],8:[function(require,module,exports){ if (typeof Object.create === 'function') { // implementation from standard node.js 'util' module module.exports = function inherits(ctor, superCtor) { @@ -1453,14 +1424,14 @@ if (typeof Object.create === 'function') { } } -},{}],10:[function(require,module,exports){ +},{}],9:[function(require,module,exports){ module.exports = function isBuffer(arg) { return arg && typeof arg === 'object' && typeof arg.copy === 'function' && typeof arg.fill === 'function' && typeof arg.readUInt8 === 'function'; } -},{}],11:[function(require,module,exports){ +},{}],10:[function(require,module,exports){ (function (process,global){(function (){ // Copyright Joyent, Inc. and other Node contributors. // @@ -2050,32 +2021,38 @@ function hasOwnProperty(obj, prop) { } }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"./support/isBuffer":10,"_process":35,"inherits":9}],12:[function(require,module,exports){ +},{"./support/isBuffer":9,"_process":35,"inherits":8}],11:[function(require,module,exports){ (function (global){(function (){ 'use strict'; -var filter = require('array-filter'); +var possibleNames = [ + 'BigInt64Array', + 'BigUint64Array', + 'Float32Array', + 'Float64Array', + 'Int16Array', + 'Int32Array', + 'Int8Array', + 'Uint16Array', + 'Uint32Array', + 'Uint8Array', + 'Uint8ClampedArray' +]; + +var g = typeof globalThis === 'undefined' ? global : globalThis; module.exports = function availableTypedArrays() { - return filter([ - 'BigInt64Array', - 'BigUint64Array', - 'Float32Array', - 'Float64Array', - 'Int16Array', - 'Int32Array', - 'Int8Array', - 'Uint16Array', - 'Uint32Array', - 'Uint8Array', - 'Uint8ClampedArray' - ], function (typedArray) { - return typeof global[typedArray] === 'function'; - }); + var out = []; + for (var i = 0; i < possibleNames.length; i++) { + if (typeof g[possibleNames[i]] === 'function') { + out[out.length] = possibleNames[i]; + } + } + return out; }; }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"array-filter":7}],13:[function(require,module,exports){ +},{}],12:[function(require,module,exports){ 'use strict' exports.byteLength = byteLength @@ -2227,7 +2204,7 @@ function fromByteArray (uint8) { return parts.join('') } -},{}],14:[function(require,module,exports){ +},{}],13:[function(require,module,exports){ 'use strict' const { Buffer } = require('buffer') @@ -2625,7 +2602,7 @@ BufferList.isBufferList = function isBufferList (b) { module.exports = BufferList -},{"buffer":17}],15:[function(require,module,exports){ +},{"buffer":16}],14:[function(require,module,exports){ 'use strict' const DuplexStream = require('readable-stream').Duplex @@ -2711,9 +2688,9 @@ module.exports = BufferListStream module.exports.BufferListStream = BufferListStream module.exports.BufferList = BufferList -},{"./BufferList":14,"inherits":30,"readable-stream":52}],16:[function(require,module,exports){ +},{"./BufferList":13,"inherits":30,"readable-stream":50}],15:[function(require,module,exports){ -},{}],17:[function(require,module,exports){ +},{}],16:[function(require,module,exports){ (function (Buffer){(function (){ /*! * The buffer module from node.js, for the browser. @@ -4494,7 +4471,7 @@ function numberIsNaN (obj) { } }).call(this)}).call(this,require("buffer").Buffer) -},{"base64-js":13,"buffer":17,"ieee754":29}],18:[function(require,module,exports){ +},{"base64-js":12,"buffer":16,"ieee754":29}],17:[function(require,module,exports){ 'use strict'; var GetIntrinsic = require('get-intrinsic'); @@ -4511,7 +4488,7 @@ module.exports = function callBoundIntrinsic(name, allowMissing) { return intrinsic; }; -},{"./":19,"get-intrinsic":25}],19:[function(require,module,exports){ +},{"./":18,"get-intrinsic":24}],18:[function(require,module,exports){ 'use strict'; var bind = require('function-bind'); @@ -4560,12 +4537,12 @@ if ($defineProperty) { module.exports.apply = applyBind; } -},{"function-bind":24,"get-intrinsic":25}],20:[function(require,module,exports){ +},{"function-bind":23,"get-intrinsic":24}],19:[function(require,module,exports){ 'use strict'; var GetIntrinsic = require('get-intrinsic'); -var $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%'); +var $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true); if ($gOPD) { try { $gOPD([], 'length'); @@ -4577,7 +4554,7 @@ if ($gOPD) { module.exports = $gOPD; -},{"get-intrinsic":25}],21:[function(require,module,exports){ +},{"get-intrinsic":24}],20:[function(require,module,exports){ // Copyright Joyent, Inc. and other Node contributors. // // Permission is hereby granted, free of charge, to any person obtaining a @@ -5076,7 +5053,7 @@ function eventTargetAgnosticAddListener(emitter, name, listener, flags) { } } -},{}],22:[function(require,module,exports){ +},{}],21:[function(require,module,exports){ var hasOwn = Object.prototype.hasOwnProperty; var toString = Object.prototype.toString; @@ -5100,7 +5077,7 @@ module.exports = function forEach (obj, fn, ctx) { }; -},{}],23:[function(require,module,exports){ +},{}],22:[function(require,module,exports){ 'use strict'; /* eslint no-invalid-this: 1 */ @@ -5154,14 +5131,14 @@ module.exports = function bind(that) { return bound; }; -},{}],24:[function(require,module,exports){ +},{}],23:[function(require,module,exports){ 'use strict'; var implementation = require('./implementation'); module.exports = Function.prototype.bind || implementation; -},{"./implementation":23}],25:[function(require,module,exports){ +},{"./implementation":22}],24:[function(require,module,exports){ 'use strict'; var undefined; @@ -5493,7 +5470,7 @@ module.exports = function GetIntrinsic(name, allowMissing) { return value; }; -},{"function-bind":24,"has":28,"has-symbols":26}],26:[function(require,module,exports){ +},{"function-bind":23,"has":28,"has-symbols":25}],25:[function(require,module,exports){ 'use strict'; var origSymbol = typeof Symbol !== 'undefined' && Symbol; @@ -5508,7 +5485,7 @@ module.exports = function hasNativeSymbols() { return hasSymbolSham(); }; -},{"./shams":27}],27:[function(require,module,exports){ +},{"./shams":26}],26:[function(require,module,exports){ 'use strict'; /* eslint complexity: [2, 18], max-statements: [2, 33] */ @@ -5552,14 +5529,23 @@ module.exports = function hasSymbols() { return true; }; -},{}],28:[function(require,module,exports){ +},{}],27:[function(require,module,exports){ +'use strict'; + +var hasSymbols = require('has-symbols/shams'); + +module.exports = function hasToStringTagShams() { + return hasSymbols() && !!Symbol.toStringTag; +}; + +},{"has-symbols/shams":26}],28:[function(require,module,exports){ 'use strict'; var bind = require('function-bind'); module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty); -},{"function-bind":24}],29:[function(require,module,exports){ +},{"function-bind":23}],29:[function(require,module,exports){ /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ exports.read = function (buffer, offset, isLE, mLen, nBytes) { var e, m @@ -5678,7 +5664,7 @@ if (typeof Object.create === 'function') { },{}],31:[function(require,module,exports){ 'use strict'; -var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol'; +var hasToStringTag = require('has-tostringtag/shams')(); var callBound = require('call-bind/callBound'); var $toString = callBound('Object.prototype.toString'); @@ -5710,13 +5696,13 @@ isStandardArguments.isLegacyArguments = isLegacyArguments; // for tests module.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments; -},{"call-bind/callBound":18}],32:[function(require,module,exports){ +},{"call-bind/callBound":17,"has-tostringtag/shams":27}],32:[function(require,module,exports){ 'use strict'; var toStr = Object.prototype.toString; var fnToStr = Function.prototype.toString; var isFnRegex = /^\s*(?:function)?\*/; -var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol'; +var hasToStringTag = require('has-tostringtag/shams')(); var getProto = Object.getPrototypeOf; var getGeneratorFunc = function () { // eslint-disable-line consistent-return if (!hasToStringTag) { @@ -5727,8 +5713,7 @@ var getGeneratorFunc = function () { // eslint-disable-line consistent-return } catch (e) { } }; -var generatorFunc = getGeneratorFunc(); -var GeneratorFunction = getProto && generatorFunc ? getProto(generatorFunc) : false; +var GeneratorFunction; module.exports = function isGeneratorFunction(fn) { if (typeof fn !== 'function') { @@ -5741,10 +5726,17 @@ module.exports = function isGeneratorFunction(fn) { var str = toStr.call(fn); return str === '[object GeneratorFunction]'; } - return getProto && getProto(fn) === GeneratorFunction; + if (!getProto) { + return false; + } + if (typeof GeneratorFunction === 'undefined') { + var generatorFunc = getGeneratorFunc(); + GeneratorFunction = generatorFunc ? getProto(generatorFunc) : false; + } + return getProto(fn) === GeneratorFunction; }; -},{}],33:[function(require,module,exports){ +},{"has-tostringtag/shams":27}],33:[function(require,module,exports){ (function (global){(function (){ 'use strict'; @@ -5753,9 +5745,9 @@ var availableTypedArrays = require('available-typed-arrays'); var callBound = require('call-bind/callBound'); var $toString = callBound('Object.prototype.toString'); -var hasSymbols = require('has-symbols')(); -var hasToStringTag = hasSymbols && typeof Symbol.toStringTag === 'symbol'; +var hasToStringTag = require('has-tostringtag/shams')(); +var g = typeof globalThis === 'undefined' ? global : globalThis; var typedArrays = availableTypedArrays(); var $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) { @@ -5772,17 +5764,16 @@ var gOPD = require('es-abstract/helpers/getOwnPropertyDescriptor'); var getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof'); if (hasToStringTag && gOPD && getPrototypeOf) { forEach(typedArrays, function (typedArray) { - var arr = new global[typedArray](); - if (!(Symbol.toStringTag in arr)) { - throw new EvalError('this engine has support for Symbol.toStringTag, but ' + typedArray + ' does not have the property! Please report this.'); + var arr = new g[typedArray](); + if (Symbol.toStringTag in arr) { + var proto = getPrototypeOf(arr); + var descriptor = gOPD(proto, Symbol.toStringTag); + if (!descriptor) { + var superProto = getPrototypeOf(proto); + descriptor = gOPD(superProto, Symbol.toStringTag); + } + toStrTags[typedArray] = descriptor.get; } - var proto = getPrototypeOf(arr); - var descriptor = gOPD(proto, Symbol.toStringTag); - if (!descriptor) { - var superProto = getPrototypeOf(proto); - descriptor = gOPD(superProto, Symbol.toStringTag); - } - toStrTags[typedArray] = descriptor.get; }); } @@ -5800,7 +5791,7 @@ var tryTypedArrays = function tryAllTypedArrays(value) { module.exports = function isTypedArray(value) { if (!value || typeof value !== 'object') { return false; } - if (!hasToStringTag) { + if (!hasToStringTag || !(Symbol.toStringTag in value)) { var tag = $slice($toString(value), 8, -1); return $indexOf(typedArrays, tag) > -1; } @@ -5809,7 +5800,7 @@ module.exports = function isTypedArray(value) { }; }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"available-typed-arrays":12,"call-bind/callBound":18,"es-abstract/helpers/getOwnPropertyDescriptor":20,"foreach":22,"has-symbols":26}],34:[function(require,module,exports){ +},{"available-typed-arrays":11,"call-bind/callBound":17,"es-abstract/helpers/getOwnPropertyDescriptor":19,"foreach":21,"has-tostringtag/shams":27}],34:[function(require,module,exports){ /* object-assign (c) Sindre Sorhus @@ -7525,7 +7516,7 @@ function indexOf(xs, x) { return -1; } }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"../errors":36,"./_stream_duplex":37,"./internal/streams/async_iterator":42,"./internal/streams/buffer_list":43,"./internal/streams/destroy":44,"./internal/streams/from":46,"./internal/streams/state":48,"./internal/streams/stream":49,"_process":35,"buffer":17,"events":21,"inherits":30,"string_decoder/":51,"util":16}],40:[function(require,module,exports){ +},{"../errors":36,"./_stream_duplex":37,"./internal/streams/async_iterator":42,"./internal/streams/buffer_list":43,"./internal/streams/destroy":44,"./internal/streams/from":46,"./internal/streams/state":48,"./internal/streams/stream":49,"_process":35,"buffer":16,"events":20,"inherits":30,"string_decoder/":52,"util":15}],40:[function(require,module,exports){ // Copyright Joyent, Inc. and other Node contributors. // // Permission is hereby granted, free of charge, to any person obtaining a @@ -8427,7 +8418,7 @@ Writable.prototype._destroy = function (err, cb) { cb(err); }; }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"../errors":36,"./_stream_duplex":37,"./internal/streams/destroy":44,"./internal/streams/state":48,"./internal/streams/stream":49,"_process":35,"buffer":17,"inherits":30,"util-deprecate":54}],42:[function(require,module,exports){ +},{"../errors":36,"./_stream_duplex":37,"./internal/streams/destroy":44,"./internal/streams/state":48,"./internal/streams/stream":49,"_process":35,"buffer":16,"inherits":30,"util-deprecate":53}],42:[function(require,module,exports){ (function (process){(function (){ 'use strict'; @@ -8848,7 +8839,7 @@ function () { return BufferList; }(); -},{"buffer":17,"util":16}],44:[function(require,module,exports){ +},{"buffer":16,"util":15}],44:[function(require,module,exports){ (function (process){(function (){ 'use strict'; // undocumented cb() API, needed for core, not for public API @@ -9195,7 +9186,19 @@ module.exports = { },{"../../../errors":36}],49:[function(require,module,exports){ module.exports = require('events').EventEmitter; -},{"events":21}],50:[function(require,module,exports){ +},{"events":20}],50:[function(require,module,exports){ +exports = module.exports = require('./lib/_stream_readable.js'); +exports.Stream = exports; +exports.Readable = exports; +exports.Writable = require('./lib/_stream_writable.js'); +exports.Duplex = require('./lib/_stream_duplex.js'); +exports.Transform = require('./lib/_stream_transform.js'); +exports.PassThrough = require('./lib/_stream_passthrough.js'); +exports.finished = require('./lib/internal/streams/end-of-stream.js'); +exports.pipeline = require('./lib/internal/streams/pipeline.js'); + +},{"./lib/_stream_duplex.js":37,"./lib/_stream_passthrough.js":38,"./lib/_stream_readable.js":39,"./lib/_stream_transform.js":40,"./lib/_stream_writable.js":41,"./lib/internal/streams/end-of-stream.js":45,"./lib/internal/streams/pipeline.js":47}],51:[function(require,module,exports){ +/*! safe-buffer. MIT License. Feross Aboukhadijeh */ /* eslint-disable node/no-deprecated-api */ var buffer = require('buffer') var Buffer = buffer.Buffer @@ -9218,6 +9221,8 @@ function SafeBuffer (arg, encodingOrOffset, length) { return Buffer(arg, encodingOrOffset, length) } +SafeBuffer.prototype = Object.create(Buffer.prototype) + // Copy static methods from Buffer copyProps(Buffer, SafeBuffer) @@ -9259,7 +9264,7 @@ SafeBuffer.allocUnsafeSlow = function (size) { return buffer.SlowBuffer(size) } -},{"buffer":17}],51:[function(require,module,exports){ +},{"buffer":16}],52:[function(require,module,exports){ // Copyright Joyent, Inc. and other Node contributors. // // Permission is hereby granted, free of charge, to any person obtaining a @@ -9556,85 +9561,7 @@ function simpleWrite(buf) { function simpleEnd(buf) { return buf && buf.length ? this.write(buf) : ''; } -},{"safe-buffer":50}],52:[function(require,module,exports){ -exports = module.exports = require('./lib/_stream_readable.js'); -exports.Stream = exports; -exports.Readable = exports; -exports.Writable = require('./lib/_stream_writable.js'); -exports.Duplex = require('./lib/_stream_duplex.js'); -exports.Transform = require('./lib/_stream_transform.js'); -exports.PassThrough = require('./lib/_stream_passthrough.js'); -exports.finished = require('./lib/internal/streams/end-of-stream.js'); -exports.pipeline = require('./lib/internal/streams/pipeline.js'); - -},{"./lib/_stream_duplex.js":37,"./lib/_stream_passthrough.js":38,"./lib/_stream_readable.js":39,"./lib/_stream_transform.js":40,"./lib/_stream_writable.js":41,"./lib/internal/streams/end-of-stream.js":45,"./lib/internal/streams/pipeline.js":47}],53:[function(require,module,exports){ -/*! safe-buffer. MIT License. Feross Aboukhadijeh */ -/* eslint-disable node/no-deprecated-api */ -var buffer = require('buffer') -var Buffer = buffer.Buffer - -// alternative to using Object.keys for old browsers -function copyProps (src, dst) { - for (var key in src) { - dst[key] = src[key] - } -} -if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) { - module.exports = buffer -} else { - // Copy properties from require('buffer') - copyProps(buffer, exports) - exports.Buffer = SafeBuffer -} - -function SafeBuffer (arg, encodingOrOffset, length) { - return Buffer(arg, encodingOrOffset, length) -} - -SafeBuffer.prototype = Object.create(Buffer.prototype) - -// Copy static methods from Buffer -copyProps(Buffer, SafeBuffer) - -SafeBuffer.from = function (arg, encodingOrOffset, length) { - if (typeof arg === 'number') { - throw new TypeError('Argument must not be a number') - } - return Buffer(arg, encodingOrOffset, length) -} - -SafeBuffer.alloc = function (size, fill, encoding) { - if (typeof size !== 'number') { - throw new TypeError('Argument must be a number') - } - var buf = Buffer(size) - if (fill !== undefined) { - if (typeof encoding === 'string') { - buf.fill(fill, encoding) - } else { - buf.fill(fill) - } - } else { - buf.fill(0) - } - return buf -} - -SafeBuffer.allocUnsafe = function (size) { - if (typeof size !== 'number') { - throw new TypeError('Argument must be a number') - } - return Buffer(size) -} - -SafeBuffer.allocUnsafeSlow = function (size) { - if (typeof size !== 'number') { - throw new TypeError('Argument must be a number') - } - return buffer.SlowBuffer(size) -} - -},{"buffer":17}],54:[function(require,module,exports){ +},{"safe-buffer":51}],53:[function(require,module,exports){ (function (global){(function (){ /** @@ -9705,9 +9632,9 @@ function config (name) { } }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],55:[function(require,module,exports){ -arguments[4][10][0].apply(exports,arguments) -},{"dup":10}],56:[function(require,module,exports){ +},{}],54:[function(require,module,exports){ +arguments[4][9][0].apply(exports,arguments) +},{"dup":9}],55:[function(require,module,exports){ // Currently in sync with Node.js lib/internal/util/types.js // https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9 @@ -9945,21 +9872,23 @@ function isDataView(value) { } exports.isDataView = isDataView; +// Store a copy of SharedArrayBuffer in case it's deleted elsewhere +var SharedArrayBufferCopy = typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : undefined; function isSharedArrayBufferToString(value) { return ObjectToString(value) === '[object SharedArrayBuffer]'; } -isSharedArrayBufferToString.working = ( - typeof SharedArrayBuffer !== 'undefined' && - isSharedArrayBufferToString(new SharedArrayBuffer()) -); function isSharedArrayBuffer(value) { - if (typeof SharedArrayBuffer === 'undefined') { + if (typeof SharedArrayBufferCopy === 'undefined') { return false; } + if (typeof isSharedArrayBufferToString.working === 'undefined') { + isSharedArrayBufferToString.working = isSharedArrayBufferToString(new SharedArrayBufferCopy()); + } + return isSharedArrayBufferToString.working ? isSharedArrayBufferToString(value) - : value instanceof SharedArrayBuffer; + : value instanceof SharedArrayBufferCopy; } exports.isSharedArrayBuffer = isSharedArrayBuffer; @@ -10041,7 +9970,7 @@ exports.isAnyArrayBuffer = isAnyArrayBuffer; }); }); -},{"is-arguments":31,"is-generator-function":32,"is-typed-array":33,"which-typed-array":58}],57:[function(require,module,exports){ +},{"is-arguments":31,"is-generator-function":32,"is-typed-array":33,"which-typed-array":57}],56:[function(require,module,exports){ (function (process){(function (){ // Copyright Joyent, Inc. and other Node contributors. // @@ -10760,7 +10689,7 @@ function callbackify(original) { exports.callbackify = callbackify; }).call(this)}).call(this,require('_process')) -},{"./support/isBuffer":55,"./support/types":56,"_process":35,"inherits":30}],58:[function(require,module,exports){ +},{"./support/isBuffer":54,"./support/types":55,"_process":35,"inherits":30}],57:[function(require,module,exports){ (function (global){(function (){ 'use strict'; @@ -10769,9 +10698,9 @@ var availableTypedArrays = require('available-typed-arrays'); var callBound = require('call-bind/callBound'); var $toString = callBound('Object.prototype.toString'); -var hasSymbols = require('has-symbols')(); -var hasToStringTag = hasSymbols && typeof Symbol.toStringTag === 'symbol'; +var hasToStringTag = require('has-tostringtag/shams')(); +var g = typeof globalThis === 'undefined' ? global : globalThis; var typedArrays = availableTypedArrays(); var $slice = callBound('String.prototype.slice'); @@ -10780,18 +10709,17 @@ var gOPD = require('es-abstract/helpers/getOwnPropertyDescriptor'); var getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof'); if (hasToStringTag && gOPD && getPrototypeOf) { forEach(typedArrays, function (typedArray) { - if (typeof global[typedArray] === 'function') { - var arr = new global[typedArray](); - if (!(Symbol.toStringTag in arr)) { - throw new EvalError('this engine has support for Symbol.toStringTag, but ' + typedArray + ' does not have the property! Please report this.'); + if (typeof g[typedArray] === 'function') { + var arr = new g[typedArray](); + if (Symbol.toStringTag in arr) { + var proto = getPrototypeOf(arr); + var descriptor = gOPD(proto, Symbol.toStringTag); + if (!descriptor) { + var superProto = getPrototypeOf(proto); + descriptor = gOPD(superProto, Symbol.toStringTag); + } + toStrTags[typedArray] = descriptor.get; } - var proto = getPrototypeOf(arr); - var descriptor = gOPD(proto, Symbol.toStringTag); - if (!descriptor) { - var superProto = getPrototypeOf(proto); - descriptor = gOPD(superProto, Symbol.toStringTag); - } - toStrTags[typedArray] = descriptor.get; } }); } @@ -10815,10 +10743,10 @@ var isTypedArray = require('is-typed-array'); module.exports = function whichTypedArray(value) { if (!isTypedArray(value)) { return false; } - if (!hasToStringTag) { return $slice($toString(value), 8, -1); } + if (!hasToStringTag || !(Symbol.toStringTag in value)) { return $slice($toString(value), 8, -1); } return tryTypedArrays(value); }; }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"available-typed-arrays":12,"call-bind/callBound":18,"es-abstract/helpers/getOwnPropertyDescriptor":20,"foreach":22,"has-symbols":26,"is-typed-array":33}]},{},[1])(1) +},{"available-typed-arrays":11,"call-bind/callBound":17,"es-abstract/helpers/getOwnPropertyDescriptor":19,"foreach":21,"has-tostringtag/shams":27,"is-typed-array":33}]},{},[1])(1) }); diff --git a/Server/wwwroot/lib/msgpack5/msgpack5.min.js b/Server/wwwroot/lib/msgpack5/msgpack5.min.js index 1437b3e4..1d09b60f 100644 --- a/Server/wwwroot/lib/msgpack5/msgpack5.min.js +++ b/Server/wwwroot/lib/msgpack5/msgpack5.min.js @@ -1 +1 @@ -(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.msgpack5=f()}})(function(){var define,module,exports;return function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i=0,"must have a non-negative type");assert(decode,"must have a decode function");decodingTypes.set(type,decode);return this}function register(type,constructor,encode,decode){assert(constructor,"must have a constructor");assert(encode,"must have an encode function");assert(type>=0,"must have a non-negative type");assert(decode,"must have a decode function");function check(obj){return obj instanceof constructor}function reEncode(obj){const buf=bl();const header=Buffer.allocUnsafe(1);header.writeInt8(type,0);buf.append(header);buf.append(encode(obj));return buf}this.registerEncoder(check,reEncode);this.registerDecoder(type,decode);return this}return{encode:buildEncode(encodingTypes,options),decode:buildDecode(decodingTypes,options),register:register,registerEncoder:registerEncoder,registerDecoder:registerDecoder,encoder:streams.encoder,decoder:streams.decoder,buffer:true,type:"msgpack5",IncompleteBufferError:IncompleteBufferError}}module.exports=msgpack},{"./lib/codecs/DateCodec":2,"./lib/decoder":3,"./lib/encoder":4,"./lib/helpers.js":5,"./lib/streams":6,assert:8,bl:15,"safe-buffer":53}],2:[function(require,module,exports){(function(Buffer){(function(){const type=-1;function encode(dt){if(dt===null){return}const millis=dt*1;const seconds=Math.floor(millis/1e3);const nanos=(millis-seconds*1e3)*1e6;if(seconds<0||seconds>17179869184){const encoded=Buffer.allocUnsafe(13);encoded[0]=-1;encoded.writeUInt32BE(nanos,1);let hex="";if(seconds>=0){const padhex="0000000000000000";hex=seconds.toString(16);hex=padhex.slice(0,hex.length*-1)+hex}else{let bin=(seconds*-1).toString(2);let i=bin.length-1;while(bin[i]==="0"){i--}bin=bin.slice(0,i).split("").map(function(bit){return bit==="1"?0:1}).join("")+bin.slice(i,bin.length);const pad64="1111111111111111111111111111111111111111111111111111111111111111";bin=pad64.slice(0,bin.length*-1)+bin;bin.match(/.{1,8}/g).forEach(function(byte){byte=parseInt(byte,2).toString(16);if(byte.length===1){byte="0"+byte}hex+=byte})}encoded.write(hex,5,"hex");return encoded}else if(nanos||seconds>4294967295){const encoded=Buffer.allocUnsafe(9);encoded[0]=-1;const upperNanos=nanos*4;const upperSeconds=seconds/Math.pow(2,32);const upper=upperNanos+upperSeconds&4294967295;const lower=seconds&4294967295;encoded.writeInt32BE(upper,1);encoded.writeInt32BE(lower,5);return encoded}else{const encoded=Buffer.allocUnsafe(5);encoded[0]=-1;encoded.writeUInt32BE(Math.floor(millis/1e3),1);return encoded}}function check(obj){return typeof obj.getDate==="function"}function decode(buf){let seconds;let nanoseconds=0;let upper;let lower;let hex;switch(buf.length){case 4:seconds=buf.readUInt32BE(0);break;case 8:upper=buf.readUInt32BE(0);lower=buf.readUInt32BE(4);nanoseconds=upper/4;seconds=(upper&3)*Math.pow(2,32)+lower;break;case 12:hex=buf.toString("hex",4,12);if(parseInt(buf.toString("hex",4,6),16)&128){let bin="";const pad8="00000000";hex.match(/.{1,2}/g).forEach(function(byte){byte=parseInt(byte,16).toString(2);byte=pad8.slice(0,byte.length*-1)+byte;bin+=byte});seconds=-1*parseInt(bin.split("").map(function(bit){return bit==="1"?0:1}).join(""),2)-1}else{seconds=parseInt(hex,16)}nanoseconds=buf.readUInt32BE(0)}const millis=seconds*1e3+Math.round(nanoseconds/1e6);return new Date(millis)}module.exports={check:check,type:type,encode:encode,decode:decode}}).call(this)}).call(this,require("buffer").Buffer)},{buffer:17}],3:[function(require,module,exports){"use strict";const bl=require("bl");const IncompleteBufferError=require("./helpers.js").IncompleteBufferError;const SIZES={196:2,197:3,198:5,199:3,200:4,201:6,202:5,203:9,204:2,205:3,206:5,207:9,208:2,209:3,210:5,211:9,212:3,213:4,214:6,215:10,216:18,217:2,218:3,219:5,222:3,220:3,221:5};function isValidDataSize(dataLength,bufLength,headerLength){return bufLength>=headerLength+dataLength}module.exports=function buildDecode(decodingTypes,options){return decode;function decode(buf){if(!(buf instanceof bl)){buf=bl().append(buf)}const result=tryDecode(buf,0);if(!result)throw new IncompleteBufferError;buf.consume(result[1]);return result[0]}function tryDecode(buf,initialOffset){if(buf.length<=initialOffset)return null;const bufLength=buf.length-initialOffset;let offset=initialOffset;const first=buf.readUInt8(offset);offset+=1;const size=SIZES[first]||-1;if(bufLengthfirst>=start&&first<=end;if(first<128)return[first,1];if((first&240)===128){const length=first&15;const headerSize=offset-initialOffset;return decodeMap(buf,offset,length,headerSize,options)}if((first&240)===144){const length=first&15;const headerSize=offset-initialOffset;return decodeArray(buf,offset,length,headerSize)}if((first&224)===160){const length=first&31;if(!isValidDataSize(length,bufLength,1))return null;const result=buf.toString("utf8",offset,offset+length);return[result,length+1]}if(inRange(192,195))return decodeConstants(first);if(inRange(196,198)){const length=buf.readUIntBE(offset,size-1);offset+=size-1;if(!isValidDataSize(length,bufLength,size))return null;const result=buf.slice(offset,offset+length);return[result,size+length]}if(inRange(199,201)){const length=buf.readUIntBE(offset,size-2);offset+=size-2;const type=buf.readInt8(offset);offset+=1;if(!isValidDataSize(length,bufLength,size))return null;return decodeExt(buf,offset,type,length,size)}if(inRange(202,203))return decodeFloat(buf,offset,size-1);if(inRange(204,207))return decodeUnsignedInt(buf,offset,size-1);if(inRange(208,211))return decodeSigned(buf,offset,size-1);if(inRange(212,216)){const type=buf.readInt8(offset);offset+=1;return decodeExt(buf,offset,type,size-2,2)}if(inRange(217,219)){const length=buf.readUIntBE(offset,size-1);offset+=size-1;if(!isValidDataSize(length,bufLength,size))return null;const result=buf.toString("utf8",offset,offset+length);return[result,size+length]}if(inRange(220,221)){const length=buf.readUIntBE(offset,size-1);offset+=size-1;return decodeArray(buf,offset,length,size)}if(inRange(222,223)){let length;switch(first){case 222:length=buf.readUInt16BE(offset);offset+=2;return decodeMap(buf,offset,length,3,options);case 223:length=buf.readUInt32BE(offset);offset+=4;return decodeMap(buf,offset,length,5,options)}}if(first>=224)return[first-256,1];throw new Error("not implemented yet")}function decodeArray(buf,initialOffset,length,headerLength){let offset=initialOffset;const result=[];let i=0;while(i++=offset;i--){const v=(buf[i]^255)+carry;buf[i]=v&255;carry=v>>8}}const hi=buf.readUInt32BE(offset+0);const lo=buf.readUInt32BE(offset+4);return(hi*4294967296+lo)*(negate?-1:+1)}function decodeUnsignedInt(buf,offset,size){const maxOffset=offset+size;let result=0;while(offset{acc.push(encode(item))});if(acc.length!==array.length+1){throw new Error("Sparse arrays are not encodable in msgpack")}return bl(acc)}function encodeMap(map,options,encode){const acc=[getHeader(map.size,128,222)];const keys=[...map.keys()];if(!options.preferMap){if(keys.every(item=>typeof item==="string")){console.warn("Map with string only keys will be deserialized as an object!")}}keys.forEach(key=>{acc.push(encode(key),encode(map.get(key)))});return bl(acc)}function encodeObject(obj,options,encode){const keys=[];for(const key in obj){if(Object.prototype.hasOwnProperty.call(obj,key)&&obj[key]!==undefined&&typeof obj[key]!=="function"){keys.push(key)}}const acc=[getHeader(keys.length,128,222)];if(options.sortKeys)keys.sort();keys.forEach(key=>{acc.push(encode(key),encode(obj[key]))});return bl(acc)}function write64BitUint(buf,offset,num){const lo=num%4294967296;const hi=Math.floor(num/4294967296);buf.writeUInt32BE(hi,offset+0);buf.writeUInt32BE(lo,offset+4)}function write64BitInt(buf,offset,num){const negate=num<0;num=Math.abs(num);write64BitUint(buf,offset,num);if(negate)negate64BitInt(buf,offset)}function negate64BitInt(buf,offset){let i=offset+8;while(i-- >offset){if(buf[i]===0)continue;buf[i]=(buf[i]^255)+1;break}while(i-- >offset){buf[i]=buf[i]^255}}const fround=Math.fround;function encodeFloat(obj,forceFloat64){let buf;if(forceFloat64||!fround||!Object.is(fround(obj),obj)){buf=Buffer.allocUnsafe(9);buf[0]=203;buf.writeDoubleBE(obj,1)}else{buf=Buffer.allocUnsafe(5);buf[0]=202;buf.writeFloatBE(obj,1)}return buf}function encodeExt(obj,encodingTypes){const codec=encodingTypes.find(codec=>codec.check(obj));if(!codec)return null;const encoded=codec.encode(obj);if(!encoded)return null;return bl([getExtHeader(encoded.length-1),encoded])}function getExtHeader(length){if(length===1)return Buffer.from([212]);if(length===2)return Buffer.from([213]);if(length===4)return Buffer.from([214]);if(length===8)return Buffer.from([215]);if(length===16)return Buffer.from([216]);if(length<256)return Buffer.from([199,length]);if(length<65536)return Buffer.from([200,length>>8,length&255]);return Buffer.from([201,length>>24,length>>16&255,length>>8&255,length&255])}function getHeader(length,tag1,tag2){if(length<16)return Buffer.from([tag1|length]);const size=length<65536?2:4;const buf=Buffer.allocUnsafe(1+size);buf[0]=length<65536?tag2:tag2+1;buf.writeUIntBE(length,1,size);return buf}function encodeString(obj,options){const len=Buffer.byteLength(obj);let buf;if(len<32){buf=Buffer.allocUnsafe(1+len);buf[0]=160|len;if(len>0){buf.write(obj,1)}}else if(len<=255&&!options.compatibilityMode){buf=Buffer.allocUnsafe(2+len);buf[0]=217;buf[1]=len;buf.write(obj,2)}else if(len<=65535){buf=Buffer.allocUnsafe(3+len);buf[0]=218;buf.writeUInt16BE(len,1);buf.write(obj,3)}else{buf=Buffer.allocUnsafe(5+len);buf[0]=219;buf.writeUInt32BE(len,1);buf.write(obj,5)}return buf}function getBufferHeader(length){let header;if(length<=255){header=Buffer.allocUnsafe(2);header[0]=196;header[1]=length}else if(length<=65535){header=Buffer.allocUnsafe(3);header[0]=197;header.writeUInt16BE(length,1)}else{header=Buffer.allocUnsafe(5);header[0]=198;header.writeUInt32BE(length,1)}return header}function encodeNumber(obj,options){let buf;if(isFloat(obj))return encodeFloat(obj,options.forceFloat64);if(Math.abs(obj)>9007199254740991){return encodeFloat(obj,true)}if(obj>=0){if(obj<128){return Buffer.from([obj])}else if(obj<256){return Buffer.from([204,obj])}else if(obj<65536){return Buffer.from([205,255&obj>>8,255&obj])}else if(obj<=4294967295){return Buffer.from([206,255&obj>>24,255&obj>>16,255&obj>>8,255&obj])}else if(obj<=9007199254740991){buf=Buffer.allocUnsafe(9);buf[0]=207;write64BitUint(buf,1,obj)}}else{if(obj>=-32){buf=Buffer.allocUnsafe(1);buf[0]=256+obj}else if(obj>=-128){buf=Buffer.allocUnsafe(2);buf[0]=208;buf.writeInt8(obj,1)}else if(obj>=-32768){buf=Buffer.allocUnsafe(3);buf[0]=209;buf.writeInt16BE(obj,1)}else if(obj>-214748365){buf=Buffer.allocUnsafe(5);buf[0]=210;buf.writeInt32BE(obj,1)}else if(obj>=-9007199254740991){buf=Buffer.allocUnsafe(9);buf[0]=211;write64BitInt(buf,1,obj)}}return buf}},{"./helpers.js":5,bl:15,"safe-buffer":53}],5:[function(require,module,exports){"use strict";const util=require("util");exports.IncompleteBufferError=IncompleteBufferError;function IncompleteBufferError(message){Error.call(this);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name=this.constructor.name;this.message=message||"unable to decode"}util.inherits(IncompleteBufferError,Error);exports.isFloat=function isFloat(n){return n%1!==0}},{util:57}],6:[function(require,module,exports){"use strict";const Transform=require("readable-stream").Transform;const inherits=require("inherits");const bl=require("bl");function Base(opts){opts=opts||{};opts.objectMode=true;opts.highWaterMark=16;Transform.call(this,opts);this._msgpack=opts.msgpack}inherits(Base,Transform);function Encoder(opts){if(!(this instanceof Encoder)){opts=opts||{};opts.msgpack=this;return new Encoder(opts)}Base.call(this,opts);this._wrap="wrap"in opts&&opts.wrap}inherits(Encoder,Base);Encoder.prototype._transform=function(obj,enc,done){let buf=null;try{buf=this._msgpack.encode(this._wrap?obj.value:obj).slice(0)}catch(err){this.emit("error",err);return done()}this.push(buf);done()};function Decoder(opts){if(!(this instanceof Decoder)){opts=opts||{};opts.msgpack=this;return new Decoder(opts)}Base.call(this,opts);this._chunks=bl();this._wrap="wrap"in opts&&opts.wrap}inherits(Decoder,Base);Decoder.prototype._transform=function(buf,enc,done){if(buf){this._chunks.append(buf)}try{let result=this._msgpack.decode(this._chunks);if(this._wrap){result={value:result}}this.push(result)}catch(err){if(err instanceof this._msgpack.IncompleteBufferError){done()}else{this.emit("error",err)}return}if(this._chunks.length>0){this._transform(null,enc,done)}else{done()}};module.exports.decoder=Decoder;module.exports.encoder=Encoder},{bl:15,inherits:30,"readable-stream":52}],7:[function(require,module,exports){module.exports=function(arr,fn,self){if(arr.filter)return arr.filter(fn,self);if(void 0===arr||null===arr)throw new TypeError;if("function"!=typeof fn)throw new TypeError;var ret=[];for(var i=0;i=0){var next_line=out.indexOf("\n",idx+1);out=out.substring(next_line+1)}this.stack=out}}};util.inherits(assert.AssertionError,Error);function truncate(s,n){if(typeof s==="string"){return s.length=0;i--){if(ka[i]!==kb[i])return false}for(i=ka.length-1;i>=0;i--){key=ka[i];if(!_deepEqual(a[key],b[key],strict,actualVisitedObjects))return false}return true}assert.notDeepEqual=function notDeepEqual(actual,expected,message){if(_deepEqual(actual,expected,false)){fail(actual,expected,message,"notDeepEqual",assert.notDeepEqual)}};assert.notDeepStrictEqual=notDeepStrictEqual;function notDeepStrictEqual(actual,expected,message){if(_deepEqual(actual,expected,true)){fail(actual,expected,message,"notDeepStrictEqual",notDeepStrictEqual)}}assert.strictEqual=function strictEqual(actual,expected,message){if(actual!==expected){fail(actual,expected,message,"===",assert.strictEqual)}};assert.notStrictEqual=function notStrictEqual(actual,expected,message){if(actual===expected){fail(actual,expected,message,"!==",assert.notStrictEqual)}};function expectedException(actual,expected){if(!actual||!expected){return false}if(Object.prototype.toString.call(expected)=="[object RegExp]"){return expected.test(actual)}try{if(actual instanceof expected){return true}}catch(e){}if(Error.isPrototypeOf(expected)){return false}return expected.call({},actual)===true}function _tryBlock(block){var error;try{block()}catch(e){error=e}return error}function _throws(shouldThrow,block,expected,message){var actual;if(typeof block!=="function"){throw new TypeError('"block" argument must be a function')}if(typeof expected==="string"){message=expected;expected=null}actual=_tryBlock(block);message=(expected&&expected.name?" ("+expected.name+").":".")+(message?" "+message:".");if(shouldThrow&&!actual){fail(actual,expected,"Missing expected exception"+message)}var userProvidedMessage=typeof message==="string";var isUnwantedException=!shouldThrow&&util.isError(actual);var isUnexpectedException=!shouldThrow&&actual&&!expected;if(isUnwantedException&&userProvidedMessage&&expectedException(actual,expected)||isUnexpectedException){fail(actual,expected,"Got unwanted exception"+message)}if(shouldThrow&&actual&&expected&&!expectedException(actual,expected)||!shouldThrow&&actual){throw actual}}assert.throws=function(block,error,message){_throws(true,block,error,message)};assert.doesNotThrow=function(block,error,message){_throws(false,block,error,message)};assert.ifError=function(err){if(err)throw err};function strict(value,message){if(!value)fail(value,true,message,"==",strict)}assert.strict=objectAssign(strict,assert,{equal:assert.strictEqual,deepEqual:assert.deepStrictEqual,notEqual:assert.notStrictEqual,notDeepEqual:assert.notDeepStrictEqual});assert.strict.strict=assert.strict;var objectKeys=Object.keys||function(obj){var keys=[];for(var key in obj){if(hasOwn.call(obj,key))keys.push(key)}return keys}}).call(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"object-assign":34,"util/":11}],9:[function(require,module,exports){if(typeof Object.create==="function"){module.exports=function inherits(ctor,superCtor){ctor.super_=superCtor;ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:false,writable:true,configurable:true}})}}else{module.exports=function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype;ctor.prototype=new TempCtor;ctor.prototype.constructor=ctor}}},{}],10:[function(require,module,exports){module.exports=function isBuffer(arg){return arg&&typeof arg==="object"&&typeof arg.copy==="function"&&typeof arg.fill==="function"&&typeof arg.readUInt8==="function"}},{}],11:[function(require,module,exports){(function(process,global){(function(){var formatRegExp=/%[sdj%]/g;exports.format=function(f){if(!isString(f)){var objects=[];for(var i=0;i=len)return x;switch(x){case"%s":return String(args[i++]);case"%d":return Number(args[i++]);case"%j":try{return JSON.stringify(args[i++])}catch(_){return"[Circular]"}default:return x}});for(var x=args[i];i=3)ctx.depth=arguments[2];if(arguments.length>=4)ctx.colors=arguments[3];if(isBoolean(opts)){ctx.showHidden=opts}else if(opts){exports._extend(ctx,opts)}if(isUndefined(ctx.showHidden))ctx.showHidden=false;if(isUndefined(ctx.depth))ctx.depth=2;if(isUndefined(ctx.colors))ctx.colors=false;if(isUndefined(ctx.customInspect))ctx.customInspect=true;if(ctx.colors)ctx.stylize=stylizeWithColor;return formatValue(ctx,obj,ctx.depth)}exports.inspect=inspect;inspect.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};inspect.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function stylizeWithColor(str,styleType){var style=inspect.styles[styleType];if(style){return"["+inspect.colors[style][0]+"m"+str+"["+inspect.colors[style][1]+"m"}else{return str}}function stylizeNoColor(str,styleType){return str}function arrayToHash(array){var hash={};array.forEach(function(val,idx){hash[val]=true});return hash}function formatValue(ctx,value,recurseTimes){if(ctx.customInspect&&value&&isFunction(value.inspect)&&value.inspect!==exports.inspect&&!(value.constructor&&value.constructor.prototype===value)){var ret=value.inspect(recurseTimes,ctx);if(!isString(ret)){ret=formatValue(ctx,ret,recurseTimes)}return ret}var primitive=formatPrimitive(ctx,value);if(primitive){return primitive}var keys=Object.keys(value);var visibleKeys=arrayToHash(keys);if(ctx.showHidden){keys=Object.getOwnPropertyNames(value)}if(isError(value)&&(keys.indexOf("message")>=0||keys.indexOf("description")>=0)){return formatError(value)}if(keys.length===0){if(isFunction(value)){var name=value.name?": "+value.name:"";return ctx.stylize("[Function"+name+"]","special")}if(isRegExp(value)){return ctx.stylize(RegExp.prototype.toString.call(value),"regexp")}if(isDate(value)){return ctx.stylize(Date.prototype.toString.call(value),"date")}if(isError(value)){return formatError(value)}}var base="",array=false,braces=["{","}"];if(isArray(value)){array=true;braces=["[","]"]}if(isFunction(value)){var n=value.name?": "+value.name:"";base=" [Function"+n+"]"}if(isRegExp(value)){base=" "+RegExp.prototype.toString.call(value)}if(isDate(value)){base=" "+Date.prototype.toUTCString.call(value)}if(isError(value)){base=" "+formatError(value)}if(keys.length===0&&(!array||value.length==0)){return braces[0]+base+braces[1]}if(recurseTimes<0){if(isRegExp(value)){return ctx.stylize(RegExp.prototype.toString.call(value),"regexp")}else{return ctx.stylize("[Object]","special")}}ctx.seen.push(value);var output;if(array){output=formatArray(ctx,value,recurseTimes,visibleKeys,keys)}else{output=keys.map(function(key){return formatProperty(ctx,value,recurseTimes,visibleKeys,key,array)})}ctx.seen.pop();return reduceToSingleString(output,base,braces)}function formatPrimitive(ctx,value){if(isUndefined(value))return ctx.stylize("undefined","undefined");if(isString(value)){var simple="'"+JSON.stringify(value).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return ctx.stylize(simple,"string")}if(isNumber(value))return ctx.stylize(""+value,"number");if(isBoolean(value))return ctx.stylize(""+value,"boolean");if(isNull(value))return ctx.stylize("null","null")}function formatError(value){return"["+Error.prototype.toString.call(value)+"]"}function formatArray(ctx,value,recurseTimes,visibleKeys,keys){var output=[];for(var i=0,l=value.length;i-1){if(array){str=str.split("\n").map(function(line){return" "+line}).join("\n").substr(2)}else{str="\n"+str.split("\n").map(function(line){return" "+line}).join("\n")}}}else{str=ctx.stylize("[Circular]","special")}}if(isUndefined(name)){if(array&&key.match(/^\d+$/)){return str}name=JSON.stringify(""+key);if(name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)){name=name.substr(1,name.length-2);name=ctx.stylize(name,"name")}else{name=name.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'");name=ctx.stylize(name,"string")}}return name+": "+str}function reduceToSingleString(output,base,braces){var numLinesEst=0;var length=output.reduce(function(prev,cur){numLinesEst++;if(cur.indexOf("\n")>=0)numLinesEst++;return prev+cur.replace(/\u001b\[\d\d?m/g,"").length+1},0);if(length>60){return braces[0]+(base===""?"":base+"\n ")+" "+output.join(",\n ")+" "+braces[1]}return braces[0]+base+" "+output.join(", ")+" "+braces[1]}function isArray(ar){return Array.isArray(ar)}exports.isArray=isArray;function isBoolean(arg){return typeof arg==="boolean"}exports.isBoolean=isBoolean;function isNull(arg){return arg===null}exports.isNull=isNull;function isNullOrUndefined(arg){return arg==null}exports.isNullOrUndefined=isNullOrUndefined;function isNumber(arg){return typeof arg==="number"}exports.isNumber=isNumber;function isString(arg){return typeof arg==="string"}exports.isString=isString;function isSymbol(arg){return typeof arg==="symbol"}exports.isSymbol=isSymbol;function isUndefined(arg){return arg===void 0}exports.isUndefined=isUndefined;function isRegExp(re){return isObject(re)&&objectToString(re)==="[object RegExp]"}exports.isRegExp=isRegExp;function isObject(arg){return typeof arg==="object"&&arg!==null}exports.isObject=isObject;function isDate(d){return isObject(d)&&objectToString(d)==="[object Date]"}exports.isDate=isDate;function isError(e){return isObject(e)&&(objectToString(e)==="[object Error]"||e instanceof Error)}exports.isError=isError;function isFunction(arg){return typeof arg==="function"}exports.isFunction=isFunction;function isPrimitive(arg){return arg===null||typeof arg==="boolean"||typeof arg==="number"||typeof arg==="string"||typeof arg==="symbol"||typeof arg==="undefined"}exports.isPrimitive=isPrimitive;exports.isBuffer=require("./support/isBuffer");function objectToString(o){return Object.prototype.toString.call(o)}function pad(n){return n<10?"0"+n.toString(10):n.toString(10)}var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function timestamp(){var d=new Date;var time=[pad(d.getHours()),pad(d.getMinutes()),pad(d.getSeconds())].join(":");return[d.getDate(),months[d.getMonth()],time].join(" ")}exports.log=function(){console.log("%s - %s",timestamp(),exports.format.apply(exports,arguments))};exports.inherits=require("inherits");exports._extend=function(origin,add){if(!add||!isObject(add))return origin;var keys=Object.keys(add);var i=keys.length;while(i--){origin[keys[i]]=add[keys[i]]}return origin};function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}}).call(this)}).call(this,require("_process"),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"./support/isBuffer":10,_process:35,inherits:9}],12:[function(require,module,exports){(function(global){(function(){"use strict";var filter=require("array-filter");module.exports=function availableTypedArrays(){return filter(["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],function(typedArray){return typeof global[typedArray]==="function"})}}).call(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"array-filter":7}],13:[function(require,module,exports){"use strict";exports.byteLength=byteLength;exports.toByteArray=toByteArray;exports.fromByteArray=fromByteArray;var lookup=[];var revLookup=[];var Arr=typeof Uint8Array!=="undefined"?Uint8Array:Array;var code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var i=0,len=code.length;i0){throw new Error("Invalid string. Length must be a multiple of 4")}var validLen=b64.indexOf("=");if(validLen===-1)validLen=len;var placeHoldersLen=validLen===len?0:4-validLen%4;return[validLen,placeHoldersLen]}function byteLength(b64){var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function _byteLength(b64,validLen,placeHoldersLen){return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function toByteArray(b64){var tmp;var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];var arr=new Arr(_byteLength(b64,validLen,placeHoldersLen));var curByte=0;var len=placeHoldersLen>0?validLen-4:validLen;var i;for(i=0;i>16&255;arr[curByte++]=tmp>>8&255;arr[curByte++]=tmp&255}if(placeHoldersLen===2){tmp=revLookup[b64.charCodeAt(i)]<<2|revLookup[b64.charCodeAt(i+1)]>>4;arr[curByte++]=tmp&255}if(placeHoldersLen===1){tmp=revLookup[b64.charCodeAt(i)]<<10|revLookup[b64.charCodeAt(i+1)]<<4|revLookup[b64.charCodeAt(i+2)]>>2;arr[curByte++]=tmp>>8&255;arr[curByte++]=tmp&255}return arr}function tripletToBase64(num){return lookup[num>>18&63]+lookup[num>>12&63]+lookup[num>>6&63]+lookup[num&63]}function encodeChunk(uint8,start,end){var tmp;var output=[];for(var i=start;ilen2?len2:i+maxChunkLength))}if(extraBytes===1){tmp=uint8[len-1];parts.push(lookup[tmp>>2]+lookup[tmp<<4&63]+"==")}else if(extraBytes===2){tmp=(uint8[len-2]<<8)+uint8[len-1];parts.push(lookup[tmp>>10]+lookup[tmp>>4&63]+lookup[tmp<<2&63]+"=")}return parts.join("")}},{}],14:[function(require,module,exports){"use strict";const{Buffer:Buffer}=require("buffer");const symbol=Symbol.for("BufferList");function BufferList(buf){if(!(this instanceof BufferList)){return new BufferList(buf)}BufferList._init.call(this,buf)}BufferList._init=function _init(buf){Object.defineProperty(this,symbol,{value:true});this._bufs=[];this.length=0;if(buf){this.append(buf)}};BufferList.prototype._new=function _new(buf){return new BufferList(buf)};BufferList.prototype._offset=function _offset(offset){if(offset===0){return[0,0]}let tot=0;for(let i=0;ithis.length||index<0){return undefined}const offset=this._offset(index);return this._bufs[offset[0]][offset[1]]};BufferList.prototype.slice=function slice(start,end){if(typeof start==="number"&&start<0){start+=this.length}if(typeof end==="number"&&end<0){end+=this.length}return this.copy(null,0,start,end)};BufferList.prototype.copy=function copy(dst,dstStart,srcStart,srcEnd){if(typeof srcStart!=="number"||srcStart<0){srcStart=0}if(typeof srcEnd!=="number"||srcEnd>this.length){srcEnd=this.length}if(srcStart>=this.length){return dst||Buffer.alloc(0)}if(srcEnd<=0){return dst||Buffer.alloc(0)}const copy=!!dst;const off=this._offset(srcStart);const len=srcEnd-srcStart;let bytes=len;let bufoff=copy&&dstStart||0;let start=off[1];if(srcStart===0&&srcEnd===this.length){if(!copy){return this._bufs.length===1?this._bufs[0]:Buffer.concat(this._bufs,this.length)}for(let i=0;il){this._bufs[i].copy(dst,bufoff,start);bufoff+=l}else{this._bufs[i].copy(dst,bufoff,start,start+bytes);bufoff+=l;break}bytes-=l;if(start){start=0}}if(dst.length>bufoff)return dst.slice(0,bufoff);return dst};BufferList.prototype.shallowSlice=function shallowSlice(start,end){start=start||0;end=typeof end!=="number"?this.length:end;if(start<0){start+=this.length}if(end<0){end+=this.length}if(start===end){return this._new()}const startOffset=this._offset(start);const endOffset=this._offset(end);const buffers=this._bufs.slice(startOffset[0],endOffset[0]+1);if(endOffset[1]===0){buffers.pop()}else{buffers[buffers.length-1]=buffers[buffers.length-1].slice(0,endOffset[1])}if(startOffset[1]!==0){buffers[0]=buffers[0].slice(startOffset[1])}return this._new(buffers)};BufferList.prototype.toString=function toString(encoding,start,end){return this.slice(start,end).toString(encoding)};BufferList.prototype.consume=function consume(bytes){bytes=Math.trunc(bytes);if(Number.isNaN(bytes)||bytes<=0)return this;while(this._bufs.length){if(bytes>=this._bufs[0].length){bytes-=this._bufs[0].length;this.length-=this._bufs[0].length;this._bufs.shift()}else{this._bufs[0]=this._bufs[0].slice(bytes);this.length-=bytes;break}}return this};BufferList.prototype.duplicate=function duplicate(){const copy=this._new();for(let i=0;ithis.length?this.length:offset}const blOffset=this._offset(offset);let blIndex=blOffset[0];let buffOffset=blOffset[1];for(;blIndex=search.length){const nativeSearchResult=buff.indexOf(search,buffOffset);if(nativeSearchResult!==-1){return this._reverseOffset([blIndex,nativeSearchResult])}buffOffset=buff.length-search.length+1}else{const revOffset=this._reverseOffset([blIndex,buffOffset]);if(this._match(revOffset,search)){return revOffset}buffOffset++}}buffOffset=0}return-1};BufferList.prototype._match=function(offset,search){if(this.length-offsetK_MAX_LENGTH){throw new RangeError('The value "'+length+'" is invalid for option "size"')}var buf=new Uint8Array(length);buf.__proto__=Buffer.prototype;return buf}function Buffer(arg,encodingOrOffset,length){if(typeof arg==="number"){if(typeof encodingOrOffset==="string"){throw new TypeError('The "string" argument must be of type string. Received type number')}return allocUnsafe(arg)}return from(arg,encodingOrOffset,length)}if(typeof Symbol!=="undefined"&&Symbol.species!=null&&Buffer[Symbol.species]===Buffer){Object.defineProperty(Buffer,Symbol.species,{value:null,configurable:true,enumerable:false,writable:false})}Buffer.poolSize=8192;function from(value,encodingOrOffset,length){if(typeof value==="string"){return fromString(value,encodingOrOffset)}if(ArrayBuffer.isView(value)){return fromArrayLike(value)}if(value==null){throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, "+"or Array-like Object. Received type "+typeof value)}if(isInstance(value,ArrayBuffer)||value&&isInstance(value.buffer,ArrayBuffer)){return fromArrayBuffer(value,encodingOrOffset,length)}if(typeof value==="number"){throw new TypeError('The "value" argument must not be of type number. Received type number')}var valueOf=value.valueOf&&value.valueOf();if(valueOf!=null&&valueOf!==value){return Buffer.from(valueOf,encodingOrOffset,length)}var b=fromObject(value);if(b)return b;if(typeof Symbol!=="undefined"&&Symbol.toPrimitive!=null&&typeof value[Symbol.toPrimitive]==="function"){return Buffer.from(value[Symbol.toPrimitive]("string"),encodingOrOffset,length)}throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, "+"or Array-like Object. Received type "+typeof value)}Buffer.from=function(value,encodingOrOffset,length){return from(value,encodingOrOffset,length)};Buffer.prototype.__proto__=Uint8Array.prototype;Buffer.__proto__=Uint8Array;function assertSize(size){if(typeof size!=="number"){throw new TypeError('"size" argument must be of type number')}else if(size<0){throw new RangeError('The value "'+size+'" is invalid for option "size"')}}function alloc(size,fill,encoding){assertSize(size);if(size<=0){return createBuffer(size)}if(fill!==undefined){return typeof encoding==="string"?createBuffer(size).fill(fill,encoding):createBuffer(size).fill(fill)}return createBuffer(size)}Buffer.alloc=function(size,fill,encoding){return alloc(size,fill,encoding)};function allocUnsafe(size){assertSize(size);return createBuffer(size<0?0:checked(size)|0)}Buffer.allocUnsafe=function(size){return allocUnsafe(size)};Buffer.allocUnsafeSlow=function(size){return allocUnsafe(size)};function fromString(string,encoding){if(typeof encoding!=="string"||encoding===""){encoding="utf8"}if(!Buffer.isEncoding(encoding)){throw new TypeError("Unknown encoding: "+encoding)}var length=byteLength(string,encoding)|0;var buf=createBuffer(length);var actual=buf.write(string,encoding);if(actual!==length){buf=buf.slice(0,actual)}return buf}function fromArrayLike(array){var length=array.length<0?0:checked(array.length)|0;var buf=createBuffer(length);for(var i=0;i=K_MAX_LENGTH){throw new RangeError("Attempt to allocate Buffer larger than maximum "+"size: 0x"+K_MAX_LENGTH.toString(16)+" bytes")}return length|0}function SlowBuffer(length){if(+length!=length){length=0}return Buffer.alloc(+length)}Buffer.isBuffer=function isBuffer(b){return b!=null&&b._isBuffer===true&&b!==Buffer.prototype};Buffer.compare=function compare(a,b){if(isInstance(a,Uint8Array))a=Buffer.from(a,a.offset,a.byteLength);if(isInstance(b,Uint8Array))b=Buffer.from(b,b.offset,b.byteLength);if(!Buffer.isBuffer(a)||!Buffer.isBuffer(b)){throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array')}if(a===b)return 0;var x=a.length;var y=b.length;for(var i=0,len=Math.min(x,y);i2&&arguments[2]===true;if(!mustMatch&&len===0)return 0;var loweredCase=false;for(;;){switch(encoding){case"ascii":case"latin1":case"binary":return len;case"utf8":case"utf-8":return utf8ToBytes(string).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return len*2;case"hex":return len>>>1;case"base64":return base64ToBytes(string).length;default:if(loweredCase){return mustMatch?-1:utf8ToBytes(string).length}encoding=(""+encoding).toLowerCase();loweredCase=true}}}Buffer.byteLength=byteLength;function slowToString(encoding,start,end){var loweredCase=false;if(start===undefined||start<0){start=0}if(start>this.length){return""}if(end===undefined||end>this.length){end=this.length}if(end<=0){return""}end>>>=0;start>>>=0;if(end<=start){return""}if(!encoding)encoding="utf8";while(true){switch(encoding){case"hex":return hexSlice(this,start,end);case"utf8":case"utf-8":return utf8Slice(this,start,end);case"ascii":return asciiSlice(this,start,end);case"latin1":case"binary":return latin1Slice(this,start,end);case"base64":return base64Slice(this,start,end);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,start,end);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(encoding+"").toLowerCase();loweredCase=true}}}Buffer.prototype._isBuffer=true;function swap(b,n,m){var i=b[n];b[n]=b[m];b[m]=i}Buffer.prototype.swap16=function swap16(){var len=this.length;if(len%2!==0){throw new RangeError("Buffer size must be a multiple of 16-bits")}for(var i=0;imax)str+=" ... ";return""};Buffer.prototype.compare=function compare(target,start,end,thisStart,thisEnd){if(isInstance(target,Uint8Array)){target=Buffer.from(target,target.offset,target.byteLength)}if(!Buffer.isBuffer(target)){throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. '+"Received type "+typeof target)}if(start===undefined){start=0}if(end===undefined){end=target?target.length:0}if(thisStart===undefined){thisStart=0}if(thisEnd===undefined){thisEnd=this.length}if(start<0||end>target.length||thisStart<0||thisEnd>this.length){throw new RangeError("out of range index")}if(thisStart>=thisEnd&&start>=end){return 0}if(thisStart>=thisEnd){return-1}if(start>=end){return 1}start>>>=0;end>>>=0;thisStart>>>=0;thisEnd>>>=0;if(this===target)return 0;var x=thisEnd-thisStart;var y=end-start;var len=Math.min(x,y);var thisCopy=this.slice(thisStart,thisEnd);var targetCopy=target.slice(start,end);for(var i=0;i2147483647){byteOffset=2147483647}else if(byteOffset<-2147483648){byteOffset=-2147483648}byteOffset=+byteOffset;if(numberIsNaN(byteOffset)){byteOffset=dir?0:buffer.length-1}if(byteOffset<0)byteOffset=buffer.length+byteOffset;if(byteOffset>=buffer.length){if(dir)return-1;else byteOffset=buffer.length-1}else if(byteOffset<0){if(dir)byteOffset=0;else return-1}if(typeof val==="string"){val=Buffer.from(val,encoding)}if(Buffer.isBuffer(val)){if(val.length===0){return-1}return arrayIndexOf(buffer,val,byteOffset,encoding,dir)}else if(typeof val==="number"){val=val&255;if(typeof Uint8Array.prototype.indexOf==="function"){if(dir){return Uint8Array.prototype.indexOf.call(buffer,val,byteOffset)}else{return Uint8Array.prototype.lastIndexOf.call(buffer,val,byteOffset)}}return arrayIndexOf(buffer,[val],byteOffset,encoding,dir)}throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(arr,val,byteOffset,encoding,dir){var indexSize=1;var arrLength=arr.length;var valLength=val.length;if(encoding!==undefined){encoding=String(encoding).toLowerCase();if(encoding==="ucs2"||encoding==="ucs-2"||encoding==="utf16le"||encoding==="utf-16le"){if(arr.length<2||val.length<2){return-1}indexSize=2;arrLength/=2;valLength/=2;byteOffset/=2}}function read(buf,i){if(indexSize===1){return buf[i]}else{return buf.readUInt16BE(i*indexSize)}}var i;if(dir){var foundIndex=-1;for(i=byteOffset;iarrLength)byteOffset=arrLength-valLength;for(i=byteOffset;i>=0;i--){var found=true;for(var j=0;jremaining){length=remaining}}var strLen=string.length;if(length>strLen/2){length=strLen/2}for(var i=0;i>>0;if(isFinite(length)){length=length>>>0;if(encoding===undefined)encoding="utf8"}else{encoding=length;length=undefined}}else{throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported")}var remaining=this.length-offset;if(length===undefined||length>remaining)length=remaining;if(string.length>0&&(length<0||offset<0)||offset>this.length){throw new RangeError("Attempt to write outside buffer bounds")}if(!encoding)encoding="utf8";var loweredCase=false;for(;;){switch(encoding){case"hex":return hexWrite(this,string,offset,length);case"utf8":case"utf-8":return utf8Write(this,string,offset,length);case"ascii":return asciiWrite(this,string,offset,length);case"latin1":case"binary":return latin1Write(this,string,offset,length);case"base64":return base64Write(this,string,offset,length);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,string,offset,length);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(""+encoding).toLowerCase();loweredCase=true}}};Buffer.prototype.toJSON=function toJSON(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function base64Slice(buf,start,end){if(start===0&&end===buf.length){return base64.fromByteArray(buf)}else{return base64.fromByteArray(buf.slice(start,end))}}function utf8Slice(buf,start,end){end=Math.min(buf.length,end);var res=[];var i=start;while(i239?4:firstByte>223?3:firstByte>191?2:1;if(i+bytesPerSequence<=end){var secondByte,thirdByte,fourthByte,tempCodePoint;switch(bytesPerSequence){case 1:if(firstByte<128){codePoint=firstByte}break;case 2:secondByte=buf[i+1];if((secondByte&192)===128){tempCodePoint=(firstByte&31)<<6|secondByte&63;if(tempCodePoint>127){codePoint=tempCodePoint}}break;case 3:secondByte=buf[i+1];thirdByte=buf[i+2];if((secondByte&192)===128&&(thirdByte&192)===128){tempCodePoint=(firstByte&15)<<12|(secondByte&63)<<6|thirdByte&63;if(tempCodePoint>2047&&(tempCodePoint<55296||tempCodePoint>57343)){codePoint=tempCodePoint}}break;case 4:secondByte=buf[i+1];thirdByte=buf[i+2];fourthByte=buf[i+3];if((secondByte&192)===128&&(thirdByte&192)===128&&(fourthByte&192)===128){tempCodePoint=(firstByte&15)<<18|(secondByte&63)<<12|(thirdByte&63)<<6|fourthByte&63;if(tempCodePoint>65535&&tempCodePoint<1114112){codePoint=tempCodePoint}}}}if(codePoint===null){codePoint=65533;bytesPerSequence=1}else if(codePoint>65535){codePoint-=65536;res.push(codePoint>>>10&1023|55296);codePoint=56320|codePoint&1023}res.push(codePoint);i+=bytesPerSequence}return decodeCodePointsArray(res)}var MAX_ARGUMENTS_LENGTH=4096;function decodeCodePointsArray(codePoints){var len=codePoints.length;if(len<=MAX_ARGUMENTS_LENGTH){return String.fromCharCode.apply(String,codePoints)}var res="";var i=0;while(ilen)end=len;var out="";for(var i=start;ilen){start=len}if(end<0){end+=len;if(end<0)end=0}else if(end>len){end=len}if(endlength)throw new RangeError("Trying to access beyond buffer length")}Buffer.prototype.readUIntLE=function readUIntLE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i>>0;byteLength=byteLength>>>0;if(!noAssert){checkOffset(offset,byteLength,this.length)}var val=this[offset+--byteLength];var mul=1;while(byteLength>0&&(mul*=256)){val+=this[offset+--byteLength]*mul}return val};Buffer.prototype.readUInt8=function readUInt8(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,1,this.length);return this[offset]};Buffer.prototype.readUInt16LE=function readUInt16LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);return this[offset]|this[offset+1]<<8};Buffer.prototype.readUInt16BE=function readUInt16BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);return this[offset]<<8|this[offset+1]};Buffer.prototype.readUInt32LE=function readUInt32LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return(this[offset]|this[offset+1]<<8|this[offset+2]<<16)+this[offset+3]*16777216};Buffer.prototype.readUInt32BE=function readUInt32BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]*16777216+(this[offset+1]<<16|this[offset+2]<<8|this[offset+3])};Buffer.prototype.readIntLE=function readIntLE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readIntBE=function readIntBE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var i=byteLength;var mul=1;var val=this[offset+--i];while(i>0&&(mul*=256)){val+=this[offset+--i]*mul}mul*=128;if(val>=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readInt8=function readInt8(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,1,this.length);if(!(this[offset]&128))return this[offset];return(255-this[offset]+1)*-1};Buffer.prototype.readInt16LE=function readInt16LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset]|this[offset+1]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt16BE=function readInt16BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset+1]|this[offset]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt32LE=function readInt32LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]|this[offset+1]<<8|this[offset+2]<<16|this[offset+3]<<24};Buffer.prototype.readInt32BE=function readInt32BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]<<24|this[offset+1]<<16|this[offset+2]<<8|this[offset+3]};Buffer.prototype.readFloatLE=function readFloatLE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,true,23,4)};Buffer.prototype.readFloatBE=function readFloatBE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,false,23,4)};Buffer.prototype.readDoubleLE=function readDoubleLE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,true,52,8)};Buffer.prototype.readDoubleBE=function readDoubleBE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,false,52,8)};function checkInt(buf,value,offset,ext,max,min){if(!Buffer.isBuffer(buf))throw new TypeError('"buffer" argument must be a Buffer instance');if(value>max||valuebuf.length)throw new RangeError("Index out of range")}Buffer.prototype.writeUIntLE=function writeUIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var mul=1;var i=0;this[offset]=value&255;while(++i>>0;byteLength=byteLength>>>0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var i=byteLength-1;var mul=1;this[offset+i]=value&255;while(--i>=0&&(mul*=256)){this[offset+i]=value/mul&255}return offset+byteLength};Buffer.prototype.writeUInt8=function writeUInt8(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,1,255,0);this[offset]=value&255;return offset+1};Buffer.prototype.writeUInt16LE=function writeUInt16LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,65535,0);this[offset]=value&255;this[offset+1]=value>>>8;return offset+2};Buffer.prototype.writeUInt16BE=function writeUInt16BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,65535,0);this[offset]=value>>>8;this[offset+1]=value&255;return offset+2};Buffer.prototype.writeUInt32LE=function writeUInt32LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);this[offset+3]=value>>>24;this[offset+2]=value>>>16;this[offset+1]=value>>>8;this[offset]=value&255;return offset+4};Buffer.prototype.writeUInt32BE=function writeUInt32BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255;return offset+4};Buffer.prototype.writeIntLE=function writeIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=0;var mul=1;var sub=0;this[offset]=value&255;while(++i>0)-sub&255}return offset+byteLength};Buffer.prototype.writeIntBE=function writeIntBE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=byteLength-1;var mul=1;var sub=0;this[offset+i]=value&255;while(--i>=0&&(mul*=256)){if(value<0&&sub===0&&this[offset+i+1]!==0){sub=1}this[offset+i]=(value/mul>>0)-sub&255}return offset+byteLength};Buffer.prototype.writeInt8=function writeInt8(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,1,127,-128);if(value<0)value=255+value+1;this[offset]=value&255;return offset+1};Buffer.prototype.writeInt16LE=function writeInt16LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);this[offset]=value&255;this[offset+1]=value>>>8;return offset+2};Buffer.prototype.writeInt16BE=function writeInt16BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);this[offset]=value>>>8;this[offset+1]=value&255;return offset+2};Buffer.prototype.writeInt32LE=function writeInt32LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);this[offset]=value&255;this[offset+1]=value>>>8;this[offset+2]=value>>>16;this[offset+3]=value>>>24;return offset+4};Buffer.prototype.writeInt32BE=function writeInt32BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);if(value<0)value=4294967295+value+1;this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255;return offset+4};function checkIEEE754(buf,value,offset,ext,max,min){if(offset+ext>buf.length)throw new RangeError("Index out of range");if(offset<0)throw new RangeError("Index out of range")}function writeFloat(buf,value,offset,littleEndian,noAssert){value=+value;offset=offset>>>0;if(!noAssert){checkIEEE754(buf,value,offset,4,34028234663852886e22,-34028234663852886e22)}ieee754.write(buf,value,offset,littleEndian,23,4);return offset+4}Buffer.prototype.writeFloatLE=function writeFloatLE(value,offset,noAssert){return writeFloat(this,value,offset,true,noAssert)};Buffer.prototype.writeFloatBE=function writeFloatBE(value,offset,noAssert){return writeFloat(this,value,offset,false,noAssert)};function writeDouble(buf,value,offset,littleEndian,noAssert){value=+value;offset=offset>>>0;if(!noAssert){checkIEEE754(buf,value,offset,8,17976931348623157e292,-17976931348623157e292)}ieee754.write(buf,value,offset,littleEndian,52,8);return offset+8}Buffer.prototype.writeDoubleLE=function writeDoubleLE(value,offset,noAssert){return writeDouble(this,value,offset,true,noAssert)};Buffer.prototype.writeDoubleBE=function writeDoubleBE(value,offset,noAssert){return writeDouble(this,value,offset,false,noAssert)};Buffer.prototype.copy=function copy(target,targetStart,start,end){if(!Buffer.isBuffer(target))throw new TypeError("argument should be a Buffer");if(!start)start=0;if(!end&&end!==0)end=this.length;if(targetStart>=target.length)targetStart=target.length;if(!targetStart)targetStart=0;if(end>0&&end=this.length)throw new RangeError("Index out of range");if(end<0)throw new RangeError("sourceEnd out of bounds");if(end>this.length)end=this.length;if(target.length-targetStart=0;--i){target[i+targetStart]=this[i+start]}}else{Uint8Array.prototype.set.call(target,this.subarray(start,end),targetStart)}return len};Buffer.prototype.fill=function fill(val,start,end,encoding){if(typeof val==="string"){if(typeof start==="string"){encoding=start;start=0;end=this.length}else if(typeof end==="string"){encoding=end;end=this.length}if(encoding!==undefined&&typeof encoding!=="string"){throw new TypeError("encoding must be a string")}if(typeof encoding==="string"&&!Buffer.isEncoding(encoding)){throw new TypeError("Unknown encoding: "+encoding)}if(val.length===1){var code=val.charCodeAt(0);if(encoding==="utf8"&&code<128||encoding==="latin1"){val=code}}}else if(typeof val==="number"){val=val&255}if(start<0||this.length>>0;end=end===undefined?this.length:end>>>0;if(!val)val=0;var i;if(typeof val==="number"){for(i=start;i55295&&codePoint<57344){if(!leadSurrogate){if(codePoint>56319){if((units-=3)>-1)bytes.push(239,191,189);continue}else if(i+1===length){if((units-=3)>-1)bytes.push(239,191,189);continue}leadSurrogate=codePoint;continue}if(codePoint<56320){if((units-=3)>-1)bytes.push(239,191,189);leadSurrogate=codePoint;continue}codePoint=(leadSurrogate-55296<<10|codePoint-56320)+65536}else if(leadSurrogate){if((units-=3)>-1)bytes.push(239,191,189)}leadSurrogate=null;if(codePoint<128){if((units-=1)<0)break;bytes.push(codePoint)}else if(codePoint<2048){if((units-=2)<0)break;bytes.push(codePoint>>6|192,codePoint&63|128)}else if(codePoint<65536){if((units-=3)<0)break;bytes.push(codePoint>>12|224,codePoint>>6&63|128,codePoint&63|128)}else if(codePoint<1114112){if((units-=4)<0)break;bytes.push(codePoint>>18|240,codePoint>>12&63|128,codePoint>>6&63|128,codePoint&63|128)}else{throw new Error("Invalid code point")}}return bytes}function asciiToBytes(str){var byteArray=[];for(var i=0;i>8;lo=c%256;byteArray.push(lo);byteArray.push(hi)}return byteArray}function base64ToBytes(str){return base64.toByteArray(base64clean(str))}function blitBuffer(src,dst,offset,length){for(var i=0;i=dst.length||i>=src.length)break;dst[i+offset]=src[i]}return i}function isInstance(obj,type){return obj instanceof type||obj!=null&&obj.constructor!=null&&obj.constructor.name!=null&&obj.constructor.name===type.name}function numberIsNaN(obj){return obj!==obj}}).call(this)}).call(this,require("buffer").Buffer)},{"base64-js":13,buffer:17,ieee754:29}],18:[function(require,module,exports){"use strict";var GetIntrinsic=require("get-intrinsic");var callBind=require("./");var $indexOf=callBind(GetIntrinsic("String.prototype.indexOf"));module.exports=function callBoundIntrinsic(name,allowMissing){var intrinsic=GetIntrinsic(name,!!allowMissing);if(typeof intrinsic==="function"&&$indexOf(name,".prototype.")>-1){return callBind(intrinsic)}return intrinsic}},{"./":19,"get-intrinsic":25}],19:[function(require,module,exports){"use strict";var bind=require("function-bind");var GetIntrinsic=require("get-intrinsic");var $apply=GetIntrinsic("%Function.prototype.apply%");var $call=GetIntrinsic("%Function.prototype.call%");var $reflectApply=GetIntrinsic("%Reflect.apply%",true)||bind.call($call,$apply);var $gOPD=GetIntrinsic("%Object.getOwnPropertyDescriptor%",true);var $defineProperty=GetIntrinsic("%Object.defineProperty%",true);var $max=GetIntrinsic("%Math.max%");if($defineProperty){try{$defineProperty({},"a",{value:1})}catch(e){$defineProperty=null}}module.exports=function callBind(originalFunction){var func=$reflectApply(bind,$call,arguments);if($gOPD&&$defineProperty){var desc=$gOPD(func,"length");if(desc.configurable){$defineProperty(func,"length",{value:1+$max(0,originalFunction.length-(arguments.length-1))})}}return func};var applyBind=function applyBind(){return $reflectApply(bind,$apply,arguments)};if($defineProperty){$defineProperty(module.exports,"apply",{value:applyBind})}else{module.exports.apply=applyBind}},{"function-bind":24,"get-intrinsic":25}],20:[function(require,module,exports){"use strict";var GetIntrinsic=require("get-intrinsic");var $gOPD=GetIntrinsic("%Object.getOwnPropertyDescriptor%");if($gOPD){try{$gOPD([],"length")}catch(e){$gOPD=null}}module.exports=$gOPD},{"get-intrinsic":25}],21:[function(require,module,exports){"use strict";var R=typeof Reflect==="object"?Reflect:null;var ReflectApply=R&&typeof R.apply==="function"?R.apply:function ReflectApply(target,receiver,args){return Function.prototype.apply.call(target,receiver,args)};var ReflectOwnKeys;if(R&&typeof R.ownKeys==="function"){ReflectOwnKeys=R.ownKeys}else if(Object.getOwnPropertySymbols){ReflectOwnKeys=function ReflectOwnKeys(target){return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target))}}else{ReflectOwnKeys=function ReflectOwnKeys(target){return Object.getOwnPropertyNames(target)}}function ProcessEmitWarning(warning){if(console&&console.warn)console.warn(warning)}var NumberIsNaN=Number.isNaN||function NumberIsNaN(value){return value!==value};function EventEmitter(){EventEmitter.init.call(this)}module.exports=EventEmitter;module.exports.once=once;EventEmitter.EventEmitter=EventEmitter;EventEmitter.prototype._events=undefined;EventEmitter.prototype._eventsCount=0;EventEmitter.prototype._maxListeners=undefined;var defaultMaxListeners=10;function checkListener(listener){if(typeof listener!=="function"){throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof listener)}}Object.defineProperty(EventEmitter,"defaultMaxListeners",{enumerable:true,get:function(){return defaultMaxListeners},set:function(arg){if(typeof arg!=="number"||arg<0||NumberIsNaN(arg)){throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+arg+".")}defaultMaxListeners=arg}});EventEmitter.init=function(){if(this._events===undefined||this._events===Object.getPrototypeOf(this)._events){this._events=Object.create(null);this._eventsCount=0}this._maxListeners=this._maxListeners||undefined};EventEmitter.prototype.setMaxListeners=function setMaxListeners(n){if(typeof n!=="number"||n<0||NumberIsNaN(n)){throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+n+".")}this._maxListeners=n;return this};function _getMaxListeners(that){if(that._maxListeners===undefined)return EventEmitter.defaultMaxListeners;return that._maxListeners}EventEmitter.prototype.getMaxListeners=function getMaxListeners(){return _getMaxListeners(this)};EventEmitter.prototype.emit=function emit(type){var args=[];for(var i=1;i0)er=args[0];if(er instanceof Error){throw er}var err=new Error("Unhandled error."+(er?" ("+er.message+")":""));err.context=er;throw err}var handler=events[type];if(handler===undefined)return false;if(typeof handler==="function"){ReflectApply(handler,this,args)}else{var len=handler.length;var listeners=arrayClone(handler,len);for(var i=0;i0&&existing.length>m&&!existing.warned){existing.warned=true;var w=new Error("Possible EventEmitter memory leak detected. "+existing.length+" "+String(type)+" listeners "+"added. Use emitter.setMaxListeners() to "+"increase limit");w.name="MaxListenersExceededWarning";w.emitter=target;w.type=type;w.count=existing.length;ProcessEmitWarning(w)}}return target}EventEmitter.prototype.addListener=function addListener(type,listener){return _addListener(this,type,listener,false)};EventEmitter.prototype.on=EventEmitter.prototype.addListener;EventEmitter.prototype.prependListener=function prependListener(type,listener){return _addListener(this,type,listener,true)};function onceWrapper(){if(!this.fired){this.target.removeListener(this.type,this.wrapFn);this.fired=true;if(arguments.length===0)return this.listener.call(this.target);return this.listener.apply(this.target,arguments)}}function _onceWrap(target,type,listener){var state={fired:false,wrapFn:undefined,target:target,type:type,listener:listener};var wrapped=onceWrapper.bind(state);wrapped.listener=listener;state.wrapFn=wrapped;return wrapped}EventEmitter.prototype.once=function once(type,listener){checkListener(listener);this.on(type,_onceWrap(this,type,listener));return this};EventEmitter.prototype.prependOnceListener=function prependOnceListener(type,listener){checkListener(listener);this.prependListener(type,_onceWrap(this,type,listener));return this};EventEmitter.prototype.removeListener=function removeListener(type,listener){var list,events,position,i,originalListener;checkListener(listener);events=this._events;if(events===undefined)return this;list=events[type];if(list===undefined)return this;if(list===listener||list.listener===listener){if(--this._eventsCount===0)this._events=Object.create(null);else{delete events[type];if(events.removeListener)this.emit("removeListener",type,list.listener||listener)}}else if(typeof list!=="function"){position=-1;for(i=list.length-1;i>=0;i--){if(list[i]===listener||list[i].listener===listener){originalListener=list[i].listener;position=i;break}}if(position<0)return this;if(position===0)list.shift();else{spliceOne(list,position)}if(list.length===1)events[type]=list[0];if(events.removeListener!==undefined)this.emit("removeListener",type,originalListener||listener)}return this};EventEmitter.prototype.off=EventEmitter.prototype.removeListener;EventEmitter.prototype.removeAllListeners=function removeAllListeners(type){var listeners,events,i;events=this._events;if(events===undefined)return this;if(events.removeListener===undefined){if(arguments.length===0){this._events=Object.create(null);this._eventsCount=0}else if(events[type]!==undefined){if(--this._eventsCount===0)this._events=Object.create(null);else delete events[type]}return this}if(arguments.length===0){var keys=Object.keys(events);var key;for(i=0;i=0;i--){this.removeListener(type,listeners[i])}}return this};function _listeners(target,type,unwrap){var events=target._events;if(events===undefined)return[];var evlistener=events[type];if(evlistener===undefined)return[];if(typeof evlistener==="function")return unwrap?[evlistener.listener||evlistener]:[evlistener];return unwrap?unwrapListeners(evlistener):arrayClone(evlistener,evlistener.length)}EventEmitter.prototype.listeners=function listeners(type){return _listeners(this,type,true)};EventEmitter.prototype.rawListeners=function rawListeners(type){return _listeners(this,type,false)};EventEmitter.listenerCount=function(emitter,type){if(typeof emitter.listenerCount==="function"){return emitter.listenerCount(type)}else{return listenerCount.call(emitter,type)}};EventEmitter.prototype.listenerCount=listenerCount;function listenerCount(type){var events=this._events;if(events!==undefined){var evlistener=events[type];if(typeof evlistener==="function"){return 1}else if(evlistener!==undefined){return evlistener.length}}return 0}EventEmitter.prototype.eventNames=function eventNames(){return this._eventsCount>0?ReflectOwnKeys(this._events):[]};function arrayClone(arr,n){var copy=new Array(n);for(var i=0;i1&&typeof allowMissing!=="boolean"){throw new $TypeError('"allowMissing" argument must be a boolean')}var parts=stringToPath(name);var intrinsicBaseName=parts.length>0?parts[0]:"";var intrinsic=getBaseIntrinsic("%"+intrinsicBaseName+"%",allowMissing);var intrinsicRealName=intrinsic.name;var value=intrinsic.value;var skipFurtherCaching=false;var alias=intrinsic.alias;if(alias){intrinsicBaseName=alias[0];$spliceApply(parts,$concat([0,1],alias))}for(var i=1,isOwn=true;i=parts.length){var desc=$gOPD(value,part);isOwn=!!desc;if(isOwn&&"get"in desc&&!("originalValue"in desc.get)){value=desc.get}else{value=value[part]}}else{isOwn=hasOwn(value,part);value=value[part]}if(isOwn&&!skipFurtherCaching){INTRINSICS[intrinsicRealName]=value}}}return value}},{"function-bind":24,has:28,"has-symbols":26}],26:[function(require,module,exports){"use strict";var origSymbol=typeof Symbol!=="undefined"&&Symbol;var hasSymbolSham=require("./shams");module.exports=function hasNativeSymbols(){if(typeof origSymbol!=="function"){return false}if(typeof Symbol!=="function"){return false}if(typeof origSymbol("foo")!=="symbol"){return false}if(typeof Symbol("bar")!=="symbol"){return false}return hasSymbolSham()}},{"./shams":27}],27:[function(require,module,exports){"use strict";module.exports=function hasSymbols(){if(typeof Symbol!=="function"||typeof Object.getOwnPropertySymbols!=="function"){return false}if(typeof Symbol.iterator==="symbol"){return true}var obj={};var sym=Symbol("test");var symObj=Object(sym);if(typeof sym==="string"){return false}if(Object.prototype.toString.call(sym)!=="[object Symbol]"){return false}if(Object.prototype.toString.call(symObj)!=="[object Symbol]"){return false}var symVal=42;obj[sym]=symVal;for(sym in obj){return false}if(typeof Object.keys==="function"&&Object.keys(obj).length!==0){return false}if(typeof Object.getOwnPropertyNames==="function"&&Object.getOwnPropertyNames(obj).length!==0){return false}var syms=Object.getOwnPropertySymbols(obj);if(syms.length!==1||syms[0]!==sym){return false}if(!Object.prototype.propertyIsEnumerable.call(obj,sym)){return false}if(typeof Object.getOwnPropertyDescriptor==="function"){var descriptor=Object.getOwnPropertyDescriptor(obj,sym);if(descriptor.value!==symVal||descriptor.enumerable!==true){return false}}return true}},{}],28:[function(require,module,exports){"use strict";var bind=require("function-bind");module.exports=bind.call(Function.call,Object.prototype.hasOwnProperty)},{"function-bind":24}],29:[function(require,module,exports){exports.read=function(buffer,offset,isLE,mLen,nBytes){var e,m;var eLen=nBytes*8-mLen-1;var eMax=(1<>1;var nBits=-7;var i=isLE?nBytes-1:0;var d=isLE?-1:1;var 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)};exports.write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c;var eLen=nBytes*8-mLen-1;var eMax=(1<>1;var rt=mLen===23?Math.pow(2,-24)-Math.pow(2,-77):0;var i=isLE?0:nBytes-1;var d=isLE?1:-1;var 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&255,i+=d,m/=256,mLen-=8){}e=e<0;buffer[offset+i]=e&255,i+=d,e/=256,eLen-=8){}buffer[offset+i-d]|=s*128}},{}],30:[function(require,module,exports){if(typeof Object.create==="function"){module.exports=function inherits(ctor,superCtor){if(superCtor){ctor.super_=superCtor;ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:false,writable:true,configurable:true}})}}}else{module.exports=function inherits(ctor,superCtor){if(superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype;ctor.prototype=new TempCtor;ctor.prototype.constructor=ctor}}}},{}],31:[function(require,module,exports){"use strict";var hasToStringTag=typeof Symbol==="function"&&typeof Symbol.toStringTag==="symbol";var callBound=require("call-bind/callBound");var $toString=callBound("Object.prototype.toString");var isStandardArguments=function isArguments(value){if(hasToStringTag&&value&&typeof value==="object"&&Symbol.toStringTag in value){return false}return $toString(value)==="[object Arguments]"};var isLegacyArguments=function isArguments(value){if(isStandardArguments(value)){return true}return value!==null&&typeof value==="object"&&typeof value.length==="number"&&value.length>=0&&$toString(value)!=="[object Array]"&&$toString(value.callee)==="[object Function]"};var supportsStandardArguments=function(){return isStandardArguments(arguments)}();isStandardArguments.isLegacyArguments=isLegacyArguments;module.exports=supportsStandardArguments?isStandardArguments:isLegacyArguments},{"call-bind/callBound":18}],32:[function(require,module,exports){"use strict";var toStr=Object.prototype.toString;var fnToStr=Function.prototype.toString;var isFnRegex=/^\s*(?:function)?\*/;var hasToStringTag=typeof Symbol==="function"&&typeof Symbol.toStringTag==="symbol";var getProto=Object.getPrototypeOf;var getGeneratorFunc=function(){if(!hasToStringTag){return false}try{return Function("return function*() {}")()}catch(e){}};var generatorFunc=getGeneratorFunc();var GeneratorFunction=getProto&&generatorFunc?getProto(generatorFunc):false;module.exports=function isGeneratorFunction(fn){if(typeof fn!=="function"){return false}if(isFnRegex.test(fnToStr.call(fn))){return true}if(!hasToStringTag){var str=toStr.call(fn);return str==="[object GeneratorFunction]"}return getProto&&getProto(fn)===GeneratorFunction}},{}],33:[function(require,module,exports){(function(global){(function(){"use strict";var forEach=require("foreach");var availableTypedArrays=require("available-typed-arrays");var callBound=require("call-bind/callBound");var $toString=callBound("Object.prototype.toString");var hasSymbols=require("has-symbols")();var hasToStringTag=hasSymbols&&typeof Symbol.toStringTag==="symbol";var typedArrays=availableTypedArrays();var $indexOf=callBound("Array.prototype.indexOf",true)||function indexOf(array,value){for(var i=0;i-1}if(!gOPD){return false}return tryTypedArrays(value)}}).call(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"available-typed-arrays":12,"call-bind/callBound":18,"es-abstract/helpers/getOwnPropertyDescriptor":20,foreach:22,"has-symbols":26}],34:[function(require,module,exports){"use strict";var getOwnPropertySymbols=Object.getOwnPropertySymbols;var hasOwnProperty=Object.prototype.hasOwnProperty;var propIsEnumerable=Object.prototype.propertyIsEnumerable;function toObject(val){if(val===null||val===undefined){throw new TypeError("Object.assign cannot be called with null or undefined")}return Object(val)}function shouldUseNative(){try{if(!Object.assign){return false}var test1=new String("abc");test1[5]="de";if(Object.getOwnPropertyNames(test1)[0]==="5"){return false}var test2={};for(var i=0;i<10;i++){test2["_"+String.fromCharCode(i)]=i}var order2=Object.getOwnPropertyNames(test2).map(function(n){return test2[n]});if(order2.join("")!=="0123456789"){return false}var test3={};"abcdefghijklmnopqrst".split("").forEach(function(letter){test3[letter]=letter});if(Object.keys(Object.assign({},test3)).join("")!=="abcdefghijklmnopqrst"){return false}return true}catch(err){return false}}module.exports=shouldUseNative()?Object.assign:function(target,source){var from;var to=toObject(target);var symbols;for(var s=1;s1){for(var i=1;i2){return"one of ".concat(thing," ").concat(expected.slice(0,len-1).join(", "),", or ")+expected[len-1]}else if(len===2){return"one of ".concat(thing," ").concat(expected[0]," or ").concat(expected[1])}else{return"of ".concat(thing," ").concat(expected[0])}}else{return"of ".concat(thing," ").concat(String(expected))}}function startsWith(str,search,pos){return str.substr(!pos||pos<0?0:+pos,search.length)===search}function endsWith(str,search,this_len){if(this_len===undefined||this_len>str.length){this_len=str.length}return str.substring(this_len-search.length,this_len)===search}function includes(str,search,start){if(typeof start!=="number"){start=0}if(start+search.length>str.length){return false}else{return str.indexOf(search,start)!==-1}}createErrorType("ERR_INVALID_OPT_VALUE",function(name,value){return'The value "'+value+'" is invalid for option "'+name+'"'},TypeError);createErrorType("ERR_INVALID_ARG_TYPE",function(name,expected,actual){var determiner;if(typeof expected==="string"&&startsWith(expected,"not ")){determiner="must not be";expected=expected.replace(/^not /,"")}else{determiner="must be"}var msg;if(endsWith(name," argument")){msg="The ".concat(name," ").concat(determiner," ").concat(oneOf(expected,"type"))}else{var type=includes(name,".")?"property":"argument";msg='The "'.concat(name,'" ').concat(type," ").concat(determiner," ").concat(oneOf(expected,"type"))}msg+=". Received type ".concat(typeof actual);return msg},TypeError);createErrorType("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");createErrorType("ERR_METHOD_NOT_IMPLEMENTED",function(name){return"The "+name+" method is not implemented"});createErrorType("ERR_STREAM_PREMATURE_CLOSE","Premature close");createErrorType("ERR_STREAM_DESTROYED",function(name){return"Cannot call "+name+" after a stream was destroyed"});createErrorType("ERR_MULTIPLE_CALLBACK","Callback called multiple times");createErrorType("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");createErrorType("ERR_STREAM_WRITE_AFTER_END","write after end");createErrorType("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);createErrorType("ERR_UNKNOWN_ENCODING",function(arg){return"Unknown encoding: "+arg},TypeError);createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");module.exports.codes=codes},{}],37:[function(require,module,exports){(function(process){(function(){"use strict";var objectKeys=Object.keys||function(obj){var keys=[];for(var key in obj){keys.push(key)}return keys};module.exports=Duplex;var Readable=require("./_stream_readable");var Writable=require("./_stream_writable");require("inherits")(Duplex,Readable);{var keys=objectKeys(Writable.prototype);for(var v=0;v0){if(typeof chunk!=="string"&&!state.objectMode&&Object.getPrototypeOf(chunk)!==Buffer.prototype){chunk=_uint8ArrayToBuffer(chunk)}if(addToFront){if(state.endEmitted)errorOrDestroy(stream,new ERR_STREAM_UNSHIFT_AFTER_END_EVENT);else addChunk(stream,state,chunk,true)}else if(state.ended){errorOrDestroy(stream,new ERR_STREAM_PUSH_AFTER_EOF)}else if(state.destroyed){return false}else{state.reading=false;if(state.decoder&&!encoding){chunk=state.decoder.write(chunk);if(state.objectMode||chunk.length!==0)addChunk(stream,state,chunk,false);else maybeReadMore(stream,state)}else{addChunk(stream,state,chunk,false)}}}else if(!addToFront){state.reading=false;maybeReadMore(stream,state)}}return!state.ended&&(state.length=MAX_HWM){n=MAX_HWM}else{n--;n|=n>>>1;n|=n>>>2;n|=n>>>4;n|=n>>>8;n|=n>>>16;n++}return n}function howMuchToRead(n,state){if(n<=0||state.length===0&&state.ended)return 0;if(state.objectMode)return 1;if(n!==n){if(state.flowing&&state.length)return state.buffer.head.data.length;else return state.length}if(n>state.highWaterMark)state.highWaterMark=computeNewHighWaterMark(n);if(n<=state.length)return n;if(!state.ended){state.needReadable=true;return 0}return state.length}Readable.prototype.read=function(n){debug("read",n);n=parseInt(n,10);var state=this._readableState;var nOrig=n;if(n!==0)state.emittedReadable=false;if(n===0&&state.needReadable&&((state.highWaterMark!==0?state.length>=state.highWaterMark:state.length>0)||state.ended)){debug("read: emitReadable",state.length,state.ended);if(state.length===0&&state.ended)endReadable(this);else emitReadable(this);return null}n=howMuchToRead(n,state);if(n===0&&state.ended){if(state.length===0)endReadable(this);return null}var doRead=state.needReadable;debug("need readable",doRead);if(state.length===0||state.length-n0)ret=fromList(n,state);else ret=null;if(ret===null){state.needReadable=state.length<=state.highWaterMark;n=0}else{state.length-=n;state.awaitDrain=0}if(state.length===0){if(!state.ended)state.needReadable=true;if(nOrig!==n&&state.ended)endReadable(this)}if(ret!==null)this.emit("data",ret);return ret};function onEofChunk(stream,state){debug("onEofChunk");if(state.ended)return;if(state.decoder){var chunk=state.decoder.end();if(chunk&&chunk.length){state.buffer.push(chunk);state.length+=state.objectMode?1:chunk.length}}state.ended=true;if(state.sync){emitReadable(stream)}else{state.needReadable=false;if(!state.emittedReadable){state.emittedReadable=true;emitReadable_(stream)}}}function emitReadable(stream){var state=stream._readableState;debug("emitReadable",state.needReadable,state.emittedReadable);state.needReadable=false;if(!state.emittedReadable){debug("emitReadable",state.flowing);state.emittedReadable=true;process.nextTick(emitReadable_,stream)}}function emitReadable_(stream){var state=stream._readableState;debug("emitReadable_",state.destroyed,state.length,state.ended);if(!state.destroyed&&(state.length||state.ended)){stream.emit("readable");state.emittedReadable=false}state.needReadable=!state.flowing&&!state.ended&&state.length<=state.highWaterMark;flow(stream)}function maybeReadMore(stream,state){if(!state.readingMore){state.readingMore=true;process.nextTick(maybeReadMore_,stream,state)}}function maybeReadMore_(stream,state){while(!state.reading&&!state.ended&&(state.length1&&indexOf(state.pipes,dest)!==-1)&&!cleanedUp){debug("false write response, pause",state.awaitDrain);state.awaitDrain++}src.pause()}}function onerror(er){debug("onerror",er);unpipe();dest.removeListener("error",onerror);if(EElistenerCount(dest,"error")===0)errorOrDestroy(dest,er)}prependListener(dest,"error",onerror);function onclose(){dest.removeListener("finish",onfinish);unpipe()}dest.once("close",onclose);function onfinish(){debug("onfinish");dest.removeListener("close",onclose);unpipe()}dest.once("finish",onfinish);function unpipe(){debug("unpipe");src.unpipe(dest)}dest.emit("pipe",src);if(!state.flowing){debug("pipe resume");src.resume()}return dest};function pipeOnDrain(src){return function pipeOnDrainFunctionResult(){var state=src._readableState;debug("pipeOnDrain",state.awaitDrain);if(state.awaitDrain)state.awaitDrain--;if(state.awaitDrain===0&&EElistenerCount(src,"data")){state.flowing=true;flow(src)}}}Readable.prototype.unpipe=function(dest){var state=this._readableState;var unpipeInfo={hasUnpiped:false};if(state.pipesCount===0)return this;if(state.pipesCount===1){if(dest&&dest!==state.pipes)return this;if(!dest)dest=state.pipes;state.pipes=null;state.pipesCount=0;state.flowing=false;if(dest)dest.emit("unpipe",this,unpipeInfo);return this}if(!dest){var dests=state.pipes;var len=state.pipesCount;state.pipes=null;state.pipesCount=0;state.flowing=false;for(var i=0;i0;if(state.flowing!==false)this.resume()}else if(ev==="readable"){if(!state.endEmitted&&!state.readableListening){state.readableListening=state.needReadable=true;state.flowing=false;state.emittedReadable=false;debug("on readable",state.length,state.reading);if(state.length){emitReadable(this)}else if(!state.reading){process.nextTick(nReadingNextTick,this)}}}return res};Readable.prototype.addListener=Readable.prototype.on;Readable.prototype.removeListener=function(ev,fn){var res=Stream.prototype.removeListener.call(this,ev,fn);if(ev==="readable"){process.nextTick(updateReadableListening,this)}return res};Readable.prototype.removeAllListeners=function(ev){var res=Stream.prototype.removeAllListeners.apply(this,arguments);if(ev==="readable"||ev===undefined){process.nextTick(updateReadableListening,this)}return res};function updateReadableListening(self){var state=self._readableState;state.readableListening=self.listenerCount("readable")>0;if(state.resumeScheduled&&!state.paused){state.flowing=true}else if(self.listenerCount("data")>0){self.resume()}}function nReadingNextTick(self){debug("readable nexttick read 0");self.read(0)}Readable.prototype.resume=function(){var state=this._readableState;if(!state.flowing){debug("resume");state.flowing=!state.readableListening;resume(this,state)}state.paused=false;return this};function resume(stream,state){if(!state.resumeScheduled){state.resumeScheduled=true;process.nextTick(resume_,stream,state)}}function resume_(stream,state){debug("resume",state.reading);if(!state.reading){stream.read(0)}state.resumeScheduled=false;stream.emit("resume");flow(stream);if(state.flowing&&!state.reading)stream.read(0)}Readable.prototype.pause=function(){debug("call pause flowing=%j",this._readableState.flowing);if(this._readableState.flowing!==false){debug("pause");this._readableState.flowing=false;this.emit("pause")}this._readableState.paused=true;return this};function flow(stream){var state=stream._readableState;debug("flow",state.flowing);while(state.flowing&&stream.read()!==null){}}Readable.prototype.wrap=function(stream){var _this=this;var state=this._readableState;var paused=false;stream.on("end",function(){debug("wrapped end");if(state.decoder&&!state.ended){var chunk=state.decoder.end();if(chunk&&chunk.length)_this.push(chunk)}_this.push(null)});stream.on("data",function(chunk){debug("wrapped data");if(state.decoder)chunk=state.decoder.write(chunk);if(state.objectMode&&(chunk===null||chunk===undefined))return;else if(!state.objectMode&&(!chunk||!chunk.length))return;var ret=_this.push(chunk);if(!ret){paused=true;stream.pause()}});for(var i in stream){if(this[i]===undefined&&typeof stream[i]==="function"){this[i]=function methodWrap(method){return function methodWrapReturnFunction(){return stream[method].apply(stream,arguments)}}(i)}}for(var n=0;n=state.length){if(state.decoder)ret=state.buffer.join("");else if(state.buffer.length===1)ret=state.buffer.first();else ret=state.buffer.concat(state.length);state.buffer.clear()}else{ret=state.buffer.consume(n,state.decoder)}return ret}function endReadable(stream){var state=stream._readableState;debug("endReadable",state.endEmitted);if(!state.endEmitted){state.ended=true;process.nextTick(endReadableNT,state,stream)}}function endReadableNT(state,stream){debug("endReadableNT",state.endEmitted,state.length);if(!state.endEmitted&&state.length===0){state.endEmitted=true;stream.readable=false;stream.emit("end");if(state.autoDestroy){var wState=stream._writableState;if(!wState||wState.autoDestroy&&wState.finished){stream.destroy()}}}}if(typeof Symbol==="function"){Readable.from=function(iterable,opts){if(from===undefined){from=require("./internal/streams/from")}return from(Readable,iterable,opts)}}function indexOf(xs,x){for(var i=0,l=xs.length;i-1))throw new ERR_UNKNOWN_ENCODING(encoding);this._writableState.defaultEncoding=encoding;return this};Object.defineProperty(Writable.prototype,"writableBuffer",{enumerable:false,get:function get(){return this._writableState&&this._writableState.getBuffer()}});function decodeChunk(state,chunk,encoding){if(!state.objectMode&&state.decodeStrings!==false&&typeof chunk==="string"){chunk=Buffer.from(chunk,encoding)}return chunk}Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:false,get:function get(){return this._writableState.highWaterMark}});function writeOrBuffer(stream,state,isBuf,chunk,encoding,cb){if(!isBuf){var newChunk=decodeChunk(state,chunk,encoding);if(chunk!==newChunk){isBuf=true;encoding="buffer";chunk=newChunk}}var len=state.objectMode?1:chunk.length;state.length+=len;var ret=state.length0)this.tail.next=entry;else this.head=entry;this.tail=entry;++this.length}},{key:"unshift",value:function unshift(v){var entry={data:v,next:this.head};if(this.length===0)this.tail=entry;this.head=entry;++this.length}},{key:"shift",value:function shift(){if(this.length===0)return;var ret=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;--this.length;return ret}},{key:"clear",value:function clear(){this.head=this.tail=null;this.length=0}},{key:"join",value:function join(s){if(this.length===0)return"";var p=this.head;var ret=""+p.data;while(p=p.next){ret+=s+p.data}return ret}},{key:"concat",value:function concat(n){if(this.length===0)return Buffer.alloc(0);var ret=Buffer.allocUnsafe(n>>>0);var p=this.head;var i=0;while(p){copyBuffer(p.data,ret,i);i+=p.data.length;p=p.next}return ret}},{key:"consume",value:function consume(n,hasStrings){var ret;if(nstr.length?str.length:n;if(nb===str.length)ret+=str;else ret+=str.slice(0,n);n-=nb;if(n===0){if(nb===str.length){++c;if(p.next)this.head=p.next;else this.head=this.tail=null}else{this.head=p;p.data=str.slice(nb)}break}++c}this.length-=c;return ret}},{key:"_getBuffer",value:function _getBuffer(n){var ret=Buffer.allocUnsafe(n);var p=this.head;var c=1;p.data.copy(ret);n-=p.data.length;while(p=p.next){var buf=p.data;var nb=n>buf.length?buf.length:n;buf.copy(ret,ret.length-n,0,nb);n-=nb;if(n===0){if(nb===buf.length){++c;if(p.next)this.head=p.next;else this.head=this.tail=null}else{this.head=p;p.data=buf.slice(nb)}break}++c}this.length-=c;return ret}},{key:custom,value:function value(_,options){return inspect(this,_objectSpread({},options,{depth:0,customInspect:false}))}}]);return BufferList}()},{buffer:17,util:16}],44:[function(require,module,exports){(function(process){(function(){"use strict";function destroy(err,cb){var _this=this;var readableDestroyed=this._readableState&&this._readableState.destroyed;var writableDestroyed=this._writableState&&this._writableState.destroyed;if(readableDestroyed||writableDestroyed){if(cb){cb(err)}else if(err){if(!this._writableState){process.nextTick(emitErrorNT,this,err)}else if(!this._writableState.errorEmitted){this._writableState.errorEmitted=true;process.nextTick(emitErrorNT,this,err)}}return this}if(this._readableState){this._readableState.destroyed=true}if(this._writableState){this._writableState.destroyed=true}this._destroy(err||null,function(err){if(!cb&&err){if(!_this._writableState){process.nextTick(emitErrorAndCloseNT,_this,err)}else if(!_this._writableState.errorEmitted){_this._writableState.errorEmitted=true;process.nextTick(emitErrorAndCloseNT,_this,err)}else{process.nextTick(emitCloseNT,_this)}}else if(cb){process.nextTick(emitCloseNT,_this);cb(err)}else{process.nextTick(emitCloseNT,_this)}});return this}function emitErrorAndCloseNT(self,err){emitErrorNT(self,err);emitCloseNT(self)}function emitCloseNT(self){if(self._writableState&&!self._writableState.emitClose)return;if(self._readableState&&!self._readableState.emitClose)return;self.emit("close")}function undestroy(){if(this._readableState){this._readableState.destroyed=false;this._readableState.reading=false;this._readableState.ended=false;this._readableState.endEmitted=false}if(this._writableState){this._writableState.destroyed=false;this._writableState.ended=false;this._writableState.ending=false;this._writableState.finalCalled=false;this._writableState.prefinished=false;this._writableState.finished=false;this._writableState.errorEmitted=false}}function emitErrorNT(self,err){self.emit("error",err)}function errorOrDestroy(stream,err){var rState=stream._readableState;var wState=stream._writableState;if(rState&&rState.autoDestroy||wState&&wState.autoDestroy)stream.destroy(err);else stream.emit("error",err)}module.exports={destroy:destroy,undestroy:undestroy,errorOrDestroy:errorOrDestroy}}).call(this)}).call(this,require("_process"))},{_process:35}],45:[function(require,module,exports){"use strict";var ERR_STREAM_PREMATURE_CLOSE=require("../../../errors").codes.ERR_STREAM_PREMATURE_CLOSE;function once(callback){var called=false;return function(){if(called)return;called=true;for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}callback.apply(this,args)}}function noop(){}function isRequest(stream){return stream.setHeader&&typeof stream.abort==="function"}function eos(stream,opts,callback){if(typeof opts==="function")return eos(stream,null,opts);if(!opts)opts={};callback=once(callback||noop);var readable=opts.readable||opts.readable!==false&&stream.readable;var writable=opts.writable||opts.writable!==false&&stream.writable;var onlegacyfinish=function onlegacyfinish(){if(!stream.writable)onfinish()};var writableEnded=stream._writableState&&stream._writableState.finished;var onfinish=function onfinish(){writable=false;writableEnded=true;if(!readable)callback.call(stream)};var readableEnded=stream._readableState&&stream._readableState.endEmitted;var onend=function onend(){readable=false;readableEnded=true;if(!writable)callback.call(stream)};var onerror=function onerror(err){callback.call(stream,err)};var onclose=function onclose(){var err;if(readable&&!readableEnded){if(!stream._readableState||!stream._readableState.ended)err=new ERR_STREAM_PREMATURE_CLOSE;return callback.call(stream,err)}if(writable&&!writableEnded){if(!stream._writableState||!stream._writableState.ended)err=new ERR_STREAM_PREMATURE_CLOSE;return callback.call(stream,err)}};var onrequest=function onrequest(){stream.req.on("finish",onfinish)};if(isRequest(stream)){stream.on("complete",onfinish);stream.on("abort",onclose);if(stream.req)onrequest();else stream.on("request",onrequest)}else if(writable&&!stream._writableState){stream.on("end",onlegacyfinish);stream.on("close",onlegacyfinish)}stream.on("end",onend);stream.on("finish",onfinish);if(opts.error!==false)stream.on("error",onerror);stream.on("close",onclose);return function(){stream.removeListener("complete",onfinish);stream.removeListener("abort",onclose);stream.removeListener("request",onrequest);if(stream.req)stream.req.removeListener("finish",onfinish);stream.removeListener("end",onlegacyfinish);stream.removeListener("close",onlegacyfinish);stream.removeListener("finish",onfinish);stream.removeListener("end",onend);stream.removeListener("error",onerror);stream.removeListener("close",onclose)}}module.exports=eos},{"../../../errors":36}],46:[function(require,module,exports){module.exports=function(){throw new Error("Readable.from is not available in the browser")}},{}],47:[function(require,module,exports){"use strict";var eos;function once(callback){var called=false;return function(){if(called)return;called=true;callback.apply(void 0,arguments)}}var _require$codes=require("../../../errors").codes,ERR_MISSING_ARGS=_require$codes.ERR_MISSING_ARGS,ERR_STREAM_DESTROYED=_require$codes.ERR_STREAM_DESTROYED;function noop(err){if(err)throw err}function isRequest(stream){return stream.setHeader&&typeof stream.abort==="function"}function destroyer(stream,reading,writing,callback){callback=once(callback);var closed=false;stream.on("close",function(){closed=true});if(eos===undefined)eos=require("./end-of-stream");eos(stream,{readable:reading,writable:writing},function(err){if(err)return callback(err);closed=true;callback()});var destroyed=false;return function(err){if(closed)return;if(destroyed)return;destroyed=true;if(isRequest(stream))return stream.abort();if(typeof stream.destroy==="function")return stream.destroy();callback(err||new ERR_STREAM_DESTROYED("pipe"))}}function call(fn){fn()}function pipe(from,to){return from.pipe(to)}function popCallback(streams){if(!streams.length)return noop;if(typeof streams[streams.length-1]!=="function")return noop;return streams.pop()}function pipeline(){for(var _len=arguments.length,streams=new Array(_len),_key=0;_key<_len;_key++){streams[_key]=arguments[_key]}var callback=popCallback(streams);if(Array.isArray(streams[0]))streams=streams[0];if(streams.length<2){throw new ERR_MISSING_ARGS("streams")}var error;var destroys=streams.map(function(stream,i){var reading=i0;return destroyer(stream,reading,writing,function(err){if(!error)error=err;if(err)destroys.forEach(call);if(reading)return;destroys.forEach(call);callback(error)})});return streams.reduce(pipe)}module.exports=pipeline},{"../../../errors":36,"./end-of-stream":45}],48:[function(require,module,exports){"use strict";var ERR_INVALID_OPT_VALUE=require("../../../errors").codes.ERR_INVALID_OPT_VALUE;function highWaterMarkFrom(options,isDuplex,duplexKey){return options.highWaterMark!=null?options.highWaterMark:isDuplex?options[duplexKey]:null}function getHighWaterMark(state,options,duplexKey,isDuplex){var hwm=highWaterMarkFrom(options,isDuplex,duplexKey);if(hwm!=null){if(!(isFinite(hwm)&&Math.floor(hwm)===hwm)||hwm<0){var name=isDuplex?duplexKey:"highWaterMark";throw new ERR_INVALID_OPT_VALUE(name,hwm)}return Math.floor(hwm)}return state.objectMode?16:16*1024}module.exports={getHighWaterMark:getHighWaterMark}},{"../../../errors":36}],49:[function(require,module,exports){module.exports=require("events").EventEmitter},{events:21}],50:[function(require,module,exports){var buffer=require("buffer");var Buffer=buffer.Buffer;function copyProps(src,dst){for(var key in src){dst[key]=src[key]}}if(Buffer.from&&Buffer.alloc&&Buffer.allocUnsafe&&Buffer.allocUnsafeSlow){module.exports=buffer}else{copyProps(buffer,exports);exports.Buffer=SafeBuffer}function SafeBuffer(arg,encodingOrOffset,length){return Buffer(arg,encodingOrOffset,length)}copyProps(Buffer,SafeBuffer);SafeBuffer.from=function(arg,encodingOrOffset,length){if(typeof arg==="number"){throw new TypeError("Argument must not be a number")}return Buffer(arg,encodingOrOffset,length)};SafeBuffer.alloc=function(size,fill,encoding){if(typeof size!=="number"){throw new TypeError("Argument must be a number")}var buf=Buffer(size);if(fill!==undefined){if(typeof encoding==="string"){buf.fill(fill,encoding)}else{buf.fill(fill)}}else{buf.fill(0)}return buf};SafeBuffer.allocUnsafe=function(size){if(typeof size!=="number"){throw new TypeError("Argument must be a number")}return Buffer(size)};SafeBuffer.allocUnsafeSlow=function(size){if(typeof size!=="number"){throw new TypeError("Argument must be a number")}return buffer.SlowBuffer(size)}},{buffer:17}],51:[function(require,module,exports){"use strict";var Buffer=require("safe-buffer").Buffer;var isEncoding=Buffer.isEncoding||function(encoding){encoding=""+encoding;switch(encoding&&encoding.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return true;default:return false}};function _normalizeEncoding(enc){if(!enc)return"utf8";var retried;while(true){switch(enc){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return enc;default:if(retried)return;enc=(""+enc).toLowerCase();retried=true}}}function normalizeEncoding(enc){var nenc=_normalizeEncoding(enc);if(typeof nenc!=="string"&&(Buffer.isEncoding===isEncoding||!isEncoding(enc)))throw new Error("Unknown encoding: "+enc);return nenc||enc}exports.StringDecoder=StringDecoder;function StringDecoder(encoding){this.encoding=normalizeEncoding(encoding);var nb;switch(this.encoding){case"utf16le":this.text=utf16Text;this.end=utf16End;nb=4;break;case"utf8":this.fillLast=utf8FillLast;nb=4;break;case"base64":this.text=base64Text;this.end=base64End;nb=3;break;default:this.write=simpleWrite;this.end=simpleEnd;return}this.lastNeed=0;this.lastTotal=0;this.lastChar=Buffer.allocUnsafe(nb)}StringDecoder.prototype.write=function(buf){if(buf.length===0)return"";var r;var i;if(this.lastNeed){r=this.fillLast(buf);if(r===undefined)return"";i=this.lastNeed;this.lastNeed=0}else{i=0}if(i>5===6)return 2;else if(byte>>4===14)return 3;else if(byte>>3===30)return 4;return byte>>6===2?-1:-2}function utf8CheckIncomplete(self,buf,i){var j=buf.length-1;if(j=0){if(nb>0)self.lastNeed=nb-1;return nb}if(--j=0){if(nb>0)self.lastNeed=nb-2;return nb}if(--j=0){if(nb>0){if(nb===2)nb=0;else self.lastNeed=nb-3}return nb}return 0}function utf8CheckExtraBytes(self,buf,p){if((buf[0]&192)!==128){self.lastNeed=0;return"�"}if(self.lastNeed>1&&buf.length>1){if((buf[1]&192)!==128){self.lastNeed=1;return"�"}if(self.lastNeed>2&&buf.length>2){if((buf[2]&192)!==128){self.lastNeed=2;return"�"}}}}function utf8FillLast(buf){var p=this.lastTotal-this.lastNeed;var r=utf8CheckExtraBytes(this,buf,p);if(r!==undefined)return r;if(this.lastNeed<=buf.length){buf.copy(this.lastChar,p,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}buf.copy(this.lastChar,p,0,buf.length);this.lastNeed-=buf.length}function utf8Text(buf,i){var total=utf8CheckIncomplete(this,buf,i);if(!this.lastNeed)return buf.toString("utf8",i);this.lastTotal=total;var end=buf.length-(total-this.lastNeed);buf.copy(this.lastChar,0,end);return buf.toString("utf8",i,end)}function utf8End(buf){var r=buf&&buf.length?this.write(buf):"";if(this.lastNeed)return r+"�";return r}function utf16Text(buf,i){if((buf.length-i)%2===0){var r=buf.toString("utf16le",i);if(r){var c=r.charCodeAt(r.length-1);if(c>=55296&&c<=56319){this.lastNeed=2;this.lastTotal=4;this.lastChar[0]=buf[buf.length-2];this.lastChar[1]=buf[buf.length-1];return r.slice(0,-1)}}return r}this.lastNeed=1;this.lastTotal=2;this.lastChar[0]=buf[buf.length-1];return buf.toString("utf16le",i,buf.length-1)}function utf16End(buf){var r=buf&&buf.length?this.write(buf):"";if(this.lastNeed){var end=this.lastTotal-this.lastNeed;return r+this.lastChar.toString("utf16le",0,end)}return r}function base64Text(buf,i){var n=(buf.length-i)%3;if(n===0)return buf.toString("base64",i);this.lastNeed=3-n;this.lastTotal=3;if(n===1){this.lastChar[0]=buf[buf.length-1]}else{this.lastChar[0]=buf[buf.length-2];this.lastChar[1]=buf[buf.length-1]}return buf.toString("base64",i,buf.length-n)}function base64End(buf){var r=buf&&buf.length?this.write(buf):"";if(this.lastNeed)return r+this.lastChar.toString("base64",0,3-this.lastNeed);return r}function simpleWrite(buf){return buf.toString(this.encoding)}function simpleEnd(buf){return buf&&buf.length?this.write(buf):""}},{"safe-buffer":50}],52:[function(require,module,exports){exports=module.exports=require("./lib/_stream_readable.js");exports.Stream=exports;exports.Readable=exports;exports.Writable=require("./lib/_stream_writable.js");exports.Duplex=require("./lib/_stream_duplex.js");exports.Transform=require("./lib/_stream_transform.js");exports.PassThrough=require("./lib/_stream_passthrough.js");exports.finished=require("./lib/internal/streams/end-of-stream.js");exports.pipeline=require("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":37,"./lib/_stream_passthrough.js":38,"./lib/_stream_readable.js":39,"./lib/_stream_transform.js":40,"./lib/_stream_writable.js":41,"./lib/internal/streams/end-of-stream.js":45,"./lib/internal/streams/pipeline.js":47}],53:[function(require,module,exports){var buffer=require("buffer");var Buffer=buffer.Buffer;function copyProps(src,dst){for(var key in src){dst[key]=src[key]}}if(Buffer.from&&Buffer.alloc&&Buffer.allocUnsafe&&Buffer.allocUnsafeSlow){module.exports=buffer}else{copyProps(buffer,exports);exports.Buffer=SafeBuffer}function SafeBuffer(arg,encodingOrOffset,length){return Buffer(arg,encodingOrOffset,length)}SafeBuffer.prototype=Object.create(Buffer.prototype);copyProps(Buffer,SafeBuffer);SafeBuffer.from=function(arg,encodingOrOffset,length){if(typeof arg==="number"){throw new TypeError("Argument must not be a number")}return Buffer(arg,encodingOrOffset,length)};SafeBuffer.alloc=function(size,fill,encoding){if(typeof size!=="number"){throw new TypeError("Argument must be a number")}var buf=Buffer(size);if(fill!==undefined){if(typeof encoding==="string"){buf.fill(fill,encoding)}else{buf.fill(fill)}}else{buf.fill(0)}return buf};SafeBuffer.allocUnsafe=function(size){if(typeof size!=="number"){throw new TypeError("Argument must be a number")}return Buffer(size)};SafeBuffer.allocUnsafeSlow=function(size){if(typeof size!=="number"){throw new TypeError("Argument must be a number")}return buffer.SlowBuffer(size)}},{buffer:17}],54:[function(require,module,exports){(function(global){(function(){module.exports=deprecate;function deprecate(fn,msg){if(config("noDeprecation")){return fn}var warned=false;function deprecated(){if(!warned){if(config("throwDeprecation")){throw new Error(msg)}else if(config("traceDeprecation")){console.trace(msg)}else{console.warn(msg)}warned=true}return fn.apply(this,arguments)}return deprecated}function config(name){try{if(!global.localStorage)return false}catch(_){return false}var val=global.localStorage[name];if(null==val)return false;return String(val).toLowerCase()==="true"}}).call(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],55:[function(require,module,exports){arguments[4][10][0].apply(exports,arguments)},{dup:10}],56:[function(require,module,exports){"use strict";var isArgumentsObject=require("is-arguments");var isGeneratorFunction=require("is-generator-function");var whichTypedArray=require("which-typed-array");var isTypedArray=require("is-typed-array");function uncurryThis(f){return f.call.bind(f)}var BigIntSupported=typeof BigInt!=="undefined";var SymbolSupported=typeof Symbol!=="undefined";var ObjectToString=uncurryThis(Object.prototype.toString);var numberValue=uncurryThis(Number.prototype.valueOf);var stringValue=uncurryThis(String.prototype.valueOf);var booleanValue=uncurryThis(Boolean.prototype.valueOf);if(BigIntSupported){var bigIntValue=uncurryThis(BigInt.prototype.valueOf)}if(SymbolSupported){var symbolValue=uncurryThis(Symbol.prototype.valueOf)}function checkBoxedPrimitive(value,prototypeValueOf){if(typeof value!=="object"){return false}try{prototypeValueOf(value);return true}catch(e){return false}}exports.isArgumentsObject=isArgumentsObject;exports.isGeneratorFunction=isGeneratorFunction;exports.isTypedArray=isTypedArray;function isPromise(input){return typeof Promise!=="undefined"&&input instanceof Promise||input!==null&&typeof input==="object"&&typeof input.then==="function"&&typeof input.catch==="function"}exports.isPromise=isPromise;function isArrayBufferView(value){if(typeof ArrayBuffer!=="undefined"&&ArrayBuffer.isView){return ArrayBuffer.isView(value)}return isTypedArray(value)||isDataView(value)}exports.isArrayBufferView=isArrayBufferView;function isUint8Array(value){return whichTypedArray(value)==="Uint8Array"}exports.isUint8Array=isUint8Array;function isUint8ClampedArray(value){return whichTypedArray(value)==="Uint8ClampedArray"}exports.isUint8ClampedArray=isUint8ClampedArray;function isUint16Array(value){return whichTypedArray(value)==="Uint16Array"}exports.isUint16Array=isUint16Array;function isUint32Array(value){return whichTypedArray(value)==="Uint32Array"}exports.isUint32Array=isUint32Array;function isInt8Array(value){return whichTypedArray(value)==="Int8Array"}exports.isInt8Array=isInt8Array;function isInt16Array(value){return whichTypedArray(value)==="Int16Array"}exports.isInt16Array=isInt16Array;function isInt32Array(value){return whichTypedArray(value)==="Int32Array"}exports.isInt32Array=isInt32Array;function isFloat32Array(value){return whichTypedArray(value)==="Float32Array"}exports.isFloat32Array=isFloat32Array;function isFloat64Array(value){return whichTypedArray(value)==="Float64Array"}exports.isFloat64Array=isFloat64Array;function isBigInt64Array(value){return whichTypedArray(value)==="BigInt64Array"}exports.isBigInt64Array=isBigInt64Array;function isBigUint64Array(value){return whichTypedArray(value)==="BigUint64Array"}exports.isBigUint64Array=isBigUint64Array;function isMapToString(value){return ObjectToString(value)==="[object Map]"}isMapToString.working=typeof Map!=="undefined"&&isMapToString(new Map);function isMap(value){if(typeof Map==="undefined"){return false}return isMapToString.working?isMapToString(value):value instanceof Map}exports.isMap=isMap;function isSetToString(value){return ObjectToString(value)==="[object Set]"}isSetToString.working=typeof Set!=="undefined"&&isSetToString(new Set);function isSet(value){if(typeof Set==="undefined"){return false}return isSetToString.working?isSetToString(value):value instanceof Set}exports.isSet=isSet;function isWeakMapToString(value){return ObjectToString(value)==="[object WeakMap]"}isWeakMapToString.working=typeof WeakMap!=="undefined"&&isWeakMapToString(new WeakMap);function isWeakMap(value){if(typeof WeakMap==="undefined"){return false}return isWeakMapToString.working?isWeakMapToString(value):value instanceof WeakMap}exports.isWeakMap=isWeakMap;function isWeakSetToString(value){return ObjectToString(value)==="[object WeakSet]"}isWeakSetToString.working=typeof WeakSet!=="undefined"&&isWeakSetToString(new WeakSet);function isWeakSet(value){return isWeakSetToString(value)}exports.isWeakSet=isWeakSet;function isArrayBufferToString(value){return ObjectToString(value)==="[object ArrayBuffer]"}isArrayBufferToString.working=typeof ArrayBuffer!=="undefined"&&isArrayBufferToString(new ArrayBuffer);function isArrayBuffer(value){if(typeof ArrayBuffer==="undefined"){return false}return isArrayBufferToString.working?isArrayBufferToString(value):value instanceof ArrayBuffer}exports.isArrayBuffer=isArrayBuffer;function isDataViewToString(value){return ObjectToString(value)==="[object DataView]"}isDataViewToString.working=typeof ArrayBuffer!=="undefined"&&typeof DataView!=="undefined"&&isDataViewToString(new DataView(new ArrayBuffer(1),0,1));function isDataView(value){if(typeof DataView==="undefined"){return false}return isDataViewToString.working?isDataViewToString(value):value instanceof DataView}exports.isDataView=isDataView;function isSharedArrayBufferToString(value){return ObjectToString(value)==="[object SharedArrayBuffer]"}isSharedArrayBufferToString.working=typeof SharedArrayBuffer!=="undefined"&&isSharedArrayBufferToString(new SharedArrayBuffer);function isSharedArrayBuffer(value){if(typeof SharedArrayBuffer==="undefined"){return false}return isSharedArrayBufferToString.working?isSharedArrayBufferToString(value):value instanceof SharedArrayBuffer}exports.isSharedArrayBuffer=isSharedArrayBuffer;function isAsyncFunction(value){return ObjectToString(value)==="[object AsyncFunction]"}exports.isAsyncFunction=isAsyncFunction;function isMapIterator(value){return ObjectToString(value)==="[object Map Iterator]"}exports.isMapIterator=isMapIterator;function isSetIterator(value){return ObjectToString(value)==="[object Set Iterator]"}exports.isSetIterator=isSetIterator;function isGeneratorObject(value){return ObjectToString(value)==="[object Generator]"}exports.isGeneratorObject=isGeneratorObject;function isWebAssemblyCompiledModule(value){return ObjectToString(value)==="[object WebAssembly.Module]"}exports.isWebAssemblyCompiledModule=isWebAssemblyCompiledModule;function isNumberObject(value){return checkBoxedPrimitive(value,numberValue)}exports.isNumberObject=isNumberObject;function isStringObject(value){return checkBoxedPrimitive(value,stringValue)}exports.isStringObject=isStringObject;function isBooleanObject(value){return checkBoxedPrimitive(value,booleanValue)}exports.isBooleanObject=isBooleanObject;function isBigIntObject(value){return BigIntSupported&&checkBoxedPrimitive(value,bigIntValue)}exports.isBigIntObject=isBigIntObject;function isSymbolObject(value){return SymbolSupported&&checkBoxedPrimitive(value,symbolValue)}exports.isSymbolObject=isSymbolObject;function isBoxedPrimitive(value){return isNumberObject(value)||isStringObject(value)||isBooleanObject(value)||isBigIntObject(value)||isSymbolObject(value)}exports.isBoxedPrimitive=isBoxedPrimitive;function isAnyArrayBuffer(value){return typeof Uint8Array!=="undefined"&&(isArrayBuffer(value)||isSharedArrayBuffer(value))}exports.isAnyArrayBuffer=isAnyArrayBuffer;["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(method){Object.defineProperty(exports,method,{enumerable:false,value:function(){throw new Error(method+" is not supported in userland")}})})},{"is-arguments":31,"is-generator-function":32,"is-typed-array":33,"which-typed-array":58}],57:[function(require,module,exports){(function(process){(function(){var getOwnPropertyDescriptors=Object.getOwnPropertyDescriptors||function getOwnPropertyDescriptors(obj){var keys=Object.keys(obj);var descriptors={};for(var i=0;i=len)return x;switch(x){case"%s":return String(args[i++]);case"%d":return Number(args[i++]);case"%j":try{return JSON.stringify(args[i++])}catch(_){return"[Circular]"}default:return x}});for(var x=args[i];i=3)ctx.depth=arguments[2];if(arguments.length>=4)ctx.colors=arguments[3];if(isBoolean(opts)){ctx.showHidden=opts}else if(opts){exports._extend(ctx,opts)}if(isUndefined(ctx.showHidden))ctx.showHidden=false;if(isUndefined(ctx.depth))ctx.depth=2;if(isUndefined(ctx.colors))ctx.colors=false;if(isUndefined(ctx.customInspect))ctx.customInspect=true;if(ctx.colors)ctx.stylize=stylizeWithColor;return formatValue(ctx,obj,ctx.depth)}exports.inspect=inspect;inspect.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};inspect.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function stylizeWithColor(str,styleType){var style=inspect.styles[styleType];if(style){return"["+inspect.colors[style][0]+"m"+str+"["+inspect.colors[style][1]+"m"}else{return str}}function stylizeNoColor(str,styleType){return str}function arrayToHash(array){var hash={};array.forEach(function(val,idx){hash[val]=true});return hash}function formatValue(ctx,value,recurseTimes){if(ctx.customInspect&&value&&isFunction(value.inspect)&&value.inspect!==exports.inspect&&!(value.constructor&&value.constructor.prototype===value)){var ret=value.inspect(recurseTimes,ctx);if(!isString(ret)){ret=formatValue(ctx,ret,recurseTimes)}return ret}var primitive=formatPrimitive(ctx,value);if(primitive){return primitive}var keys=Object.keys(value);var visibleKeys=arrayToHash(keys);if(ctx.showHidden){keys=Object.getOwnPropertyNames(value)}if(isError(value)&&(keys.indexOf("message")>=0||keys.indexOf("description")>=0)){return formatError(value)}if(keys.length===0){if(isFunction(value)){var name=value.name?": "+value.name:"";return ctx.stylize("[Function"+name+"]","special")}if(isRegExp(value)){return ctx.stylize(RegExp.prototype.toString.call(value),"regexp")}if(isDate(value)){return ctx.stylize(Date.prototype.toString.call(value),"date")}if(isError(value)){return formatError(value)}}var base="",array=false,braces=["{","}"];if(isArray(value)){array=true;braces=["[","]"]}if(isFunction(value)){var n=value.name?": "+value.name:"";base=" [Function"+n+"]"}if(isRegExp(value)){base=" "+RegExp.prototype.toString.call(value)}if(isDate(value)){base=" "+Date.prototype.toUTCString.call(value)}if(isError(value)){base=" "+formatError(value)}if(keys.length===0&&(!array||value.length==0)){return braces[0]+base+braces[1]}if(recurseTimes<0){if(isRegExp(value)){return ctx.stylize(RegExp.prototype.toString.call(value),"regexp")}else{return ctx.stylize("[Object]","special")}}ctx.seen.push(value);var output;if(array){output=formatArray(ctx,value,recurseTimes,visibleKeys,keys)}else{output=keys.map(function(key){return formatProperty(ctx,value,recurseTimes,visibleKeys,key,array)})}ctx.seen.pop();return reduceToSingleString(output,base,braces)}function formatPrimitive(ctx,value){if(isUndefined(value))return ctx.stylize("undefined","undefined");if(isString(value)){var simple="'"+JSON.stringify(value).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return ctx.stylize(simple,"string")}if(isNumber(value))return ctx.stylize(""+value,"number");if(isBoolean(value))return ctx.stylize(""+value,"boolean");if(isNull(value))return ctx.stylize("null","null")}function formatError(value){return"["+Error.prototype.toString.call(value)+"]"}function formatArray(ctx,value,recurseTimes,visibleKeys,keys){var output=[];for(var i=0,l=value.length;i-1){if(array){str=str.split("\n").map(function(line){return" "+line}).join("\n").substr(2)}else{str="\n"+str.split("\n").map(function(line){return" "+line}).join("\n")}}}else{str=ctx.stylize("[Circular]","special")}}if(isUndefined(name)){if(array&&key.match(/^\d+$/)){return str}name=JSON.stringify(""+key);if(name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)){name=name.substr(1,name.length-2);name=ctx.stylize(name,"name")}else{name=name.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'");name=ctx.stylize(name,"string")}}return name+": "+str}function reduceToSingleString(output,base,braces){var numLinesEst=0;var length=output.reduce(function(prev,cur){numLinesEst++;if(cur.indexOf("\n")>=0)numLinesEst++;return prev+cur.replace(/\u001b\[\d\d?m/g,"").length+1},0);if(length>60){return braces[0]+(base===""?"":base+"\n ")+" "+output.join(",\n ")+" "+braces[1]}return braces[0]+base+" "+output.join(", ")+" "+braces[1]}exports.types=require("./support/types");function isArray(ar){return Array.isArray(ar)}exports.isArray=isArray;function isBoolean(arg){return typeof arg==="boolean"}exports.isBoolean=isBoolean;function isNull(arg){return arg===null}exports.isNull=isNull;function isNullOrUndefined(arg){return arg==null}exports.isNullOrUndefined=isNullOrUndefined;function isNumber(arg){return typeof arg==="number"}exports.isNumber=isNumber;function isString(arg){return typeof arg==="string"}exports.isString=isString;function isSymbol(arg){return typeof arg==="symbol"}exports.isSymbol=isSymbol;function isUndefined(arg){return arg===void 0}exports.isUndefined=isUndefined;function isRegExp(re){return isObject(re)&&objectToString(re)==="[object RegExp]"}exports.isRegExp=isRegExp;exports.types.isRegExp=isRegExp;function isObject(arg){return typeof arg==="object"&&arg!==null}exports.isObject=isObject;function isDate(d){return isObject(d)&&objectToString(d)==="[object Date]"}exports.isDate=isDate;exports.types.isDate=isDate;function isError(e){return isObject(e)&&(objectToString(e)==="[object Error]"||e instanceof Error)}exports.isError=isError;exports.types.isNativeError=isError;function isFunction(arg){return typeof arg==="function"}exports.isFunction=isFunction;function isPrimitive(arg){return arg===null||typeof arg==="boolean"||typeof arg==="number"||typeof arg==="string"||typeof arg==="symbol"||typeof arg==="undefined"}exports.isPrimitive=isPrimitive;exports.isBuffer=require("./support/isBuffer");function objectToString(o){return Object.prototype.toString.call(o)}function pad(n){return n<10?"0"+n.toString(10):n.toString(10)}var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function timestamp(){var d=new Date;var time=[pad(d.getHours()),pad(d.getMinutes()),pad(d.getSeconds())].join(":");return[d.getDate(),months[d.getMonth()],time].join(" ")}exports.log=function(){console.log("%s - %s",timestamp(),exports.format.apply(exports,arguments))};exports.inherits=require("inherits");exports._extend=function(origin,add){if(!add||!isObject(add))return origin;var keys=Object.keys(add);var i=keys.length;while(i--){origin[keys[i]]=add[keys[i]]}return origin};function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}var kCustomPromisifiedSymbol=typeof Symbol!=="undefined"?Symbol("util.promisify.custom"):undefined;exports.promisify=function promisify(original){if(typeof original!=="function")throw new TypeError('The "original" argument must be of type Function');if(kCustomPromisifiedSymbol&&original[kCustomPromisifiedSymbol]){var fn=original[kCustomPromisifiedSymbol];if(typeof fn!=="function"){throw new TypeError('The "util.promisify.custom" argument must be of type Function')}Object.defineProperty(fn,kCustomPromisifiedSymbol,{value:fn,enumerable:false,writable:false,configurable:true});return fn}function fn(){var promiseResolve,promiseReject;var promise=new Promise(function(resolve,reject){promiseResolve=resolve;promiseReject=reject});var args=[];for(var i=0;i=0,"must have a non-negative type");assert(decode,"must have a decode function");decodingTypes.set(type,decode);return this}function register(type,constructor,encode,decode){assert(constructor,"must have a constructor");assert(encode,"must have an encode function");assert(type>=0,"must have a non-negative type");assert(decode,"must have a decode function");function check(obj){return obj instanceof constructor}function reEncode(obj){const buf=bl();const header=Buffer.allocUnsafe(1);header.writeInt8(type,0);buf.append(header);buf.append(encode(obj));return buf}this.registerEncoder(check,reEncode);this.registerDecoder(type,decode);return this}return{encode:buildEncode(encodingTypes,options),decode:buildDecode(decodingTypes,options),register:register,registerEncoder:registerEncoder,registerDecoder:registerDecoder,encoder:streams.encoder,decoder:streams.decoder,buffer:true,type:"msgpack5",IncompleteBufferError:IncompleteBufferError}}module.exports=msgpack},{"./lib/codecs/DateCodec":2,"./lib/decoder":3,"./lib/encoder":4,"./lib/helpers.js":5,"./lib/streams":6,assert:7,bl:14,"safe-buffer":51}],2:[function(require,module,exports){(function(Buffer){(function(){const type=-1;function encode(dt){if(dt===null){return}const millis=dt*1;const seconds=Math.floor(millis/1e3);const nanos=(millis-seconds*1e3)*1e6;if(seconds<0||seconds>17179869184){const encoded=Buffer.allocUnsafe(13);encoded[0]=-1;encoded.writeUInt32BE(nanos,1);let hex="";if(seconds>=0){const padhex="0000000000000000";hex=seconds.toString(16);hex=padhex.slice(0,hex.length*-1)+hex}else{let bin=(seconds*-1).toString(2);let i=bin.length-1;while(bin[i]==="0"){i--}bin=bin.slice(0,i).split("").map(function(bit){return bit==="1"?0:1}).join("")+bin.slice(i,bin.length);const pad64="1111111111111111111111111111111111111111111111111111111111111111";bin=pad64.slice(0,bin.length*-1)+bin;bin.match(/.{1,8}/g).forEach(function(byte){byte=parseInt(byte,2).toString(16);if(byte.length===1){byte="0"+byte}hex+=byte})}encoded.write(hex,5,"hex");return encoded}else if(nanos||seconds>4294967295){const encoded=Buffer.allocUnsafe(9);encoded[0]=-1;const upperNanos=nanos*4;const upperSeconds=seconds/Math.pow(2,32);const upper=upperNanos+upperSeconds&4294967295;const lower=seconds&4294967295;encoded.writeInt32BE(upper,1);encoded.writeInt32BE(lower,5);return encoded}else{const encoded=Buffer.allocUnsafe(5);encoded[0]=-1;encoded.writeUInt32BE(Math.floor(millis/1e3),1);return encoded}}function check(obj){return typeof obj.getDate==="function"}function decode(buf){let seconds;let nanoseconds=0;let upper;let lower;let hex;switch(buf.length){case 4:seconds=buf.readUInt32BE(0);break;case 8:upper=buf.readUInt32BE(0);lower=buf.readUInt32BE(4);nanoseconds=upper/4;seconds=(upper&3)*Math.pow(2,32)+lower;break;case 12:hex=buf.toString("hex",4,12);if(parseInt(buf.toString("hex",4,6),16)&128){let bin="";const pad8="00000000";hex.match(/.{1,2}/g).forEach(function(byte){byte=parseInt(byte,16).toString(2);byte=pad8.slice(0,byte.length*-1)+byte;bin+=byte});seconds=-1*parseInt(bin.split("").map(function(bit){return bit==="1"?0:1}).join(""),2)-1}else{seconds=parseInt(hex,16)}nanoseconds=buf.readUInt32BE(0)}const millis=seconds*1e3+Math.round(nanoseconds/1e6);return new Date(millis)}module.exports={check:check,type:type,encode:encode,decode:decode}}).call(this)}).call(this,require("buffer").Buffer)},{buffer:16}],3:[function(require,module,exports){"use strict";const bl=require("bl");const IncompleteBufferError=require("./helpers.js").IncompleteBufferError;const SIZES={196:2,197:3,198:5,199:3,200:4,201:6,202:5,203:9,204:2,205:3,206:5,207:9,208:2,209:3,210:5,211:9,212:3,213:4,214:6,215:10,216:18,217:2,218:3,219:5,222:3,220:3,221:5};function isValidDataSize(dataLength,bufLength,headerLength){return bufLength>=headerLength+dataLength}module.exports=function buildDecode(decodingTypes,options){const context={decodingTypes:decodingTypes,options:options,decode:decode};return decode;function decode(buf){if(!bl.isBufferList(buf)){buf=bl(buf)}const result=tryDecode(buf,0,context);if(!result)throw new IncompleteBufferError;buf.consume(result[1]);return result[0]}};function decodeArray(buf,initialOffset,length,headerLength,context){let offset=initialOffset;const result=[];let i=0;while(i++=192&&first<=195)return decodeConstants(first);if(first>=196&&first<=198){const length=buf.readUIntBE(offset,size-1);offset+=size-1;if(!isValidDataSize(length,bufLength,size))return null;const result=buf.slice(offset,offset+length);return[result,size+length]}if(first>=199&&first<=201){const length=buf.readUIntBE(offset,size-2);offset+=size-2;const type=buf.readInt8(offset);offset+=1;if(!isValidDataSize(length,bufLength,size))return null;return decodeExt(buf,offset,type,length,size,context)}if(first>=202&&first<=203)return decodeFloat(buf,offset,size-1);if(first>=204&&first<=207)return decodeUnsignedInt(buf,offset,size-1);if(first>=208&&first<=211)return decodeSigned(buf,offset,size-1);if(first>=212&&first<=216){const type=buf.readInt8(offset);offset+=1;return decodeExt(buf,offset,type,size-2,2,context)}if(first>=217&&first<=219){const length=buf.readUIntBE(offset,size-1);offset+=size-1;if(!isValidDataSize(length,bufLength,size))return null;const result=buf.toString("utf8",offset,offset+length);return[result,size+length]}if(first>=220&&first<=221){const length=buf.readUIntBE(offset,size-1);offset+=size-1;return decodeArray(buf,offset,length,size,context)}if(first>=222&&first<=223){let length;switch(first){case 222:length=buf.readUInt16BE(offset);offset+=2;return decodeMap(buf,offset,length,3,context);case 223:length=buf.readUInt32BE(offset);offset+=4;return decodeMap(buf,offset,length,5,context)}}if(first>=224)return[first-256,1];throw new Error("not implemented yet")}function decodeSigned(buf,offset,size){let result;if(size===1)result=buf.readInt8(offset);if(size===2)result=buf.readInt16BE(offset);if(size===4)result=buf.readInt32BE(offset);if(size===8)result=readInt64BE(buf.slice(offset,offset+8),0);return[result,size+1]}function decodeExt(buf,offset,type,size,headerSize,context){const toDecode=buf.slice(offset,offset+size);const decode=context.decodingTypes.get(type);if(!decode)throw new Error("unable to find ext type "+type);const value=decode(toDecode);return[value,headerSize+size]}function decodeUnsignedInt(buf,offset,size){const maxOffset=offset+size;let result=0;while(offset=offset;i--){const v=(buf[i]^255)+carry;buf[i]=v&255;carry=v>>8}}const hi=buf.readUInt32BE(offset+0);const lo=buf.readUInt32BE(offset+4);return(hi*4294967296+lo)*(negate?-1:+1)}},{"./helpers.js":5,bl:14}],4:[function(require,module,exports){"use strict";const Buffer=require("safe-buffer").Buffer;const bl=require("bl");const isFloat=require("./helpers.js").isFloat;module.exports=function buildEncode(encodingTypes,options){function encode(obj){if(obj===undefined)throw new Error("undefined is not encodable in msgpack!");if(obj===null)return Buffer.from([192]);if(obj===true)return Buffer.from([195]);if(obj===false)return Buffer.from([194]);if(obj instanceof Map)return encodeMap(obj,options,encode);if(typeof obj==="string")return encodeString(obj,options);if(obj&&(obj.readUInt32LE||obj instanceof Uint8Array)){if(obj instanceof Uint8Array){obj=Buffer.from(obj)}return bl([getBufferHeader(obj.length),obj])}if(Array.isArray(obj))return encodeArray(obj,encode);if(typeof obj==="object")return encodeExt(obj,encodingTypes)||encodeObject(obj,options,encode);if(typeof obj==="number")return encodeNumber(obj,options);throw new Error("not implemented yet")}return function(obj){return encode(obj).slice()}};function encodeArray(array,encode){const acc=[getHeader(array.length,144,220)];array.forEach(item=>{acc.push(encode(item))});if(acc.length!==array.length+1){throw new Error("Sparse arrays are not encodable in msgpack")}return bl(acc)}function encodeMap(map,options,encode){const acc=[getHeader(map.size,128,222)];const keys=[...map.keys()];if(!options.preferMap){if(keys.every(item=>typeof item==="string")){console.warn("Map with string only keys will be deserialized as an object!")}}keys.forEach(key=>{acc.push(encode(key),encode(map.get(key)))});return bl(acc)}function encodeObject(obj,options,encode){const keys=[];for(const key in obj){if(Object.prototype.hasOwnProperty.call(obj,key)&&obj[key]!==undefined&&typeof obj[key]!=="function"){keys.push(key)}}const acc=[getHeader(keys.length,128,222)];if(options.sortKeys)keys.sort();keys.forEach(key=>{acc.push(encode(key),encode(obj[key]))});return bl(acc)}function write64BitUint(buf,offset,num){const lo=num%4294967296;const hi=Math.floor(num/4294967296);buf.writeUInt32BE(hi,offset+0);buf.writeUInt32BE(lo,offset+4)}function write64BitInt(buf,offset,num){const negate=num<0;num=Math.abs(num);write64BitUint(buf,offset,num);if(negate)negate64BitInt(buf,offset)}function negate64BitInt(buf,offset){let i=offset+8;while(i-- >offset){if(buf[i]===0)continue;buf[i]=(buf[i]^255)+1;break}while(i-- >offset){buf[i]=buf[i]^255}}const fround=Math.fround;function encodeFloat(obj,forceFloat64){let buf;if(forceFloat64||!fround||!Object.is(fround(obj),obj)){buf=Buffer.allocUnsafe(9);buf[0]=203;buf.writeDoubleBE(obj,1)}else{buf=Buffer.allocUnsafe(5);buf[0]=202;buf.writeFloatBE(obj,1)}return buf}function encodeExt(obj,encodingTypes){const codec=encodingTypes.find(codec=>codec.check(obj));if(!codec)return null;const encoded=codec.encode(obj);if(!encoded)return null;return bl([getExtHeader(encoded.length-1),encoded])}function getExtHeader(length){if(length===1)return Buffer.from([212]);if(length===2)return Buffer.from([213]);if(length===4)return Buffer.from([214]);if(length===8)return Buffer.from([215]);if(length===16)return Buffer.from([216]);if(length<256)return Buffer.from([199,length]);if(length<65536)return Buffer.from([200,length>>8,length&255]);return Buffer.from([201,length>>24,length>>16&255,length>>8&255,length&255])}function getHeader(length,tag1,tag2){if(length<16)return Buffer.from([tag1|length]);const size=length<65536?2:4;const buf=Buffer.allocUnsafe(1+size);buf[0]=length<65536?tag2:tag2+1;buf.writeUIntBE(length,1,size);return buf}function encodeString(obj,options){const len=Buffer.byteLength(obj);let buf;if(len<32){buf=Buffer.allocUnsafe(1+len);buf[0]=160|len;if(len>0){buf.write(obj,1)}}else if(len<=255&&!options.compatibilityMode){buf=Buffer.allocUnsafe(2+len);buf[0]=217;buf[1]=len;buf.write(obj,2)}else if(len<=65535){buf=Buffer.allocUnsafe(3+len);buf[0]=218;buf.writeUInt16BE(len,1);buf.write(obj,3)}else{buf=Buffer.allocUnsafe(5+len);buf[0]=219;buf.writeUInt32BE(len,1);buf.write(obj,5)}return buf}function getBufferHeader(length){let header;if(length<=255){header=Buffer.allocUnsafe(2);header[0]=196;header[1]=length}else if(length<=65535){header=Buffer.allocUnsafe(3);header[0]=197;header.writeUInt16BE(length,1)}else{header=Buffer.allocUnsafe(5);header[0]=198;header.writeUInt32BE(length,1)}return header}function encodeNumber(obj,options){let buf;if(isFloat(obj))return encodeFloat(obj,options.forceFloat64);if(Math.abs(obj)>9007199254740991){return encodeFloat(obj,true)}if(obj>=0){if(obj<128){return Buffer.from([obj])}else if(obj<256){return Buffer.from([204,obj])}else if(obj<65536){return Buffer.from([205,255&obj>>8,255&obj])}else if(obj<=4294967295){return Buffer.from([206,255&obj>>24,255&obj>>16,255&obj>>8,255&obj])}else if(obj<=9007199254740991){buf=Buffer.allocUnsafe(9);buf[0]=207;write64BitUint(buf,1,obj)}}else{if(obj>=-32){buf=Buffer.allocUnsafe(1);buf[0]=256+obj}else if(obj>=-128){buf=Buffer.allocUnsafe(2);buf[0]=208;buf.writeInt8(obj,1)}else if(obj>=-32768){buf=Buffer.allocUnsafe(3);buf[0]=209;buf.writeInt16BE(obj,1)}else if(obj>-214748365){buf=Buffer.allocUnsafe(5);buf[0]=210;buf.writeInt32BE(obj,1)}else if(obj>=-9007199254740991){buf=Buffer.allocUnsafe(9);buf[0]=211;write64BitInt(buf,1,obj)}}return buf}},{"./helpers.js":5,bl:14,"safe-buffer":51}],5:[function(require,module,exports){"use strict";const util=require("util");exports.IncompleteBufferError=IncompleteBufferError;function IncompleteBufferError(message){Error.call(this);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name=this.constructor.name;this.message=message||"unable to decode"}util.inherits(IncompleteBufferError,Error);exports.isFloat=function isFloat(n){return n%1!==0}},{util:56}],6:[function(require,module,exports){"use strict";const Transform=require("readable-stream").Transform;const inherits=require("inherits");const bl=require("bl");function Base(opts){opts=opts||{};opts.objectMode=true;opts.highWaterMark=16;Transform.call(this,opts);this._msgpack=opts.msgpack}inherits(Base,Transform);function Encoder(opts){if(!(this instanceof Encoder)){opts=opts||{};opts.msgpack=this;return new Encoder(opts)}Base.call(this,opts);this._wrap="wrap"in opts&&opts.wrap}inherits(Encoder,Base);Encoder.prototype._transform=function(obj,enc,done){let buf=null;try{buf=this._msgpack.encode(this._wrap?obj.value:obj).slice(0)}catch(err){this.emit("error",err);return done()}this.push(buf);done()};function Decoder(opts){if(!(this instanceof Decoder)){opts=opts||{};opts.msgpack=this;return new Decoder(opts)}Base.call(this,opts);this._chunks=bl();this._wrap="wrap"in opts&&opts.wrap}inherits(Decoder,Base);Decoder.prototype._transform=function(buf,enc,done){if(buf){this._chunks.append(buf)}try{let result=this._msgpack.decode(this._chunks);if(this._wrap){result={value:result}}this.push(result)}catch(err){if(err instanceof this._msgpack.IncompleteBufferError){done()}else{this.emit("error",err)}return}if(this._chunks.length>0){this._transform(null,enc,done)}else{done()}};module.exports.decoder=Decoder;module.exports.encoder=Encoder},{bl:14,inherits:30,"readable-stream":50}],7:[function(require,module,exports){(function(global){(function(){"use strict";var objectAssign=require("object-assign");function compare(a,b){if(a===b){return 0}var x=a.length;var y=b.length;for(var i=0,len=Math.min(x,y);i=0){var next_line=out.indexOf("\n",idx+1);out=out.substring(next_line+1)}this.stack=out}}};util.inherits(assert.AssertionError,Error);function truncate(s,n){if(typeof s==="string"){return s.length=0;i--){if(ka[i]!==kb[i])return false}for(i=ka.length-1;i>=0;i--){key=ka[i];if(!_deepEqual(a[key],b[key],strict,actualVisitedObjects))return false}return true}assert.notDeepEqual=function notDeepEqual(actual,expected,message){if(_deepEqual(actual,expected,false)){fail(actual,expected,message,"notDeepEqual",assert.notDeepEqual)}};assert.notDeepStrictEqual=notDeepStrictEqual;function notDeepStrictEqual(actual,expected,message){if(_deepEqual(actual,expected,true)){fail(actual,expected,message,"notDeepStrictEqual",notDeepStrictEqual)}}assert.strictEqual=function strictEqual(actual,expected,message){if(actual!==expected){fail(actual,expected,message,"===",assert.strictEqual)}};assert.notStrictEqual=function notStrictEqual(actual,expected,message){if(actual===expected){fail(actual,expected,message,"!==",assert.notStrictEqual)}};function expectedException(actual,expected){if(!actual||!expected){return false}if(Object.prototype.toString.call(expected)=="[object RegExp]"){return expected.test(actual)}try{if(actual instanceof expected){return true}}catch(e){}if(Error.isPrototypeOf(expected)){return false}return expected.call({},actual)===true}function _tryBlock(block){var error;try{block()}catch(e){error=e}return error}function _throws(shouldThrow,block,expected,message){var actual;if(typeof block!=="function"){throw new TypeError('"block" argument must be a function')}if(typeof expected==="string"){message=expected;expected=null}actual=_tryBlock(block);message=(expected&&expected.name?" ("+expected.name+").":".")+(message?" "+message:".");if(shouldThrow&&!actual){fail(actual,expected,"Missing expected exception"+message)}var userProvidedMessage=typeof message==="string";var isUnwantedException=!shouldThrow&&util.isError(actual);var isUnexpectedException=!shouldThrow&&actual&&!expected;if(isUnwantedException&&userProvidedMessage&&expectedException(actual,expected)||isUnexpectedException){fail(actual,expected,"Got unwanted exception"+message)}if(shouldThrow&&actual&&expected&&!expectedException(actual,expected)||!shouldThrow&&actual){throw actual}}assert.throws=function(block,error,message){_throws(true,block,error,message)};assert.doesNotThrow=function(block,error,message){_throws(false,block,error,message)};assert.ifError=function(err){if(err)throw err};function strict(value,message){if(!value)fail(value,true,message,"==",strict)}assert.strict=objectAssign(strict,assert,{equal:assert.strictEqual,deepEqual:assert.deepStrictEqual,notEqual:assert.notStrictEqual,notDeepEqual:assert.notDeepStrictEqual});assert.strict.strict=assert.strict;var objectKeys=Object.keys||function(obj){var keys=[];for(var key in obj){if(hasOwn.call(obj,key))keys.push(key)}return keys}}).call(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"object-assign":34,"util/":10}],8:[function(require,module,exports){if(typeof Object.create==="function"){module.exports=function inherits(ctor,superCtor){ctor.super_=superCtor;ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:false,writable:true,configurable:true}})}}else{module.exports=function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype;ctor.prototype=new TempCtor;ctor.prototype.constructor=ctor}}},{}],9:[function(require,module,exports){module.exports=function isBuffer(arg){return arg&&typeof arg==="object"&&typeof arg.copy==="function"&&typeof arg.fill==="function"&&typeof arg.readUInt8==="function"}},{}],10:[function(require,module,exports){(function(process,global){(function(){var formatRegExp=/%[sdj%]/g;exports.format=function(f){if(!isString(f)){var objects=[];for(var i=0;i=len)return x;switch(x){case"%s":return String(args[i++]);case"%d":return Number(args[i++]);case"%j":try{return JSON.stringify(args[i++])}catch(_){return"[Circular]"}default:return x}});for(var x=args[i];i=3)ctx.depth=arguments[2];if(arguments.length>=4)ctx.colors=arguments[3];if(isBoolean(opts)){ctx.showHidden=opts}else if(opts){exports._extend(ctx,opts)}if(isUndefined(ctx.showHidden))ctx.showHidden=false;if(isUndefined(ctx.depth))ctx.depth=2;if(isUndefined(ctx.colors))ctx.colors=false;if(isUndefined(ctx.customInspect))ctx.customInspect=true;if(ctx.colors)ctx.stylize=stylizeWithColor;return formatValue(ctx,obj,ctx.depth)}exports.inspect=inspect;inspect.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};inspect.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function stylizeWithColor(str,styleType){var style=inspect.styles[styleType];if(style){return"["+inspect.colors[style][0]+"m"+str+"["+inspect.colors[style][1]+"m"}else{return str}}function stylizeNoColor(str,styleType){return str}function arrayToHash(array){var hash={};array.forEach(function(val,idx){hash[val]=true});return hash}function formatValue(ctx,value,recurseTimes){if(ctx.customInspect&&value&&isFunction(value.inspect)&&value.inspect!==exports.inspect&&!(value.constructor&&value.constructor.prototype===value)){var ret=value.inspect(recurseTimes,ctx);if(!isString(ret)){ret=formatValue(ctx,ret,recurseTimes)}return ret}var primitive=formatPrimitive(ctx,value);if(primitive){return primitive}var keys=Object.keys(value);var visibleKeys=arrayToHash(keys);if(ctx.showHidden){keys=Object.getOwnPropertyNames(value)}if(isError(value)&&(keys.indexOf("message")>=0||keys.indexOf("description")>=0)){return formatError(value)}if(keys.length===0){if(isFunction(value)){var name=value.name?": "+value.name:"";return ctx.stylize("[Function"+name+"]","special")}if(isRegExp(value)){return ctx.stylize(RegExp.prototype.toString.call(value),"regexp")}if(isDate(value)){return ctx.stylize(Date.prototype.toString.call(value),"date")}if(isError(value)){return formatError(value)}}var base="",array=false,braces=["{","}"];if(isArray(value)){array=true;braces=["[","]"]}if(isFunction(value)){var n=value.name?": "+value.name:"";base=" [Function"+n+"]"}if(isRegExp(value)){base=" "+RegExp.prototype.toString.call(value)}if(isDate(value)){base=" "+Date.prototype.toUTCString.call(value)}if(isError(value)){base=" "+formatError(value)}if(keys.length===0&&(!array||value.length==0)){return braces[0]+base+braces[1]}if(recurseTimes<0){if(isRegExp(value)){return ctx.stylize(RegExp.prototype.toString.call(value),"regexp")}else{return ctx.stylize("[Object]","special")}}ctx.seen.push(value);var output;if(array){output=formatArray(ctx,value,recurseTimes,visibleKeys,keys)}else{output=keys.map(function(key){return formatProperty(ctx,value,recurseTimes,visibleKeys,key,array)})}ctx.seen.pop();return reduceToSingleString(output,base,braces)}function formatPrimitive(ctx,value){if(isUndefined(value))return ctx.stylize("undefined","undefined");if(isString(value)){var simple="'"+JSON.stringify(value).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return ctx.stylize(simple,"string")}if(isNumber(value))return ctx.stylize(""+value,"number");if(isBoolean(value))return ctx.stylize(""+value,"boolean");if(isNull(value))return ctx.stylize("null","null")}function formatError(value){return"["+Error.prototype.toString.call(value)+"]"}function formatArray(ctx,value,recurseTimes,visibleKeys,keys){var output=[];for(var i=0,l=value.length;i-1){if(array){str=str.split("\n").map(function(line){return" "+line}).join("\n").substr(2)}else{str="\n"+str.split("\n").map(function(line){return" "+line}).join("\n")}}}else{str=ctx.stylize("[Circular]","special")}}if(isUndefined(name)){if(array&&key.match(/^\d+$/)){return str}name=JSON.stringify(""+key);if(name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)){name=name.substr(1,name.length-2);name=ctx.stylize(name,"name")}else{name=name.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'");name=ctx.stylize(name,"string")}}return name+": "+str}function reduceToSingleString(output,base,braces){var numLinesEst=0;var length=output.reduce(function(prev,cur){numLinesEst++;if(cur.indexOf("\n")>=0)numLinesEst++;return prev+cur.replace(/\u001b\[\d\d?m/g,"").length+1},0);if(length>60){return braces[0]+(base===""?"":base+"\n ")+" "+output.join(",\n ")+" "+braces[1]}return braces[0]+base+" "+output.join(", ")+" "+braces[1]}function isArray(ar){return Array.isArray(ar)}exports.isArray=isArray;function isBoolean(arg){return typeof arg==="boolean"}exports.isBoolean=isBoolean;function isNull(arg){return arg===null}exports.isNull=isNull;function isNullOrUndefined(arg){return arg==null}exports.isNullOrUndefined=isNullOrUndefined;function isNumber(arg){return typeof arg==="number"}exports.isNumber=isNumber;function isString(arg){return typeof arg==="string"}exports.isString=isString;function isSymbol(arg){return typeof arg==="symbol"}exports.isSymbol=isSymbol;function isUndefined(arg){return arg===void 0}exports.isUndefined=isUndefined;function isRegExp(re){return isObject(re)&&objectToString(re)==="[object RegExp]"}exports.isRegExp=isRegExp;function isObject(arg){return typeof arg==="object"&&arg!==null}exports.isObject=isObject;function isDate(d){return isObject(d)&&objectToString(d)==="[object Date]"}exports.isDate=isDate;function isError(e){return isObject(e)&&(objectToString(e)==="[object Error]"||e instanceof Error)}exports.isError=isError;function isFunction(arg){return typeof arg==="function"}exports.isFunction=isFunction;function isPrimitive(arg){return arg===null||typeof arg==="boolean"||typeof arg==="number"||typeof arg==="string"||typeof arg==="symbol"||typeof arg==="undefined"}exports.isPrimitive=isPrimitive;exports.isBuffer=require("./support/isBuffer");function objectToString(o){return Object.prototype.toString.call(o)}function pad(n){return n<10?"0"+n.toString(10):n.toString(10)}var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function timestamp(){var d=new Date;var time=[pad(d.getHours()),pad(d.getMinutes()),pad(d.getSeconds())].join(":");return[d.getDate(),months[d.getMonth()],time].join(" ")}exports.log=function(){console.log("%s - %s",timestamp(),exports.format.apply(exports,arguments))};exports.inherits=require("inherits");exports._extend=function(origin,add){if(!add||!isObject(add))return origin;var keys=Object.keys(add);var i=keys.length;while(i--){origin[keys[i]]=add[keys[i]]}return origin};function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}}).call(this)}).call(this,require("_process"),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"./support/isBuffer":9,_process:35,inherits:8}],11:[function(require,module,exports){(function(global){(function(){"use strict";var possibleNames=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"];var g=typeof globalThis==="undefined"?global:globalThis;module.exports=function availableTypedArrays(){var out=[];for(var i=0;i0){throw new Error("Invalid string. Length must be a multiple of 4")}var validLen=b64.indexOf("=");if(validLen===-1)validLen=len;var placeHoldersLen=validLen===len?0:4-validLen%4;return[validLen,placeHoldersLen]}function byteLength(b64){var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function _byteLength(b64,validLen,placeHoldersLen){return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function toByteArray(b64){var tmp;var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];var arr=new Arr(_byteLength(b64,validLen,placeHoldersLen));var curByte=0;var len=placeHoldersLen>0?validLen-4:validLen;var i;for(i=0;i>16&255;arr[curByte++]=tmp>>8&255;arr[curByte++]=tmp&255}if(placeHoldersLen===2){tmp=revLookup[b64.charCodeAt(i)]<<2|revLookup[b64.charCodeAt(i+1)]>>4;arr[curByte++]=tmp&255}if(placeHoldersLen===1){tmp=revLookup[b64.charCodeAt(i)]<<10|revLookup[b64.charCodeAt(i+1)]<<4|revLookup[b64.charCodeAt(i+2)]>>2;arr[curByte++]=tmp>>8&255;arr[curByte++]=tmp&255}return arr}function tripletToBase64(num){return lookup[num>>18&63]+lookup[num>>12&63]+lookup[num>>6&63]+lookup[num&63]}function encodeChunk(uint8,start,end){var tmp;var output=[];for(var i=start;ilen2?len2:i+maxChunkLength))}if(extraBytes===1){tmp=uint8[len-1];parts.push(lookup[tmp>>2]+lookup[tmp<<4&63]+"==")}else if(extraBytes===2){tmp=(uint8[len-2]<<8)+uint8[len-1];parts.push(lookup[tmp>>10]+lookup[tmp>>4&63]+lookup[tmp<<2&63]+"=")}return parts.join("")}},{}],13:[function(require,module,exports){"use strict";const{Buffer}=require("buffer");const symbol=Symbol.for("BufferList");function BufferList(buf){if(!(this instanceof BufferList)){return new BufferList(buf)}BufferList._init.call(this,buf)}BufferList._init=function _init(buf){Object.defineProperty(this,symbol,{value:true});this._bufs=[];this.length=0;if(buf){this.append(buf)}};BufferList.prototype._new=function _new(buf){return new BufferList(buf)};BufferList.prototype._offset=function _offset(offset){if(offset===0){return[0,0]}let tot=0;for(let i=0;ithis.length||index<0){return undefined}const offset=this._offset(index);return this._bufs[offset[0]][offset[1]]};BufferList.prototype.slice=function slice(start,end){if(typeof start==="number"&&start<0){start+=this.length}if(typeof end==="number"&&end<0){end+=this.length}return this.copy(null,0,start,end)};BufferList.prototype.copy=function copy(dst,dstStart,srcStart,srcEnd){if(typeof srcStart!=="number"||srcStart<0){srcStart=0}if(typeof srcEnd!=="number"||srcEnd>this.length){srcEnd=this.length}if(srcStart>=this.length){return dst||Buffer.alloc(0)}if(srcEnd<=0){return dst||Buffer.alloc(0)}const copy=!!dst;const off=this._offset(srcStart);const len=srcEnd-srcStart;let bytes=len;let bufoff=copy&&dstStart||0;let start=off[1];if(srcStart===0&&srcEnd===this.length){if(!copy){return this._bufs.length===1?this._bufs[0]:Buffer.concat(this._bufs,this.length)}for(let i=0;il){this._bufs[i].copy(dst,bufoff,start);bufoff+=l}else{this._bufs[i].copy(dst,bufoff,start,start+bytes);bufoff+=l;break}bytes-=l;if(start){start=0}}if(dst.length>bufoff)return dst.slice(0,bufoff);return dst};BufferList.prototype.shallowSlice=function shallowSlice(start,end){start=start||0;end=typeof end!=="number"?this.length:end;if(start<0){start+=this.length}if(end<0){end+=this.length}if(start===end){return this._new()}const startOffset=this._offset(start);const endOffset=this._offset(end);const buffers=this._bufs.slice(startOffset[0],endOffset[0]+1);if(endOffset[1]===0){buffers.pop()}else{buffers[buffers.length-1]=buffers[buffers.length-1].slice(0,endOffset[1])}if(startOffset[1]!==0){buffers[0]=buffers[0].slice(startOffset[1])}return this._new(buffers)};BufferList.prototype.toString=function toString(encoding,start,end){return this.slice(start,end).toString(encoding)};BufferList.prototype.consume=function consume(bytes){bytes=Math.trunc(bytes);if(Number.isNaN(bytes)||bytes<=0)return this;while(this._bufs.length){if(bytes>=this._bufs[0].length){bytes-=this._bufs[0].length;this.length-=this._bufs[0].length;this._bufs.shift()}else{this._bufs[0]=this._bufs[0].slice(bytes);this.length-=bytes;break}}return this};BufferList.prototype.duplicate=function duplicate(){const copy=this._new();for(let i=0;ithis.length?this.length:offset}const blOffset=this._offset(offset);let blIndex=blOffset[0];let buffOffset=blOffset[1];for(;blIndex=search.length){const nativeSearchResult=buff.indexOf(search,buffOffset);if(nativeSearchResult!==-1){return this._reverseOffset([blIndex,nativeSearchResult])}buffOffset=buff.length-search.length+1}else{const revOffset=this._reverseOffset([blIndex,buffOffset]);if(this._match(revOffset,search)){return revOffset}buffOffset++}}buffOffset=0}return-1};BufferList.prototype._match=function(offset,search){if(this.length-offsetK_MAX_LENGTH){throw new RangeError('The value "'+length+'" is invalid for option "size"')}var buf=new Uint8Array(length);buf.__proto__=Buffer.prototype;return buf}function Buffer(arg,encodingOrOffset,length){if(typeof arg==="number"){if(typeof encodingOrOffset==="string"){throw new TypeError('The "string" argument must be of type string. Received type number')}return allocUnsafe(arg)}return from(arg,encodingOrOffset,length)}if(typeof Symbol!=="undefined"&&Symbol.species!=null&&Buffer[Symbol.species]===Buffer){Object.defineProperty(Buffer,Symbol.species,{value:null,configurable:true,enumerable:false,writable:false})}Buffer.poolSize=8192;function from(value,encodingOrOffset,length){if(typeof value==="string"){return fromString(value,encodingOrOffset)}if(ArrayBuffer.isView(value)){return fromArrayLike(value)}if(value==null){throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, "+"or Array-like Object. Received type "+typeof value)}if(isInstance(value,ArrayBuffer)||value&&isInstance(value.buffer,ArrayBuffer)){return fromArrayBuffer(value,encodingOrOffset,length)}if(typeof value==="number"){throw new TypeError('The "value" argument must not be of type number. Received type number')}var valueOf=value.valueOf&&value.valueOf();if(valueOf!=null&&valueOf!==value){return Buffer.from(valueOf,encodingOrOffset,length)}var b=fromObject(value);if(b)return b;if(typeof Symbol!=="undefined"&&Symbol.toPrimitive!=null&&typeof value[Symbol.toPrimitive]==="function"){return Buffer.from(value[Symbol.toPrimitive]("string"),encodingOrOffset,length)}throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, "+"or Array-like Object. Received type "+typeof value)}Buffer.from=function(value,encodingOrOffset,length){return from(value,encodingOrOffset,length)};Buffer.prototype.__proto__=Uint8Array.prototype;Buffer.__proto__=Uint8Array;function assertSize(size){if(typeof size!=="number"){throw new TypeError('"size" argument must be of type number')}else if(size<0){throw new RangeError('The value "'+size+'" is invalid for option "size"')}}function alloc(size,fill,encoding){assertSize(size);if(size<=0){return createBuffer(size)}if(fill!==undefined){return typeof encoding==="string"?createBuffer(size).fill(fill,encoding):createBuffer(size).fill(fill)}return createBuffer(size)}Buffer.alloc=function(size,fill,encoding){return alloc(size,fill,encoding)};function allocUnsafe(size){assertSize(size);return createBuffer(size<0?0:checked(size)|0)}Buffer.allocUnsafe=function(size){return allocUnsafe(size)};Buffer.allocUnsafeSlow=function(size){return allocUnsafe(size)};function fromString(string,encoding){if(typeof encoding!=="string"||encoding===""){encoding="utf8"}if(!Buffer.isEncoding(encoding)){throw new TypeError("Unknown encoding: "+encoding)}var length=byteLength(string,encoding)|0;var buf=createBuffer(length);var actual=buf.write(string,encoding);if(actual!==length){buf=buf.slice(0,actual)}return buf}function fromArrayLike(array){var length=array.length<0?0:checked(array.length)|0;var buf=createBuffer(length);for(var i=0;i=K_MAX_LENGTH){throw new RangeError("Attempt to allocate Buffer larger than maximum "+"size: 0x"+K_MAX_LENGTH.toString(16)+" bytes")}return length|0}function SlowBuffer(length){if(+length!=length){length=0}return Buffer.alloc(+length)}Buffer.isBuffer=function isBuffer(b){return b!=null&&b._isBuffer===true&&b!==Buffer.prototype};Buffer.compare=function compare(a,b){if(isInstance(a,Uint8Array))a=Buffer.from(a,a.offset,a.byteLength);if(isInstance(b,Uint8Array))b=Buffer.from(b,b.offset,b.byteLength);if(!Buffer.isBuffer(a)||!Buffer.isBuffer(b)){throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array')}if(a===b)return 0;var x=a.length;var y=b.length;for(var i=0,len=Math.min(x,y);i2&&arguments[2]===true;if(!mustMatch&&len===0)return 0;var loweredCase=false;for(;;){switch(encoding){case"ascii":case"latin1":case"binary":return len;case"utf8":case"utf-8":return utf8ToBytes(string).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return len*2;case"hex":return len>>>1;case"base64":return base64ToBytes(string).length;default:if(loweredCase){return mustMatch?-1:utf8ToBytes(string).length}encoding=(""+encoding).toLowerCase();loweredCase=true}}}Buffer.byteLength=byteLength;function slowToString(encoding,start,end){var loweredCase=false;if(start===undefined||start<0){start=0}if(start>this.length){return""}if(end===undefined||end>this.length){end=this.length}if(end<=0){return""}end>>>=0;start>>>=0;if(end<=start){return""}if(!encoding)encoding="utf8";while(true){switch(encoding){case"hex":return hexSlice(this,start,end);case"utf8":case"utf-8":return utf8Slice(this,start,end);case"ascii":return asciiSlice(this,start,end);case"latin1":case"binary":return latin1Slice(this,start,end);case"base64":return base64Slice(this,start,end);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,start,end);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(encoding+"").toLowerCase();loweredCase=true}}}Buffer.prototype._isBuffer=true;function swap(b,n,m){var i=b[n];b[n]=b[m];b[m]=i}Buffer.prototype.swap16=function swap16(){var len=this.length;if(len%2!==0){throw new RangeError("Buffer size must be a multiple of 16-bits")}for(var i=0;imax)str+=" ... ";return""};Buffer.prototype.compare=function compare(target,start,end,thisStart,thisEnd){if(isInstance(target,Uint8Array)){target=Buffer.from(target,target.offset,target.byteLength)}if(!Buffer.isBuffer(target)){throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. '+"Received type "+typeof target)}if(start===undefined){start=0}if(end===undefined){end=target?target.length:0}if(thisStart===undefined){thisStart=0}if(thisEnd===undefined){thisEnd=this.length}if(start<0||end>target.length||thisStart<0||thisEnd>this.length){throw new RangeError("out of range index")}if(thisStart>=thisEnd&&start>=end){return 0}if(thisStart>=thisEnd){return-1}if(start>=end){return 1}start>>>=0;end>>>=0;thisStart>>>=0;thisEnd>>>=0;if(this===target)return 0;var x=thisEnd-thisStart;var y=end-start;var len=Math.min(x,y);var thisCopy=this.slice(thisStart,thisEnd);var targetCopy=target.slice(start,end);for(var i=0;i2147483647){byteOffset=2147483647}else if(byteOffset<-2147483648){byteOffset=-2147483648}byteOffset=+byteOffset;if(numberIsNaN(byteOffset)){byteOffset=dir?0:buffer.length-1}if(byteOffset<0)byteOffset=buffer.length+byteOffset;if(byteOffset>=buffer.length){if(dir)return-1;else byteOffset=buffer.length-1}else if(byteOffset<0){if(dir)byteOffset=0;else return-1}if(typeof val==="string"){val=Buffer.from(val,encoding)}if(Buffer.isBuffer(val)){if(val.length===0){return-1}return arrayIndexOf(buffer,val,byteOffset,encoding,dir)}else if(typeof val==="number"){val=val&255;if(typeof Uint8Array.prototype.indexOf==="function"){if(dir){return Uint8Array.prototype.indexOf.call(buffer,val,byteOffset)}else{return Uint8Array.prototype.lastIndexOf.call(buffer,val,byteOffset)}}return arrayIndexOf(buffer,[val],byteOffset,encoding,dir)}throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(arr,val,byteOffset,encoding,dir){var indexSize=1;var arrLength=arr.length;var valLength=val.length;if(encoding!==undefined){encoding=String(encoding).toLowerCase();if(encoding==="ucs2"||encoding==="ucs-2"||encoding==="utf16le"||encoding==="utf-16le"){if(arr.length<2||val.length<2){return-1}indexSize=2;arrLength/=2;valLength/=2;byteOffset/=2}}function read(buf,i){if(indexSize===1){return buf[i]}else{return buf.readUInt16BE(i*indexSize)}}var i;if(dir){var foundIndex=-1;for(i=byteOffset;iarrLength)byteOffset=arrLength-valLength;for(i=byteOffset;i>=0;i--){var found=true;for(var j=0;jremaining){length=remaining}}var strLen=string.length;if(length>strLen/2){length=strLen/2}for(var i=0;i>>0;if(isFinite(length)){length=length>>>0;if(encoding===undefined)encoding="utf8"}else{encoding=length;length=undefined}}else{throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported")}var remaining=this.length-offset;if(length===undefined||length>remaining)length=remaining;if(string.length>0&&(length<0||offset<0)||offset>this.length){throw new RangeError("Attempt to write outside buffer bounds")}if(!encoding)encoding="utf8";var loweredCase=false;for(;;){switch(encoding){case"hex":return hexWrite(this,string,offset,length);case"utf8":case"utf-8":return utf8Write(this,string,offset,length);case"ascii":return asciiWrite(this,string,offset,length);case"latin1":case"binary":return latin1Write(this,string,offset,length);case"base64":return base64Write(this,string,offset,length);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,string,offset,length);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(""+encoding).toLowerCase();loweredCase=true}}};Buffer.prototype.toJSON=function toJSON(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function base64Slice(buf,start,end){if(start===0&&end===buf.length){return base64.fromByteArray(buf)}else{return base64.fromByteArray(buf.slice(start,end))}}function utf8Slice(buf,start,end){end=Math.min(buf.length,end);var res=[];var i=start;while(i239?4:firstByte>223?3:firstByte>191?2:1;if(i+bytesPerSequence<=end){var secondByte,thirdByte,fourthByte,tempCodePoint;switch(bytesPerSequence){case 1:if(firstByte<128){codePoint=firstByte}break;case 2:secondByte=buf[i+1];if((secondByte&192)===128){tempCodePoint=(firstByte&31)<<6|secondByte&63;if(tempCodePoint>127){codePoint=tempCodePoint}}break;case 3:secondByte=buf[i+1];thirdByte=buf[i+2];if((secondByte&192)===128&&(thirdByte&192)===128){tempCodePoint=(firstByte&15)<<12|(secondByte&63)<<6|thirdByte&63;if(tempCodePoint>2047&&(tempCodePoint<55296||tempCodePoint>57343)){codePoint=tempCodePoint}}break;case 4:secondByte=buf[i+1];thirdByte=buf[i+2];fourthByte=buf[i+3];if((secondByte&192)===128&&(thirdByte&192)===128&&(fourthByte&192)===128){tempCodePoint=(firstByte&15)<<18|(secondByte&63)<<12|(thirdByte&63)<<6|fourthByte&63;if(tempCodePoint>65535&&tempCodePoint<1114112){codePoint=tempCodePoint}}}}if(codePoint===null){codePoint=65533;bytesPerSequence=1}else if(codePoint>65535){codePoint-=65536;res.push(codePoint>>>10&1023|55296);codePoint=56320|codePoint&1023}res.push(codePoint);i+=bytesPerSequence}return decodeCodePointsArray(res)}var MAX_ARGUMENTS_LENGTH=4096;function decodeCodePointsArray(codePoints){var len=codePoints.length;if(len<=MAX_ARGUMENTS_LENGTH){return String.fromCharCode.apply(String,codePoints)}var res="";var i=0;while(ilen)end=len;var out="";for(var i=start;ilen){start=len}if(end<0){end+=len;if(end<0)end=0}else if(end>len){end=len}if(endlength)throw new RangeError("Trying to access beyond buffer length")}Buffer.prototype.readUIntLE=function readUIntLE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i>>0;byteLength=byteLength>>>0;if(!noAssert){checkOffset(offset,byteLength,this.length)}var val=this[offset+--byteLength];var mul=1;while(byteLength>0&&(mul*=256)){val+=this[offset+--byteLength]*mul}return val};Buffer.prototype.readUInt8=function readUInt8(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,1,this.length);return this[offset]};Buffer.prototype.readUInt16LE=function readUInt16LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);return this[offset]|this[offset+1]<<8};Buffer.prototype.readUInt16BE=function readUInt16BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);return this[offset]<<8|this[offset+1]};Buffer.prototype.readUInt32LE=function readUInt32LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return(this[offset]|this[offset+1]<<8|this[offset+2]<<16)+this[offset+3]*16777216};Buffer.prototype.readUInt32BE=function readUInt32BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]*16777216+(this[offset+1]<<16|this[offset+2]<<8|this[offset+3])};Buffer.prototype.readIntLE=function readIntLE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readIntBE=function readIntBE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var i=byteLength;var mul=1;var val=this[offset+--i];while(i>0&&(mul*=256)){val+=this[offset+--i]*mul}mul*=128;if(val>=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readInt8=function readInt8(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,1,this.length);if(!(this[offset]&128))return this[offset];return(255-this[offset]+1)*-1};Buffer.prototype.readInt16LE=function readInt16LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset]|this[offset+1]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt16BE=function readInt16BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset+1]|this[offset]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt32LE=function readInt32LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]|this[offset+1]<<8|this[offset+2]<<16|this[offset+3]<<24};Buffer.prototype.readInt32BE=function readInt32BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]<<24|this[offset+1]<<16|this[offset+2]<<8|this[offset+3]};Buffer.prototype.readFloatLE=function readFloatLE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,true,23,4)};Buffer.prototype.readFloatBE=function readFloatBE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,false,23,4)};Buffer.prototype.readDoubleLE=function readDoubleLE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,true,52,8)};Buffer.prototype.readDoubleBE=function readDoubleBE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,false,52,8)};function checkInt(buf,value,offset,ext,max,min){if(!Buffer.isBuffer(buf))throw new TypeError('"buffer" argument must be a Buffer instance');if(value>max||valuebuf.length)throw new RangeError("Index out of range")}Buffer.prototype.writeUIntLE=function writeUIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var mul=1;var i=0;this[offset]=value&255;while(++i>>0;byteLength=byteLength>>>0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var i=byteLength-1;var mul=1;this[offset+i]=value&255;while(--i>=0&&(mul*=256)){this[offset+i]=value/mul&255}return offset+byteLength};Buffer.prototype.writeUInt8=function writeUInt8(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,1,255,0);this[offset]=value&255;return offset+1};Buffer.prototype.writeUInt16LE=function writeUInt16LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,65535,0);this[offset]=value&255;this[offset+1]=value>>>8;return offset+2};Buffer.prototype.writeUInt16BE=function writeUInt16BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,65535,0);this[offset]=value>>>8;this[offset+1]=value&255;return offset+2};Buffer.prototype.writeUInt32LE=function writeUInt32LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);this[offset+3]=value>>>24;this[offset+2]=value>>>16;this[offset+1]=value>>>8;this[offset]=value&255;return offset+4};Buffer.prototype.writeUInt32BE=function writeUInt32BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255;return offset+4};Buffer.prototype.writeIntLE=function writeIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=0;var mul=1;var sub=0;this[offset]=value&255;while(++i>0)-sub&255}return offset+byteLength};Buffer.prototype.writeIntBE=function writeIntBE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=byteLength-1;var mul=1;var sub=0;this[offset+i]=value&255;while(--i>=0&&(mul*=256)){if(value<0&&sub===0&&this[offset+i+1]!==0){sub=1}this[offset+i]=(value/mul>>0)-sub&255}return offset+byteLength};Buffer.prototype.writeInt8=function writeInt8(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,1,127,-128);if(value<0)value=255+value+1;this[offset]=value&255;return offset+1};Buffer.prototype.writeInt16LE=function writeInt16LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);this[offset]=value&255;this[offset+1]=value>>>8;return offset+2};Buffer.prototype.writeInt16BE=function writeInt16BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);this[offset]=value>>>8;this[offset+1]=value&255;return offset+2};Buffer.prototype.writeInt32LE=function writeInt32LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);this[offset]=value&255;this[offset+1]=value>>>8;this[offset+2]=value>>>16;this[offset+3]=value>>>24;return offset+4};Buffer.prototype.writeInt32BE=function writeInt32BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);if(value<0)value=4294967295+value+1;this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255;return offset+4};function checkIEEE754(buf,value,offset,ext,max,min){if(offset+ext>buf.length)throw new RangeError("Index out of range");if(offset<0)throw new RangeError("Index out of range")}function writeFloat(buf,value,offset,littleEndian,noAssert){value=+value;offset=offset>>>0;if(!noAssert){checkIEEE754(buf,value,offset,4,34028234663852886e22,-34028234663852886e22)}ieee754.write(buf,value,offset,littleEndian,23,4);return offset+4}Buffer.prototype.writeFloatLE=function writeFloatLE(value,offset,noAssert){return writeFloat(this,value,offset,true,noAssert)};Buffer.prototype.writeFloatBE=function writeFloatBE(value,offset,noAssert){return writeFloat(this,value,offset,false,noAssert)};function writeDouble(buf,value,offset,littleEndian,noAssert){value=+value;offset=offset>>>0;if(!noAssert){checkIEEE754(buf,value,offset,8,17976931348623157e292,-17976931348623157e292)}ieee754.write(buf,value,offset,littleEndian,52,8);return offset+8}Buffer.prototype.writeDoubleLE=function writeDoubleLE(value,offset,noAssert){return writeDouble(this,value,offset,true,noAssert)};Buffer.prototype.writeDoubleBE=function writeDoubleBE(value,offset,noAssert){return writeDouble(this,value,offset,false,noAssert)};Buffer.prototype.copy=function copy(target,targetStart,start,end){if(!Buffer.isBuffer(target))throw new TypeError("argument should be a Buffer");if(!start)start=0;if(!end&&end!==0)end=this.length;if(targetStart>=target.length)targetStart=target.length;if(!targetStart)targetStart=0;if(end>0&&end=this.length)throw new RangeError("Index out of range");if(end<0)throw new RangeError("sourceEnd out of bounds");if(end>this.length)end=this.length;if(target.length-targetStart=0;--i){target[i+targetStart]=this[i+start]}}else{Uint8Array.prototype.set.call(target,this.subarray(start,end),targetStart)}return len};Buffer.prototype.fill=function fill(val,start,end,encoding){if(typeof val==="string"){if(typeof start==="string"){encoding=start;start=0;end=this.length}else if(typeof end==="string"){encoding=end;end=this.length}if(encoding!==undefined&&typeof encoding!=="string"){throw new TypeError("encoding must be a string")}if(typeof encoding==="string"&&!Buffer.isEncoding(encoding)){throw new TypeError("Unknown encoding: "+encoding)}if(val.length===1){var code=val.charCodeAt(0);if(encoding==="utf8"&&code<128||encoding==="latin1"){val=code}}}else if(typeof val==="number"){val=val&255}if(start<0||this.length>>0;end=end===undefined?this.length:end>>>0;if(!val)val=0;var i;if(typeof val==="number"){for(i=start;i55295&&codePoint<57344){if(!leadSurrogate){if(codePoint>56319){if((units-=3)>-1)bytes.push(239,191,189);continue}else if(i+1===length){if((units-=3)>-1)bytes.push(239,191,189);continue}leadSurrogate=codePoint;continue}if(codePoint<56320){if((units-=3)>-1)bytes.push(239,191,189);leadSurrogate=codePoint;continue}codePoint=(leadSurrogate-55296<<10|codePoint-56320)+65536}else if(leadSurrogate){if((units-=3)>-1)bytes.push(239,191,189)}leadSurrogate=null;if(codePoint<128){if((units-=1)<0)break;bytes.push(codePoint)}else if(codePoint<2048){if((units-=2)<0)break;bytes.push(codePoint>>6|192,codePoint&63|128)}else if(codePoint<65536){if((units-=3)<0)break;bytes.push(codePoint>>12|224,codePoint>>6&63|128,codePoint&63|128)}else if(codePoint<1114112){if((units-=4)<0)break;bytes.push(codePoint>>18|240,codePoint>>12&63|128,codePoint>>6&63|128,codePoint&63|128)}else{throw new Error("Invalid code point")}}return bytes}function asciiToBytes(str){var byteArray=[];for(var i=0;i>8;lo=c%256;byteArray.push(lo);byteArray.push(hi)}return byteArray}function base64ToBytes(str){return base64.toByteArray(base64clean(str))}function blitBuffer(src,dst,offset,length){for(var i=0;i=dst.length||i>=src.length)break;dst[i+offset]=src[i]}return i}function isInstance(obj,type){return obj instanceof type||obj!=null&&obj.constructor!=null&&obj.constructor.name!=null&&obj.constructor.name===type.name}function numberIsNaN(obj){return obj!==obj}}).call(this)}).call(this,require("buffer").Buffer)},{"base64-js":12,buffer:16,ieee754:29}],17:[function(require,module,exports){"use strict";var GetIntrinsic=require("get-intrinsic");var callBind=require("./");var $indexOf=callBind(GetIntrinsic("String.prototype.indexOf"));module.exports=function callBoundIntrinsic(name,allowMissing){var intrinsic=GetIntrinsic(name,!!allowMissing);if(typeof intrinsic==="function"&&$indexOf(name,".prototype.")>-1){return callBind(intrinsic)}return intrinsic}},{"./":18,"get-intrinsic":24}],18:[function(require,module,exports){"use strict";var bind=require("function-bind");var GetIntrinsic=require("get-intrinsic");var $apply=GetIntrinsic("%Function.prototype.apply%");var $call=GetIntrinsic("%Function.prototype.call%");var $reflectApply=GetIntrinsic("%Reflect.apply%",true)||bind.call($call,$apply);var $gOPD=GetIntrinsic("%Object.getOwnPropertyDescriptor%",true);var $defineProperty=GetIntrinsic("%Object.defineProperty%",true);var $max=GetIntrinsic("%Math.max%");if($defineProperty){try{$defineProperty({},"a",{value:1})}catch(e){$defineProperty=null}}module.exports=function callBind(originalFunction){var func=$reflectApply(bind,$call,arguments);if($gOPD&&$defineProperty){var desc=$gOPD(func,"length");if(desc.configurable){$defineProperty(func,"length",{value:1+$max(0,originalFunction.length-(arguments.length-1))})}}return func};var applyBind=function applyBind(){return $reflectApply(bind,$apply,arguments)};if($defineProperty){$defineProperty(module.exports,"apply",{value:applyBind})}else{module.exports.apply=applyBind}},{"function-bind":23,"get-intrinsic":24}],19:[function(require,module,exports){"use strict";var GetIntrinsic=require("get-intrinsic");var $gOPD=GetIntrinsic("%Object.getOwnPropertyDescriptor%",true);if($gOPD){try{$gOPD([],"length")}catch(e){$gOPD=null}}module.exports=$gOPD},{"get-intrinsic":24}],20:[function(require,module,exports){"use strict";var R=typeof Reflect==="object"?Reflect:null;var ReflectApply=R&&typeof R.apply==="function"?R.apply:function ReflectApply(target,receiver,args){return Function.prototype.apply.call(target,receiver,args)};var ReflectOwnKeys;if(R&&typeof R.ownKeys==="function"){ReflectOwnKeys=R.ownKeys}else if(Object.getOwnPropertySymbols){ReflectOwnKeys=function ReflectOwnKeys(target){return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target))}}else{ReflectOwnKeys=function ReflectOwnKeys(target){return Object.getOwnPropertyNames(target)}}function ProcessEmitWarning(warning){if(console&&console.warn)console.warn(warning)}var NumberIsNaN=Number.isNaN||function NumberIsNaN(value){return value!==value};function EventEmitter(){EventEmitter.init.call(this)}module.exports=EventEmitter;module.exports.once=once;EventEmitter.EventEmitter=EventEmitter;EventEmitter.prototype._events=undefined;EventEmitter.prototype._eventsCount=0;EventEmitter.prototype._maxListeners=undefined;var defaultMaxListeners=10;function checkListener(listener){if(typeof listener!=="function"){throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof listener)}}Object.defineProperty(EventEmitter,"defaultMaxListeners",{enumerable:true,get:function(){return defaultMaxListeners},set:function(arg){if(typeof arg!=="number"||arg<0||NumberIsNaN(arg)){throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+arg+".")}defaultMaxListeners=arg}});EventEmitter.init=function(){if(this._events===undefined||this._events===Object.getPrototypeOf(this)._events){this._events=Object.create(null);this._eventsCount=0}this._maxListeners=this._maxListeners||undefined};EventEmitter.prototype.setMaxListeners=function setMaxListeners(n){if(typeof n!=="number"||n<0||NumberIsNaN(n)){throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+n+".")}this._maxListeners=n;return this};function _getMaxListeners(that){if(that._maxListeners===undefined)return EventEmitter.defaultMaxListeners;return that._maxListeners}EventEmitter.prototype.getMaxListeners=function getMaxListeners(){return _getMaxListeners(this)};EventEmitter.prototype.emit=function emit(type){var args=[];for(var i=1;i0)er=args[0];if(er instanceof Error){throw er}var err=new Error("Unhandled error."+(er?" ("+er.message+")":""));err.context=er;throw err}var handler=events[type];if(handler===undefined)return false;if(typeof handler==="function"){ReflectApply(handler,this,args)}else{var len=handler.length;var listeners=arrayClone(handler,len);for(var i=0;i0&&existing.length>m&&!existing.warned){existing.warned=true;var w=new Error("Possible EventEmitter memory leak detected. "+existing.length+" "+String(type)+" listeners "+"added. Use emitter.setMaxListeners() to "+"increase limit");w.name="MaxListenersExceededWarning";w.emitter=target;w.type=type;w.count=existing.length;ProcessEmitWarning(w)}}return target}EventEmitter.prototype.addListener=function addListener(type,listener){return _addListener(this,type,listener,false)};EventEmitter.prototype.on=EventEmitter.prototype.addListener;EventEmitter.prototype.prependListener=function prependListener(type,listener){return _addListener(this,type,listener,true)};function onceWrapper(){if(!this.fired){this.target.removeListener(this.type,this.wrapFn);this.fired=true;if(arguments.length===0)return this.listener.call(this.target);return this.listener.apply(this.target,arguments)}}function _onceWrap(target,type,listener){var state={fired:false,wrapFn:undefined,target:target,type:type,listener:listener};var wrapped=onceWrapper.bind(state);wrapped.listener=listener;state.wrapFn=wrapped;return wrapped}EventEmitter.prototype.once=function once(type,listener){checkListener(listener);this.on(type,_onceWrap(this,type,listener));return this};EventEmitter.prototype.prependOnceListener=function prependOnceListener(type,listener){checkListener(listener);this.prependListener(type,_onceWrap(this,type,listener));return this};EventEmitter.prototype.removeListener=function removeListener(type,listener){var list,events,position,i,originalListener;checkListener(listener);events=this._events;if(events===undefined)return this;list=events[type];if(list===undefined)return this;if(list===listener||list.listener===listener){if(--this._eventsCount===0)this._events=Object.create(null);else{delete events[type];if(events.removeListener)this.emit("removeListener",type,list.listener||listener)}}else if(typeof list!=="function"){position=-1;for(i=list.length-1;i>=0;i--){if(list[i]===listener||list[i].listener===listener){originalListener=list[i].listener;position=i;break}}if(position<0)return this;if(position===0)list.shift();else{spliceOne(list,position)}if(list.length===1)events[type]=list[0];if(events.removeListener!==undefined)this.emit("removeListener",type,originalListener||listener)}return this};EventEmitter.prototype.off=EventEmitter.prototype.removeListener;EventEmitter.prototype.removeAllListeners=function removeAllListeners(type){var listeners,events,i;events=this._events;if(events===undefined)return this;if(events.removeListener===undefined){if(arguments.length===0){this._events=Object.create(null);this._eventsCount=0}else if(events[type]!==undefined){if(--this._eventsCount===0)this._events=Object.create(null);else delete events[type]}return this}if(arguments.length===0){var keys=Object.keys(events);var key;for(i=0;i=0;i--){this.removeListener(type,listeners[i])}}return this};function _listeners(target,type,unwrap){var events=target._events;if(events===undefined)return[];var evlistener=events[type];if(evlistener===undefined)return[];if(typeof evlistener==="function")return unwrap?[evlistener.listener||evlistener]:[evlistener];return unwrap?unwrapListeners(evlistener):arrayClone(evlistener,evlistener.length)}EventEmitter.prototype.listeners=function listeners(type){return _listeners(this,type,true)};EventEmitter.prototype.rawListeners=function rawListeners(type){return _listeners(this,type,false)};EventEmitter.listenerCount=function(emitter,type){if(typeof emitter.listenerCount==="function"){return emitter.listenerCount(type)}else{return listenerCount.call(emitter,type)}};EventEmitter.prototype.listenerCount=listenerCount;function listenerCount(type){var events=this._events;if(events!==undefined){var evlistener=events[type];if(typeof evlistener==="function"){return 1}else if(evlistener!==undefined){return evlistener.length}}return 0}EventEmitter.prototype.eventNames=function eventNames(){return this._eventsCount>0?ReflectOwnKeys(this._events):[]};function arrayClone(arr,n){var copy=new Array(n);for(var i=0;i1&&typeof allowMissing!=="boolean"){throw new $TypeError('"allowMissing" argument must be a boolean')}var parts=stringToPath(name);var intrinsicBaseName=parts.length>0?parts[0]:"";var intrinsic=getBaseIntrinsic("%"+intrinsicBaseName+"%",allowMissing);var intrinsicRealName=intrinsic.name;var value=intrinsic.value;var skipFurtherCaching=false;var alias=intrinsic.alias;if(alias){intrinsicBaseName=alias[0];$spliceApply(parts,$concat([0,1],alias))}for(var i=1,isOwn=true;i=parts.length){var desc=$gOPD(value,part);isOwn=!!desc;if(isOwn&&"get"in desc&&!("originalValue"in desc.get)){value=desc.get}else{value=value[part]}}else{isOwn=hasOwn(value,part);value=value[part]}if(isOwn&&!skipFurtherCaching){INTRINSICS[intrinsicRealName]=value}}}return value}},{"function-bind":23,has:28,"has-symbols":25}],25:[function(require,module,exports){"use strict";var origSymbol=typeof Symbol!=="undefined"&&Symbol;var hasSymbolSham=require("./shams");module.exports=function hasNativeSymbols(){if(typeof origSymbol!=="function"){return false}if(typeof Symbol!=="function"){return false}if(typeof origSymbol("foo")!=="symbol"){return false}if(typeof Symbol("bar")!=="symbol"){return false}return hasSymbolSham()}},{"./shams":26}],26:[function(require,module,exports){"use strict";module.exports=function hasSymbols(){if(typeof Symbol!=="function"||typeof Object.getOwnPropertySymbols!=="function"){return false}if(typeof Symbol.iterator==="symbol"){return true}var obj={};var sym=Symbol("test");var symObj=Object(sym);if(typeof sym==="string"){return false}if(Object.prototype.toString.call(sym)!=="[object Symbol]"){return false}if(Object.prototype.toString.call(symObj)!=="[object Symbol]"){return false}var symVal=42;obj[sym]=symVal;for(sym in obj){return false}if(typeof Object.keys==="function"&&Object.keys(obj).length!==0){return false}if(typeof Object.getOwnPropertyNames==="function"&&Object.getOwnPropertyNames(obj).length!==0){return false}var syms=Object.getOwnPropertySymbols(obj);if(syms.length!==1||syms[0]!==sym){return false}if(!Object.prototype.propertyIsEnumerable.call(obj,sym)){return false}if(typeof Object.getOwnPropertyDescriptor==="function"){var descriptor=Object.getOwnPropertyDescriptor(obj,sym);if(descriptor.value!==symVal||descriptor.enumerable!==true){return false}}return true}},{}],27:[function(require,module,exports){"use strict";var hasSymbols=require("has-symbols/shams");module.exports=function hasToStringTagShams(){return hasSymbols()&&!!Symbol.toStringTag}},{"has-symbols/shams":26}],28:[function(require,module,exports){"use strict";var bind=require("function-bind");module.exports=bind.call(Function.call,Object.prototype.hasOwnProperty)},{"function-bind":23}],29:[function(require,module,exports){exports.read=function(buffer,offset,isLE,mLen,nBytes){var e,m;var eLen=nBytes*8-mLen-1;var eMax=(1<>1;var nBits=-7;var i=isLE?nBytes-1:0;var d=isLE?-1:1;var 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)};exports.write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c;var eLen=nBytes*8-mLen-1;var eMax=(1<>1;var rt=mLen===23?Math.pow(2,-24)-Math.pow(2,-77):0;var i=isLE?0:nBytes-1;var d=isLE?1:-1;var 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&255,i+=d,m/=256,mLen-=8){}e=e<0;buffer[offset+i]=e&255,i+=d,e/=256,eLen-=8){}buffer[offset+i-d]|=s*128}},{}],30:[function(require,module,exports){if(typeof Object.create==="function"){module.exports=function inherits(ctor,superCtor){if(superCtor){ctor.super_=superCtor;ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:false,writable:true,configurable:true}})}}}else{module.exports=function inherits(ctor,superCtor){if(superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype;ctor.prototype=new TempCtor;ctor.prototype.constructor=ctor}}}},{}],31:[function(require,module,exports){"use strict";var hasToStringTag=require("has-tostringtag/shams")();var callBound=require("call-bind/callBound");var $toString=callBound("Object.prototype.toString");var isStandardArguments=function isArguments(value){if(hasToStringTag&&value&&typeof value==="object"&&Symbol.toStringTag in value){return false}return $toString(value)==="[object Arguments]"};var isLegacyArguments=function isArguments(value){if(isStandardArguments(value)){return true}return value!==null&&typeof value==="object"&&typeof value.length==="number"&&value.length>=0&&$toString(value)!=="[object Array]"&&$toString(value.callee)==="[object Function]"};var supportsStandardArguments=function(){return isStandardArguments(arguments)}();isStandardArguments.isLegacyArguments=isLegacyArguments;module.exports=supportsStandardArguments?isStandardArguments:isLegacyArguments},{"call-bind/callBound":17,"has-tostringtag/shams":27}],32:[function(require,module,exports){"use strict";var toStr=Object.prototype.toString;var fnToStr=Function.prototype.toString;var isFnRegex=/^\s*(?:function)?\*/;var hasToStringTag=require("has-tostringtag/shams")();var getProto=Object.getPrototypeOf;var getGeneratorFunc=function(){if(!hasToStringTag){return false}try{return Function("return function*() {}")()}catch(e){}};var GeneratorFunction;module.exports=function isGeneratorFunction(fn){if(typeof fn!=="function"){return false}if(isFnRegex.test(fnToStr.call(fn))){return true}if(!hasToStringTag){var str=toStr.call(fn);return str==="[object GeneratorFunction]"}if(!getProto){return false}if(typeof GeneratorFunction==="undefined"){var generatorFunc=getGeneratorFunc();GeneratorFunction=generatorFunc?getProto(generatorFunc):false}return getProto(fn)===GeneratorFunction}},{"has-tostringtag/shams":27}],33:[function(require,module,exports){(function(global){(function(){"use strict";var forEach=require("foreach");var availableTypedArrays=require("available-typed-arrays");var callBound=require("call-bind/callBound");var $toString=callBound("Object.prototype.toString");var hasToStringTag=require("has-tostringtag/shams")();var g=typeof globalThis==="undefined"?global:globalThis;var typedArrays=availableTypedArrays();var $indexOf=callBound("Array.prototype.indexOf",true)||function indexOf(array,value){for(var i=0;i-1}if(!gOPD){return false}return tryTypedArrays(value)}}).call(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"available-typed-arrays":11,"call-bind/callBound":17,"es-abstract/helpers/getOwnPropertyDescriptor":19,foreach:21,"has-tostringtag/shams":27}],34:[function(require,module,exports){"use strict";var getOwnPropertySymbols=Object.getOwnPropertySymbols;var hasOwnProperty=Object.prototype.hasOwnProperty;var propIsEnumerable=Object.prototype.propertyIsEnumerable;function toObject(val){if(val===null||val===undefined){throw new TypeError("Object.assign cannot be called with null or undefined")}return Object(val)}function shouldUseNative(){try{if(!Object.assign){return false}var test1=new String("abc");test1[5]="de";if(Object.getOwnPropertyNames(test1)[0]==="5"){return false}var test2={};for(var i=0;i<10;i++){test2["_"+String.fromCharCode(i)]=i}var order2=Object.getOwnPropertyNames(test2).map(function(n){return test2[n]});if(order2.join("")!=="0123456789"){return false}var test3={};"abcdefghijklmnopqrst".split("").forEach(function(letter){test3[letter]=letter});if(Object.keys(Object.assign({},test3)).join("")!=="abcdefghijklmnopqrst"){return false}return true}catch(err){return false}}module.exports=shouldUseNative()?Object.assign:function(target,source){var from;var to=toObject(target);var symbols;for(var s=1;s1){for(var i=1;i2){return"one of ".concat(thing," ").concat(expected.slice(0,len-1).join(", "),", or ")+expected[len-1]}else if(len===2){return"one of ".concat(thing," ").concat(expected[0]," or ").concat(expected[1])}else{return"of ".concat(thing," ").concat(expected[0])}}else{return"of ".concat(thing," ").concat(String(expected))}}function startsWith(str,search,pos){return str.substr(!pos||pos<0?0:+pos,search.length)===search}function endsWith(str,search,this_len){if(this_len===undefined||this_len>str.length){this_len=str.length}return str.substring(this_len-search.length,this_len)===search}function includes(str,search,start){if(typeof start!=="number"){start=0}if(start+search.length>str.length){return false}else{return str.indexOf(search,start)!==-1}}createErrorType("ERR_INVALID_OPT_VALUE",function(name,value){return'The value "'+value+'" is invalid for option "'+name+'"'},TypeError);createErrorType("ERR_INVALID_ARG_TYPE",function(name,expected,actual){var determiner;if(typeof expected==="string"&&startsWith(expected,"not ")){determiner="must not be";expected=expected.replace(/^not /,"")}else{determiner="must be"}var msg;if(endsWith(name," argument")){msg="The ".concat(name," ").concat(determiner," ").concat(oneOf(expected,"type"))}else{var type=includes(name,".")?"property":"argument";msg='The "'.concat(name,'" ').concat(type," ").concat(determiner," ").concat(oneOf(expected,"type"))}msg+=". Received type ".concat(typeof actual);return msg},TypeError);createErrorType("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");createErrorType("ERR_METHOD_NOT_IMPLEMENTED",function(name){return"The "+name+" method is not implemented"});createErrorType("ERR_STREAM_PREMATURE_CLOSE","Premature close");createErrorType("ERR_STREAM_DESTROYED",function(name){return"Cannot call "+name+" after a stream was destroyed"});createErrorType("ERR_MULTIPLE_CALLBACK","Callback called multiple times");createErrorType("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");createErrorType("ERR_STREAM_WRITE_AFTER_END","write after end");createErrorType("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);createErrorType("ERR_UNKNOWN_ENCODING",function(arg){return"Unknown encoding: "+arg},TypeError);createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");module.exports.codes=codes},{}],37:[function(require,module,exports){(function(process){(function(){"use strict";var objectKeys=Object.keys||function(obj){var keys=[];for(var key in obj){keys.push(key)}return keys};module.exports=Duplex;var Readable=require("./_stream_readable");var Writable=require("./_stream_writable");require("inherits")(Duplex,Readable);{var keys=objectKeys(Writable.prototype);for(var v=0;v0){if(typeof chunk!=="string"&&!state.objectMode&&Object.getPrototypeOf(chunk)!==Buffer.prototype){chunk=_uint8ArrayToBuffer(chunk)}if(addToFront){if(state.endEmitted)errorOrDestroy(stream,new ERR_STREAM_UNSHIFT_AFTER_END_EVENT);else addChunk(stream,state,chunk,true)}else if(state.ended){errorOrDestroy(stream,new ERR_STREAM_PUSH_AFTER_EOF)}else if(state.destroyed){return false}else{state.reading=false;if(state.decoder&&!encoding){chunk=state.decoder.write(chunk);if(state.objectMode||chunk.length!==0)addChunk(stream,state,chunk,false);else maybeReadMore(stream,state)}else{addChunk(stream,state,chunk,false)}}}else if(!addToFront){state.reading=false;maybeReadMore(stream,state)}}return!state.ended&&(state.length=MAX_HWM){n=MAX_HWM}else{n--;n|=n>>>1;n|=n>>>2;n|=n>>>4;n|=n>>>8;n|=n>>>16;n++}return n}function howMuchToRead(n,state){if(n<=0||state.length===0&&state.ended)return 0;if(state.objectMode)return 1;if(n!==n){if(state.flowing&&state.length)return state.buffer.head.data.length;else return state.length}if(n>state.highWaterMark)state.highWaterMark=computeNewHighWaterMark(n);if(n<=state.length)return n;if(!state.ended){state.needReadable=true;return 0}return state.length}Readable.prototype.read=function(n){debug("read",n);n=parseInt(n,10);var state=this._readableState;var nOrig=n;if(n!==0)state.emittedReadable=false;if(n===0&&state.needReadable&&((state.highWaterMark!==0?state.length>=state.highWaterMark:state.length>0)||state.ended)){debug("read: emitReadable",state.length,state.ended);if(state.length===0&&state.ended)endReadable(this);else emitReadable(this);return null}n=howMuchToRead(n,state);if(n===0&&state.ended){if(state.length===0)endReadable(this);return null}var doRead=state.needReadable;debug("need readable",doRead);if(state.length===0||state.length-n0)ret=fromList(n,state);else ret=null;if(ret===null){state.needReadable=state.length<=state.highWaterMark;n=0}else{state.length-=n;state.awaitDrain=0}if(state.length===0){if(!state.ended)state.needReadable=true;if(nOrig!==n&&state.ended)endReadable(this)}if(ret!==null)this.emit("data",ret);return ret};function onEofChunk(stream,state){debug("onEofChunk");if(state.ended)return;if(state.decoder){var chunk=state.decoder.end();if(chunk&&chunk.length){state.buffer.push(chunk);state.length+=state.objectMode?1:chunk.length}}state.ended=true;if(state.sync){emitReadable(stream)}else{state.needReadable=false;if(!state.emittedReadable){state.emittedReadable=true;emitReadable_(stream)}}}function emitReadable(stream){var state=stream._readableState;debug("emitReadable",state.needReadable,state.emittedReadable);state.needReadable=false;if(!state.emittedReadable){debug("emitReadable",state.flowing);state.emittedReadable=true;process.nextTick(emitReadable_,stream)}}function emitReadable_(stream){var state=stream._readableState;debug("emitReadable_",state.destroyed,state.length,state.ended);if(!state.destroyed&&(state.length||state.ended)){stream.emit("readable");state.emittedReadable=false}state.needReadable=!state.flowing&&!state.ended&&state.length<=state.highWaterMark;flow(stream)}function maybeReadMore(stream,state){if(!state.readingMore){state.readingMore=true;process.nextTick(maybeReadMore_,stream,state)}}function maybeReadMore_(stream,state){while(!state.reading&&!state.ended&&(state.length1&&indexOf(state.pipes,dest)!==-1)&&!cleanedUp){debug("false write response, pause",state.awaitDrain);state.awaitDrain++}src.pause()}}function onerror(er){debug("onerror",er);unpipe();dest.removeListener("error",onerror);if(EElistenerCount(dest,"error")===0)errorOrDestroy(dest,er)}prependListener(dest,"error",onerror);function onclose(){dest.removeListener("finish",onfinish);unpipe()}dest.once("close",onclose);function onfinish(){debug("onfinish");dest.removeListener("close",onclose);unpipe()}dest.once("finish",onfinish);function unpipe(){debug("unpipe");src.unpipe(dest)}dest.emit("pipe",src);if(!state.flowing){debug("pipe resume");src.resume()}return dest};function pipeOnDrain(src){return function pipeOnDrainFunctionResult(){var state=src._readableState;debug("pipeOnDrain",state.awaitDrain);if(state.awaitDrain)state.awaitDrain--;if(state.awaitDrain===0&&EElistenerCount(src,"data")){state.flowing=true;flow(src)}}}Readable.prototype.unpipe=function(dest){var state=this._readableState;var unpipeInfo={hasUnpiped:false};if(state.pipesCount===0)return this;if(state.pipesCount===1){if(dest&&dest!==state.pipes)return this;if(!dest)dest=state.pipes;state.pipes=null;state.pipesCount=0;state.flowing=false;if(dest)dest.emit("unpipe",this,unpipeInfo);return this}if(!dest){var dests=state.pipes;var len=state.pipesCount;state.pipes=null;state.pipesCount=0;state.flowing=false;for(var i=0;i0;if(state.flowing!==false)this.resume()}else if(ev==="readable"){if(!state.endEmitted&&!state.readableListening){state.readableListening=state.needReadable=true;state.flowing=false;state.emittedReadable=false;debug("on readable",state.length,state.reading);if(state.length){emitReadable(this)}else if(!state.reading){process.nextTick(nReadingNextTick,this)}}}return res};Readable.prototype.addListener=Readable.prototype.on;Readable.prototype.removeListener=function(ev,fn){var res=Stream.prototype.removeListener.call(this,ev,fn);if(ev==="readable"){process.nextTick(updateReadableListening,this)}return res};Readable.prototype.removeAllListeners=function(ev){var res=Stream.prototype.removeAllListeners.apply(this,arguments);if(ev==="readable"||ev===undefined){process.nextTick(updateReadableListening,this)}return res};function updateReadableListening(self){var state=self._readableState;state.readableListening=self.listenerCount("readable")>0;if(state.resumeScheduled&&!state.paused){state.flowing=true}else if(self.listenerCount("data")>0){self.resume()}}function nReadingNextTick(self){debug("readable nexttick read 0");self.read(0)}Readable.prototype.resume=function(){var state=this._readableState;if(!state.flowing){debug("resume");state.flowing=!state.readableListening;resume(this,state)}state.paused=false;return this};function resume(stream,state){if(!state.resumeScheduled){state.resumeScheduled=true;process.nextTick(resume_,stream,state)}}function resume_(stream,state){debug("resume",state.reading);if(!state.reading){stream.read(0)}state.resumeScheduled=false;stream.emit("resume");flow(stream);if(state.flowing&&!state.reading)stream.read(0)}Readable.prototype.pause=function(){debug("call pause flowing=%j",this._readableState.flowing);if(this._readableState.flowing!==false){debug("pause");this._readableState.flowing=false;this.emit("pause")}this._readableState.paused=true;return this};function flow(stream){var state=stream._readableState;debug("flow",state.flowing);while(state.flowing&&stream.read()!==null){}}Readable.prototype.wrap=function(stream){var _this=this;var state=this._readableState;var paused=false;stream.on("end",function(){debug("wrapped end");if(state.decoder&&!state.ended){var chunk=state.decoder.end();if(chunk&&chunk.length)_this.push(chunk)}_this.push(null)});stream.on("data",function(chunk){debug("wrapped data");if(state.decoder)chunk=state.decoder.write(chunk);if(state.objectMode&&(chunk===null||chunk===undefined))return;else if(!state.objectMode&&(!chunk||!chunk.length))return;var ret=_this.push(chunk);if(!ret){paused=true;stream.pause()}});for(var i in stream){if(this[i]===undefined&&typeof stream[i]==="function"){this[i]=function methodWrap(method){return function methodWrapReturnFunction(){return stream[method].apply(stream,arguments)}}(i)}}for(var n=0;n=state.length){if(state.decoder)ret=state.buffer.join("");else if(state.buffer.length===1)ret=state.buffer.first();else ret=state.buffer.concat(state.length);state.buffer.clear()}else{ret=state.buffer.consume(n,state.decoder)}return ret}function endReadable(stream){var state=stream._readableState;debug("endReadable",state.endEmitted);if(!state.endEmitted){state.ended=true;process.nextTick(endReadableNT,state,stream)}}function endReadableNT(state,stream){debug("endReadableNT",state.endEmitted,state.length);if(!state.endEmitted&&state.length===0){state.endEmitted=true;stream.readable=false;stream.emit("end");if(state.autoDestroy){var wState=stream._writableState;if(!wState||wState.autoDestroy&&wState.finished){stream.destroy()}}}}if(typeof Symbol==="function"){Readable.from=function(iterable,opts){if(from===undefined){from=require("./internal/streams/from")}return from(Readable,iterable,opts)}}function indexOf(xs,x){for(var i=0,l=xs.length;i-1))throw new ERR_UNKNOWN_ENCODING(encoding);this._writableState.defaultEncoding=encoding;return this};Object.defineProperty(Writable.prototype,"writableBuffer",{enumerable:false,get:function get(){return this._writableState&&this._writableState.getBuffer()}});function decodeChunk(state,chunk,encoding){if(!state.objectMode&&state.decodeStrings!==false&&typeof chunk==="string"){chunk=Buffer.from(chunk,encoding)}return chunk}Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:false,get:function get(){return this._writableState.highWaterMark}});function writeOrBuffer(stream,state,isBuf,chunk,encoding,cb){if(!isBuf){var newChunk=decodeChunk(state,chunk,encoding);if(chunk!==newChunk){isBuf=true;encoding="buffer";chunk=newChunk}}var len=state.objectMode?1:chunk.length;state.length+=len;var ret=state.length0)this.tail.next=entry;else this.head=entry;this.tail=entry;++this.length}},{key:"unshift",value:function unshift(v){var entry={data:v,next:this.head};if(this.length===0)this.tail=entry;this.head=entry;++this.length}},{key:"shift",value:function shift(){if(this.length===0)return;var ret=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;--this.length;return ret}},{key:"clear",value:function clear(){this.head=this.tail=null;this.length=0}},{key:"join",value:function join(s){if(this.length===0)return"";var p=this.head;var ret=""+p.data;while(p=p.next){ret+=s+p.data}return ret}},{key:"concat",value:function concat(n){if(this.length===0)return Buffer.alloc(0);var ret=Buffer.allocUnsafe(n>>>0);var p=this.head;var i=0;while(p){copyBuffer(p.data,ret,i);i+=p.data.length;p=p.next}return ret}},{key:"consume",value:function consume(n,hasStrings){var ret;if(nstr.length?str.length:n;if(nb===str.length)ret+=str;else ret+=str.slice(0,n);n-=nb;if(n===0){if(nb===str.length){++c;if(p.next)this.head=p.next;else this.head=this.tail=null}else{this.head=p;p.data=str.slice(nb)}break}++c}this.length-=c;return ret}},{key:"_getBuffer",value:function _getBuffer(n){var ret=Buffer.allocUnsafe(n);var p=this.head;var c=1;p.data.copy(ret);n-=p.data.length;while(p=p.next){var buf=p.data;var nb=n>buf.length?buf.length:n;buf.copy(ret,ret.length-n,0,nb);n-=nb;if(n===0){if(nb===buf.length){++c;if(p.next)this.head=p.next;else this.head=this.tail=null}else{this.head=p;p.data=buf.slice(nb)}break}++c}this.length-=c;return ret}},{key:custom,value:function value(_,options){return inspect(this,_objectSpread({},options,{depth:0,customInspect:false}))}}]);return BufferList}()},{buffer:16,util:15}],44:[function(require,module,exports){(function(process){(function(){"use strict";function destroy(err,cb){var _this=this;var readableDestroyed=this._readableState&&this._readableState.destroyed;var writableDestroyed=this._writableState&&this._writableState.destroyed;if(readableDestroyed||writableDestroyed){if(cb){cb(err)}else if(err){if(!this._writableState){process.nextTick(emitErrorNT,this,err)}else if(!this._writableState.errorEmitted){this._writableState.errorEmitted=true;process.nextTick(emitErrorNT,this,err)}}return this}if(this._readableState){this._readableState.destroyed=true}if(this._writableState){this._writableState.destroyed=true}this._destroy(err||null,function(err){if(!cb&&err){if(!_this._writableState){process.nextTick(emitErrorAndCloseNT,_this,err)}else if(!_this._writableState.errorEmitted){_this._writableState.errorEmitted=true;process.nextTick(emitErrorAndCloseNT,_this,err)}else{process.nextTick(emitCloseNT,_this)}}else if(cb){process.nextTick(emitCloseNT,_this);cb(err)}else{process.nextTick(emitCloseNT,_this)}});return this}function emitErrorAndCloseNT(self,err){emitErrorNT(self,err);emitCloseNT(self)}function emitCloseNT(self){if(self._writableState&&!self._writableState.emitClose)return;if(self._readableState&&!self._readableState.emitClose)return;self.emit("close")}function undestroy(){if(this._readableState){this._readableState.destroyed=false;this._readableState.reading=false;this._readableState.ended=false;this._readableState.endEmitted=false}if(this._writableState){this._writableState.destroyed=false;this._writableState.ended=false;this._writableState.ending=false;this._writableState.finalCalled=false;this._writableState.prefinished=false;this._writableState.finished=false;this._writableState.errorEmitted=false}}function emitErrorNT(self,err){self.emit("error",err)}function errorOrDestroy(stream,err){var rState=stream._readableState;var wState=stream._writableState;if(rState&&rState.autoDestroy||wState&&wState.autoDestroy)stream.destroy(err);else stream.emit("error",err)}module.exports={destroy:destroy,undestroy:undestroy,errorOrDestroy:errorOrDestroy}}).call(this)}).call(this,require("_process"))},{_process:35}],45:[function(require,module,exports){"use strict";var ERR_STREAM_PREMATURE_CLOSE=require("../../../errors").codes.ERR_STREAM_PREMATURE_CLOSE;function once(callback){var called=false;return function(){if(called)return;called=true;for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}callback.apply(this,args)}}function noop(){}function isRequest(stream){return stream.setHeader&&typeof stream.abort==="function"}function eos(stream,opts,callback){if(typeof opts==="function")return eos(stream,null,opts);if(!opts)opts={};callback=once(callback||noop);var readable=opts.readable||opts.readable!==false&&stream.readable;var writable=opts.writable||opts.writable!==false&&stream.writable;var onlegacyfinish=function onlegacyfinish(){if(!stream.writable)onfinish()};var writableEnded=stream._writableState&&stream._writableState.finished;var onfinish=function onfinish(){writable=false;writableEnded=true;if(!readable)callback.call(stream)};var readableEnded=stream._readableState&&stream._readableState.endEmitted;var onend=function onend(){readable=false;readableEnded=true;if(!writable)callback.call(stream)};var onerror=function onerror(err){callback.call(stream,err)};var onclose=function onclose(){var err;if(readable&&!readableEnded){if(!stream._readableState||!stream._readableState.ended)err=new ERR_STREAM_PREMATURE_CLOSE;return callback.call(stream,err)}if(writable&&!writableEnded){if(!stream._writableState||!stream._writableState.ended)err=new ERR_STREAM_PREMATURE_CLOSE;return callback.call(stream,err)}};var onrequest=function onrequest(){stream.req.on("finish",onfinish)};if(isRequest(stream)){stream.on("complete",onfinish);stream.on("abort",onclose);if(stream.req)onrequest();else stream.on("request",onrequest)}else if(writable&&!stream._writableState){stream.on("end",onlegacyfinish);stream.on("close",onlegacyfinish)}stream.on("end",onend);stream.on("finish",onfinish);if(opts.error!==false)stream.on("error",onerror);stream.on("close",onclose);return function(){stream.removeListener("complete",onfinish);stream.removeListener("abort",onclose);stream.removeListener("request",onrequest);if(stream.req)stream.req.removeListener("finish",onfinish);stream.removeListener("end",onlegacyfinish);stream.removeListener("close",onlegacyfinish);stream.removeListener("finish",onfinish);stream.removeListener("end",onend);stream.removeListener("error",onerror);stream.removeListener("close",onclose)}}module.exports=eos},{"../../../errors":36}],46:[function(require,module,exports){module.exports=function(){throw new Error("Readable.from is not available in the browser")}},{}],47:[function(require,module,exports){"use strict";var eos;function once(callback){var called=false;return function(){if(called)return;called=true;callback.apply(void 0,arguments)}}var _require$codes=require("../../../errors").codes,ERR_MISSING_ARGS=_require$codes.ERR_MISSING_ARGS,ERR_STREAM_DESTROYED=_require$codes.ERR_STREAM_DESTROYED;function noop(err){if(err)throw err}function isRequest(stream){return stream.setHeader&&typeof stream.abort==="function"}function destroyer(stream,reading,writing,callback){callback=once(callback);var closed=false;stream.on("close",function(){closed=true});if(eos===undefined)eos=require("./end-of-stream");eos(stream,{readable:reading,writable:writing},function(err){if(err)return callback(err);closed=true;callback()});var destroyed=false;return function(err){if(closed)return;if(destroyed)return;destroyed=true;if(isRequest(stream))return stream.abort();if(typeof stream.destroy==="function")return stream.destroy();callback(err||new ERR_STREAM_DESTROYED("pipe"))}}function call(fn){fn()}function pipe(from,to){return from.pipe(to)}function popCallback(streams){if(!streams.length)return noop;if(typeof streams[streams.length-1]!=="function")return noop;return streams.pop()}function pipeline(){for(var _len=arguments.length,streams=new Array(_len),_key=0;_key<_len;_key++){streams[_key]=arguments[_key]}var callback=popCallback(streams);if(Array.isArray(streams[0]))streams=streams[0];if(streams.length<2){throw new ERR_MISSING_ARGS("streams")}var error;var destroys=streams.map(function(stream,i){var reading=i0;return destroyer(stream,reading,writing,function(err){if(!error)error=err;if(err)destroys.forEach(call);if(reading)return;destroys.forEach(call);callback(error)})});return streams.reduce(pipe)}module.exports=pipeline},{"../../../errors":36,"./end-of-stream":45}],48:[function(require,module,exports){"use strict";var ERR_INVALID_OPT_VALUE=require("../../../errors").codes.ERR_INVALID_OPT_VALUE;function highWaterMarkFrom(options,isDuplex,duplexKey){return options.highWaterMark!=null?options.highWaterMark:isDuplex?options[duplexKey]:null}function getHighWaterMark(state,options,duplexKey,isDuplex){var hwm=highWaterMarkFrom(options,isDuplex,duplexKey);if(hwm!=null){if(!(isFinite(hwm)&&Math.floor(hwm)===hwm)||hwm<0){var name=isDuplex?duplexKey:"highWaterMark";throw new ERR_INVALID_OPT_VALUE(name,hwm)}return Math.floor(hwm)}return state.objectMode?16:16*1024}module.exports={getHighWaterMark:getHighWaterMark}},{"../../../errors":36}],49:[function(require,module,exports){module.exports=require("events").EventEmitter},{events:20}],50:[function(require,module,exports){exports=module.exports=require("./lib/_stream_readable.js");exports.Stream=exports;exports.Readable=exports;exports.Writable=require("./lib/_stream_writable.js");exports.Duplex=require("./lib/_stream_duplex.js");exports.Transform=require("./lib/_stream_transform.js");exports.PassThrough=require("./lib/_stream_passthrough.js");exports.finished=require("./lib/internal/streams/end-of-stream.js");exports.pipeline=require("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":37,"./lib/_stream_passthrough.js":38,"./lib/_stream_readable.js":39,"./lib/_stream_transform.js":40,"./lib/_stream_writable.js":41,"./lib/internal/streams/end-of-stream.js":45,"./lib/internal/streams/pipeline.js":47}],51:[function(require,module,exports){var buffer=require("buffer");var Buffer=buffer.Buffer;function copyProps(src,dst){for(var key in src){dst[key]=src[key]}}if(Buffer.from&&Buffer.alloc&&Buffer.allocUnsafe&&Buffer.allocUnsafeSlow){module.exports=buffer}else{copyProps(buffer,exports);exports.Buffer=SafeBuffer}function SafeBuffer(arg,encodingOrOffset,length){return Buffer(arg,encodingOrOffset,length)}SafeBuffer.prototype=Object.create(Buffer.prototype);copyProps(Buffer,SafeBuffer);SafeBuffer.from=function(arg,encodingOrOffset,length){if(typeof arg==="number"){throw new TypeError("Argument must not be a number")}return Buffer(arg,encodingOrOffset,length)};SafeBuffer.alloc=function(size,fill,encoding){if(typeof size!=="number"){throw new TypeError("Argument must be a number")}var buf=Buffer(size);if(fill!==undefined){if(typeof encoding==="string"){buf.fill(fill,encoding)}else{buf.fill(fill)}}else{buf.fill(0)}return buf};SafeBuffer.allocUnsafe=function(size){if(typeof size!=="number"){throw new TypeError("Argument must be a number")}return Buffer(size)};SafeBuffer.allocUnsafeSlow=function(size){if(typeof size!=="number"){throw new TypeError("Argument must be a number")}return buffer.SlowBuffer(size)}},{buffer:16}],52:[function(require,module,exports){"use strict";var Buffer=require("safe-buffer").Buffer;var isEncoding=Buffer.isEncoding||function(encoding){encoding=""+encoding;switch(encoding&&encoding.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return true;default:return false}};function _normalizeEncoding(enc){if(!enc)return"utf8";var retried;while(true){switch(enc){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return enc;default:if(retried)return;enc=(""+enc).toLowerCase();retried=true}}}function normalizeEncoding(enc){var nenc=_normalizeEncoding(enc);if(typeof nenc!=="string"&&(Buffer.isEncoding===isEncoding||!isEncoding(enc)))throw new Error("Unknown encoding: "+enc);return nenc||enc}exports.StringDecoder=StringDecoder;function StringDecoder(encoding){this.encoding=normalizeEncoding(encoding);var nb;switch(this.encoding){case"utf16le":this.text=utf16Text;this.end=utf16End;nb=4;break;case"utf8":this.fillLast=utf8FillLast;nb=4;break;case"base64":this.text=base64Text;this.end=base64End;nb=3;break;default:this.write=simpleWrite;this.end=simpleEnd;return}this.lastNeed=0;this.lastTotal=0;this.lastChar=Buffer.allocUnsafe(nb)}StringDecoder.prototype.write=function(buf){if(buf.length===0)return"";var r;var i;if(this.lastNeed){r=this.fillLast(buf);if(r===undefined)return"";i=this.lastNeed;this.lastNeed=0}else{i=0}if(i>5===6)return 2;else if(byte>>4===14)return 3;else if(byte>>3===30)return 4;return byte>>6===2?-1:-2}function utf8CheckIncomplete(self,buf,i){var j=buf.length-1;if(j=0){if(nb>0)self.lastNeed=nb-1;return nb}if(--j=0){if(nb>0)self.lastNeed=nb-2;return nb}if(--j=0){if(nb>0){if(nb===2)nb=0;else self.lastNeed=nb-3}return nb}return 0}function utf8CheckExtraBytes(self,buf,p){if((buf[0]&192)!==128){self.lastNeed=0;return"�"}if(self.lastNeed>1&&buf.length>1){if((buf[1]&192)!==128){self.lastNeed=1;return"�"}if(self.lastNeed>2&&buf.length>2){if((buf[2]&192)!==128){self.lastNeed=2;return"�"}}}}function utf8FillLast(buf){var p=this.lastTotal-this.lastNeed;var r=utf8CheckExtraBytes(this,buf,p);if(r!==undefined)return r;if(this.lastNeed<=buf.length){buf.copy(this.lastChar,p,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}buf.copy(this.lastChar,p,0,buf.length);this.lastNeed-=buf.length}function utf8Text(buf,i){var total=utf8CheckIncomplete(this,buf,i);if(!this.lastNeed)return buf.toString("utf8",i);this.lastTotal=total;var end=buf.length-(total-this.lastNeed);buf.copy(this.lastChar,0,end);return buf.toString("utf8",i,end)}function utf8End(buf){var r=buf&&buf.length?this.write(buf):"";if(this.lastNeed)return r+"�";return r}function utf16Text(buf,i){if((buf.length-i)%2===0){var r=buf.toString("utf16le",i);if(r){var c=r.charCodeAt(r.length-1);if(c>=55296&&c<=56319){this.lastNeed=2;this.lastTotal=4;this.lastChar[0]=buf[buf.length-2];this.lastChar[1]=buf[buf.length-1];return r.slice(0,-1)}}return r}this.lastNeed=1;this.lastTotal=2;this.lastChar[0]=buf[buf.length-1];return buf.toString("utf16le",i,buf.length-1)}function utf16End(buf){var r=buf&&buf.length?this.write(buf):"";if(this.lastNeed){var end=this.lastTotal-this.lastNeed;return r+this.lastChar.toString("utf16le",0,end)}return r}function base64Text(buf,i){var n=(buf.length-i)%3;if(n===0)return buf.toString("base64",i);this.lastNeed=3-n;this.lastTotal=3;if(n===1){this.lastChar[0]=buf[buf.length-1]}else{this.lastChar[0]=buf[buf.length-2];this.lastChar[1]=buf[buf.length-1]}return buf.toString("base64",i,buf.length-n)}function base64End(buf){var r=buf&&buf.length?this.write(buf):"";if(this.lastNeed)return r+this.lastChar.toString("base64",0,3-this.lastNeed);return r}function simpleWrite(buf){return buf.toString(this.encoding)}function simpleEnd(buf){return buf&&buf.length?this.write(buf):""}},{"safe-buffer":51}],53:[function(require,module,exports){(function(global){(function(){module.exports=deprecate;function deprecate(fn,msg){if(config("noDeprecation")){return fn}var warned=false;function deprecated(){if(!warned){if(config("throwDeprecation")){throw new Error(msg)}else if(config("traceDeprecation")){console.trace(msg)}else{console.warn(msg)}warned=true}return fn.apply(this,arguments)}return deprecated}function config(name){try{if(!global.localStorage)return false}catch(_){return false}var val=global.localStorage[name];if(null==val)return false;return String(val).toLowerCase()==="true"}}).call(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],54:[function(require,module,exports){arguments[4][9][0].apply(exports,arguments)},{dup:9}],55:[function(require,module,exports){"use strict";var isArgumentsObject=require("is-arguments");var isGeneratorFunction=require("is-generator-function");var whichTypedArray=require("which-typed-array");var isTypedArray=require("is-typed-array");function uncurryThis(f){return f.call.bind(f)}var BigIntSupported=typeof BigInt!=="undefined";var SymbolSupported=typeof Symbol!=="undefined";var ObjectToString=uncurryThis(Object.prototype.toString);var numberValue=uncurryThis(Number.prototype.valueOf);var stringValue=uncurryThis(String.prototype.valueOf);var booleanValue=uncurryThis(Boolean.prototype.valueOf);if(BigIntSupported){var bigIntValue=uncurryThis(BigInt.prototype.valueOf)}if(SymbolSupported){var symbolValue=uncurryThis(Symbol.prototype.valueOf)}function checkBoxedPrimitive(value,prototypeValueOf){if(typeof value!=="object"){return false}try{prototypeValueOf(value);return true}catch(e){return false}}exports.isArgumentsObject=isArgumentsObject;exports.isGeneratorFunction=isGeneratorFunction;exports.isTypedArray=isTypedArray;function isPromise(input){return typeof Promise!=="undefined"&&input instanceof Promise||input!==null&&typeof input==="object"&&typeof input.then==="function"&&typeof input.catch==="function"}exports.isPromise=isPromise;function isArrayBufferView(value){if(typeof ArrayBuffer!=="undefined"&&ArrayBuffer.isView){return ArrayBuffer.isView(value)}return isTypedArray(value)||isDataView(value)}exports.isArrayBufferView=isArrayBufferView;function isUint8Array(value){return whichTypedArray(value)==="Uint8Array"}exports.isUint8Array=isUint8Array;function isUint8ClampedArray(value){return whichTypedArray(value)==="Uint8ClampedArray"}exports.isUint8ClampedArray=isUint8ClampedArray;function isUint16Array(value){return whichTypedArray(value)==="Uint16Array"}exports.isUint16Array=isUint16Array;function isUint32Array(value){return whichTypedArray(value)==="Uint32Array"}exports.isUint32Array=isUint32Array;function isInt8Array(value){return whichTypedArray(value)==="Int8Array"}exports.isInt8Array=isInt8Array;function isInt16Array(value){return whichTypedArray(value)==="Int16Array"}exports.isInt16Array=isInt16Array;function isInt32Array(value){return whichTypedArray(value)==="Int32Array"}exports.isInt32Array=isInt32Array;function isFloat32Array(value){return whichTypedArray(value)==="Float32Array"}exports.isFloat32Array=isFloat32Array;function isFloat64Array(value){return whichTypedArray(value)==="Float64Array"}exports.isFloat64Array=isFloat64Array;function isBigInt64Array(value){return whichTypedArray(value)==="BigInt64Array"}exports.isBigInt64Array=isBigInt64Array;function isBigUint64Array(value){return whichTypedArray(value)==="BigUint64Array"}exports.isBigUint64Array=isBigUint64Array;function isMapToString(value){return ObjectToString(value)==="[object Map]"}isMapToString.working=typeof Map!=="undefined"&&isMapToString(new Map);function isMap(value){if(typeof Map==="undefined"){return false}return isMapToString.working?isMapToString(value):value instanceof Map}exports.isMap=isMap;function isSetToString(value){return ObjectToString(value)==="[object Set]"}isSetToString.working=typeof Set!=="undefined"&&isSetToString(new Set);function isSet(value){if(typeof Set==="undefined"){return false}return isSetToString.working?isSetToString(value):value instanceof Set}exports.isSet=isSet;function isWeakMapToString(value){return ObjectToString(value)==="[object WeakMap]"}isWeakMapToString.working=typeof WeakMap!=="undefined"&&isWeakMapToString(new WeakMap);function isWeakMap(value){if(typeof WeakMap==="undefined"){return false}return isWeakMapToString.working?isWeakMapToString(value):value instanceof WeakMap}exports.isWeakMap=isWeakMap;function isWeakSetToString(value){return ObjectToString(value)==="[object WeakSet]"}isWeakSetToString.working=typeof WeakSet!=="undefined"&&isWeakSetToString(new WeakSet);function isWeakSet(value){return isWeakSetToString(value)}exports.isWeakSet=isWeakSet;function isArrayBufferToString(value){return ObjectToString(value)==="[object ArrayBuffer]"}isArrayBufferToString.working=typeof ArrayBuffer!=="undefined"&&isArrayBufferToString(new ArrayBuffer);function isArrayBuffer(value){if(typeof ArrayBuffer==="undefined"){return false}return isArrayBufferToString.working?isArrayBufferToString(value):value instanceof ArrayBuffer}exports.isArrayBuffer=isArrayBuffer;function isDataViewToString(value){return ObjectToString(value)==="[object DataView]"}isDataViewToString.working=typeof ArrayBuffer!=="undefined"&&typeof DataView!=="undefined"&&isDataViewToString(new DataView(new ArrayBuffer(1),0,1));function isDataView(value){if(typeof DataView==="undefined"){return false}return isDataViewToString.working?isDataViewToString(value):value instanceof DataView}exports.isDataView=isDataView;var SharedArrayBufferCopy=typeof SharedArrayBuffer!=="undefined"?SharedArrayBuffer:undefined;function isSharedArrayBufferToString(value){return ObjectToString(value)==="[object SharedArrayBuffer]"}function isSharedArrayBuffer(value){if(typeof SharedArrayBufferCopy==="undefined"){return false}if(typeof isSharedArrayBufferToString.working==="undefined"){isSharedArrayBufferToString.working=isSharedArrayBufferToString(new SharedArrayBufferCopy)}return isSharedArrayBufferToString.working?isSharedArrayBufferToString(value):value instanceof SharedArrayBufferCopy}exports.isSharedArrayBuffer=isSharedArrayBuffer;function isAsyncFunction(value){return ObjectToString(value)==="[object AsyncFunction]"}exports.isAsyncFunction=isAsyncFunction;function isMapIterator(value){return ObjectToString(value)==="[object Map Iterator]"}exports.isMapIterator=isMapIterator;function isSetIterator(value){return ObjectToString(value)==="[object Set Iterator]"}exports.isSetIterator=isSetIterator;function isGeneratorObject(value){return ObjectToString(value)==="[object Generator]"}exports.isGeneratorObject=isGeneratorObject;function isWebAssemblyCompiledModule(value){return ObjectToString(value)==="[object WebAssembly.Module]"}exports.isWebAssemblyCompiledModule=isWebAssemblyCompiledModule;function isNumberObject(value){return checkBoxedPrimitive(value,numberValue)}exports.isNumberObject=isNumberObject;function isStringObject(value){return checkBoxedPrimitive(value,stringValue)}exports.isStringObject=isStringObject;function isBooleanObject(value){return checkBoxedPrimitive(value,booleanValue)}exports.isBooleanObject=isBooleanObject;function isBigIntObject(value){return BigIntSupported&&checkBoxedPrimitive(value,bigIntValue)}exports.isBigIntObject=isBigIntObject;function isSymbolObject(value){return SymbolSupported&&checkBoxedPrimitive(value,symbolValue)}exports.isSymbolObject=isSymbolObject;function isBoxedPrimitive(value){return isNumberObject(value)||isStringObject(value)||isBooleanObject(value)||isBigIntObject(value)||isSymbolObject(value)}exports.isBoxedPrimitive=isBoxedPrimitive;function isAnyArrayBuffer(value){return typeof Uint8Array!=="undefined"&&(isArrayBuffer(value)||isSharedArrayBuffer(value))}exports.isAnyArrayBuffer=isAnyArrayBuffer;["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(method){Object.defineProperty(exports,method,{enumerable:false,value:function(){throw new Error(method+" is not supported in userland")}})})},{"is-arguments":31,"is-generator-function":32,"is-typed-array":33,"which-typed-array":57}],56:[function(require,module,exports){(function(process){(function(){var getOwnPropertyDescriptors=Object.getOwnPropertyDescriptors||function getOwnPropertyDescriptors(obj){var keys=Object.keys(obj);var descriptors={};for(var i=0;i=len)return x;switch(x){case"%s":return String(args[i++]);case"%d":return Number(args[i++]);case"%j":try{return JSON.stringify(args[i++])}catch(_){return"[Circular]"}default:return x}});for(var x=args[i];i=3)ctx.depth=arguments[2];if(arguments.length>=4)ctx.colors=arguments[3];if(isBoolean(opts)){ctx.showHidden=opts}else if(opts){exports._extend(ctx,opts)}if(isUndefined(ctx.showHidden))ctx.showHidden=false;if(isUndefined(ctx.depth))ctx.depth=2;if(isUndefined(ctx.colors))ctx.colors=false;if(isUndefined(ctx.customInspect))ctx.customInspect=true;if(ctx.colors)ctx.stylize=stylizeWithColor;return formatValue(ctx,obj,ctx.depth)}exports.inspect=inspect;inspect.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};inspect.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function stylizeWithColor(str,styleType){var style=inspect.styles[styleType];if(style){return"["+inspect.colors[style][0]+"m"+str+"["+inspect.colors[style][1]+"m"}else{return str}}function stylizeNoColor(str,styleType){return str}function arrayToHash(array){var hash={};array.forEach(function(val,idx){hash[val]=true});return hash}function formatValue(ctx,value,recurseTimes){if(ctx.customInspect&&value&&isFunction(value.inspect)&&value.inspect!==exports.inspect&&!(value.constructor&&value.constructor.prototype===value)){var ret=value.inspect(recurseTimes,ctx);if(!isString(ret)){ret=formatValue(ctx,ret,recurseTimes)}return ret}var primitive=formatPrimitive(ctx,value);if(primitive){return primitive}var keys=Object.keys(value);var visibleKeys=arrayToHash(keys);if(ctx.showHidden){keys=Object.getOwnPropertyNames(value)}if(isError(value)&&(keys.indexOf("message")>=0||keys.indexOf("description")>=0)){return formatError(value)}if(keys.length===0){if(isFunction(value)){var name=value.name?": "+value.name:"";return ctx.stylize("[Function"+name+"]","special")}if(isRegExp(value)){return ctx.stylize(RegExp.prototype.toString.call(value),"regexp")}if(isDate(value)){return ctx.stylize(Date.prototype.toString.call(value),"date")}if(isError(value)){return formatError(value)}}var base="",array=false,braces=["{","}"];if(isArray(value)){array=true;braces=["[","]"]}if(isFunction(value)){var n=value.name?": "+value.name:"";base=" [Function"+n+"]"}if(isRegExp(value)){base=" "+RegExp.prototype.toString.call(value)}if(isDate(value)){base=" "+Date.prototype.toUTCString.call(value)}if(isError(value)){base=" "+formatError(value)}if(keys.length===0&&(!array||value.length==0)){return braces[0]+base+braces[1]}if(recurseTimes<0){if(isRegExp(value)){return ctx.stylize(RegExp.prototype.toString.call(value),"regexp")}else{return ctx.stylize("[Object]","special")}}ctx.seen.push(value);var output;if(array){output=formatArray(ctx,value,recurseTimes,visibleKeys,keys)}else{output=keys.map(function(key){return formatProperty(ctx,value,recurseTimes,visibleKeys,key,array)})}ctx.seen.pop();return reduceToSingleString(output,base,braces)}function formatPrimitive(ctx,value){if(isUndefined(value))return ctx.stylize("undefined","undefined");if(isString(value)){var simple="'"+JSON.stringify(value).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return ctx.stylize(simple,"string")}if(isNumber(value))return ctx.stylize(""+value,"number");if(isBoolean(value))return ctx.stylize(""+value,"boolean");if(isNull(value))return ctx.stylize("null","null")}function formatError(value){return"["+Error.prototype.toString.call(value)+"]"}function formatArray(ctx,value,recurseTimes,visibleKeys,keys){var output=[];for(var i=0,l=value.length;i-1){if(array){str=str.split("\n").map(function(line){return" "+line}).join("\n").substr(2)}else{str="\n"+str.split("\n").map(function(line){return" "+line}).join("\n")}}}else{str=ctx.stylize("[Circular]","special")}}if(isUndefined(name)){if(array&&key.match(/^\d+$/)){return str}name=JSON.stringify(""+key);if(name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)){name=name.substr(1,name.length-2);name=ctx.stylize(name,"name")}else{name=name.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'");name=ctx.stylize(name,"string")}}return name+": "+str}function reduceToSingleString(output,base,braces){var numLinesEst=0;var length=output.reduce(function(prev,cur){numLinesEst++;if(cur.indexOf("\n")>=0)numLinesEst++;return prev+cur.replace(/\u001b\[\d\d?m/g,"").length+1},0);if(length>60){return braces[0]+(base===""?"":base+"\n ")+" "+output.join(",\n ")+" "+braces[1]}return braces[0]+base+" "+output.join(", ")+" "+braces[1]}exports.types=require("./support/types");function isArray(ar){return Array.isArray(ar)}exports.isArray=isArray;function isBoolean(arg){return typeof arg==="boolean"}exports.isBoolean=isBoolean;function isNull(arg){return arg===null}exports.isNull=isNull;function isNullOrUndefined(arg){return arg==null}exports.isNullOrUndefined=isNullOrUndefined;function isNumber(arg){return typeof arg==="number"}exports.isNumber=isNumber;function isString(arg){return typeof arg==="string"}exports.isString=isString;function isSymbol(arg){return typeof arg==="symbol"}exports.isSymbol=isSymbol;function isUndefined(arg){return arg===void 0}exports.isUndefined=isUndefined;function isRegExp(re){return isObject(re)&&objectToString(re)==="[object RegExp]"}exports.isRegExp=isRegExp;exports.types.isRegExp=isRegExp;function isObject(arg){return typeof arg==="object"&&arg!==null}exports.isObject=isObject;function isDate(d){return isObject(d)&&objectToString(d)==="[object Date]"}exports.isDate=isDate;exports.types.isDate=isDate;function isError(e){return isObject(e)&&(objectToString(e)==="[object Error]"||e instanceof Error)}exports.isError=isError;exports.types.isNativeError=isError;function isFunction(arg){return typeof arg==="function"}exports.isFunction=isFunction;function isPrimitive(arg){return arg===null||typeof arg==="boolean"||typeof arg==="number"||typeof arg==="string"||typeof arg==="symbol"||typeof arg==="undefined"}exports.isPrimitive=isPrimitive;exports.isBuffer=require("./support/isBuffer");function objectToString(o){return Object.prototype.toString.call(o)}function pad(n){return n<10?"0"+n.toString(10):n.toString(10)}var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function timestamp(){var d=new Date;var time=[pad(d.getHours()),pad(d.getMinutes()),pad(d.getSeconds())].join(":");return[d.getDate(),months[d.getMonth()],time].join(" ")}exports.log=function(){console.log("%s - %s",timestamp(),exports.format.apply(exports,arguments))};exports.inherits=require("inherits");exports._extend=function(origin,add){if(!add||!isObject(add))return origin;var keys=Object.keys(add);var i=keys.length;while(i--){origin[keys[i]]=add[keys[i]]}return origin};function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}var kCustomPromisifiedSymbol=typeof Symbol!=="undefined"?Symbol("util.promisify.custom"):undefined;exports.promisify=function promisify(original){if(typeof original!=="function")throw new TypeError('The "original" argument must be of type Function');if(kCustomPromisifiedSymbol&&original[kCustomPromisifiedSymbol]){var fn=original[kCustomPromisifiedSymbol];if(typeof fn!=="function"){throw new TypeError('The "util.promisify.custom" argument must be of type Function')}Object.defineProperty(fn,kCustomPromisifiedSymbol,{value:fn,enumerable:false,writable:false,configurable:true});return fn}function fn(){var promiseResolve,promiseReject;var promise=new Promise(function(resolve,reject){promiseResolve=resolve;promiseReject=reject});var args=[];for(var i=0;i - + - + diff --git a/Tests.LoadTester/Tests.LoadTester.csproj b/Tests.LoadTester/Tests.LoadTester.csproj index d306c8f8..19339f62 100644 --- a/Tests.LoadTester/Tests.LoadTester.csproj +++ b/Tests.LoadTester/Tests.LoadTester.csproj @@ -8,7 +8,7 @@ - + diff --git a/Tests/Tests.csproj b/Tests/Tests.csproj index 607ee583..58808c27 100644 --- a/Tests/Tests.csproj +++ b/Tests/Tests.csproj @@ -23,12 +23,12 @@ - - - - - - + + + + + +