@thorvg/lottie-player
Version:
A web lottie player using ThorVG as a renderer
1 lines • 80.2 kB
JavaScript
const e=globalThis,t=e.ShadowRoot&&(void 0===e.ShadyCSS||e.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,r=Symbol(),n=new WeakMap;let i=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==r)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const r=this.t;if(t&&void 0===e){const t=void 0!==r&&1===r.length;t&&(e=n.get(r)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),t&&n.set(r,e))}return e}toString(){return this.cssText}};const s=t?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const r of e.cssRules)t+=r.cssText;return(e=>new i("string"==typeof e?e:e+"",void 0,r))(t)})(e):e,{is:o,defineProperty:a,getOwnPropertyDescriptor:c,getOwnPropertyNames:l,getOwnPropertySymbols:h,getPrototypeOf:u}=Object,b=globalThis,d=b.trustedTypes,f=d?d.emptyScript:"",p=b.reactiveElementPolyfillSupport,m=(e,t)=>e,v={toAttribute(e,t){switch(t){case Boolean:e=e?f:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let r=e;switch(t){case Boolean:r=null!==e;break;case Number:r=null===e?null:Number(e);break;case Object:case Array:try{r=JSON.parse(e)}catch(e){r=null}}return r}},w=(e,t)=>!o(e,t),g={attribute:!0,type:String,converter:v,reflect:!1,useDefault:!1,hasChanged:w};Symbol.metadata??=Symbol("metadata"),b.litPropertyMetadata??=new WeakMap;let y=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=g){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){const r=Symbol(),n=this.getPropertyDescriptor(e,r,t);void 0!==n&&a(this.prototype,e,n)}}static getPropertyDescriptor(e,t,r){const{get:n,set:i}=c(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get:n,set(t){const s=n?.call(this);i?.call(this,t),this.requestUpdate(e,s,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??g}static _$Ei(){if(this.hasOwnProperty(m("elementProperties")))return;const e=u(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(m("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(m("properties"))){const e=this.properties,t=[...l(e),...h(e)];for(const r of t)this.createProperty(r,e[r])}const e=this[Symbol.metadata];if(null!==e){const t=litPropertyMetadata.get(e);if(void 0!==t)for(const[e,r]of t)this.elementProperties.set(e,r)}this._$Eh=new Map;for(const[e,t]of this.elementProperties){const r=this._$Eu(e,t);void 0!==r&&this._$Eh.set(r,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const r=new Set(e.flat(1/0).reverse());for(const e of r)t.unshift(s(e))}else void 0!==e&&t.push(s(e));return t}static _$Eu(e,t){const r=t.attribute;return!1===r?void 0:"string"==typeof r?r:"string"==typeof e?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),void 0!==this.renderRoot&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){const e=new Map,t=this.constructor.elementProperties;for(const r of t.keys())this.hasOwnProperty(r)&&(e.set(r,this[r]),delete this[r]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const r=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((r,n)=>{if(t)r.adoptedStyleSheets=n.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(const t of n){const n=document.createElement("style"),i=e.litNonce;void 0!==i&&n.setAttribute("nonce",i),n.textContent=t.cssText,r.appendChild(n)}})(r,this.constructor.elementStyles),r}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,r){this._$AK(e,r)}_$ET(e,t){const r=this.constructor.elementProperties.get(e),n=this.constructor._$Eu(e,r);if(void 0!==n&&!0===r.reflect){const i=(void 0!==r.converter?.toAttribute?r.converter:v).toAttribute(t,r.type);this._$Em=e,null==i?this.removeAttribute(n):this.setAttribute(n,i),this._$Em=null}}_$AK(e,t){const r=this.constructor,n=r._$Eh.get(e);if(void 0!==n&&this._$Em!==n){const e=r.getPropertyOptions(n),i="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==e.converter?.fromAttribute?e.converter:v;this._$Em=n;const s=i.fromAttribute(t,e.type);this[n]=s??this._$Ej?.get(n)??s,this._$Em=null}}requestUpdate(e,t,r,n=!1,i){if(void 0!==e){const s=this.constructor;if(!1===n&&(i=this[e]),r??=s.getPropertyOptions(e),!((r.hasChanged??w)(i,t)||r.useDefault&&r.reflect&&i===this._$Ej?.get(e)&&!this.hasAttribute(s._$Eu(e,r))))return;this.C(e,t,r)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,t,{useDefault:r,reflect:n,wrapped:i},s){r&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,s??t??this[e]),!0!==i||void 0!==s)||(this._$AL.has(e)||(this.hasUpdated||r||(t=void 0),this._$AL.set(e,t)),!0===n&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}const e=this.constructor.elementProperties;if(e.size>0)for(const[t,r]of e){const{wrapped:e}=r,n=this[t];!0!==e||this._$AL.has(t)||void 0===n||this.C(t,void 0,r,n)}}let e=!1;const t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach(e=>e.hostUpdate?.()),this.update(t)):this._$EM()}catch(t){throw e=!1,this._$EM(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(e){}firstUpdated(e){}};y.elementStyles=[],y.shadowRootOptions={mode:"open"},y[m("elementProperties")]=new Map,y[m("finalized")]=new Map,p?.({ReactiveElement:y}),(b.reactiveElementVersions??=[]).push("2.1.2");const _={attribute:!0,type:String,converter:v,reflect:!1,hasChanged:w},$=(e=_,t,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),"setter"===n&&((e=Object.create(e)).wrapped=!0),s.set(r.name,e),"accessor"===n){const{name:n}=r;return{set(r){const i=t.get.call(this);t.set.call(this,r),this.requestUpdate(n,i,e,!0,r)},init(t){return void 0!==t&&this.C(n,void 0,e,t),t}}}if("setter"===n){const{name:n}=r;return function(r){const i=this[n];t.call(this,r),this.requestUpdate(n,i,e,!0,r)}}throw Error("Unsupported decorator location: "+n)};function A(e){return(t,r)=>"object"==typeof r?$(e,t,r):((e,t,r)=>{const n=t.hasOwnProperty(r);return t.constructor.createProperty(r,e),n?Object.getOwnPropertyDescriptor(t,r):void 0})(e,t,r)}const E=globalThis,S=e=>e,k=E.trustedTypes,x=k?k.createPolicy("lit-html",{createHTML:e=>e}):void 0,T="$lit$",P=`lit$${Math.random().toFixed(9).slice(2)}$`,C="?"+P,R=`<${C}>`,O=document,j=()=>O.createComment(""),U=e=>null===e||"object"!=typeof e&&"function"!=typeof e,B=Array.isArray,L="[ \t\n\f\r]",M=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,F=/-->/g,D=/>/g,N=RegExp(`>|${L}(?:([^\\s"'>=/]+)(${L}*=${L}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),G=/'/g,z=/"/g,I=/^(?:script|style|textarea|title)$/i,V=(e,...t)=>({_$litType$:1,strings:e,values:t}),W=Symbol.for("lit-noChange"),H=Symbol.for("lit-nothing"),q=new WeakMap,X=O.createTreeWalker(O,129);function J(e,t){if(!B(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==x?x.createHTML(t):t}const K=(e,t)=>{const r=e.length-1,n=[];let i,s=2===t?"<svg>":3===t?"<math>":"",o=M;for(let t=0;t<r;t++){const r=e[t];let a,c,l=-1,h=0;for(;h<r.length&&(o.lastIndex=h,c=o.exec(r),null!==c);)h=o.lastIndex,o===M?"!--"===c[1]?o=F:void 0!==c[1]?o=D:void 0!==c[2]?(I.test(c[2])&&(i=RegExp("</"+c[2],"g")),o=N):void 0!==c[3]&&(o=N):o===N?">"===c[0]?(o=i??M,l=-1):void 0===c[1]?l=-2:(l=o.lastIndex-c[2].length,a=c[1],o=void 0===c[3]?N:'"'===c[3]?z:G):o===z||o===G?o=N:o===F||o===D?o=M:(o=N,i=void 0);const u=o===N&&e[t+1].startsWith("/>")?" ":"";s+=o===M?r+R:l>=0?(n.push(a),r.slice(0,l)+T+r.slice(l)+P+u):r+P+(-2===l?t:u)}return[J(e,s+(e[r]||"<?>")+(2===t?"</svg>":3===t?"</math>":"")),n]};class Y{constructor({strings:e,_$litType$:t},r){let n;this.parts=[];let i=0,s=0;const o=e.length-1,a=this.parts,[c,l]=K(e,t);if(this.el=Y.createElement(c,r),X.currentNode=this.el.content,2===t||3===t){const e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;null!==(n=X.nextNode())&&a.length<o;){if(1===n.nodeType){if(n.hasAttributes())for(const e of n.getAttributeNames())if(e.endsWith(T)){const t=l[s++],r=n.getAttribute(e).split(P),o=/([.?@])?(.*)/.exec(t);a.push({type:1,index:i,name:o[2],strings:r,ctor:"."===o[1]?re:"?"===o[1]?ne:"@"===o[1]?ie:te}),n.removeAttribute(e)}else e.startsWith(P)&&(a.push({type:6,index:i}),n.removeAttribute(e));if(I.test(n.tagName)){const e=n.textContent.split(P),t=e.length-1;if(t>0){n.textContent=k?k.emptyScript:"";for(let r=0;r<t;r++)n.append(e[r],j()),X.nextNode(),a.push({type:2,index:++i});n.append(e[t],j())}}}else if(8===n.nodeType)if(n.data===C)a.push({type:2,index:i});else{let e=-1;for(;-1!==(e=n.data.indexOf(P,e+1));)a.push({type:7,index:i}),e+=P.length-1}i++}}static createElement(e,t){const r=O.createElement("template");return r.innerHTML=e,r}}function Q(e,t,r=e,n){if(t===W)return t;let i=void 0!==n?r._$Co?.[n]:r._$Cl;const s=U(t)?void 0:t._$litDirective$;return i?.constructor!==s&&(i?._$AO?.(!1),void 0===s?i=void 0:(i=new s(e),i._$AT(e,r,n)),void 0!==n?(r._$Co??=[])[n]=i:r._$Cl=i),void 0!==i&&(t=Q(e,i._$AS(e,t.values),i,n)),t}class Z{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:t},parts:r}=this._$AD,n=(e?.creationScope??O).importNode(t,!0);X.currentNode=n;let i=X.nextNode(),s=0,o=0,a=r[0];for(;void 0!==a;){if(s===a.index){let t;2===a.type?t=new ee(i,i.nextSibling,this,e):1===a.type?t=new a.ctor(i,a.name,a.strings,this,e):6===a.type&&(t=new se(i,this,e)),this._$AV.push(t),a=r[++o]}s!==a?.index&&(i=X.nextNode(),s++)}return X.currentNode=O,n}p(e){let t=0;for(const r of this._$AV)void 0!==r&&(void 0!==r.strings?(r._$AI(e,r,t),t+=r.strings.length-2):r._$AI(e[t])),t++}}class ee{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,t,r,n){this.type=2,this._$AH=H,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=r,this.options=n,this._$Cv=n?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode;const t=this._$AM;return void 0!==t&&11===e?.nodeType&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=Q(this,e,t),U(e)?e===H||null==e||""===e?(this._$AH!==H&&this._$AR(),this._$AH=H):e!==this._$AH&&e!==W&&this._(e):void 0!==e._$litType$?this.$(e):void 0!==e.nodeType?this.T(e):(e=>B(e)||"function"==typeof e?.[Symbol.iterator])(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==H&&U(this._$AH)?this._$AA.nextSibling.data=e:this.T(O.createTextNode(e)),this._$AH=e}$(e){const{values:t,_$litType$:r}=e,n="number"==typeof r?this._$AC(e):(void 0===r.el&&(r.el=Y.createElement(J(r.h,r.h[0]),this.options)),r);if(this._$AH?._$AD===n)this._$AH.p(t);else{const e=new Z(n,this),r=e.u(this.options);e.p(t),this.T(r),this._$AH=e}}_$AC(e){let t=q.get(e.strings);return void 0===t&&q.set(e.strings,t=new Y(e)),t}k(e){B(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let r,n=0;for(const i of e)n===t.length?t.push(r=new ee(this.O(j()),this.O(j()),this,this.options)):r=t[n],r._$AI(i),n++;n<t.length&&(this._$AR(r&&r._$AB.nextSibling,n),t.length=n)}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);e!==this._$AB;){const t=S(e).nextSibling;S(e).remove(),e=t}}setConnected(e){void 0===this._$AM&&(this._$Cv=e,this._$AP?.(e))}}class te{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,r,n,i){this.type=1,this._$AH=H,this._$AN=void 0,this.element=e,this.name=t,this._$AM=n,this.options=i,r.length>2||""!==r[0]||""!==r[1]?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=H}_$AI(e,t=this,r,n){const i=this.strings;let s=!1;if(void 0===i)e=Q(this,e,t,0),s=!U(e)||e!==this._$AH&&e!==W,s&&(this._$AH=e);else{const n=e;let o,a;for(e=i[0],o=0;o<i.length-1;o++)a=Q(this,n[r+o],t,o),a===W&&(a=this._$AH[o]),s||=!U(a)||a!==this._$AH[o],a===H?e=H:e!==H&&(e+=(a??"")+i[o+1]),this._$AH[o]=a}s&&!n&&this.j(e)}j(e){e===H?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class re extends te{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===H?void 0:e}}class ne extends te{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==H)}}class ie extends te{constructor(e,t,r,n,i){super(e,t,r,n,i),this.type=5}_$AI(e,t=this){if((e=Q(this,e,t,0)??H)===W)return;const r=this._$AH,n=e===H&&r!==H||e.capture!==r.capture||e.once!==r.once||e.passive!==r.passive,i=e!==H&&(r===H||n);n&&this.element.removeEventListener(this.name,this,r),i&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}}class se{constructor(e,t,r){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(e){Q(this,e)}}const oe=E.litHtmlPolyfillSupport;oe?.(Y,ee),(E.litHtmlVersions??=[]).push("3.3.2");const ae=globalThis;class ce extends y{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){const t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=((e,t,r)=>{const n=r?.renderBefore??t;let i=n._$litPart$;if(void 0===i){const e=r?.renderBefore??null;n._$litPart$=i=new ee(t.insertBefore(j(),e),e,void 0,r??{})}return i._$AI(e),i})(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return W}}ce._$litElement$=!0,ce.finalized=!0,ae.litElementHydrateSupport?.({LitElement:ce});const le=ae.litElementPolyfillSupport;function he(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o}le?.({LitElement:ce}),(ae.litElementVersions??=[]).push("4.2.2");let ue=null,be=!1;var de=function(e){return e.JSON="json",e.LOT="lot",e.JPG="jpg",e.PNG="png",e.SVG="svg",e}({});const fe=e=>new Promise(t=>setTimeout(t,e));let pe="idle";class me extends ce{src;wasmUrl;fileType="json";speed=1;autoPlay=!1;count;loop=!1;direction=1;mode="normal";intermission=1;totalFrame=0;currentFrame=0;currentState="loading";get size(){return Float32Array.from(this.TVG?.size()||[0,0])}get dpr(){return!1===this.config?.enableDevicePixelRatio?1:1+.75*(window.devicePixelRatio-1)}TVG=null;canvas;config;_imageData;_beginTime=Date.now();_counter=1;_timer;_observer;_observable=!1;_assetResolverCallback;_assetResolverData;async _init(){if(be)for(;!ue;)await fe(100);if(ue||(be=!0,ue=await async function(e={}){var t,r=e,n=!!globalThis.window,i=!!globalThis.WorkerGlobalScope,s=globalThis.process?.versions?.node&&"renderer"!=globalThis.process?.type;if(s){const{createRequire:e}=await Promise.resolve().then(function(){return ge});var o=e(import.meta.url)}var a,c,l=(e,t)=>{throw t},h=import.meta.url,u="";if(s){var b=o("fs");h.startsWith("file:")&&(u=o("path").dirname(o("url").fileURLToPath(h))+"/"),c=e=>(e=R(e)?new URL(e):e,b.readFileSync(e)),a=async e=>(e=R(e)?new URL(e):e,b.readFileSync(e,void 0)),process.argv.slice(2),l=(e,t)=>{throw process.exitCode=e,t}}else if(n||i){try{u=new URL(".",h).href}catch{}i&&(c=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),a=async e=>{if(R(e))return new Promise((t,r)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?t(n.response):r(n.status)},n.onerror=r,n.send(null)});var t=await fetch(e,{credentials:"same-origin"});if(t.ok)return t.arrayBuffer();throw Error(t.status+" : "+t.url)}}var d,f,p,m,v,w,g,y,_,$,A,E,S,k,x,T=function(){}.bind(),P=function(){}.bind(),C=!1,R=e=>e.startsWith("file://"),O=!1;function j(){var e=kr.buffer;v=new Int8Array(e),g=new Int16Array(e),w=new Uint8Array(e),y=new Uint16Array(e),_=new Int32Array(e),$=new Uint32Array(e),A=new Float32Array(e),E=new Float64Array(e),S=new BigInt64Array(e),k=new BigUint64Array(e)}function U(e){throw r.onAbort?.(e),P(e="Aborted("+e+")"),C=!0,e=new WebAssembly.RuntimeError(e+". Build with -sASSERTIONS for more info."),m?.(e),e}class B{name="ExitStatus";constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var L=e=>{for(;0<e.length;)e.shift()(r)},M=[],F=[],D=()=>{var e=r.preRun.shift();F.push(e)},N=!0,G=new TextDecoder,z=(e,t,r,n)=>{if(r=t+r,n)return r;for(;e[t]&&!(t>=r);)++t;return t},I=(e,t,r)=>e?G.decode(w.subarray(e,z(w,e,t,r))):"",V=e=>{for(var t="";;){var r=w[e++];if(!r)return t;t+=String.fromCharCode(r)}},W={},H={},q={},X=class extends Error{constructor(e){super(e),this.name="BindingError"}},J=e=>{throw new X(e)};function K(e,t,r={}){return function(e,t,r={}){var n=t.name;if(!e)throw new X(`type "${n}" must have a positive integer typeid pointer`);if(H.hasOwnProperty(e)){if(r.od)return;throw new X(`Cannot register type '${n}' twice`)}H[e]=t,delete q[e],W.hasOwnProperty(e)&&(t=W[e],delete W[e],t.forEach(e=>e()))}(e,t,r)}var Y=(e,t,r)=>{switch(t){case 1:return r?e=>v[e]:e=>w[e];case 2:return r?e=>g[e>>1]:e=>y[e>>1];case 4:return r?e=>_[e>>2]:e=>$[e>>2];case 8:return r?e=>S[e>>3]:e=>k[e>>3];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},Q=e=>{throw new X(e.eb.lb.jb.name+" instance already deleted")},Z=!1,ee=()=>{},te=e=>globalThis.FinalizationRegistry?(Z=new FinalizationRegistry(e=>{--(e=e.eb).count.value,0===e.count.value&&(e.ob?e.tb.Fb(e.ob):e.lb.jb.Fb(e.ib))}),te=e=>{var t=e.eb;return t.ob&&Z.register(e,{eb:t},e),e},ee=e=>{Z.unregister(e)},te(e)):(te=e=>e,e);function re(){}var ne=(e,t)=>Object.defineProperty(t,"name",{value:e}),ie={},se=(e,t,r)=>{if(void 0===e[t].nb){var n=e[t];e[t]=function(...n){if(!e[t].nb.hasOwnProperty(n.length))throw new X(`Function '${r}' called with an invalid number of arguments (${n.length}) - expects one of (${e[t].nb})!`);return e[t].nb[n.length].apply(this,n)},e[t].nb=[],e[t].nb[n.Sb]=n}},oe=(e,t,n)=>{if(r.hasOwnProperty(e)){if(void 0===n||void 0!==r[e].nb&&void 0!==r[e].nb[n])throw new X(`Cannot register public name '${e}' twice`);if(se(r,e,e),r[e].nb.hasOwnProperty(n))throw new X(`Cannot register multiple overloads of a function with the same number of arguments (${n})!`);r[e].nb[n]=t}else r[e]=t,r[e].Sb=n};function ae(e,t,r,n,i,s,o,a){this.name=e,this.constructor=t,this.Nb=r,this.Fb=n,this.qb=i,this.kd=s,this.$b=o,this.ed=a,this.wd=[]}var ce=(e,t,r)=>{for(;t!==r;){if(!t.$b)throw new X(`Expected null or instance of ${r.name}, got an instance of ${t.name}`);e=t.$b(e),t=t.qb}return e},le=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e};function he(e,t){if(null===t){if(this.rc)throw new X(`null is not a valid ${this.name}`);return 0}if(!t.eb)throw new X(`Cannot pass "${le(t)}" as a ${this.name}`);if(!t.eb.ib)throw new X(`Cannot pass deleted object as a pointer of type ${this.name}`);return ce(t.eb.ib,t.eb.lb.jb,this.jb)}function ue(e,t){if(null===t){if(this.rc)throw new X(`null is not a valid ${this.name}`);if(this.ec){var r=this.xd();return null!==e&&e.push(this.Fb,r),r}return 0}if(!t||!t.eb)throw new X(`Cannot pass "${le(t)}" as a ${this.name}`);if(!t.eb.ib)throw new X(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.dc&&t.eb.lb.dc)throw new X(`Cannot convert argument of type ${t.eb.tb?t.eb.tb.name:t.eb.lb.name} to parameter type ${this.name}`);if(r=ce(t.eb.ib,t.eb.lb.jb,this.jb),this.ec){if(void 0===t.eb.ob)throw new X("Passing raw pointer to smart pointer is illegal");switch(this.zd){case 0:if(t.eb.tb!==this)throw new X(`Cannot convert argument of type ${t.eb.tb?t.eb.tb.name:t.eb.lb.name} to parameter type ${this.name}`);r=t.eb.ob;break;case 1:r=t.eb.ob;break;case 2:if(t.eb.tb===this)r=t.eb.ob;else{var n=t.clone();r=this.yd(r,De(()=>n.delete())),null!==e&&e.push(this.Fb,r)}break;default:throw new X("Unsupporting sharing policy")}}return r}function be(e,t){if(null===t){if(this.rc)throw new X(`null is not a valid ${this.name}`);return 0}if(!t.eb)throw new X(`Cannot pass "${le(t)}" as a ${this.name}`);if(!t.eb.ib)throw new X(`Cannot pass deleted object as a pointer of type ${this.name}`);if(t.eb.lb.dc)throw new X(`Cannot convert argument of type ${t.eb.lb.name} to parameter type ${this.name}`);return ce(t.eb.ib,t.eb.lb.jb,this.jb)}function de(e){return this.pb($[e>>2])}var fe=(e,t,r)=>t===r?e:void 0===r.qb||null===(e=fe(e,t,r.qb))?null:r.ed(e),pe={},me=class extends Error{constructor(e){super(e),this.name="InternalError"}},ve=(e,t)=>{if(!t.lb||!t.ib)throw new me("makeClassHandle requires ptr and ptrType");if(!!t.tb!=!!t.ob)throw new me("Both smartPtrType and smartPtr must be specified");return t.count={value:1},te(Object.create(e,{eb:{value:t,writable:!0}}))};function we(e,t,r,n,i,s,o,a,c,l,h){this.name=e,this.jb=t,this.rc=r,this.dc=n,this.ec=i,this.vd=s,this.zd=o,this.Rc=a,this.xd=c,this.yd=l,this.Fb=h,i||void 0!==t.qb?this.ub=ue:(this.ub=n?he:be,this.vb=null)}var ye=(e,t,n)=>{if(!r.hasOwnProperty(e))throw new me("Replacing nonexistent public symbol");void 0!==r[e].nb&&void 0!==n?r[e].nb[n]=t:(r[e]=t,r[e].Sb=n)},_e=(e,t)=>{e=V(e);var r=xr.get(t);if("function"!=typeof r)throw new X(`unknown function pointer with signature ${e}: ${t}`);return r};class $e extends Error{}var Ae=e=>{e=Ar(e);var t=V(e);return Er(e),t},Ee=(e,t)=>{var r=[],n={};throw t.forEach(function e(t){n[t]||H[t]||(q[t]?q[t].forEach(e):(r.push(t),n[t]=!0))}),new $e(`${e}: `+r.map(Ae).join([", "]))},Se=(e,t,r)=>{function n(t){if((t=r(t)).length!==e.length)throw new me("Mismatched type converter count");for(var n=0;n<e.length;++n)K(e[n],t[n])}e.forEach(e=>q[e]=t);var i=Array(t.length),s=[],o=0;for(let[e,r]of t.entries())H.hasOwnProperty(r)?i[e]=H[r]:(s.push(r),W.hasOwnProperty(r)||(W[r]=[]),W[r].push(()=>{i[e]=H[r],++o===s.length&&n(i)}));0===s.length&&n(i)},ke=(e,t)=>{for(var r=[],n=0;n<e;n++)r.push($[t+4*n>>2]);return r},xe=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function Te(e){for(var t=1;t<e.length;++t)if(null!==e[t]&&void 0===e[t].vb)return!0;return!1}function Pe(e,t,r,n,i,s){var o=t.length;if(2>o)throw new X("argTypes array size mismatch! Must at least get return value and 'this' types!");var a=null!==t[1]&&null!==r,c=Te(t);r=!t[0].Nc;var l=t[0],h=t[1];for(n=[e,J,n,i,xe,l.pb.bind(l),h?.ub.bind(h)],i=2;i<o;++i)n.push((l=t[i]).ub.bind(l));if(!c)for(i=a?1:2;i<t.length;++i)null!==t[i].vb&&n.push(t[i].vb);for(c=Te(t),i=t.length-2,h=[],l=["fn"],a&&l.push("thisWired"),o=0;o<i;++o)h.push(`arg${o}`),l.push(`arg${o}Wired`);h=h.join(","),l=l.join(","),h=`return function (${h}) {\n`,c&&(h+="var destructors = [];\n");var u=c?"destructors":"null",b="humanName throwBindingError invoker fn runDestructors fromRetWire toClassParamWire".split(" ");for(a&&(h+=`var thisWired = toClassParamWire(${u}, this);\n`),o=0;o<i;++o){var d=`toArg${o}Wire`;h+=`var arg${o}Wired = ${d}(${u}, arg${o});\n`,b.push(d)}if(h+=(r||s?"var rv = ":"")+`invoker(${l});\n`,c)h+="runDestructors(destructors);\n";else for(o=a?1:2;o<t.length;++o)s=1===o?"thisWired":"arg"+(o-2)+"Wired",null!==t[o].vb&&(h+=`${s}_dtor(${s});\n`,b.push(`${s}_dtor`));return r&&(h+="var ret = fromRetWire(rv);\nreturn ret;\n"),t=new Function(b,h+"}\n")(...n),ne(e,t)}var Ce,Re,Oe,je,Ue=e=>{const t=(e=e.trim()).indexOf("(");return-1===t?e:e.slice(0,t)},Be=[],Le=[0,1,,1,null,1,!0,1,!1,1],Me=e=>{9<e&&0===--Le[e+1]&&(Le[e]=void 0,Be.push(e))},Fe=e=>{if(!e)throw new X(`Cannot use deleted val. handle = ${e}`);return Le[e]},De=e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:const t=Be.pop()||Le.length;return Le[t]=e,Le[t+1]=1,t}},Ne={name:"emscripten::val",pb:e=>{var t=Fe(e);return Me(e),t},ub:(e,t)=>De(t),Db:de,vb:null},Ge=(e,t)=>{switch(t){case 4:return function(e){return this.pb(A[e>>2])};case 8:return function(e){return this.pb(E[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},ze=(e,t,r,n)=>{if(!(0<n))return 0;var i=r;n=r+n-1;for(var s=0;s<e.length;++s){var o=e.codePointAt(s);if(127>=o){if(r>=n)break;t[r++]=o}else if(2047>=o){if(r+1>=n)break;t[r++]=192|o>>6,t[r++]=128|63&o}else if(65535>=o){if(r+2>=n)break;t[r++]=224|o>>12,t[r++]=128|o>>6&63,t[r++]=128|63&o}else{if(r+3>=n)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63,t[r++]=128|o>>6&63,t[r++]=128|63&o,s++}}return t[r]=0,r-i},Ie=e=>{for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);127>=n?t++:2047>=n?t+=2:55296<=n&&57343>=n?(t+=4,++r):t+=3}return t},Ve=new TextDecoder("utf-16le"),We=(e,t,r)=>Ve.decode(y.subarray(e>>=1,z(y,e,t/2,r))),He=(e,t,r)=>{if(r??=2147483647,2>r)return 0;var n=t;r=(r-=2)<2*e.length?r/2:e.length;for(var i=0;i<r;++i)g[t>>1]=e.charCodeAt(i),t+=2;return g[t>>1]=0,t-n},qe=e=>2*e.length,Xe=(e,t,r)=>{var n="";e>>=2;for(var i=0;!(i>=t/4);i++){var s=$[e+i];if(!s&&!r)break;n+=String.fromCodePoint(s)}return n},Je=(e,t,r)=>{if(r??=2147483647,4>r)return 0;var n=t;r=n+r-4;for(var i=0;i<e.length;++i){var s=e.codePointAt(i);if(65535<s&&i++,_[t>>2]=s,(t+=4)+4>r)break}return _[t>>2]=0,t-n},Ke=e=>{for(var t=0,r=0;r<e.length;++r)65535<e.codePointAt(r)&&r++,t+=4;return t},Ye=0,Qe=[],Ze=(e,t,r)=>{var n=[];return e=e(n,r),n.length&&($[t>>2]=De(n)),e},et={},tt=e=>{var t=et[e];return void 0===t?V(e):t},rt={},nt=e=>{f=e,N||0<Ye||(r.onExit?.(e),C=!0),l(e,new B(e))},it=e=>{var t="ANGLE_instanced_arrays EXT_blend_minmax EXT_disjoint_timer_query EXT_frag_depth EXT_shader_texture_lod EXT_sRGB OES_element_index_uint OES_fbo_render_mipmap OES_standard_derivatives OES_texture_float OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_color_buffer_float WEBGL_depth_texture WEBGL_draw_buffers EXT_color_buffer_float EXT_conservative_depth EXT_disjoint_timer_query_webgl2 EXT_texture_norm16 NV_shader_noperspective_interpolation WEBGL_clip_cull_distance EXT_clip_control EXT_color_buffer_half_float EXT_depth_clamp EXT_float_blend EXT_polygon_offset_clamp EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic KHR_parallel_shader_compile OES_texture_float_linear WEBGL_blend_func_extended WEBGL_compressed_texture_astc WEBGL_compressed_texture_etc WEBGL_compressed_texture_etc1 WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context WEBGL_multi_draw WEBGL_polygon_mode".split(" ");return(e.getSupportedExtensions()||[]).filter(e=>t.includes(e))},st=1,ot=[],at=[],ct=[],lt=[],ht=[],ut=[],bt=[],dt=[],ft=[1,1,2,2,4,4,4,2,3,4,8],pt=e=>{for(var t=st++,r=e.length;r<t;r++)e[r]=null;for(;e[t];)t=st++;return t},mt=(e,t,r,n)=>{for(var i=0;i<e;i++){var s=Ce[r](),o=s&&pt(n);s?(s.name=o,n[o]=s):Re||=1282,_[t+4*i>>2]=o}},vt=["default","low-power","high-performance"],wt=[0,"undefined"!=typeof document?document:0,"undefined"!=typeof window?window:0],gt=(e,t)=>{for(var r=0,n=e.length-1;0<=n;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},yt=e=>{var t="/"===e.charAt(0),r="/"===e.slice(-1);return(e=gt(e.split("/").filter(e=>!!e),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},_t=e=>{var t=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1);return e=t[0],t=t[1],e||t?(t&&=t.slice(0,-1),e+t):"."},$t=e=>e&&e.match(/([^\/]+|\/)\/*$/)[1],At=e=>{(At=(()=>{if(s){var e=o("crypto");return t=>e.randomFillSync(t)}return e=>crypto.getRandomValues(e)})())(e)},Et=(...e)=>{for(var t="",r=!1,n=e.length-1;-1<=n&&!r;n--){if("string"!=typeof(r=0<=n?e[n]:br.cwd()))throw new TypeError("Arguments to path.resolve must be strings");if(!r)return"";t=r+"/"+t,r="/"===r.charAt(0)}return t=gt(t.split("/").filter(e=>!!e),!r).join("/"),(r?"/":"")+t||"."},St=(e,t)=>{function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;0<=r&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=Et(e).slice(1),t=Et(t).slice(1),e=r(e.split("/")),t=r(t.split("/"));for(var n=Math.min(e.length,t.length),i=n,s=0;s<n;s++)if(e[s]!==t[s]){i=s;break}for(n=[],s=i;s<e.length;s++)n.push("..");return(n=n.concat(t.slice(i))).join("/")},kt=e=>{var t=z(e,0);return G.decode(e.buffer?e.subarray(0,t):new Uint8Array(e.slice(0,t)))},xt=[],Tt=e=>{var t=Array(Ie(e)+1);return e=ze(e,t,0,t.length),t.length=e,t},Pt=[];function Ct(e,t){Pt[e]={input:[],output:[],Pb:t},It(e,Rt)}var Rt={open(e){var t=Pt[e.node.rdev];if(!t)throw new br.cb(43);e.tty=t,e.seekable=!1},close(e){e.tty.Pb.fsync(e.tty)},fsync(e){e.tty.Pb.fsync(e.tty)},read(e,t,r,n){if(!e.tty||!e.tty.Pb.Ic)throw new br.cb(60);for(var i=0,s=0;s<n;s++){try{var o=e.tty.Pb.Ic(e.tty)}catch(e){throw new br.cb(29)}if(void 0===o&&0===i)throw new br.cb(6);if(null==o)break;i++,t[r+s]=o}return i&&(e.node.atime=Date.now()),i},write(e,t,r,n){if(!e.tty||!e.tty.Pb.wc)throw new br.cb(60);try{for(var i=0;i<n;i++)e.tty.Pb.wc(e.tty,t[r+i])}catch(e){throw new br.cb(29)}return n&&(e.node.mtime=e.node.ctime=Date.now()),i}},Ot={Ic(){e:{if(!xt.length){var e=null;if(s){var t=Buffer.alloc(256),r=0,n=process.stdin.fd;try{r=b.readSync(n,t,0,256)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}0<r&&(e=t.slice(0,r).toString("utf-8"))}else globalThis.window?.prompt&&null!==(e=window.prompt("Input: "))&&(e+="\n");if(!e){e=null;break e}xt=Tt(e)}e=xt.shift()}return e},wc(e,t){null===t||10===t?(T(kt(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){0<e.output?.length&&(T(kt(e.output)),e.output=[])},Xd:()=>({Hd:25856,Jd:5,Gd:191,Id:35387,Fd:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),Yd:()=>0,Zd:()=>[24,80]},jt={wc(e,t){null===t||10===t?(P(kt(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){0<e.output?.length&&(P(kt(e.output)),e.output=[])}},Ut={Ab:null,kb:()=>Ut.createNode(null,"/",16895,0),createNode(e,t,r,n){if(24576==(61440&r)||br.isFIFO(r))throw new br.cb(63);return Ut.Ab||(Ut.Ab={dir:{node:{xb:Ut.fb.xb,zb:Ut.fb.zb,lookup:Ut.fb.lookup,Bb:Ut.fb.Bb,rename:Ut.fb.rename,unlink:Ut.fb.unlink,rmdir:Ut.fb.rmdir,readdir:Ut.fb.readdir,symlink:Ut.fb.symlink},stream:{rb:Ut.gb.rb}},file:{node:{xb:Ut.fb.xb,zb:Ut.fb.zb},stream:{rb:Ut.gb.rb,read:Ut.gb.read,write:Ut.gb.write,Ob:Ut.gb.Ob,Wb:Ut.gb.Wb}},link:{node:{xb:Ut.fb.xb,zb:Ut.fb.zb,readlink:Ut.fb.readlink},stream:{}},zc:{node:{xb:Ut.fb.xb,zb:Ut.fb.zb},stream:br.bd}}),Vt((r=br.createNode(e,t,r,n)).mode)?(r.fb=Ut.Ab.dir.node,r.gb=Ut.Ab.dir.stream,r.hb={}):br.isFile(r.mode)?(r.fb=Ut.Ab.file.node,r.gb=Ut.Ab.file.stream,r.mb=0,r.hb=null):40960==(61440&r.mode)?(r.fb=Ut.Ab.link.node,r.gb=Ut.Ab.link.stream):8192==(61440&r.mode)&&(r.fb=Ut.Ab.zc.node,r.gb=Ut.Ab.zc.stream),r.atime=r.mtime=r.ctime=Date.now(),e&&(e.hb[t]=r,e.atime=e.mtime=e.ctime=r.atime),r},Wd:e=>e.hb?e.hb.subarray?e.hb.subarray(0,e.mb):new Uint8Array(e.hb):new Uint8Array(0),fb:{xb(e){var t={};return t.dev=8192==(61440&e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,t.size=Vt(e.mode)?4096:br.isFile(e.mode)?e.mb:40960==(61440&e.mode)?e.link.length:0,t.atime=new Date(e.atime),t.mtime=new Date(e.mtime),t.ctime=new Date(e.ctime),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},zb(e,t){for(var r of["mode","atime","mtime","ctime"])null!=t[r]&&(e[r]=t[r]);void 0!==t.size&&e.mb!=(t=t.size)&&(0==t?(e.hb=null,e.mb=0):(r=e.hb,e.hb=new Uint8Array(t),r&&e.hb.set(r.subarray(0,Math.min(t,e.mb))),e.mb=t))},lookup(){throw Ut.mc||(Ut.mc=new br.cb(44),Ut.mc.stack="<generic error, no stack>"),Ut.mc},Bb:(e,t,r,n)=>Ut.createNode(e,t,r,n),rename(e,t,r){try{var n=Wt(t,r)}catch(e){}if(n){if(Vt(e.mode))for(var i in n.hb)throw new br.cb(55);Ht(n)}delete e.parent.hb[e.name],t.hb[r]=e,e.name=r,t.ctime=t.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,t){delete e.hb[t],e.ctime=e.mtime=Date.now()},rmdir(e,t){var r,n=Wt(e,t);for(r in n.hb)throw new br.cb(55);delete e.hb[t],e.ctime=e.mtime=Date.now()},readdir:e=>[".","..",...Object.keys(e.hb)],symlink:(e,t,r)=>((e=Ut.createNode(e,t,41471,0)).link=r,e),readlink(e){if(40960!=(61440&e.mode))throw new br.cb(28);return e.link}},gb:{read(e,t,r,n,i){var s=e.node.hb;if(i>=e.node.mb)return 0;if(8<(e=Math.min(e.node.mb-i,n))&&s.subarray)t.set(s.subarray(i,i+e),r);else for(n=0;n<e;n++)t[r+n]=s[i+n];return e},write(e,t,r,n,i,s){if(t.buffer===v.buffer&&(s=!1),!n)return 0;if((e=e.node).mtime=e.ctime=Date.now(),t.subarray&&(!e.hb||e.hb.subarray)){if(s)return e.hb=t.subarray(r,r+n),e.mb=n;if(0===e.mb&&0===i)return e.hb=t.slice(r,r+n),e.mb=n;if(i+n<=e.mb)return e.hb.set(t.subarray(r,r+n),i),n}var o=e.hb?e.hb.length:0;if(o>=(s=i+n)||(s=Math.max(s,o*(1048576>o?2:1.125)>>>0),0!=o&&(s=Math.max(s,256)),o=e.hb,e.hb=new Uint8Array(s),0<e.mb&&e.hb.set(o.subarray(0,e.mb),0)),e.hb.subarray&&t.subarray)e.hb.set(t.subarray(r,r+n),i);else for(s=0;s<n;s++)e.hb[i+s]=t[r+s];return e.mb=Math.max(e.mb,i+n),n},rb(e,t,r){if(1===r?t+=e.position:2===r&&br.isFile(e.node.mode)&&(t+=e.node.mb),0>t)throw new br.cb(28);return t},Ob(e,t,r,n,i){if(!br.isFile(e.node.mode))throw new br.cb(43);if(e=e.node.hb,2&i||!e||e.buffer!==v.buffer){if(n=!0,U(),!(i=void 0))throw new br.cb(48);e&&((0<r||r+t<e.length)&&(e=e.subarray?e.subarray(r,r+t):Array.prototype.slice.call(e,r,r+t)),v.set(e,i))}else n=!1,i=e.byteOffset;return{ib:i,Bd:n}},Wb:(e,t,r,n)=>(Ut.gb.write(e,t,0,n,r,!1),0)}},Bt=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},Lt=0,Mt=null,Ft=()=>{if(Lt--,r.monitorRunDependencies?.(Lt),0==Lt&&Mt){var e=Mt;Mt=null,e()}},Dt=()=>{Lt++,r.monitorRunDependencies?.(Lt)},Nt=[],Gt=async(e,t,r,n,i,s,o,c)=>{var l=t?Et(yt(e+"/"+t)):e;Dt();try{var h=r;"string"==typeof r&&(h=await(async e=>(e=await a(e),new Uint8Array(e)))(r)),h=await(async(e,t)=>{for(var r of("undefined"!=typeof Browser&&zt(),Nt))if(r.canHandle(t))return r.handle(e,t);return e})(h,l),c?.(),s||qt(e,t,h,n,i,o)}finally{Ft()}};function zt(){var e,t,n;br.qc=!0,e??=r.stdin,t??=r.stdout,n??=r.stderr,e?br.Eb("/dev","stdin",e):br.symlink("/dev/tty","/dev/stdin"),t?br.Eb("/dev","stdout",null,t):br.symlink("/dev/tty","/dev/stdout"),n?br.Eb("/dev","stderr",null,n):br.symlink("/dev/tty1","/dev/stderr"),br.open("/dev/stdin",0),br.open("/dev/stdout",1),br.open("/dev/stderr",1)}function It(e,t){br.Dc[e]={gb:t}}function Vt(e){return 16384==(61440&e)}function Wt(e,t){var r=Vt(e.mode)?(r=Zt(e,"x"))?r:e.fb.lookup?0:2:54;if(r)throw new br.cb(r);for(r=br.Cb[Kt(e.id,t)];r;r=r.Kb)if(r.parent.id===e.id&&r.name===t)return r;return br.lookup(e,t)}function Ht(e){var t=Kt(e.parent.id,e.name);if(br.Cb[t]===e)br.Cb[t]=e.Kb;else for(t=br.Cb[t];t;){if(t.Kb===e){t.Kb=e.Kb;break}t=t.Kb}}function qt(e,t,r,n,i,s){var o=t;if(e&&(e="string"==typeof e?e:Jt(e),o=t?yt(e+"/"+t):e),e=Bt(n,i),o=br.create(o,e),r){if("string"==typeof r){for(t=Array(r.length),n=0,i=r.length;n<i;++n)t[n]=r.charCodeAt(n);r=t}br.chmod(o,146|e),t=br.open(o,577),br.write(t,r,0,r.length,0,s),br.close(t),br.chmod(o,e)}}function Xt(e,t={}){if(!e)throw new br.cb(44);t.cc??(t.cc=!0),"/"===e.charAt(0)||(e=br.cwd()+"/"+e);var r=0;e:for(;40>r;r++){e=e.split("/").filter(e=>!!e);for(var n=br.root,i="/",s=0;s<e.length;s++){var o=s===e.length-1;if(o&&t.parent)break;if("."!==e[s])if(".."===e[s]){if(i=_t(i),br.sc(n)){e=i+"/"+e.slice(s+1).join("/"),r--;continue e}n=n.parent}else{i=yt(i+"/"+e[s]);try{n=Wt(n,e[s])}catch(e){if(44===e?.Ib&&o&&t.td)return{path:i};throw e}if(!n.yb||o&&!t.cc||(n=n.yb.root),40960==(61440&n.mode)&&(!o||t.wb)){if(!n.fb.readlink)throw new br.cb(52);"/"===(n=n.fb.readlink(n)).charAt(0)||(n=_t(i)+"/"+n),e=n+"/"+e.slice(s+1).join("/");continue e}}}return{path:i,node:n}}throw new br.cb(32)}function Jt(e){for(var t;;){if(br.sc(e))return e=e.kb.Pc,t?"/"!==e[e.length-1]?`${e}/${t}`:e+t:e;t=t?`${e.name}/${t}`:e.name,e=e.parent}}function Kt(e,t){for(var r=0,n=0;n<t.length;n++)r=(r<<5)-r+t.charCodeAt(n)|0;return(e+r>>>0)%br.Cb.length}function Yt(e){var t=Kt(e.parent.id,e.name);e.Kb=br.Cb[t],br.Cb[t]=e}function Qt(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t}function Zt(e,t){return br.Lc?0:!t.includes("r")||292&e.mode?t.includes("w")&&!(146&e.mode)||t.includes("x")&&!(73&e.mode)?2:0:2}function er(e,t){if(!Vt(e.mode))return 54;try{return Wt(e,t),20}catch(e){}return Zt(e,"wx")}function tr(e,t,r){try{var n=Wt(e,t)}catch(e){return e.Ib}if(e=Zt(e,"wx"))return e;if(r){if(!Vt(n.mode))return 54;if(br.sc(n)||Jt(n)===br.cwd())return 10}else if(Vt(n.mode))return 31;return 0}function rr(e,t){if(!e)throw new br.cb(t);return e}function nr(e){if(!(e=br.nd(e)))throw new br.cb(8);return e}function ir(e,t=-1){if(e=Object.assign(new br.Zc,e),-1==t)e:{for(t=0;t<=br.ad;t++)if(!br.streams[t])break e;throw new br.cb(33)}return e.fd=t,br.streams[t]=e}function sr(e,t,r){var n=e?.gb.zb;e=n?e:t,n??=t.fb.zb,rr(n,63),n(e,r)}function or(e){var t=[];for(e=[e];e.length;){var r=e.pop();t.push(r),e.push(...r.Vb)}return t}function ar(e){var t={Ed:4096,Td:4096,blocks:1e6,Dd:5e5,Cd:5e5,files:br.vc,Rd:br.vc-1,Ud:42,flags:2,ee:255};return e.fb.Tc&&Object.assign(t,e.fb.Tc(e.kb.ud.root)),t}function cr(e,t,r){return void 0===r&&(r=t,t=438),br.Bb(e,8192|t,r)}function lr(e,t,r,n){sr(e,t,{mode:4095&r|-4096&t.mode,ctime:Date.now(),Fc:n})}function hr(e,t,r){if(Vt(t.mode))throw new br.cb(31);if(!br.isFile(t.mode))throw new br.cb(28);var n=Zt(t,"w");if(n)throw new br.cb(n);sr(e,t,{size:r,timestamp:Date.now()})}function ur(e){if(!(e.qd||e.rd||e.link||e.hb))if(globalThis.XMLHttpRequest)U("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");else try{e.hb=c(e.url)}catch(e){throw new br.cb(29)}}var br={root:null,Vb:[],Dc:{},streams:[],vc:1,Cb:null,Ac:"/",qc:!1,Lc:!0,jd:null,jc:0,Sc:{},cb:class{name="ErrnoError";constructor(e){this.Ib=e}},Zc:class{sb={};node=null;get object(){return this.node}set object(e){this.node=e}get flags(){return this.sb.flags}set flags(e){this.sb.flags=e}get position(){return this.sb.position}set position(e){this.sb.position=e}},Yc:class{fb={};gb={};yb=null;constructor(e,t,r,n){e||=this,this.parent=e,this.kb=e.kb,this.id=br.vc++,this.name=t,this.mode=r,this.rdev=n,this.atime=this.mtime=this.ctime=Date.now()}get read(){return!(365&~this.mode)}set read(e){e?this.mode|=365:this.mode&=-366}get write(){return!(146&~this.mode)}set write(e){e?this.mode|=146:this.mode&=-147}get rd(){return Vt(this.mode)}get qd(){return 8192==(61440&this.mode)}},createNode:(e,t,r,n)=>(Yt(e=new br.Yc(e,t,r,n)),e),sc:e=>e===e.parent,isFile:e=>32768==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>!(49152&~e),ad:4096,nd:e=>br.streams[e],Od:(e,t=-1)=>(e=ir(e,t),e.gb?.Nd?.(e),e),bd:{open(e){e.gb=br.ld(e.node.rdev).gb,e.gb.open?.(e)},rb(){throw new br.cb(70)}},tc:e=>e>>8,ae:e=>255&e,Jb:(e,t)=>e<<8|t,ld:e=>br.Dc[e],Uc(e,t){function r(e){return br.jc--,t(e)}function n(e){if(e){if(!n.gd)return n.gd=!0,r(e)}else++o>=s.length&&r(null)}"function"==typeof e&&(t=e,e=!1),br.jc++,1<br.jc&&P(`warning: ${br.jc} FS.syncfs operations in flight at once, probably just doing extra work`);var i,s=or(br.root.kb),o=0;for(i of s)i.type.Uc?i.type.Uc(i,e,n):n(null)},kb(e,t,r){var n="/"===r;if(n&&br.root)throw new br.cb(10);if(!n&&r){var i=Xt(r,{cc:!1});if(r=i.path,(i=i.node).yb)throw new br.cb(10);if(!Vt(i.mode))throw new br.cb(54)}return(e=e.kb(t={type:e,ud:t,Pc:r,Vb:[]})).kb=t,t.root=e,n?br.root=e:i&&(i.yb=t,i.kb&&i.kb.Vb.push(t)),e},ne(e){if(!(e=Xt(e,{cc:!1})).node.yb)throw new br.cb(28);var t=(e=e.node).yb,r=or(t);for([,i]of Object.entries(br.Cb))for(;i;){var n=i.Kb;r.includes(i.kb)&&Ht(i);var i=n}e.yb=null,e.kb.Vb.splice(e.kb.Vb.indexOf(t),1)},lookup:(e,t)=>e.fb.lookup(e,t),Bb(e,t,r){var n=Xt(e,{parent:!0}).node;if(!(e=$t(e)))throw new br.cb(28);if("."===e||".."===e)throw new br.cb(20);var i=er(n,e);if(i)throw new br.cb(i);if(!n.fb.Bb)throw new br.cb(63);return n.fb.Bb(n,e,t,r)},Tc:e=>ar(Xt(e,{wb:!0}).node),le:e=>ar(e.node),create:(e,t=438)=>br.Bb(e,4095&t|32768,0),mkdir:(e,t=511)=>br.Bb(e,1023&t|16384,0),ce(e,t){var r,n=e.split("/"),i="";for(r of n)if(r){(i||"/"===e.charAt(0))&&(i+="/"),i+=r;try{br.mkdir(i,t)}catch(e){if(20!=e.Ib)throw e}}},symlink(e,t){if(!Et(e))throw new br.cb(44);var r=Xt(t,{parent:!0}).node;if(!r)throw new br.cb(44);var n=er(r,t=$t(t));if(n)throw new br.cb(n);if(!r.fb.symlink)throw new br.cb(63);return r.fb.symlink(r,t,e)},rename(e,t){var r=_t(e),n=_t(t),i=$t(e),s=$t(t),o=Xt(e,{parent:!0}),a=o.node;if(o=(o=Xt(t,{parent:!0})).node,!a||!o)throw new br.cb(44);if(a.kb!==o.kb)throw new br.cb(75);var c=Wt(a,i);if("."!==(e=St(e,n)).charAt(0))throw new br.cb(28);if("."!==(e=St(t,r)).charAt(0))throw new br.cb(55);try{var l=Wt(o,s)}catch(e){}if(c!==l){if(i=tr(a,i,t=Vt(c.mode)))throw new br.cb(i);if(i=l?tr(o,s,t):er(o,s))throw new br.cb(i);if(!a.fb.rename)throw new br.cb(63);if(c.yb||l&&l.yb)throw new br.cb(10);if(o!==a&&(i=Zt(a,"w")))throw new br.cb(i);Ht(c);try{a.fb.rename(c,o,s),c.parent=o}catch(e){throw e}finally{Yt(c)}}},rmdir(e){var t=Xt(e,{parent:!0}).node,r=Wt(t,e=$t(e)),n=tr(t,e,!0);if(n)throw new br.cb(n);if(!t.fb.rmdir)throw new br.cb(63);if(r.yb)throw new br.cb(10);t.fb.rmdir(t,e),Ht(r)},readdir:e=>rr((e=Xt(e,{wb:!0}).node).fb.readdir,54)(e),unlink(e){var t=Xt(e,{parent:!0}).node;if(!t)throw new br.cb(44);var r=Wt(t,e=$t(e)),n=tr(t,e,!1);if(n)throw new br.cb(n);if(!t.fb.unlink)throw new br.cb(63);if(r.yb)throw new br.cb(10);t.fb.unlink(t,e),Ht(r)},readlink(e){if(!(e=Xt(e).node))throw new br.cb(44);if(!e.fb.readlink)throw new br.cb(28);return e.fb.readlink(e)},stat:(e,t)=>rr((e=Xt(e,{wb:!t}).node).fb.xb,63)(e),fstat(e){var t=nr(e);e=t.node;var r=t.gb.xb;return t=r?t:e,r??=e.fb.xb,rr(r,63),r(t)},lstat:e=>br.stat(e,!0),chmod(e,t,r){lr(null,e="string"==typeof e?Xt(e,{wb:!r}).node:e,t,r)},lchmod(e,t){br.chmod(e,t,!0)},fchmod(e,t){lr(e=nr(e),e.node,t,!1)},chown(e,t,r,n){sr(null,e="string"==typeof e?Xt(e,{wb:!n}).node:e,{timestamp:Date.now(),Fc:n})},lchown(e,t,r){br.chown(e,t,r,!0)},fchown(e){sr(e=nr(e),e.node,{timestamp:Date.now(),Fc:!1})},truncate(e,t){if(0>t)throw new br.cb(28);hr(null,e="string"==typeof e?Xt(e,{wb:!0}).node:e,t)},Vd(e,t){if(e=nr(e),0>t||!(2097155&e.flags))throw new br.cb(28);hr(e,e.node,t)},oe(e,t,r){rr((e=Xt(e,{wb:!0}).node).fb.zb,63)(e,{atime:t,mtime:r})},open(e,t,n=438){if(""===e)throw new br.cb(44);if("string"==typeof t){var i={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[t];if(void 0===i)throw Error(`Unknown file open mode: ${t}`);t=i}if(n=64&t?4095&n|32768:0,"object"==typeof e)i=e;else{var s=e.endsWith("/");i=(e=Xt(e,{wb:!(131072&t),td:!0})).node,e=e.path}var o=!1;if(64&t)if(i){if(128&t)throw new br.cb(20)}else{if(s)throw new br.cb(31);i=br.Bb(e,511|n,0),o=!0}if(!i)throw new br.cb(44);if(8192==(61440&i.mode)&&(t&=-513),65536&t&&!Vt(i.mode))throw new br.cb(54);if(!o&&(s=i?40960==(61440&i.mode)?32:Vt(i.mode)&&("r"!==Qt(t)||576&t)?31:Zt(i,Qt(t)):44))throw new br.cb(s);return 512&t&&!o&&br.truncate(i,0),t&=-131713,(s=ir({node:i,path:Jt(i),flags:t,seekable:!0,position:0,gb:i.gb,Ad:[],error:!1})).gb.open&&s.gb.open(s),o&&br.chmod(i,511&n),!r.logReadFiles||1&t||e in br.Sc||(br.Sc[e]=1),s},close(e){if(null===e.fd)throw new br.cb(8);e.pc&&(e.pc=null);try{e.gb.close&&e.gb.close(e)}catch(e){throw e}finally{br.streams[e.fd]=null}e.fd=null},rb(e,t,r){if(null===e.fd)throw new br.cb(8);if(!e.seekable||!e.gb.rb)throw new br.cb(70);if(0!=r&&1!=r&&2!=r)throw new br.cb(28);return e.position=e.gb.rb(e,t,r),e.Ad=[],e.position},read(e,t,r,n,i){if(0>n||0>i)throw new br.cb(28);if(null===e.fd)throw new br.cb(8);if(1==(2097155&e.flags))throw new br.cb(8);if(Vt(e.node.mode))throw new br.cb(31);if(!e.gb.read)throw new br.cb(28);var s=void 0!==i;if(s){if(!e.seekable)throw new br.cb(70)}else i=e.position;return t=e.gb.read(e,t,r,n,i),s||(e.position+=t),t},write(e,t,r,n,i,s){if(0>n||0>i)throw new br.cb(28);if(null===e.fd)throw new br.cb(8);if(!(2097155&e.flags))throw new br.cb(8);if(Vt(e.node.mode))throw new br.cb(31);if(!e.gb.write)throw new br.cb(28);e.seekable&&1024&e.flags&&br.rb(e,0,2);var o=void 0!==i;if(o){if(!e.seekable)throw new br.cb(70)}else i=e.position;return t=e.gb.write(e,t,r,n,i,s),o||(e.position+=t),t},Ob(e,t,r,n,i){if(2&n&&!(2&i)&&2!=(2097155&e.flags))throw new br.cb(2);if(1==(2097155&e.flags))throw new br.cb(2);if(!e.gb.Ob)throw new br.cb(43);if(!t)throw new br.cb(28);return e.gb.Ob(e,t,r,n,i)},Wb:(e,t,r,n,i)=>e.gb.Wb?e.gb.Wb(e,t,r,n,i):0,Mc(e,t,r){if(!e.gb.Mc)throw new br.cb(59);return e.gb.Mc(e,t,r)},readFile(e,t={}){t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding&&U(`Invalid encoding type "${t.encoding}"`);var r=br.open(e,t.flags);e=br.stat(e).size;var n=new Uint8Array(e);return br.read(r,n,0,e,0),"utf8"===t.encoding&&(n=kt(n)),br.close(r),n},writeFile(e,t,r={}){r.flags=r.flags||577,e=br.open(e,r.flags,r.mode),"string"==typeof t&&(t=new Uint8Array(Tt(t))),ArrayBuffer.isView(t)?br.write(e,t,0,t.byteLength,void 0,r.Kd):U("Unsupported data type"),br.close(e)},cwd:()=>br.Ac,chdir(e){if(null===(e=Xt(e,{wb:!0})).node)throw new br.cb(44);if(!Vt(e.node.mode))throw new br.cb(54);var t=Zt(e.node,"x");if(t)throw new br.cb(t);br.Ac=e.path},ie(){for(var e of(br.qc=!1,br.streams))e&&br.close(e)},Sd(e,t){try{var r=Xt(e,{wb:!t});e=r.path}catch(e){}var n=!1,i=null;try{r=Xt(e,{parent:!0}),$t(e),r=Xt(e,{wb:!t}),n=!0,i=r.node}catch(e){}return n?i:null},Eb(e,t,r,n){var i;return e=((e,t)=>yt(e+"/"+t))("string"==typeof e?e:Jt(e),t),t=Bt(!!r,!!n),(i=br.Eb).tc??(i.tc=64),It(i=br.Jb(br.Eb.tc++,0),{open(e){e.seekable=!1},close(){n?.buffer?.length&&n(10)},read(e,t,n,i){for(var s=0,o=0;o<i;o++){try{var a=r()}catch(e){throw new br.cb(29)}if(void 0===a&&0===s)throw new br.cb(6);if(null==a)break;s++,t[n+o]=a}return s&&(e.node.atime=Date.now()),s},write(e,t,r,i){for(var s=0;s<i;s++)try{n(t[r+s])}catch(e){throw new br.cb(29)}return i&&(e.node.mtime=e.node.ctime=Date.now()),s}}),cr(e,t,i)}},dr=e=>"]"==e.slice(-1)&&e.lastIndexOf("["),fr=[],pr=e=>0==(e-=5120)?v:1==e?w:2==e?g:4==e?_:6==e?A:5==e||28922==e||28520==e||30779==e||30782==e?$:y,mr=e=>{var t=Ce.dd;if(t){var r=t.Zb[e];return"number"==typeof r&&(t.Zb[e]=r=Ce.getUniformLocation(t,t.Vc[e]+(0<r?`[${r}]`:""))),r}Re||=1282},vr=[],wr=[];(()=>{let e=re.prototype;Object.assign(e,{isAliasOf:function(e){if(!(this instanceof re&&e instanceof re))return!1;var t=this.eb.lb.jb,r=this.eb.ib;e.eb=e.eb;var n=e.eb.lb.jb;for(e=e.eb.ib;t.qb;)r=t.$b(r),t=t.qb;for(;n.qb;)e=n.$b(e),n=n.qb;return t===n&&r===e},clone:function(){if(this.eb.ib||Q(this),this.eb.Xb)return this.eb.count.value+=1,this;var e=te,t=Object,r=t.create,n=Object.getPrototypeOf(this),i=this.eb;return(e=e(r.call(t,n,{eb:{value:{count:i.count,Ub:i.Ub,Xb:i.Xb,ib:i.ib,lb:i.lb,ob:i.ob,tb:i.tb}}}))).eb.count.value+=1,e.eb.Ub=!1,e},delete(){if(this.eb.ib||Q(this),this.eb.Ub&&!this.eb.Xb)throw new X("Object already scheduled for deletion");ee(this);var e=this.eb;--e.count.value,0===e.count.value&&(e.ob?e.tb.Fb(e.ob):e.lb.jb.Fb(e.ib)),this.eb.Xb||(this.eb.ob=void 0,this.eb.ib=void 0)},isDeleted:function(){return!this.eb.ib},deleteLater:function(){if(this.eb.ib||Q(this),this.eb.Ub&&!this.eb.Xb)throw new X("Object already scheduled for deletion");return this.eb.Ub=!0,this}});const t=Symbol.dispose;t&&(e[t]=e.delete)})(),Object.assign(we.prototype,{md(e){return this.Rc&&(e=this.Rc(e)),e},Cc(e){this.Fb?.(e)},Db:de,pb:function(e){function t(){return ve(this.jb.Nb,this.ec?{lb:this.vd,ib:r,tb:this,ob:e}:{lb:this,ib:e})}var r=this.md(e);if(!r)return this.Cc(e),null;var n=((e,t)=>{if(void 0===t)throw new X("ptr should not be undefined");for(;e.qb;)t=e.$b(t),e=e.qb;return pe[t]})(this.jb,r);if(void 0!==n)return 0===n.eb.count.value?(n.eb.ib=r,n.eb.ob=e,n.clone()):(n=n.clone(),this.Cc(e),n);if(n=this.jb.kd(r),!(n=ie[n]))return t.call(this);var i=fe(r,this.jb,(n=this.dc?n.cd:n.pointerType).jb);return null===i?t.call(this):ve(n.jb.Nb,this.ec?{lb:n,ib:i,tb:this,ob:e}:{lb:n,ib:i})}}),"undefined"!=typeof MainLoop&&MainLoop.fe.push(()=>{if(Oe){var e=Oe.Rb;for(Oe.Rb=Oe.Yb,Oe.Yb=e,e=Oe.Gb,Oe.Gb=Oe.kc,Oe.kc=e,e=0;21>=e;++e)Oe.Gb[e]=0}}),br.Ld=(e,t,r,n,i,s,o,a,c,l)=>{Gt(e,t,r,n,i,a,c,l).then(s).catch(o)},br.ge=Gt,br.Cb=Array(4096),br.kb(Ut,{},"/"),br.mkdir("/tmp"),br.mkdir("/home"),br.mkdir("/home/web_user"),function(){br.mkdir("/dev"),It(br.Jb(1,3),{read:()=>0,write:(e,t,r,n)=>n,rb:()