@sketch-hq/sketch-web-renderer 14.6.6 → 14.6.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import e,{useRef as t,useLayoutEffect as n,useCallback as o,createContext as r,useContext as i,useReducer as a,useMemo as s,useEffect as u,useState as l}from"react";var c=function(e,t){return c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},c(e,t)};function d(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}c(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var h=function(){return h=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},h.apply(this,arguments)};function p(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{u(o.next(e))}catch(e){i(e)}}function s(e){try{u(o.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((o=o.apply(e,t||[])).next())}))}function g(e,t){var n,o,r,i,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(n=1,o&&(r=2&s[0]?o.return:s[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,s[1])).done)return r;switch(o=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,o=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(r=a.trys,(r=r.length>0&&r[r.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){a.label=s[1];break}if(6===s[0]&&a.label<r[1]){a.label=r[1],r=s;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(s);break}r[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],o=0}finally{n=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,u])}}}function v(e,t,n){if(n||2===arguments.length)for(var o,r=0,i=t.length;r<i;r++)!o&&r in t||(o||(o=Array.prototype.slice.call(t,0,r)),o[r]=t[r]);return e.concat(o||Array.prototype.slice.call(t))}function f(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{u(o.next(e))}catch(e){i(e)}}function s(e){try{u(o.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((o=o.apply(e,t||[])).next())}))}const m=["geforce 320m","geforce 8600","geforce 8600m gt","geforce 8800 gs","geforce 8800 gt","geforce 9400","geforce 9400m g","geforce 9400m","geforce 9600m gt","geforce 9600m","geforce fx go5200","geforce gt 120","geforce gt 130","geforce gt 330m","geforce gtx 285","google swiftshader","intel g41","intel g45","intel gma 4500mhd","intel gma x3100","intel hd 3000","intel q45","legacy","mali-2","mali-3","mali-4","quadro fx 1500","quadro fx 4","quadro fx 5","radeon hd 2400","radeon hd 2600","radeon hd 4670","radeon hd 4850","radeon hd 4870","radeon hd 5670","radeon hd 5750","radeon hd 6290","radeon hd 6300","radeon hd 6310","radeon hd 6320","radeon hd 6490m","radeon hd 6630m","radeon hd 6750m","radeon hd 6770m","radeon hd 6970m","sgx 543","sgx543"];function y(e){return e.toLowerCase().replace(/.*angle ?\((.+)\)(?: on vulkan [0-9.]+)?$/i,"$1").replace(/\s(\d{1,2}gb|direct3d.+$)|\(r\)| \([^)]+\)$/g,"").replace(/(?:vulkan|opengl) \d+\.\d+(?:\.\d+)?(?: \((.*)\))?/,"$1")}const b="undefined"==typeof window,w=(()=>{if(b)return;const{userAgent:e,platform:t,maxTouchPoints:n}=window.navigator,o=/(iphone|ipod|ipad)/i.test(e),r="iPad"===t||"MacIntel"===t&&n>0&&!window.MSStream;return{isIpad:r,isMobile:/android/i.test(e)||o||r,isSafari12:/Version\/12.+Safari/.test(e)}})();class C extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}}const P=[],E=[];function M(e,t){if(e===t)return 0;const n=e;e.length>t.length&&(e=t,t=n);let o=e.length,r=t.length;for(;o>0&&e.charCodeAt(~-o)===t.charCodeAt(~-r);)o--,r--;let i,a=0;for(;a<o&&e.charCodeAt(a)===t.charCodeAt(a);)a++;if(o-=a,r-=a,0===o)return r;let s,u,l=0,c=0,d=0;for(;c<o;)E[c]=e.charCodeAt(a+c),P[c]=++c;for(;d<r;)for(i=t.charCodeAt(a+d),s=d++,l=d,c=0;c<o;c++)u=i===E[c]?s:s+1,s=P[c],l=P[c]=s>l?u>l?l+1:u:u>s?s+1:u;return l}function L(e){return null!=e}const x=({mobileTiers:e=[0,15,30,60],desktopTiers:t=[0,15,30,60],override:n={},glContext:o,failIfMajorPerformanceCaveat:r=!1,benchmarksURL:i="https://unpkg.com/detect-gpu@5.0.25/dist/benchmarks"}={})=>f(void 0,void 0,void 0,(function*(){const a={};if(b)return{tier:0,type:"SSR"};const{isIpad:s=!!(null==w?void 0:w.isIpad),isMobile:u=!!(null==w?void 0:w.isMobile),screenSize:l=window.screen,loadBenchmarks:c=(e=>f(void 0,void 0,void 0,(function*(){const t=yield fetch(`${i}/${e}`).then((e=>e.json()));if(parseInt(t.shift().split(".")[0],10)<4)throw new C("Detect GPU benchmark data is out of date. Please update to version 4x");return t})))}=n;let{renderer:d}=n;const h=(e,t,n,o,r)=>({device:r,fps:o,gpu:n,isMobile:u,tier:e,type:t});let p,g="";if(d)d=y(d),p=[d];else{const e=o||function(e,t=!1){const n={alpha:!1,antialias:!1,depth:!1,failIfMajorPerformanceCaveat:t,powerPreference:"high-performance",stencil:!1};e&&delete n.powerPreference;const o=window.document.createElement("canvas"),r=o.getContext("webgl",n)||o.getContext("experimental-webgl",n);return null!=r?r:void 0}(null==w?void 0:w.isSafari12,r);if(!e)return h(0,"WEBGL_UNSUPPORTED");const t=e.getExtension("WEBGL_debug_renderer_info");if(t&&(d=e.getParameter(t.UNMASKED_RENDERER_WEBGL)),!d)return h(1,"FALLBACK");g=d,d=y(d),p=function(e,t,n){return"apple gpu"===t?function(e,t,n){if(!n)return[t];const o=function(e){const t=e.createShader(35633),n=e.createShader(35632),o=e.createProgram();if(!(n&&t&&o))return;e.shaderSource(t,"\n precision highp float;\n attribute vec3 aPosition;\n varying float vvv;\n void main() {\n vvv = 0.31622776601683794;\n gl_Position = vec4(aPosition, 1.0);\n }\n "),e.shaderSource(n,"\n precision highp float;\n varying float vvv;\n void main() {\n vec4 enc = vec4(1.0, 255.0, 65025.0, 16581375.0) * vvv;\n enc = fract(enc);\n enc -= enc.yzww * vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n gl_FragColor = enc;\n }\n "),e.compileShader(t),e.compileShader(n),e.attachShader(o,t),e.attachShader(o,n),e.linkProgram(o),e.detachShader(o,t),e.detachShader(o,n),e.deleteShader(t),e.deleteShader(n),e.useProgram(o);const r=e.createBuffer();e.bindBuffer(34962,r),e.bufferData(34962,new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),35044);const i=e.getAttribLocation(o,"aPosition");e.vertexAttribPointer(i,3,5126,!1,0,0),e.enableVertexAttribArray(i),e.clearColor(1,1,1,1),e.clear(16384),e.viewport(0,0,1,1),e.drawArrays(4,0,3);const a=new Uint8Array(4);return e.readPixels(0,0,1,1,6408,5121,a),e.deleteProgram(o),e.deleteBuffer(r),a.join("")}(e),r="801621810",i="8016218135",a="80162181161",s=(null==w?void 0:w.isIpad)?[["a7",a,12],["a8",i,15],["a8x",i,15],["a9",i,15],["a9x",i,15],["a10",i,15],["a10x",i,15],["a12",r,15],["a12x",r,15],["a12z",r,15],["a14",r,15],["m1",r,15]]:[["a7",a,12],["a8",i,12],["a9",i,15],["a10",i,15],["a11",r,15],["a12",r,15],["a13",r,15],["a14",r,15]];let u;return"80162181255"===o?u=s.filter((([,,e])=>e>=14)):(u=s.filter((([,e])=>e===o)),u.length||(u=s)),u.map((([e])=>`apple ${e} gpu`))}(e,t,n):[t]}(e,d,u)}const v=(yield Promise.all(p.map((function(e){var t;return f(this,void 0,void 0,(function*(){const n=(e=>{const t=u?["adreno","apple","mali-t","mali","nvidia","powervr","samsung"]:["intel","apple","amd","radeon","nvidia","geforce"];for(const n of t)if(e.includes(n))return n})(e);if(!n)return;const o=`${u?"m":"d"}-${n}${s?"-ipad":""}.json`,r=a[o]=null!==(t=a[o])&&void 0!==t?t:c(o);let i;try{i=yield r}catch(n){if(n instanceof C)throw n;return}const d=function(e){var t;const n=(e=e.replace(/\([^)]+\)/,"")).match(/\d+/)||e.match(/(\W|^)([A-Za-z]{1,3})(\W|$)/g);return null!==(t=null==n?void 0:n.join("").replace(/\W|amd/g,""))&&void 0!==t?t:""}(e);let h=i.filter((([,e])=>e===d));h.length||(h=i.filter((([t])=>t.includes(e))));const p=h.length;if(0===p)return;const g=e.split(/[.,()\[\]/\s]/g).sort().filter(((e,t,n)=>0===t||e!==n[t-1])).join(" ");let v,[f,,,,m]=p>1?h.map((e=>[e,M(g,e[2])])).sort((([,e],[,t])=>e-t))[0][0]:h[0],y=Number.MAX_VALUE;const{devicePixelRatio:b}=window,w=l.width*b*l.height*b;for(const e of m){const[t,n]=e,o=t*n,r=Math.abs(w-o);r<y&&(y=r,v=e)}if(!v)return;const[,,P,E]=v;return[y,P,f,E]}))})))).filter(L).sort((([e=Number.MAX_VALUE,t],[n=Number.MAX_VALUE,o])=>e===n?t-o:e-n));if(!v.length){const e=m.find((e=>d.includes(e)));return e?h(0,"BLOCKLISTED",e):h(1,"FALLBACK",`${d} (${g})`)}const[,P,E,x]=v[0];if(-1===P)return h(0,"BLOCKLISTED",E,P,x);const R=u?e:t;let W=0;for(let e=0;e<R.length;e++)P>=R[e]&&(W=e);return h(W,"BENCHMARK",E,P,x)}));var R,W,S=function(e){function t(n,o,r){var i=this.constructor,a=e.call(this,"(".concat(n,") ").concat(o))||this;return a.code=n,a.cause=r,a.name=t.name,Object.setPrototypeOf(a,i.prototype),a}return d(t,e),t}(Error);function T(e){return void 0!==e}!function(e){e.debug="debug",e.release="release"}(R||(R={})),function(e){e.Fit="Fit",e.FillWidth="FillWidth",e.ActualSize="ActualSize"}(W||(W={}));var F=function(){function e(){this.listeners={}}return e.prototype.on=function(e,t){var n,o;this.listeners[e]=null!==(n=this.listeners[e])&&void 0!==n?n:new Set,null===(o=this.listeners[e])||void 0===o||o.add(t)},e.prototype.off=function(e,t){var n;null===(n=this.listeners[e])||void 0===n||n.delete(t)},e.prototype.forwardEvent=function(e,t){this.on(t,(function(){for(var n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];e.emit.apply(e,v([t],n,!1))}))},e.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var o=this.listeners[e];(null==o?void 0:o.size)&&o.forEach((function(e){Promise.resolve().then((function(){e.apply(void 0,t)}))}))},e.prototype.detachAllListeners=function(){this.listeners={}},e}(),I=function(){function e(e){void 0===e&&(e=!1),this.removeListenerCallbacks=[],this.disabled=e}return e.prototype.add=function(e,t,n,o){var r=this,i=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];r.disabled||n.apply(void 0,e)};e.addEventListener(t,i,o);var a=function(){e.removeEventListener(t,i,o)};return this.removeListenerCallbacks.push(a),a},e.prototype.dispose=function(){this.removeListenerCallbacks.forEach((function(e){return e()}))},e.prototype.setDisabled=function(e){this.disabled=e},e}(),A={delayedDraw:!0,offscreenCanvas:!1,useDirtyRectsRendering:!0,safariWebGL2:!1,pageBoundariesLimit:!1,canvasLayersEvents:!1},D=function(e){return parseFloat((""+(/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(e)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))||!1},G=/(iPhone|Macintosh|iPad)(.*)(Version)\/(0|[1-9]\d*)\.(0|[1-9]\d*)\.?(0|[1-9]\d*)?/,U=function(e){if(void 0===e&&(e=window.navigator.userAgent),e.includes("Chrome/")||e.includes("Chromium/")||e.includes("Opera/")||e.includes("Firefox/"))return null;var t=e.match(G);if(!t)return null;var n=t[1];return"Macintosh"!==n&&"iPad"!==n&&"iPhone"!==n?null:{hardware:n,version:{major:parseInt(t[4])||0,minor:parseInt(t[5])||0,patch:parseInt(t[6])||0}}};function k(e,t){var n;function o(){for(var o=[],r=0;r<arguments.length;r++)o[r]=arguments[r];clearTimeout(n),n=setTimeout((function(){e.apply(void 0,o)}),t)}return o.cancel=function(){n&&clearTimeout(n)},o}function B(e){var t,n,o,r,i,a=null!==(n=null===(t=e.touches)||void 0===t?void 0:t[0])&&void 0!==n?n:null===(o=e.changedTouches)||void 0===o?void 0:o[0];return{x:null!==(r=null==a?void 0:a.clientX)&&void 0!==r?r:e.clientX,y:null!==(i=null==a?void 0:a.clientY)&&void 0!==i?i:e.clientY}}function z(e,t,n){return Math.max(t,Math.min(n,e))}function Z(e){return Boolean(window.chrome)&&e.gpu&&/amd\sradeon\s(pro|rx)\s5\d\d\d/gi.test(e.gpu)||U()&&!A.safariWebGL2?1:"undefined"!=typeof WebGL2RenderingContext?2:1}function O(e){if(!e)return[];for(var t=[],n=0;n<e.size();n++)t.push(e.get(n));return t}function H(){return"ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0}function N(e){var t=h({},e);return Object.keys(t).forEach((function(e){void 0===t[e]&&delete t[e]})),t}function _(e){return H()?{onTouchEnd:e}:{onClick:e}}var j=function(e){return 0===(null==e?void 0:e.$$.count.value)?null:e},V=function(e){function t(t,n,o){void 0===n&&(n=!1),void 0===o&&(o=!1);var r=e.call(this)||this;return r.state={pinchToZoomLastDistance:0,lastGestureScale:1,isCtrlPressed:!1},r.handleGestureStart=function(e){e.preventDefault(),r.state.lastGestureScale=e.scale},r.handleGestureChange=function(e){e.preventDefault();var t=e.scale/r.state.lastGestureScale;r.state.lastGestureScale=e.scale;var n=r.getCorrectPointerPosition(e);r.emitZoomEvent(t,n)},r.handleGestureEnd=function(e){e.preventDefault()},r.updateMousePosition=function(e){r.emit("pointermove",{type:"mouse",position:r.getCorrectPointerPosition(e),button:e.button,touchesCount:0})},r.updateGlobalMousePosition=function(e){r.emit("globalpointermove",{type:"mouse",position:r.getCorrectPointerPosition(e),button:e.button,touchesCount:0})},r.handleTouchStart=function(e){e.preventDefault(),r.handleTouchPinchToZoomStart(e),r.emit("pointerdown",{type:"touch",position:r.getCorrectPointerPosition(e),button:0,touchesCount:e.touches.length})},r.handleMouseDown=function(e){e.ctrlKey||(e.preventDefault(),r.emit("pointerdown",{type:"mouse",position:r.getCorrectPointerPosition(e),button:e.button,touchesCount:0}))},r.handleTouchMove=function(e){r.handleTouchPinchToZoomChange(e),r.emit("pointermove",{type:"touch",position:r.getCorrectPointerPosition(e),button:0,touchesCount:e.touches.length})},r.handleMouseMove=function(e){r.updateMousePosition(e)},r.handleGlobalTouchMove=function(e){r.emit("globalpointermove",{type:"touch",position:r.getCorrectPointerPosition(e),button:0,touchesCount:e.touches.length})},r.handleGlobalMouseMove=function(e){r.updateGlobalMousePosition(e)},r.handleTouchPinchToZoomStart=function(e){var t;!e.touches||(null===(t=e.touches)||void 0===t?void 0:t.length)<2||(r.state.pinchToZoomLastDistance=r.calculateDistanceBetweenTouches(e.touches[0],e.touches[1]))},r.handleTouchPinchToZoomChange=function(e){var t;if(e.touches&&!((null===(t=e.touches)||void 0===t?void 0:t.length)<2)){var n=r.calculateDistanceBetweenTouches(e.touches[0],e.touches[1]),o=r.getCorrectPointerPosition(e),i=1+.004*(n-r.state.pinchToZoomLastDistance);r.state.pinchToZoomLastDistance=n,r.emitZoomEvent(i,o)}},r.handleTouchEnd=function(e){var t=r.getCorrectPointerPosition(e);r.emit("pointerup",{position:t,type:"touch",button:0,touchesCount:e.touches.length})},r.handleMouseUp=function(e){r.emit("pointerup",{type:"mouse",position:r.getCorrectPointerPosition(e),button:e.button,touchesCount:0})},r.debouncedUpdateMousePosition=k(r.updateMousePosition,40),r.debouncedUpdateGlobalMousePosition=k(r.updateGlobalMousePosition,40),r.handleMouseWheel=function(e){e.preventDefault();var t=e.ctrlKey&&!r.state.isCtrlPressed,n=e.metaKey||t||r.state.isCtrlPressed;if(r.debouncedUpdateMousePosition(e),r.debouncedUpdateGlobalMousePosition(e),n){var o=t||r.invertedWheelZoom?-1:1,i=r.getCorrectPointerPosition(e),a=1+.005*e.deltaY*o;r.emitZoomEvent(a,i)}else r.emit("wheel",{x:-e.deltaX,y:-e.deltaY},{type:"mouse",position:r.getCorrectPointerPosition(e),button:e.button,touchesCount:0})},r.target=t,r.invertedWheelZoom=n,r.targetBounds=t.getBoundingClientRect(),r.listenersCollector=new I(o),r.addListeners(),r.targetResizeObserver=new ResizeObserver(r.updateTargetBounds.bind(r)),r.targetResizeObserver.observe(r.target),r}return d(t,e),t.prototype.updateTargetBounds=function(){this.targetBounds=this.target.getBoundingClientRect()},t.prototype.addListeners=function(){this.addTouchEventListeners(),this.addMouseEventListeners(),this.addKeyboardEventListeners(),this.addSafariGesturesEventListeners()},t.prototype.addKeyboardEventListeners=function(){var e=this;this.listenersCollector.add(document,"keydown",(function(t){"Control"===t.key&&(e.state.isCtrlPressed=!0)})),this.listenersCollector.add(document,"keyup",(function(t){"Control"===t.key&&(e.state.isCtrlPressed=!1)})),this.listenersCollector.add(document,"contextmenu",(function(t){t.ctrlKey&&(e.state.isCtrlPressed=!1)}))},t.prototype.addMouseEventListeners=function(){this.listenersCollector.add(this.target,"mousedown",this.handleMouseDown),this.listenersCollector.add(this.target,"mousemove",this.handleMouseMove),this.listenersCollector.add(document,"mousemove",this.handleGlobalMouseMove),this.listenersCollector.add(document,"mouseup",this.handleMouseUp),this.listenersCollector.add(this.target,"wheel",this.handleMouseWheel)},t.prototype.addTouchEventListeners=function(){this.listenersCollector.add(this.target,"touchstart",this.handleTouchStart),this.listenersCollector.add(document,"touchmove",this.handleGlobalTouchMove,{passive:!0,capture:!0}),this.listenersCollector.add(this.target,"touchmove",this.handleTouchMove,{passive:!0,capture:!0}),this.listenersCollector.add(document,"touchcancel",this.handleTouchEnd),this.listenersCollector.add(document,"touchend",this.handleTouchEnd)},t.prototype.addSafariGesturesEventListeners=function(){H()||(this.listenersCollector.add(this.target,"gesturestart",this.handleGestureStart,{capture:!0}),this.listenersCollector.add(this.target,"gesturechange",this.handleGestureChange,{capture:!0}),this.listenersCollector.add(this.target,"gestureend",this.handleGestureEnd,{capture:!0}))},t.prototype.clampPointerToTargetBounds=function(e){return{x:e.x-this.targetBounds.x,y:e.y-this.targetBounds.y}},t.prototype.getCorrectPointerPosition=function(e){var t,n={x:0,y:0};if((null===(t=e.touches)||void 0===t?void 0:t.length)>1){var o=e,r=o.touches[0],i=o.touches[1];n={x:(r.clientX+i.clientX)/2,y:(r.clientY+i.clientY)/2}}else n=B(e);return this.clampPointerToTargetBounds(n)},t.prototype.calculateDistanceBetweenTouches=function(e,t){return Math.hypot(e.clientX-t.clientX,e.clientY-t.clientY)},t.prototype.emitZoomEvent=function(e,t){this.emit("pinchToZoom",e,t)},t.prototype.dispose=function(){this.listenersCollector.dispose(),this.targetResizeObserver.disconnect()},t.prototype.setDisable=function(e){this.listenersCollector.setDisabled(e)},t.prototype.setInvertedWheelZoom=function(e){this.invertedWheelZoom=e},t}(F),J=function(e){function t(t){var n=e.call(this)||this;return n.listenersCollector=new I,n.handleKeyUp=function(e){n.emit("keyUp",e.code)},n.target=t,n.addListeners(),n}return d(t,e),t.prototype.addListeners=function(){this.listenersCollector.add(this.target,"keyup",this.handleKeyUp)},t.prototype.dispose=function(){this.listenersCollector.dispose()},t}(F),K=function(){function e(e){this.label=e,this.startTime=performance.now(),this.startTimestamp=Date.now()}return e.prototype.measure=function(){return{duration:performance.now()-this.startTime,end:Date.now(),start:this.startTimestamp,id:this.label}},e.prototype.printMeasurement=function(){var e=this.measure().duration;if(e<1e3){var t=e.toFixed(2);return"[Performance] ".concat(this.label," -> ").concat(t," ms")}var n=(e/1e3).toFixed(2);return"[Performance] ".concat(this.label," -> ").concat(n," s")},e}();function Y(e){setTimeout((function(){e()}),0)}var $=new(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return d(t,e),t.prototype.logDebug=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.emit.apply(this,v(["log","debug"],e,!1))},t.prototype.logWarning=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.emit.apply(this,v(["log","warn"],e,!1))},t.prototype.logError=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.emit.apply(this,v(["log","error"],e,!1))},t}(F)),X=function(e,r){var i=t(e);i.current=e;var a=t((function(){}));return n((function(){var e=k((function(){i.current()}),r);return a.current=e,function(){e.cancel()}}),[r]),o((function(){return a.current()}),[])},q=function(e){function t(t){var n,o=this;return(o=e.call(this)||this).listenersCollector=new I,o.size={width:0,height:0},o.pixelRatio=1,o.maxPixelRatio=2,o.handleCanvasResizeObserver=function(e){o.resizeCanvas(e[0].contentRect)},o.resizeCanvas=function(e){var t=e.width,n=e.height;window.requestAnimationFrame((function(){o.setSize(t,n),o.emit("resize",t,n,o.getDevicePixelRatio())}))},o.getCanvasCenterPoint=function(){var e=o.getBoundingClientRect();return{x:e.width/2+e.x,y:e.height/2+e.y}},o.container=t.container,o.canvas=t.canvas,o.maxPixelRatio=null!==(n=t.maxPixelRatio)&&void 0!==n?n:o.maxPixelRatio,o.canvasResizeObserver=new ResizeObserver(o.handleCanvasResizeObserver),o.canvasResizeObserver.observe(o.container),o.listenersCollector.add(window,"orientationchange",o.handleDeviceOrientationChange),o.setSize(o.container.clientWidth,o.container.clientHeight),o}return d(t,e),t.prototype.setSize=function(e,t){this.pixelRatio=this.getDevicePixelRatio(),this.canvas.style.width="".concat(e,"px"),this.canvas.style.height="".concat(t,"px"),this.size.width=e*this.pixelRatio,this.size.height=t*this.pixelRatio,this.canvas.width=this.size.width,this.canvas.height=this.size.height},t.prototype.handleDeviceOrientationChange=function(){this.resizeCanvas({width:this.container.clientWidth,height:this.container.clientHeight})},t.prototype.getDevicePixelRatio=function(){return z(window.devicePixelRatio,1,this.maxPixelRatio)},t.prototype.getBoundingClientRect=function(){return this.canvas.getBoundingClientRect()},t.prototype.dispose=function(){this.detachAllListeners(),this.canvasResizeObserver.disconnect(),this.listenersCollector.dispose()},t}(F),Q=function(){function e(e){this.settings=e}return e.prototype.isReleaseMode=function(){return this.settings.mode===R.release},e.prototype.init=function(){return p(this,void 0,void 0,(function(){var e,t,n,o,r,i=this;return g(this,(function(a){switch(a.label){case 0:return[4,this.importModule()];case 1:e=a.sent(),t=e.default,a.label=2;case 2:return a.trys.push([2,4,,5]),n=this,[4,t({FeatureFlags:this.settings.featureFlags,currentWebGLVersion:this.settings.webglVersion,bridge:this.settings.jsBridge,locateFile:function(e){return i.settings.locateFile.replace("{file}",e)}})];case 3:return n.instance=a.sent(),[3,5];case 4:throw o=a.sent(),new S("WASM_ERROR","An error occurred while trying to create the wasm module.",o);case 5:return this.pointerTypeToWASMMap={unset:this.instance.PRUserPointerTypeEnum.Unset,mouse:this.instance.PRUserPointerTypeEnum.Mouse,touch:this.instance.PRUserPointerTypeEnum.Touch},this.prCursorTypeToCSSCursorMap=((r={})[this.instance.PRCursorTypeEnum.Auto.value]="auto",r[this.instance.PRCursorTypeEnum.Default.value]="default",r[this.instance.PRCursorTypeEnum.Pointer.value]="pointer",r[this.instance.PRCursorTypeEnum.Grab.value]="grab",r[this.instance.PRCursorTypeEnum.Grabbing.value]="grabbing",r),this.prototypeResizeModeToWASMMap={Fit:this.instance.PrototypeResizeModeWasmEnum.Fit,FillWidth:this.instance.PrototypeResizeModeWasmEnum.FillWidth,ActualSize:this.instance.PrototypeResizeModeWasmEnum.ActualSize},[2]}}))}))},e.prototype.makeWebGLContext=function(e,t){var n;void 0===t&&(t={});var o=h({antialias:!1,alpha:!1,stencil:!1,depth:!1,powerPreference:"high-performance",preserveDrawingBuffer:!1,desynchronized:!0},t),r=this.instance.GL.createContext(e,o);if(!r)throw new S("WEBGL_ERROR","Unable to create WebGL context. WebGL might be unsupported, disabled, or this device is not able to run WebGL correctly.");var i=null===(n=this.instance.GL.getContext(r))||void 0===n?void 0:n.GLctx;return i&&i.getExtension("WEBGL_debug_renderer_info"),r},e.prototype.createWebGLTextureFromImage=function(e,t){var n=this.instance.GL,o=n.getContext(t);if(!o)throw new Error("Unable to retrieve emscripten WebGL context from handle");var r=o.GLctx;if(!r)throw new Error("WebGL context is null");var i=r.createTexture();r.bindTexture(r.TEXTURE_2D,i),r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0);var a=n.getNewId(n.textures);return n.textures[a]=i,r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,e),r.bindTexture(r.TEXTURE_2D,null),a},e.prototype.destroyWebGLContext=function(e){var t;$.logDebug("Destroying WebGL context");var n=null===(t=this.instance)||void 0===t?void 0:t.GL.getContext(e);if(n){this.instance.GL.deleteContext(e);var o=n.GLctx.getExtension("WEBGL_lose_context");if(o)return o.loseContext(),$.logDebug("WebGL destroyed"),!0;$.logError("WEBGL_lose_context not available. Not possible to destroy WebGL context manually.")}else $.logError("WebGL context not found while trying to destroy it")},e.prototype.importModule=function(){return this.isReleaseMode()?import("./web-renderer-release-f9a1b538.js"):import("./web-renderer-debug-60dcc9c3.js")},e.prototype.mapToCSSCursor=function(e){return this.prCursorTypeToCSSCursorMap[e.value]},e.prototype.mapToPRPointerType=function(e){var t;return null!==(t=this.pointerTypeToWASMMap[e])&&void 0!==t?t:this.instance.PRUserPointerTypeEnum.Unset},e.prototype.mapPointerInfo=function(e){return h(h({},e),{type:this.mapToPRPointerType(e.type)})},e.prototype.mapResizeMode=function(e){return this.prototypeResizeModeToWASMMap[e]},e}();function ee(e){return new Promise((function(t,n){var o=new Image;o.onload=function(){t(o)},o.onerror=function(e){n(e)},o.src=e}))}var te,ne,oe,re,ie,ae,se,ue,le,ce,de,he,pe,ge,ve,fe,me,ye,be,we,Ce,Pe,Ee,Me,Le,xe=function(){function e(e,t,n){this.canvas=e,this.container=t,this.filePath=n,this.locateFile="/{file}",this.imagesURLFormat="",this.imagesURLMap={},this.fragmentsURLFormat="",this.fragmentsURLMap={},this.backgroundColor={r:1,g:1,b:1,a:1},this.mode=R.release,this.showTilesBorders=!1,this.minimumZoomLevel=5,this.maximumZoomLevel=.01,this.preserveDrawingBuffer=!1,this.featureFlags=A,this.manualInitialization=!1,this.panBoundariesPadding=0,this.selectedArtboard=null,this.initialZoom=null,this.initialPan=null,this.showArtboardsDecorations=!0,this.invertedWheelZoom=!1}return e.FromSettings=function(t){return Object.assign(new e(t.canvas,t.container,t.filePath),Object.fromEntries(Object.entries(t).filter((function(e){return void 0!==e[1]}))))},e}(),Re={png:"image/png",jpg:"image/jpeg",webp:"image/webp",svg:"image/svg+xml",pdf:"application/pdf",raster:"binary/octet-stream"};!function(e){e[e.None=0]="None",e[e.Scale=1]="Scale",e[e.Width=2]="Width",e[e.Height=3]="Height"}(te||(te={})),function(e){e[e.None=0]="None",e[e.PNG=1]="PNG",e[e.JPG=2]="JPG",e[e.TIFF=3]="TIFF",e[e.WEBP=4]="WEBP",e[e.PDF=5]="PDF",e[e.EPS=6]="EPS",e[e.SVG=7]="SVG",e[e.HEIC=8]="HEIC"}(ne||(ne={})),function(e){e[e.Color=0]="Color",e[e.Gradient=1]="Gradient",e[e.Pattern=2]="Pattern"}(oe||(oe={})),function(e){e[e.Fit=0]="Fit",e[e.Fill=1]="Fill",e[e.Stretch=2]="Stretch",e[e.Tile=3]="Tile"}(re||(re={})),function(e){e[e.Linear=0]="Linear",e[e.Radial=1]="Radial",e[e.Angular=2]="Angular"}(ie||(ie={})),function(e){e[e.Center=0]="Center",e[e.Inside=1]="Inside",e[e.Outside=2]="Outside"}(ae||(ae={})),function(e){e[e.Butt=0]="Butt",e[e.Round=1]="Round",e[e.Square=2]="Square"}(se||(se={})),function(e){e[e.Miter=0]="Miter",e[e.Round=1]="Round",e[e.Bevel=2]="Bevel"}(ue||(ue={})),function(e){e[e.Motion=0]="Motion",e[e.Zoom=1]="Zoom",e[e.Background=2]="Background",e[e.Gaussian=3]="Gaussian"}(le||(le={})),function(e){e[e.Normal=0]="Normal",e[e.DestAtop=1]="DestAtop",e[e.Clear=2]="Clear",e[e.Source=3]="Source",e[e.Darken=4]="Darken",e[e.Multiply=5]="Multiply",e[e.ColorBurn=6]="ColorBurn",e[e.Lighten=7]="Lighten",e[e.Screen=8]="Screen",e[e.ColorDodge=9]="ColorDodge",e[e.Overlay=10]="Overlay",e[e.SoftLight=11]="SoftLight",e[e.HardLight=12]="HardLight",e[e.Difference=13]="Difference",e[e.Exclusion=14]="Exclusion",e[e.Hue=15]="Hue",e[e.Saturation=16]="Saturation",e[e.Color=17]="Color",e[e.Luminosity=18]="Luminosity",e[e.PlusLighter=19]="PlusLighter",e[e.PlusDarker=20]="PlusDarker"}(ce||(ce={})),function(e){e[e.Artboard=0]="Artboard",e[e.SymbolMaster=1]="SymbolMaster",e[e.SymbolInstance=2]="SymbolInstance",e[e.Hotspot=3]="Hotspot",e[e.Bitmap=4]="Bitmap",e[e.Group=5]="Group",e[e.Oval=6]="Oval",e[e.Polygon=7]="Polygon",e[e.Rectangle=8]="Rectangle",e[e.ShapeGroup=9]="ShapeGroup",e[e.ShapePath=10]="ShapePath",e[e.Star=11]="Star",e[e.Text=12]="Text",e[e.Triangle=13]="Triangle",e[e.Slice=14]="Slice"}(de||(de={})),function(e){e[e.Angled=2]="Angled",e[e.InsideArc=4]="InsideArc",e[e.InsideSquare=3]="InsideSquare",e[e.Rounded=0]="Rounded",e[e.Smooth=1]="Smooth"}(he||(he={})),function(e){e[e.Lowercase=2]="Lowercase",e[e.None=0]="None",e[e.Uppercase=1]="Uppercase"}(pe||(pe={})),function(e){e[e.Center=1]="Center",e[e.Justified=3]="Justified",e[e.Left=0]="Left",e[e.Right=2]="Right"}(ge||(ge={})),function(e){e[e.Top=0]="Top",e[e.Middle=1]="Middle",e[e.Bottom=2]="Bottom"}(ve||(ve={})),function(e){e[e.LineThrough=2]="LineThrough",e[e.Underline=1]="Underline",e[e.None=0]="None"}(fe||(fe={})),function(e){e[e.Fixed=0]="Fixed",e[e.Fill=1]="Fill",e[e.Fit=2]="Fit",e[e.Relative=3]="Relative"}(me||(me={})),function(e){e[e.Horizontal=0]="Horizontal",e[e.Vertical=1]="Vertical"}(ye||(ye={})),function(e){e[e.Start=0]="Start",e[e.Center=1]="Center",e[e.End=2]="End",e[e.SpaceBetween=3]="SpaceBetween",e[e.SpaceAround=4]="SpaceAround",e[e.SpaceEvenly=5]="SpaceEvenly"}(be||(be={})),function(e){e[e.None=0]="None",e[e.Start=1]="Start",e[e.Center=2]="Center",e[e.End=3]="End",e[e.Stretch=4]="Stretch"}(we||(we={})),function(e){e[e.Unset=0]="Unset",e[e.Mouse=1]="Mouse",e[e.Touch=2]="Touch"}(Ce||(Ce={})),function(e){e[e.Auto=0]="Auto",e[e.Default=1]="Default",e[e.Pointer=2]="Pointer",e[e.Grab=3]="Grab",e[e.Grabbing=4]="Grabbing"}(Pe||(Pe={})),function(e){e[e.PNG=0]="PNG",e[e.JPG=1]="JPG",e[e.WEBP=2]="WEBP",e[e.PDF=4]="PDF",e[e.SVG=3]="SVG",e[e.RASTER=5]="RASTER"}(Ee||(Ee={})),function(e){e[e.Screen=0]="Screen",e[e.Overlay=1]="Overlay"}(Me||(Me={})),function(e){e[e.Fit=0]="Fit",e[e.FillWidth=1]="FillWidth",e[e.ActualSize=2]="ActualSize"}(Le||(Le={}));var We=function(e){function t(t){var n=e.call(this)||this;return n.status={type:"IDLE"},n.disposed=!1,n.handleCanvasResize=function(e,t,o){var r;null===(r=n.pageCanvasWasm)||void 0===r||r.resize(e,t,o)},n.handleWebGLContextLost=function(){n.setStatus({type:"WEBGL_CONTEXT_LOST"})},n.handlePinchToZoomEvent=function(e,t){var o;null===(o=n.userEventsCollectorWasm)||void 0===o||o.dispatchPinchToZoomEvent(e,t.x,t.y)},n.handleWheelEvent=function(e,t){var o;n.wasmModule&&(null===(o=n.userEventsCollectorWasm)||void 0===o||o.dispatchWheelEvent(e.x,e.y,n.wasmModule.mapPointerInfo(t)))},n.handlePointerDownEvent=function(e){var t;n.wasmModule&&(null===(t=n.userEventsCollectorWasm)||void 0===t||t.dispatchPointerDownEvent(n.wasmModule.mapPointerInfo(e)))},n.handlePointerMoveEvent=function(e){var t;n.wasmModule&&(null===(t=n.userEventsCollectorWasm)||void 0===t||t.dispatchPointerMoveEvent(n.wasmModule.mapPointerInfo(e)))},n.handleGlobalPointerMoveEvent=function(e){var t;n.wasmModule&&(null===(t=n.userEventsCollectorWasm)||void 0===t||t.dispatchGlobalPointerMoveEvent(n.wasmModule.mapPointerInfo(e)))},n.handlePointerUpEvent=function(e){var t;n.wasmModule&&(null===(t=n.userEventsCollectorWasm)||void 0===t||t.dispatchPointerUpEvent(n.wasmModule.mapPointerInfo(e)))},n.settings=xe.FromSettings(t),$.logDebug("CanvasRenderer JS constructed with settings:",n.settings),n.gestureManager=new V(n.settings.container,n.settings.invertedWheelZoom),n.canvasManager=new q({container:n.settings.container,canvas:n.settings.canvas}),n.fetchWorker=new Worker(n.settings.locateFile.replace("{file}","fetch-worker.js")),n.exporterFetchWorker=new Worker(n.settings.locateFile.replace("{file}","fetch-worker.js")),n.settings.manualInitialization||n.init(),n}return d(t,e),t.prototype.addListeners=function(){this.canvasManager.on("resize",this.handleCanvasResize),this.gestureManager.on("wheel",this.handleWheelEvent),this.gestureManager.on("pointerup",this.handlePointerUpEvent),this.gestureManager.on("pointermove",this.handlePointerMoveEvent),this.gestureManager.on("globalpointermove",this.handleGlobalPointerMoveEvent),this.gestureManager.on("pointerdown",this.handlePointerDownEvent),this.gestureManager.on("pinchToZoom",this.handlePinchToZoomEvent),this.settings.canvas.addEventListener("webglcontextlost",this.handleWebGLContextLost)},t.prototype.collectAndEmitDeviceInfo=function(){return p(this,void 0,void 0,(function(){var e;return g(this,(function(t){switch(t.label){case 0:return[4,x()];case 1:return e=t.sent(),this.deviceInfo=h(h({},e),{hardwareConcurrency:navigator.hardwareConcurrency}),this.emit("deviceInfo",this.deviceInfo),[2]}}))}))},t.prototype.detectWebGLVersion=function(){this.webglVersion=Z(this.deviceInfo),$.logDebug("Using WebGL ".concat(this.webglVersion))},t.prototype.init=function(){return p(this,void 0,void 0,(function(){var e;return g(this,(function(t){switch(t.label){case 0:return this.traceFirstPaint=new K("FirstPaint"),this.setStatus({type:"INITIALIZING"}),[4,this.collectAndEmitDeviceInfo()];case 1:t.sent(),this.detectWebGLVersion(),t.label=2;case 2:return t.trys.push([2,6,,7]),[4,this.initWasmModule()];case 3:return t.sent(),[4,this.initCanvasRendererWasm()];case 4:return t.sent(),[4,this.setFile(this.settings.filePath)];case 5:return t.sent(),this.settings.selectedArtboard&&this.selectArtboard(this.settings.selectedArtboard),[3,7];case 6:return e=t.sent(),[2,this.fail(e instanceof S?e:new S("ERROR","Unexpected exception initializing the web renderer",e))];case 7:return this.setInitialCameraState(),this.startRendering(),this.addListeners(),[2]}}))}))},t.prototype.setInitialCameraState=function(){var e,t,n,o=null!==this.settings.initialZoom,r=null!==this.settings.initialPan;o||r?(o&&this.setZoom(this.settings.initialZoom||1),r&&this.setPan((null===(e=this.settings.initialPan)||void 0===e?void 0:e.x)||0,(null===(t=this.settings.initialPan)||void 0===t?void 0:t.y)||0,null===(n=this.settings.initialPan)||void 0===n?void 0:n.centerPointInViewport)):this.zoomToFit()},t.prototype.startRendering=function(){var e;this.traceInitialRender=new K("InitialRender"),this.setStatus({type:"DRAWING_FILE"}),null===(e=this.pageCanvasWasm)||void 0===e||e.startRenderLoop()},t.prototype.createJSBridge=function(){var e=this;return{logDebug:function(e){$.logDebug("[C++] ".concat(e))},logWarning:function(e){$.logWarning("[C++] ".concat(e))},logError:function(e){$.logError("[C++] ".concat(e))},emitMetric:function(t,n,o,r){e.emit("metric",{id:t,start:n,end:o,duration:r})},resolveImageUrl:function(t,n){return e.settings.imagesURLMap&&e.settings.imagesURLMap[t]?e.settings.imagesURLMap[t].replace(":format",n):e.settings.imagesURLFormat?e.settings.imagesURLFormat.replace(":imageId",t).replace(":format",n):($.logWarning("Not able to resolve the url for the image with UUID: ".concat(t)),"")},resolveFragmentUrl:function(t){return e.settings.fragmentsURLMap&&e.settings.fragmentsURLMap[t]?e.settings.fragmentsURLMap[t]:e.settings.fragmentsURLFormat?e.settings.fragmentsURLFormat.replace(":fragmentId",t):($.logWarning("Not able to resolve the url for the fragment with UUID: ".concat(t)),"")},onDrawComplete:this.handleDrawComplete.bind(this),onAllImagesReady:function(){e.emit("allImagesReady")},onCameraMoveStart:function(){e.emit("cameraMoveStart")},onCameraMoveEnd:function(){e.emit("cameraMoveEnd")},onCameraZoomStart:function(){e.emit("cameraZoomStart")},onCameraZoomEnd:function(){e.emit("cameraZoomEnd")},onCameraZoomChange:function(t){e.emit("cameraZoomChange",t)},onCameraPanChange:function(){var t=e.getPan();e.emit("cameraPanChange",(null==t?void 0:t.x)||0,(null==t?void 0:t.y)||0)},onCursorChange:function(t){var n,o=null===(n=e.wasmModule)||void 0===n?void 0:n.mapToCSSCursor(t);o&&e.emit("cursorChange",o)},fetch:this.handleJSBridgeFetch.bind(this),exporterFetch:this.handleJSBridgeExporterFetch.bind(this),abortFetch:this.handleJSBridgeAbortFetch.bind(this),onLayerClick:function(t){e.emit("layerClick",t)},onLayerMouseHoverChange:function(t){e.emit("layerMouseHoverChange",t)},onSceneChange:function(){e.emit("sceneChange")},onFragmentLoad:function(t){e.emit("fragmentLoad",t)}}},t.prototype.handleJSBridgeExporterFetch=function(e,t){var n=this,o=t.clone(),r=function(t){return p(n,void 0,void 0,(function(){var n,i,a,s,u,l;return g(this,(function(c){if(!this.wasmModule)return[2];if(this.disposed)return[2];if(t.data.url!==e)return[2];switch(t.data.type){case"success":n={statusCode:200,statusText:"OK",contentType:t.data.contentType,isWebGLTexture:!1,emscriptenWebGLTextureHandle:-1,width:0,height:0,buffer:new Uint8Array(t.data.buffer)},o.exec(n);break;case"error":$.logError("Error while fetching ".concat(e),t.data.error),o.exec({buffer:new Uint8Array(0),statusCode:null!==(a=null===(i=t.data.error)||void 0===i?void 0:i.statusCode)&&void 0!==a?a:500,statusText:null!==(u=null===(s=t.data.error)||void 0===s?void 0:s.statusText)&&void 0!==u?u:"Unknown error",contentType:null!==(l=t.data.contentType)&&void 0!==l?l:"",isWebGLTexture:!1,emscriptenWebGLTextureHandle:0,width:0,height:0})}return this.exporterFetchWorker.removeEventListener("message",r),[2]}))}))};this.exporterFetchWorker.addEventListener("message",r),this.exporterFetchWorker.postMessage({type:"fetch",url:e})},t.prototype.handleJSBridgeFetch=function(e,t){var n=this,o=t.clone(),r=function(t){return p(n,void 0,void 0,(function(){var n,i,a,s,u,l,c,d,h;return g(this,(function(p){switch(p.label){case 0:if(!this.wasmModule)return[2];if(this.disposed)return[2];if(t.data.url!==e)return[2];switch(t.data.type){case"success":return[3,1];case"error":return[3,5]}return[3,6];case 1:return n={statusCode:200,statusText:"OK",contentType:t.data.contentType,isWebGLTexture:!1,emscriptenWebGLTextureHandle:-1,width:0,height:0},/image/.test(t.data.contentType)?(i=new Blob([t.data.buffer]),[4,ee(URL.createObjectURL(i))]):[3,3];case 2:return a=p.sent(),this.wasmModule?(s=this.wasmModule.createWebGLTextureFromImage(a,this.webglCtxHandle),n.buffer=new Uint8Array(0),n.isWebGLTexture=!0,n.emscriptenWebGLTextureHandle=s,n.width=a.width,n.height=a.height,[3,4]):[2];case 3:n.buffer=new Uint8Array(t.data.buffer),p.label=4;case 4:return o.exec(n),[3,7];case 5:return $.logError("Error while fetching ".concat(e),t.data.error),o.exec({buffer:new Uint8Array(0),statusCode:null!==(l=null===(u=t.data.error)||void 0===u?void 0:u.statusCode)&&void 0!==l?l:500,statusText:null!==(d=null===(c=t.data.error)||void 0===c?void 0:c.statusText)&&void 0!==d?d:"Unknown error",contentType:null!==(h=t.data.contentType)&&void 0!==h?h:"",isWebGLTexture:!1,emscriptenWebGLTextureHandle:0,width:0,height:0}),[3,7];case 6:return[3,7];case 7:return this.fetchWorker.removeEventListener("message",r),[2]}}))}))};this.fetchWorker.addEventListener("message",r),this.fetchWorker.postMessage({type:"fetch",url:e})},t.prototype.handleJSBridgeAbortFetch=function(e){this.fetchWorker.postMessage({type:"abort",url:e})},t.prototype.initWasmModule=function(){var e;return p(this,void 0,void 0,(function(){var t;return g(this,(function(n){switch(n.label){case 0:return this.disposed?[2]:(t=new K("WasmModuleDownload"),this.wasmModule=new Q({mode:this.settings.mode,locateFile:this.settings.locateFile,jsBridge:this.createJSBridge(),featureFlags:this.settings.featureFlags,webglVersion:this.webglVersion}),[4,null===(e=this.wasmModule)||void 0===e?void 0:e.init()]);case 1:return n.sent(),$.logDebug(t.printMeasurement()),this.emit("metric",t.measure()),[2]}}))}))},t.prototype.initCanvasRendererWasm=function(){return p(this,void 0,void 0,(function(){var e;return g(this,(function(t){if(this.disposed)return[2];try{if(!this.wasmModule)throw Error("WASM module not initialized");this.webglCtxHandle=this.wasmModule.makeWebGLContext(this.settings.canvas,{preserveDrawingBuffer:this.settings.preserveDrawingBuffer,majorVersion:this.webglVersion}),this.renderTarget=this.wasmModule.instance.RenderTarget.MakeWebGL(this.webglCtxHandle,this.canvasManager.size.width,this.canvasManager.size.height,this.canvasManager.pixelRatio),this.pageCanvasWasm=new this.wasmModule.instance.CanvasRendererWasm(this.renderTarget,{showTilesBorders:this.settings.showTilesBorders})}catch(e){throw new S("WASM_ERROR","An error occurred while trying to create the wasm object.",e)}if(!this.pageCanvasWasm)return[2];if(!(e=this.pageCanvasWasm.getUserEventsCollector()))throw new S("WASM_ERROR","An error occurred while trying to create the user events collector");return this.userEventsCollectorWasm=e,this.pageCanvasWasm.setShowArtboardsDecorations(this.settings.showArtboardsDecorations),this.pageCanvasWasm.setBackgroundColor(this.settings.backgroundColor.r,this.settings.backgroundColor.g,this.settings.backgroundColor.b,this.settings.backgroundColor.a),this.pageCanvasWasm.setZoomLevels(this.settings.minimumZoomLevel,this.settings.maximumZoomLevel),this.pageCanvasWasm.setPanBoundariesPadding(this.settings.panBoundariesPadding),[2]}))}))},t.prototype.setIsCameraLocked=function(e){var t;null===(t=this.pageCanvasWasm)||void 0===t||t.setIsCameraLocked(e)},t.prototype.setBackgroundColor=function(e){var t;e.r===this.settings.backgroundColor.r&&e.g===this.settings.backgroundColor.g&&e.b===this.settings.backgroundColor.b&&e.a===this.settings.backgroundColor.a||(null===(t=this.pageCanvasWasm)||void 0===t||t.setBackgroundColor(e.r,e.g,e.b,e.a),this.settings.backgroundColor=e)},t.prototype.handleDrawComplete=function(){"DRAWING_FILE"===this.status.type&&($.logDebug(this.traceInitialRender.printMeasurement()),this.emit("metric",this.traceInitialRender.measure()),$.logDebug(this.traceFirstPaint.printMeasurement()),this.emit("metric",this.traceFirstPaint.measure()),this.setStatus({type:"READY"}))},t.prototype.looseWebGLContext=function(){var e;(null===(e=this.wasmModule)||void 0===e?void 0:e.destroyWebGLContext(this.webglCtxHandle))||$.logWarning("Failed to loose WebGL context"),this.webglCtxHandle=-1},t.prototype.zoomToFit=function(){var e;null===(e=this.pageCanvasWasm)||void 0===e||e.scaleDocumentToFit()},t.prototype.setFile=function(e){return p(this,void 0,void 0,(function(){var t=this;return g(this,(function(n){return this.disposed?[2]:(this.setStatus({type:"LOADING_FILE"}),[2,new Promise((function(n,o){var r;null===(r=t.pageCanvasWasm)||void 0===r||r.setFile(e,(function(e,o,r){t.setStatus({type:"FILE_READY"});var i="".concat(e,"-v").concat("14.6.6");t.emit("fileReady",i,o,r),n()}),(function(){return o(new S("FILE_ERROR","Error encountered while fetching and parsing the file"))}))}))])}))}))},t.prototype.fail=function(e){this.setStatus({type:"FAILURE",code:e.code,message:"".concat(e.toString()).concat(e.cause?"\nWrapped Error: ".concat(e.cause.toString()):"")}),$.logError(e),e.cause&&$.logError(e.cause)},t.prototype.setStatus=function(e){"FAILURE"!==this.status.type&&($.logDebug("Status transition ".concat(this.status.type," => ").concat(e.type)),this.status=e,this.emit("status",e))},t.prototype.getPRFileCachedData=function(){var e;if(!this.pageCanvasWasm)return null;if((null===(e=this.prFileHandle)||void 0===e?void 0:e.filePath)!==this.settings.filePath){var t=this.pageCanvasWasm.getPRFile();this.prFileHandle={handle:t,filePath:this.settings.filePath,artboards:O(t.getFrames())}}return this.prFileHandle},t.prototype.getPRFile=function(){var e;return null===(e=this.getPRFileCachedData())||void 0===e?void 0:e.handle},t.prototype.releasePRFileHandle=function(){var e,t;null===(t=null===(e=this.prFileHandle)||void 0===e?void 0:e.handle)||void 0===t||t.delete(),this.prFileHandle=void 0},t.prototype.getRootNodeExtent=function(){var e,t,n;return null!==(n=null===(t=null===(e=this.getPRFile())||void 0===e?void 0:e.getRootNode())||void 0===t?void 0:t.getAbsoluteExtent())&&void 0!==n?n:null},t.prototype.getPRFileArtboards=function(){var e,t;return null!==(t=null===(e=this.getPRFileCachedData())||void 0===e?void 0:e.artboards)&&void 0!==t?t:[]},t.prototype.getArtboardAtPosition=function(e,t){if(!this.pageCanvasWasm)return null;for(var n=this.getPRFileArtboards(),o=this.pageCanvasWasm.getPan(),r=this.pageCanvasWasm.getZoom(),i=(e-o.x)/r,a=(t-o.y)/r,s=0,u=n;s<u.length;s++){var l=u[s],c=l.bounds.x+l.bounds.width,d=l.bounds.y+l.bounds.height;if(i>=l.bounds.x&&a>=l.bounds.y&&i<=c&&a<=d)return l.getNode()}return null},t.prototype.mapRelativePositionToCameraPosition=function(e,t){var n;return null===(n=this.pageCanvasWasm)||void 0===n?void 0:n.mapRelativePositionToCameraPosition(e,t)},t.prototype.getPanAtPosition=function(e,t){var n=this.getPan(),o=Math.max(this.getZoom(),Number.EPSILON),r=e/o,i=t/o;return{x:n.x-r,y:n.y-i}},t.prototype.getStatus=function(){return this.status},t.prototype.setZoom=function(e,t){var n,o=null!=t?t:this.canvasManager.getCanvasCenterPoint();null===(n=this.pageCanvasWasm)||void 0===n||n.setZoom(e,o.x,o.y)},t.prototype.getPan=function(){var e,t,n=this.getRootNodeExtent();if(!n)return{x:0,y:0};var o=null===(e=this.pageCanvasWasm)||void 0===e?void 0:e.getPan(),r=null===(t=this.pageCanvasWasm)||void 0===t?void 0:t.getZoom();return o&&r?{x:o.x/r+n.x,y:o.y/r+n.y}:{x:0,y:0}},t.prototype.getZoom=function(){var e;return(null===(e=this.pageCanvasWasm)||void 0===e?void 0:e.getZoom())||0},t.prototype.setPan=function(e,t,n){var o;void 0===n&&(n=!1);var r=this.getRootNodeExtent();if(r){var i=e,a=t,s=this.getZoom();if(n){var u=Math.max(2*s*this.canvasManager.pixelRatio,Number.EPSILON);i+=this.canvasManager.size.width/u,a+=this.canvasManager.size.height/u}var l=(i-r.x)*s,c=(a-r.y)*s;null===(o=this.pageCanvasWasm)||void 0===o||o.setPan(l,c)}},t.prototype.selectArtboard=function(e){var t;this.pageCanvasWasm&&(this.settings.selectedArtboard=e,null===(t=this.pageCanvasWasm)||void 0===t||t.selectArtboard(null!=e?e:""))},t.prototype.disposeFetchWorker=function(){this.fetchWorker.postMessage({type:"abort-all"}),this.fetchWorker.terminate()},t.prototype.exportNode=function(e,t){return p(this,void 0,void 0,(function(){var n=this;return g(this,(function(o){return[2,new Promise((function(o,r){if(n.wasmModule&&n.pageCanvasWasm){var i=t.format.toUpperCase(),a=Ee[i];if(void 0!==a){var s={format:{value:a},backingScale:t.backingScale};n.pageCanvasWasm.exportNode(e,s,(function(e,n,i,a){if(null!==e){var s=Re[t.format],u=new Blob([e.buffer],{type:s});o({blob:u,width:n,height:i,bytesPerPixel:a})}else r("Export failed")}))}else r("Unsupported export format: ".concat(t.format))}else r("Wasm module is not ready or was disposed.")}))]}))}))},t.prototype.dispose=function(){var e,t,n,o;try{this.disposeFetchWorker(),this.disposed=!0,this.detachAllListeners(),this.releasePRFileHandle(),null===(e=this.wasmModule)||void 0===e||e.destroyWebGLContext(this.webglCtxHandle),this.canvasManager.dispose(),this.gestureManager.dispose(),null===(t=this.pageCanvasWasm)||void 0===t||t.stopRenderLoop(),null===(n=this.pageCanvasWasm)||void 0===n||n.delete(),null===(o=this.renderTarget)||void 0===o||o.delete(),this.pageCanvasWasm=void 0,this.wasmModule=void 0}catch(e){this.fail(new S("ERROR","Unexpected exception while disposing the wasm object",e))}},t}(F),Se=r(void 0),Te=r(void 0),Fe=r(void 0),Ie=r(void 0),Ae=r(void 0),De=r("auto"),Ge=r(void 0),Ue=function(){var e=i(Ge);if(void 0===e)throw Error("useInternalContext must be used within a provider");return e},ke=function(e,t){switch(t.type){case"on-status":return h(h({},e),{status:t.status});case"on-zoom":return h(h({},e),{zoom:t.zoom});case"on-pan":return h(h({},e),{pan:t.pan});case"dispose":return h(h({},e),{status:{type:"DISPOSED"},zoom:null,pan:null,cursor:"auto"});case"on-camera-zoom-start":return h(h({},e),{isCameraZooming:!0});case"on-camera-zoom-end":return h(h({},e),{isCameraZooming:!1});case"on-camera-move-start":return h(h({},e),{isCameraMoving:!0});case"on-camera-move-end":return h(h({},e),{isCameraMoving:!1});case"on-cursor-change":return h(h({},e),{cursor:t.cursor});default:return e}},Be=function(n){var r=t(null),i=t(null),u=a(ke,{pan:null,zoom:null,status:{type:"IDLE"},isCameraZooming:!1,isCameraMoving:!1,cursor:"auto"}),l=u[0],c=l.status,d=l.zoom,p=l.pan,g=l.isCameraZooming,v=l.isCameraMoving,f=l.cursor,m=u[1],y=o((function(e){return m({type:"on-zoom",zoom:e})}),[]),b=o((function(e,t){return m({type:"on-pan",pan:{x:e,y:t}})}),[]),w=o((function(e){m({type:"on-status",status:e})}),[]),C=o((function(){return m({type:"on-camera-zoom-start"})}),[]),P=o((function(){return m({type:"on-camera-zoom-end"})}),[]),E=o((function(){return m({type:"on-camera-move-start"})}),[]),M=o((function(){return m({type:"on-camera-move-end"})}),[]),L=o((function(e){return m({type:"on-cursor-change",cursor:e})}),[]),x=o((function(){if(r.current){var e=r.current.getPan();m({type:"on-pan",pan:e})}}),[]),R=o((function(){var e=r.current;e&&($.logDebug("Provider dispose"),e.off("status",w),e.off("cameraZoomChange",y),e.off("cameraPanChange",b),e.off("cameraZoomStart",C),e.off("cameraZoomEnd",P),e.off("cameraMoveStart",E),e.off("cameraMoveEnd",M),e.off("cursorChange",L),e.off("sceneChange",x),e.dispose(),r.current=null,m({type:"dispose"}))}),[w,b,y,C,P,E,M,L,x]),W=o((function(e,t,n){if(""!==e&&t&&n&&i.current){$.logDebug("Provider init");var o=new We(h(h({},i.current),{filePath:e,container:n,canvas:t,manualInitialization:!0}));o.on("status",w),o.on("cameraZoomChange",y),o.on("cameraPanChange",b),o.on("cameraZoomStart",C),o.on("cameraZoomEnd",P),o.on("cameraMoveStart",E),o.on("cameraMoveEnd",M),o.on("cursorChange",L),o.on("sceneChange",x),r.current=o,o.init()}}),[w,y,b,C,P,E,M,L,x]),S=o((function(e){var t,n,o;$.logDebug("Provider setSettings"),e.backgroundColor&&(null===(t=r.current)||void 0===t||t.setBackgroundColor(e.backgroundColor)),null===(n=r.current)||void 0===n||n.gestureManager.setInvertedWheelZoom(e.invertedWheelZoom||!1),null===(o=r.current)||void 0===o||o.selectArtboard(e.selectedArtboard||null),i.current=e}),[]),T=o((function(){return r.current}),[]),F=s((function(){return{dispose:R,init:W,setSettings:S,getInstance:T,dispatch:m}}),[R,W,S,T]);return e.createElement(Ge.Provider,{value:F},e.createElement(Se.Provider,{value:c},e.createElement(Te.Provider,{value:d},e.createElement(Ae.Provider,{value:p},e.createElement(Fe.Provider,{value:g},e.createElement(Ie.Provider,{value:v},e.createElement(De.Provider,{value:f},n.children)))))))},ze=function(e,t){var n=(0,Ue().getInstance)();u((function(){return null==n||n.on(e,t),function(){null==n||n.off(e,t)}}),[e,n,t])},Ze=function(){var e=i(Se);if(void 0===e)throw Error("useStatus must be used within a provider");return e},Oe=function(){var e=i(Te);if(void 0===e)throw Error("useZoom must be used within a provider");return e},He=function(){var e=i(Ae);if(void 0===e)throw Error("usePan must be used within a provider");return e},Ne=function(){var e=i(De);if(void 0===e)throw Error("useCursor must be used within a provider");return e},_e=function(){var e=i(Fe);if(void 0===status)throw Error("useIsCameraZooming must be used within a provider");return e},je=function(){var e=i(Ie);if(void 0===status)throw Error("useIsCameraMoving must be used within a provider");return e},Ve=function(){var e=(0,Ue().getInstance)(),t=Ze();return s((function(){return e&&"READY"===t.type?e.getPRFile():null}),[e,t])},Je=function(){var e=(0,Ue().getInstance)(),t=Ze();return s((function(){return e&&"READY"===t.type?e.getPRFileArtboards():null}),[e,t])},Ke=function(){var e,t,n,o,r=Ve(),i=l(null),a=i[0],c=i[1],d=X((function(){c((function(e){var t,n,o,i=null!==(o=null===(n=null===(t=j(r))||void 0===t?void 0:t.getRootNode())||void 0===n?void 0:n.getAbsoluteExtent())&&void 0!==o?o:null;return(null==e?void 0:e.width)===(null==i?void 0:i.width)&&(null==e?void 0:e.height)===(null==i?void 0:i.height)&&(null==e?void 0:e.x)===(null==i?void 0:i.x)&&(null==e?void 0:e.y)===(null==i?void 0:i.y)?e:i}))}),16);ze("sceneChange",d),u((function(){d()}),[d]);var h=null!==(e=null==a?void 0:a.x)&&void 0!==e?e:0,p=null!==(t=null==a?void 0:a.y)&&void 0!==t?t:0,g=null!==(n=null==a?void 0:a.width)&&void 0!==n?n:0,v=null!==(o=null==a?void 0:a.height)&&void 0!==o?o:0;return s((function(){return{x:h,y:p,width:g,height:v}}),[h,p,g,v])},Ye=function(){var e=(0,Ue().getInstance)();return o((function(t){null==e||e.setZoom(t)}),[e])},$e=function(){var e=Ye(),t=Oe();return o((function(){var n;"number"==typeof t&&(n=t>=1?Math.round(2*t):t>.5?1:2*t,e(n))}),[e,t])},Xe=function(){var e=Ye(),t=Oe();return o((function(){"number"==typeof t&&e(t/2)}),[e,t])},qe=function(){var e=(0,Ue().getInstance)();return o((function(t){var n=t.x,o=t.y,r=t.centerPointInViewport;null==e||e.setPan(n,o,r)}),[e])},Qe=function(){var e=(0,Ue().getInstance)();return o((function(){null==e||e.zoomToFit()}),[e])},et=function(){var e=(0,Ue().getInstance)();return o((function(){null==e||e.looseWebGLContext()}),[e])},tt=function(){var e=(0,Ue().getInstance)();return o((function(t,n){return p(void 0,void 0,void 0,(function(){return g(this,(function(o){switch(o.label){case 0:return[4,null==e?void 0:e.getArtboardAtPosition(t,n)];case 1:return[2,o.sent()||null]}}))}))}),[e])},nt=function(){var e=(0,Ue().getInstance)();return o((function(t,n){return p(void 0,void 0,void 0,(function(){return g(this,(function(o){switch(o.label){case 0:return[4,null==e?void 0:e.getPanAtPosition(t,n)];case 1:return[2,o.sent()||null]}}))}))}),[e])},ot=function(){var e=(0,Ue().getInstance)();return o((function(t){null==e||e.setIsCameraLocked(t)}),[e])},rt=function(){var e=(0,Ue().getInstance)();return o((function(t,n){if(!e)return null;var o=e.mapRelativePositionToCameraPosition(t,n);return null!=o?o:null}),[e])},it=function(){var e=(0,Ue().getInstance)(),t=Ve();return o((function(n,o){return e&&t?e.exportNode(n,o):Promise.reject("WebRenderer instance not ready")}),[e,t])};function at(e){var n=t(e);n.current=e;var r=o((function(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];n.current.apply(n,v([e],t,!1))}),[]);u((function(){return $.on("log",r),function(){$.off("log",r)}}),[r])}var st={position:"relative",width:"100%",height:"100%",touchAction:"manipulation"},ut={position:"absolute",top:0,left:0},lt=function(n){var r=n.filePath,i=n.locateFile,a=n.imagesURLFormat,c=n.imagesURLMap,d=n.fragmentsURLFormat,p=n.fragmentsURLMap,g=n.backgroundColor,v=n.mode,f=n.showTilesBorders,m=n.minimumZoomLevel,y=n.maximumZoomLevel,b=n.preserveDrawingBuffer,w=n.panBoundariesPadding,C=n.initialPan,P=n.initialZoom,E=n.children,M=n.containerProps,L=n.canvasProps,x=n.featureFlags,R=n.selectedArtboard,W=n.showArtboardsDecorations,S=n.invertedWheelZoom,T=t(null),F=t(null),I=l(!1),A=I[0],D=I[1],G=o((function(){return D(!0)}),[]),U=Ue(),k=U.dispose,B=U.init,z=U.setSettings,Z=Ne(),O=Ze();ze("allImagesReady",G),u((function(){return $.logDebug("CanvasRenderer mounted"),function(){return $.logDebug("CanvasRenderer unmounted")}}),[]),u((function(){z({locateFile:i,imagesURLFormat:a,imagesURLMap:c,fragmentsURLFormat:d,fragmentsURLMap:p,backgroundColor:g,mode:v,showTilesBorders:f,minimumZoomLevel:m,maximumZoomLevel:y,preserveDrawingBuffer:b,panBoundariesPadding:w,initialPan:C,initialZoom:P,featureFlags:x,selectedArtboard:R,showArtboardsDecorations:W,invertedWheelZoom:S})}),[z,i,a,c,d,p,g,v,f,m,y,b,w,C,P,x,R,W,S]),u((function(){if(r)return B(r,T.current,F.current),function(){k()}}),[k,B,r]);var H=s((function(){var e;return null!==(e=n.cursor)&&void 0!==e?e:Z}),[n.cursor,Z]),N=s((function(){return h(h({},st),{cursor:H})}),[H]);return e.createElement("div",h({},M,{ref:F,style:N}),r&&e.createElement("canvas",h({},L,{key:r,ref:T,"data-sketchweb-all-images-ready":A,"data-testid":"sketchweb-canvas","data-sketchweb-status":"sketchweb-status-".concat((null==O?void 0:O.type.toLowerCase())||"null"),style:ut})),"READY"===(null==O?void 0:O.type)&&E)},ct=function(){function e(e,t,n,o){this.prototypeStructure=e,this.startArtboardUUID=t,this.canvas=n,this.container=o,this.locateFile="/{file}",this.imagesURLFormat="",this.imagesURLMap={},this.fragmentsURLFormat="",this.fragmentsURLMap={},this.backgroundColor={r:0,g:0,b:0,a:1},this.mode=R.release,this.showTilesBorders=!1,this.minimumZoomLevel=5,this.maximumZoomLevel=.01,this.preserveDrawingBuffer=!1,this.featureFlags=A,this.manualInitialization=!1,this.highlightHotspots=!0,this.resizeMode=W.Fit,this.assetsManagerLimits={maxDepthForBackgroundRequests:1,maxArtboardsForBackgroundRequests:5,maxInitialLoadingDepth:2,maxInitialArtboardToLoad:10},this.disableInteraction=!1}return e.FromSettings=function(t){return Object.assign(new e(t.prototypeStructure,t.startArtboardUUID,t.canvas,t.container),Object.fromEntries(Object.entries(t).filter((function(e){return void 0!==e[1]}))))},e}(),dt=function(e){function t(t){var n=e.call(this)||this;return n.status={type:"IDLE"},n.disposed=!1,n.handleCanvasResize=function(e,t,o){var r;null===(r=n.playerWasm)||void 0===r||r.resize(e,t,o)},n.handleWebGLContextLost=function(){n.setStatus({type:"WEBGL_CONTEXT_LOST"})},n.handlePinchToZoomEvent=function(e,t){var o;null===(o=n.userEventsCollectorWasm)||void 0===o||o.dispatchPinchToZoomEvent(e,t.x,t.y)},n.handleWheelEvent=function(e,t){var o;n.wasmModule&&n.userEventsCollectorWasm.dispatchWheelEvent(e.x,e.y,null===(o=n.wasmModule)||void 0===o?void 0:o.mapPointerInfo(t))},n.handlePointerDownEvent=function(e){var t;n.wasmModule&&n.userEventsCollectorWasm.dispatchPointerDownEvent(null===(t=n.wasmModule)||void 0===t?void 0:t.mapPointerInfo(e))},n.handlePointerMoveEvent=function(e){var t;n.wasmModule&&n.userEventsCollectorWasm.dispatchPointerMoveEvent(null===(t=n.wasmModule)||void 0===t?void 0:t.mapPointerInfo(e))},n.handleGlobalPointerMoveEvent=function(e){var t;n.wasmModule&&n.userEventsCollectorWasm.dispatchGlobalPointerMoveEvent(null===(t=n.wasmModule)||void 0===t?void 0:t.mapPointerInfo(e))},n.handlePointerUpEvent=function(e){var t;n.wasmModule&&n.userEventsCollectorWasm.dispatchPointerUpEvent(null===(t=n.wasmModule)||void 0===t?void 0:t.mapPointerInfo(e))},n.restartPrototype=function(e){var t;null===(t=n.playerWasm)||void 0===t||t.restartPrototype(e)},n.navigateToFirstFlow=function(){var e;null===(e=n.playerWasm)||void 0===e||e.navigateToFirstFlow()},n.goBack=function(){var e;null===(e=n.playerWasm)||void 0===e||e.goBack()},n.goForwards=function(){var e;null===(e=n.playerWasm)||void 0===e||e.goForwards()},n.setResizeMode=function(e){var t;if(n.wasmModule){var o=n.wasmModule.mapResizeMode(e);null===(t=n.playerWasm)||void 0===t||t.setResizeMode(o)}},n.getScreen=function(e){var t;void 0===e&&(e=!0);var o=null===(t=n.playerWasm)||void 0===t?void 0:t.getJSScreen(e);return o?{layers:O(o.layers)}:{layers:[]}},n.settings=ct.FromSettings(t),$.logDebug("PrototypeRenderer JS constructed with settings:",n.settings),n.gestureManager=new V(n.settings.container,!1,n.settings.disableInteraction),n.canvasManager=new q({container:n.settings.container,canvas:n.settings.canvas,maxPixelRatio:3}),n.fetchWorker=new Worker(n.settings.locateFile.replace("{file}","fetch-worker.js")),n.settings.manualInitialization||n.init(),n}return d(t,e),t.prototype.addListeners=function(){this.canvasManager.on("resize",this.handleCanvasResize),this.gestureManager.on("wheel",this.handleWheelEvent),this.gestureManager.on("pointerup",this.handlePointerUpEvent),this.gestureManager.on("pointermove",this.handlePointerMoveEvent),this.gestureManager.on("globalpointermove",this.handleGlobalPointerMoveEvent),this.gestureManager.on("pointerdown",this.handlePointerDownEvent),this.gestureManager.on("pinchToZoom",this.handlePinchToZoomEvent),this.settings.canvas.addEventListener("webglcontextlost",this.handleWebGLContextLost)},t.prototype.collectAndEmitDeviceInfo=function(){return p(this,void 0,void 0,(function(){var e;return g(this,(function(t){switch(t.label){case 0:return[4,x()];case 1:return e=t.sent(),this.deviceInfo=h(h({},e),{hardwareConcurrency:navigator.hardwareConcurrency}),this.emit("deviceInfo",this.deviceInfo),[2]}}))}))},t.prototype.detectWebGLVersion=function(){this.webglVersion=Z(this.deviceInfo),$.logDebug("Using WebGL ".concat(this.webglVersion))},t.prototype.init=function(){return p(this,void 0,void 0,(function(){var e;return g(this,(function(t){switch(t.label){case 0:return this.traceFirstPaint=new K("FirstPaint"),this.setStatus({type:"INITIALIZING"}),[4,this.collectAndEmitDeviceInfo()];case 1:t.sent(),this.detectWebGLVersion(),t.label=2;case 2:return t.trys.push([2,6,,7]),[4,this.initWasmModule()];case 3:return t.sent(),[4,this.initPlayerWasm()];case 4:return t.sent(),[4,this.startDownload()];case 5:return t.sent(),[3,7];case 6:return e=t.sent(),[2,this.fail(e instanceof S?e:new S("ERROR","Unexpected exception initializing the web renderer",e))];case 7:return this.startRendering(),this.addListeners(),[2]}}))}))},t.prototype.initWasmModule=function(){var e;return p(this,void 0,void 0,(function(){var t;return g(this,(function(n){switch(n.label){case 0:return this.disposed?[2]:(t=new K("WasmModuleDownload"),this.wasmModule=new Q({mode:this.settings.mode,locateFile:this.settings.locateFile,jsBridge:this.createJSBridge(),featureFlags:this.settings.featureFlags,webglVersion:this.webglVersion}),[4,null===(e=this.wasmModule)||void 0===e?void 0:e.init()]);case 1:return n.sent(),t.printMeasurement(),this.emit("metric",t.measure()),[2]}}))}))},t.prototype.startDownload=function(){var e=this;return this.setStatus({type:"LOADING_FILE"}),new Promise((function(t){var n;null===(n=e.playerWasm)||void 0===n||n.startDownload((function(){t()}))}))},t.prototype.startRendering=function(){var e;this.traceInitialRender=new K("InitialRender"),this.setStatus({type:"DRAWING_FILE"}),null===(e=this.playerWasm)||void 0===e||e.startRenderLoop()},t.prototype.createJSBridge=function(){var e=this;return{logDebug:function(e){$.logDebug("[C++] ".concat(e))},logWarning:function(e){$.logWarning("[C++] ".concat(e))},logError:function(e){$.logError("[C++] ".concat(e))},emitMetric:function(t,n,o,r){e.emit("metric",{id:t,start:n,end:o,duration:r})},resolveImageUrl:function(t,n){return e.settings.imagesURLMap&&e.settings.imagesURLMap[t]?e.settings.imagesURLMap[t].replace(":format",n):e.settings.imagesURLFormat?e.settings.imagesURLFormat.replace(":imageId",t).replace(":format",n):($.logWarning("Not able to resolve the url for the image with UUID: ".concat(t)),"")},resolveFragmentUrl:function(t){return e.settings.fragmentsURLMap&&e.settings.fragmentsURLMap[t]?e.settings.fragmentsURLMap[t]:e.settings.fragmentsURLFormat?e.settings.fragmentsURLFormat.replace(":fragmentId",t):($.logWarning("Not able to resolve the url for the fragment with UUID: ".concat(t)),"")},onDrawComplete:this.handleDrawComplete.bind(this),onAllImagesReady:function(){e.emit("allImagesReady")},onCameraMoveStart:function(){e.emit("cameraMoveStart")},onCameraMoveEnd:function(){e.emit("cameraMoveEnd")},onCameraZoomStart:function(){e.emit("cameraZoomStart")},onCameraZoomEnd:function(){e.emit("cameraZoomEnd")},onCameraZoomChange:function(t){e.emit("cameraZoomChange",t)},onCameraPanChange:function(t,n){e.emit("cameraPanChange",t,n)},onCursorChange:function(t){var n,o=null===(n=e.wasmModule)||void 0===n?void 0:n.mapToCSSCursor(t);o&&e.emit("cursorChange",o)},onPrototypeStateWillChange:function(t,n,o){e.emit("prototypeStateWillChange",{currentArtboardId:t,canGoBack:n,canGoForwards:o})},onPrototypeStateChange:function(t,n,o){e.emit("prototypeStateChange",{currentArtboardId:t,canGoBack:n,canGoForwards:o})},fetch:this.handleJSBridgeFetch.bind(this),abortFetch:this.handleJSBridgeAbortFetch.bind(this),onPrototypeUnhandledPointerUp:function(){e.emit("prototypeUnhandledPointerUp")},onSceneChange:function(){e.emit("sceneChange")}}},t.prototype.handleJSBridgeFetch=function(e,t){var n=this,o=t.clone(),r=function(t){return p(n,void 0,void 0,(function(){var n,i,a,s,u,l,c,d,h;return g(this,(function(p){switch(p.label){case 0:if(this.disposed||!this.wasmModule)return[2];if(t.data.url!==e)return[2];switch(t.data.type){case"success":return[3,1];case"error":return[3,5]}return[3,6];case 1:return n={statusCode:200,statusText:"OK",contentType:t.data.contentType,isWebGLTexture:!1,emscriptenWebGLTextureHandle:-1,width:0,height:0},/image/.test(t.data.contentType)?(i=new Blob([t.data.buffer]),[4,ee(URL.createObjectURL(i))]):[3,3];case 2:return a=p.sent(),this.wasmModule?(s=this.wasmModule.createWebGLTextureFromImage(a,this.webglCtxHandle),n.buffer=new Uint8Array(0),n.isWebGLTexture=!0,n.emscriptenWebGLTextureHandle=s,n.width=a.width,n.height=a.height,[3,4]):[2];case 3:n.buffer=new Uint8Array(t.data.buffer),p.label=4;case 4:return o.exec(n),[3,7];case 5:return $.logError("Error while fetching ".concat(e),t.data.error),o.exec({buffer:new Uint8Array(0),statusCode:null!==(l=null===(u=t.data.error)||void 0===u?void 0:u.statusCode)&&void 0!==l?l:500,statusText:null!==(d=null===(c=t.data.error)||void 0===c?void 0:c.statusText)&&void 0!==d?d:"Unknown error",contentType:null!==(h=t.data.contentType)&&void 0!==h?h:"",isWebGLTexture:!1,emscriptenWebGLTextureHandle:-1,width:0,height:0}),[3,7];case 6:return[3,7];case 7:return this.fetchWorker.removeEventListener("message",r),[2]}}))}))};this.fetchWorker.addEventListener("message",r),this.fetchWorker.postMessage({type:"fetch",url:e})},t.prototype.handleJSBridgeAbortFetch=function(e){this.fetchWorker.postMessage({type:"abort",url:e})},t.prototype.initPlayerWasm=function(){var e,t;return p(this,void 0,void 0,(function(){var n,o,r,i,a,s,u,l,c,d,p,v,f,m,y,b,w,C,P,E,M;return g(this,(function(g){try{if(!this.wasmModule)throw Error("WASM module not initialized");for(this.webglCtxHandle=this.wasmModule.makeWebGLContext(this.settings.canvas,{preserveDrawingBuffer:this.settings.preserveDrawingBuffer,majorVersion:this.webglVersion}),n=this.wasmModule.instance,o=n.RenderTarget,r=n.PrototypeRendererWasm,i=n.PrototypeStructureArtboardVector,a=n.PrototypeStructureFlowVector,s=n.PrototypeStructureAssetVector,u=n.PrototypeStructureFlowTypeEnum,this.renderTarget=o.MakeWebGL(this.webglCtxHandle,this.canvasManager.size.width,this.canvasManager.size.height,this.canvasManager.pixelRatio),l={artboards:new i},c={Overlay:u.Overlay,Screen:u.Screen},d=0,p=this.settings.prototypeStructure.artboards;d<p.length;d++){for(v=p[d],f=new a,m=0,y=null!==(e=v.flows)&&void 0!==e?e:[];m<y.length;m++)b=y[m],f.push_back(h(h({},b),{type:c[b.type]}));for(w=new s,C=0,P=null!==(t=v.assets)&&void 0!==t?t:[];C<P.length;C++)E=P[C],w.push_back(E);l.artboards.push_back(h(h({},v),{flows:f,assets:w}))}this.playerWasm=new r(this.renderTarget,{showTilesBorders:this.settings.showTilesBorders},this.settings.startArtboardUUID,l,this.settings.highlightHotspots,this.settings.assetsManagerLimits)}catch(e){throw new S("WASM_ERROR","An error occurred while trying to create the PrototypeRenderer WASM object.",e)}if(!(M=this.playerWasm.getUserEventsCollector()))throw new S("WASM_ERROR","An error occurred while trying to create the user events collector");return this.userEventsCollectorWasm=M,this.playerWasm.setBackgroundColor(this.settings.backgroundColor.r,this.settings.backgroundColor.g,this.settings.backgroundColor.b,this.settings.backgroundColor.a),this.playerWasm.setZoomLevels(this.settings.minimumZoomLevel,this.settings.maximumZoomLevel),this.setResizeMode(this.settings.resizeMode),[2]}))}))},t.prototype.setIsCameraLocked=function(e){var t;null===(t=this.playerWasm)||void 0===t||t.setIsCameraLocked(e)},t.prototype.setBackgroundColor=function(e){var t;e.r===this.settings.backgroundColor.r&&e.g===this.settings.backgroundColor.g&&e.b===this.settings.backgroundColor.b&&e.a===this.settings.backgroundColor.a||(null===(t=this.playerWasm)||void 0===t||t.setBackgroundColor(e.r,e.g,e.b,e.a),this.settings.backgroundColor=e)},t.prototype.handleDrawComplete=function(){"DRAWING_FILE"===this.status.type&&(this.traceInitialRender.printMeasurement(),this.emit("metric",this.traceInitialRender.measure()),this.traceFirstPaint.printMeasurement(),this.emit("metric",this.traceFirstPaint.measure()),this.setStatus({type:"READY"}))},t.prototype.looseWebGLContext=function(){var e;null===(e=this.wasmModule)||void 0===e||e.destroyWebGLContext(this.webglCtxHandle),this.webglCtxHandle=-1},t.prototype.fail=function(e){this.setStatus({type:"FAILURE",code:e.code,message:"".concat(e.toString()).concat(e.cause?"\nWrapped Error: ".concat(e.cause.toString()):"")}),$.logError(e),e.cause&&$.logError(e.cause)},t.prototype.setStatus=function(e){"FAILURE"!==this.status.type&&($.logDebug("Status transition ".concat(this.status.type," => ").concat(e.type)),this.status=e,this.emit("status",e))},t.prototype.getStatus=function(){return this.status},t.prototype.getArtboardAtPosition=function(e,t){var n=this.playerWasm;if(!n)return null;for(var o=n.getJSScreen(!1),r=n.getPan(),i=n.getZoom(),a=(e-r.x)/i,s=(t-r.y)/i,u=o.layers.size()-1;u>=0;u-=1){var l=o.layers.get(u);if(l&&"artboard"===l.type){var c=l.bounds.x+l.bounds.width,d=l.bounds.y+l.bounds.height;if(a>=l.bounds.x&&s>=l.bounds.y&&a<=c&&s<=d)return l.getNode()}}return null},t.prototype.disposeFetchWorker=function(){this.fetchWorker.postMessage({type:"abort-all"}),this.fetchWorker.terminate()},t.prototype.dispose=function(){var e,t,n;try{this.disposeFetchWorker(),this.detachAllListeners(),null===(e=this.wasmModule)||void 0===e||e.destroyWebGLContext(this.webglCtxHandle),this.canvasManager.dispose(),this.gestureManager.dispose(),null===(t=this.playerWasm)||void 0===t||t.stopRenderLoop(),null===(n=this.playerWasm)||void 0===n||n.delete(),this.renderTarget.delete(),this.playerWasm=void 0,this.wasmModule=void 0,this.disposed=!0}catch(e){this.fail(new S("ERROR","Unexpected exception while disposing the WebRendererWasm object",e))}},t.prototype.mapRelativePositionToCameraPosition=function(e,t){var n=this.playerWasm;return n?n.mapRelativePositionToCameraPosition(e,t):null},t.prototype.updateHighlightHotspotsSetting=function(e){var t=this.playerWasm;if(!t)return null;t.updateHighlightHotspotsSetting(e)},t}(F),ht=r(void 0),pt=r("auto"),gt=r(void 0),vt=r(void 0),ft=r(void 0),mt=r(void 0),yt=function(){var e=i(mt);if(void 0===e)throw Error("useInternalContext must be used within a provider");return e},bt=function(e,t){switch(t.type){case"on-status":return h(h({},e),{status:t.status});case"dispose":return h(h({},e),{status:{type:"DISPOSED"},cursor:"auto"});case"on-cursor-change":return h(h({},e),{cursor:t.cursor});case"on-prototype-state-will-change":return h(h({},e),{prototypeState:h(h({},e.prototypeState),{isChanging:!0})});case"on-prototype-state-change":return h(h({},e),{prototypeState:h(h(h({},e.prototypeState),t.prototypeState),{isChanging:!1})});case"on-zoom":return h(h({},e),{zoom:t.zoom});case"on-pan":return h(h({},e),{pan:{x:t.pan.x,y:t.pan.y}});default:return e}},wt=function(n){var r=t(null),i=t(null),u=a(bt,{status:{type:"IDLE"},cursor:"auto",prototypeState:{currentArtboardId:"",canGoBack:!1,canGoForwards:!1,isChanging:!1},zoom:1,pan:{x:0,y:0}}),l=u[0],c=l.status,d=l.cursor,p=l.prototypeState,g=l.zoom,v=l.pan,f=u[1],m=o((function(e){f({type:"on-status",status:e})}),[]),y=o((function(e){return f({type:"on-zoom",zoom:e})}),[]),b=o((function(e,t){return f({type:"on-pan",pan:{x:e,y:t}})}),[]),w=o((function(e){return f({type:"on-cursor-change",cursor:e})}),[]),C=o((function(){return f({type:"on-prototype-state-will-change"})}),[]),P=o((function(e){return f({type:"on-prototype-state-change",prototypeState:e})}),[]),E=o((function(){var e=r.current;e&&($.logDebug("Provider dispose"),e.off("status",m),e.off("cursorChange",w),e.off("prototypeStateWillChange",C),e.off("prototypeStateChange",P),e.off("cameraZoomChange",y),e.off("cameraPanChange",b),e.dispose(),r.current=null,f({type:"dispose"}))}),[m,w,C,P,b,y]),M=o((function(e,t){if(e&&t&&i.current){$.logDebug("Provider init");var n=new dt(h(h({},i.current),{container:t,canvas:e,manualInitialization:!0}));n.on("status",m),n.on("cursorChange",w),n.on("prototypeStateWillChange",C),n.on("prototypeStateChange",P),n.on("cameraZoomChange",y),n.on("cameraPanChange",b),r.current=n,n.init()}}),[m,w,C,P,b,y]),L=o((function(e){var t,n,o,a,s,u,l,c;$.logDebug("Provider setSettings"),e.backgroundColor&&e.backgroundColor!=(null===(t=i.current)||void 0===t?void 0:t.backgroundColor)&&(null===(n=r.current)||void 0===n||n.setBackgroundColor(e.backgroundColor)),(null===(o=i.current)||void 0===o?void 0:o.resizeMode)!=e.resizeMode&&(null===(a=r.current)||void 0===a||a.setResizeMode(e.resizeMode||W.Fit)),void 0!==e.highlightHotspots&&(null===(s=i.current)||void 0===s?void 0:s.highlightHotspots)!==e.highlightHotspots&&(null===(u=r.current)||void 0===u||u.updateHighlightHotspotsSetting(e.highlightHotspots)),e.disableInteraction!==(null===(l=i.current)||void 0===l?void 0:l.disableInteraction)&&(null===(c=r.current)||void 0===c||c.gestureManager.setDisable(e.disableInteraction||!1)),i.current=e}),[]),x=o((function(){return r.current}),[]),R=s((function(){return{dispose:E,init:M,setSettings:L,getInstance:x,dispatch:f}}),[E,M,L,x]);return e.createElement(mt.Provider,{value:R},e.createElement(ht.Provider,{value:c},e.createElement(pt.Provider,{value:d},e.createElement(gt.Provider,{value:p},e.createElement(vt.Provider,{value:g},e.createElement(ft.Provider,{value:v},n.children))))))},Ct=function(){var e=(0,yt().getInstance)();return o((function(t){null==e||e.restartPrototype(t)}),[e])},Pt=function(){var e=(0,yt().getInstance)();return o((function(){null==e||e.navigateToFirstFlow()}),[e])},Et=function(){var e=(0,yt().getInstance)();return o((function(){null==e||e.goBack()}),[e])},Mt=function(){var e=(0,yt().getInstance)();return o((function(){null==e||e.goForwards()}),[e])},Lt=function(){var e=(0,yt().getInstance)();return o((function(t,n){return p(void 0,void 0,void 0,(function(){return g(this,(function(o){return[2,null==e?void 0:e.getArtboardAtPosition(t,n)]}))}))}),[e])},xt=function(){var e=(0,yt().getInstance)();return o((function(t,n){if(!e)return null;var o=e.mapRelativePositionToCameraPosition(t,n);return null!=o?o:null}),[e])},Rt=function(){var e=i(ht);if(void 0===e)throw Error("usePrototypeStatus must be used within a provider");return e},Wt=function(){var e=i(pt);if(void 0===e)throw Error("usePrototypeCursor must be used within a provider");return e},St=function(){var e=i(gt);if(void 0===e)throw Error("usePrototypeState must be used within a provider");return e},Tt=function(){var e=i(vt);if(void 0===e)throw Error("usePrototypeZoom must be used within a provider");return e},Ft=function(){var e=i(ft);if(void 0===e)throw Error("usePrototypePan must be used within a provider");return e},It=function(e,t){var n=(0,yt().getInstance)();u((function(){return null==n||n.on(e,t),function(){null==n||n.off(e,t)}}),[e,n,t])};function At(){var e=(0,yt().getInstance)();return o((function(t){return void 0===t&&(t=!0),null==e?void 0:e.getScreen(t)}),[e])}var Dt={position:"relative",width:"100%",height:"100%",touchAction:"manipulation"},Gt={position:"absolute",top:0,left:0},Ut=function(n){var o=n.locateFile,r=n.imagesURLFormat,i=n.imagesURLMap,a=n.backgroundColor,l=n.mode,c=n.showTilesBorders,d=n.minimumZoomLevel,p=n.maximumZoomLevel,g=n.preserveDrawingBuffer,v=n.children,f=n.containerProps,m=n.canvasProps,y=n.featureFlags,b=n.startArtboardUUID,w=n.prototypeStructure,C=n.fragmentsURLFormat,P=n.fragmentsURLMap,E=n.highlightHotspots,M=n.resizeMode,L=n.assetsManagerLimits,x=n.cursor,R=n.disableInteraction,W=t(null),S=t(null),T=yt(),F=T.dispose,I=T.init,A=T.setSettings,D=Rt(),G=Wt(),U=("function"==typeof x?x(G):x)||G;u((function(){return $.logDebug("PrototypeRenderer mounted"),function(){return $.logDebug("PrototypeRenderer unmounted")}}),[]),u((function(){A({locateFile:o,imagesURLFormat:r,imagesURLMap:i,backgroundColor:a,mode:l,showTilesBorders:c,minimumZoomLevel:d,maximumZoomLevel:p,preserveDrawingBuffer:g,featureFlags:y,startArtboardUUID:b,prototypeStructure:w,fragmentsURLFormat:C,fragmentsURLMap:P,highlightHotspots:E,resizeMode:M,assetsManagerLimits:L,disableInteraction:R})}),[A,o,r,i,a,l,c,d,p,g,y,b,E,M,C,P,w,L,R]),u((function(){return I(W.current,S.current),function(){F()}}),[F,I]);var k=s((function(){return h(h({},Dt),{cursor:U})}),[U]);return e.createElement("div",h({},f,{ref:S,style:k}),e.createElement("canvas",h({},m,{ref:W,"data-testid":"prototype-canvas","data-prototype-status":"prototype-status-".concat((null==D?void 0:D.type.toLowerCase())||"null"),style:Gt})),"READY"===(null==D?void 0:D.type)&&v)},kt={position:"absolute",inset:0,pointerEvents:"none"};function Bt(t){var n=t.visualize,r=void 0!==n&&n,i=At(),a=l((function(){return i()||null})),u=a[0],c=a[1],d=o((function(){c(i()||null)}),[i]);It("sceneChange",d);var p=s((function(){return h(h({},kt),{opacity:r?1:0})}),[r]);return u?e.createElement("div",{style:p},u.layers.map((function(t,n){return e.createElement(zt,{key:"".concat(n,"/").concat(t.id),bounds:t.bounds,id:t.id,name:t.name,type:t.type})}))):null}function zt(t){var n=t.bounds,o=t.name,r=t.id,i=t.type,a=Tt(),u=Ft()||{x:0,y:0},l=u.x,c=u.y,d=s((function(){return h({position:"absolute",left:l/window.devicePixelRatio+n.x*a,top:c/window.devicePixelRatio+n.y*a,width:n.width*a,height:n.height*a,backgroundColor:"rgba(0, 255, 255, 0.2)",border:"2px dotted white"},"hotspot"===i?{cursor:"pointer",pointerEvents:"auto"}:{})}),[n.x,n.y,n.width,n.height,l,c,a,i]);return e.createElement("div",{style:d,"data-testid":"".concat(i,"-").concat(Zt(o),"-").concat(r),"data-entity-name":o,"data-entity-id":r,"data-entity-bounds-x":n.x,"data-entity-bounds-y":n.x,"data-entity-bounds-width":n.width,"data-entity-bounds-height":n.height})}function Zt(e){var t,n;return null!==(n=null===(t=e.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g))||void 0===t?void 0:t.join("-").toLowerCase())&&void 0!==n?n:""}export{Ie as CameraMoveContext,Fe as CameraZoomingContext,We as CanvasRenderer,Be as CanvasRendererProvider,lt as CanvasRendererReact,De as CursorContext,A as DefaultFeatureFlags,F as EventEmitter,V as GestureManager,J as KeyboardManager,I as ListenersCollector,Pe as PRCursorType,me as PRLayerSizingBehaviour,ce as PRMarinaBlendMode,ne as PRMarinaExportFormatType,le as PRMarinaLayerBlurType,ae as PRMarinaLayerBorderPosition,he as PRMarinaLayerCornerStyle,oe as PRMarinaLayerFillType,ie as PRMarinaLayerGradientType,ge as PRMarinaLayerHorizontalTextAlignment,re as PRMarinaLayerImageFillType,se as PRMarinaLayerLineCap,ue as PRMarinaLayerLineJoin,fe as PRMarinaLayerTextDecoration,pe as PRMarinaLayerTextTransform,de as PRMarinaLayerType,ve as PRMarinaLayerVerticalTextAlignment,te as PRMarinaVisibleScaleType,Ee as PRNodeExportFormat,we as PRStackCrossAxisAlignment,ye as PRStackDirection,be as PRStackMainAxisAlignment,Ce as PRUserPointerType,Ae as PanContext,K as Performance,dt as PrototypeRenderer,wt as PrototypeRendererProvider,Ut as PrototypeRendererReact,W as PrototypeResizeMode,Le as PrototypeResizeModeWasm,Me as PrototypeStructureFlowType,Bt as PrototypeTestOverlay,Se as StatusContext,S as WebRendererError,R as WebRendererMode,Te as ZoomContext,z as clamp,O as convertEmbindVectorToArray,k as debounce,B as extractPointer,Z as getSupportedWebGLVersion,D as getiOSVersion,T as isDefinedPresentationManifestFrame,H as isTouchDevice,$ as logger,Y as nextTick,U as parseSafariUserAgent,ke as reducer,N as removeUndefinedKeys,j as safePtrAccess,_ as touchableClick,Ne as useCursor,X as useDebounceFunction,Xe as useDecrementZoom,ze as useEvent,it as useExportNode,tt as useGetArtboardAtPosition,nt as useGetPanAtPosition,At as useGetScreen,Et as useGoBack,Mt as useGoForwards,$e as useIncrementZoom,je as useIsCameraMoving,_e as useIsCameraZooming,ot as useLockCamera,at as useLogEvent,et as useLooseWebGLContext,rt as useMapRelativePositionToCameraPosition,Pt as useNavigateToFirstFlow,Ve as usePRFile,Je as usePRFileArtboards,He as usePan,Wt as usePrototypeCursor,It as usePrototypeEvent,Lt as usePrototypeGetArtboardAtPosition,xt as usePrototypeMapRelativePositionToCameraPosition,Ft as usePrototypePan,St as usePrototypeState,Rt as usePrototypeStatus,Tt as usePrototypeZoom,Ct as useRestartPrototype,Ke as useRootNodeAbsoluteExtent,qe as useSetPan,Ye as useSetZoom,Ze as useStatus,Oe as useZoom,Qe as useZoomToFit};
1
+ import e,{useRef as t,useLayoutEffect as n,useCallback as o,createContext as r,useContext as i,useReducer as a,useMemo as s,useEffect as u,useState as l}from"react";var c=function(e,t){return c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},c(e,t)};function d(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}c(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var h=function(){return h=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},h.apply(this,arguments)};function p(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{u(o.next(e))}catch(e){i(e)}}function s(e){try{u(o.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((o=o.apply(e,t||[])).next())}))}function g(e,t){var n,o,r,i,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(n=1,o&&(r=2&s[0]?o.return:s[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,s[1])).done)return r;switch(o=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,o=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(r=a.trys,(r=r.length>0&&r[r.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){a.label=s[1];break}if(6===s[0]&&a.label<r[1]){a.label=r[1],r=s;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(s);break}r[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],o=0}finally{n=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,u])}}}function v(e,t,n){if(n||2===arguments.length)for(var o,r=0,i=t.length;r<i;r++)!o&&r in t||(o||(o=Array.prototype.slice.call(t,0,r)),o[r]=t[r]);return e.concat(o||Array.prototype.slice.call(t))}function f(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{u(o.next(e))}catch(e){i(e)}}function s(e){try{u(o.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((o=o.apply(e,t||[])).next())}))}const m=["geforce 320m","geforce 8600","geforce 8600m gt","geforce 8800 gs","geforce 8800 gt","geforce 9400","geforce 9400m g","geforce 9400m","geforce 9600m gt","geforce 9600m","geforce fx go5200","geforce gt 120","geforce gt 130","geforce gt 330m","geforce gtx 285","google swiftshader","intel g41","intel g45","intel gma 4500mhd","intel gma x3100","intel hd 3000","intel q45","legacy","mali-2","mali-3","mali-4","quadro fx 1500","quadro fx 4","quadro fx 5","radeon hd 2400","radeon hd 2600","radeon hd 4670","radeon hd 4850","radeon hd 4870","radeon hd 5670","radeon hd 5750","radeon hd 6290","radeon hd 6300","radeon hd 6310","radeon hd 6320","radeon hd 6490m","radeon hd 6630m","radeon hd 6750m","radeon hd 6770m","radeon hd 6970m","sgx 543","sgx543"];function y(e){return e.toLowerCase().replace(/.*angle ?\((.+)\)(?: on vulkan [0-9.]+)?$/i,"$1").replace(/\s(\d{1,2}gb|direct3d.+$)|\(r\)| \([^)]+\)$/g,"").replace(/(?:vulkan|opengl) \d+\.\d+(?:\.\d+)?(?: \((.*)\))?/,"$1")}const b="undefined"==typeof window,w=(()=>{if(b)return;const{userAgent:e,platform:t,maxTouchPoints:n}=window.navigator,o=/(iphone|ipod|ipad)/i.test(e),r="iPad"===t||"MacIntel"===t&&n>0&&!window.MSStream;return{isIpad:r,isMobile:/android/i.test(e)||o||r,isSafari12:/Version\/12.+Safari/.test(e)}})();class C extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}}const P=[],E=[];function M(e,t){if(e===t)return 0;const n=e;e.length>t.length&&(e=t,t=n);let o=e.length,r=t.length;for(;o>0&&e.charCodeAt(~-o)===t.charCodeAt(~-r);)o--,r--;let i,a=0;for(;a<o&&e.charCodeAt(a)===t.charCodeAt(a);)a++;if(o-=a,r-=a,0===o)return r;let s,u,l=0,c=0,d=0;for(;c<o;)E[c]=e.charCodeAt(a+c),P[c]=++c;for(;d<r;)for(i=t.charCodeAt(a+d),s=d++,l=d,c=0;c<o;c++)u=i===E[c]?s:s+1,s=P[c],l=P[c]=s>l?u>l?l+1:u:u>s?s+1:u;return l}function L(e){return null!=e}const x=({mobileTiers:e=[0,15,30,60],desktopTiers:t=[0,15,30,60],override:n={},glContext:o,failIfMajorPerformanceCaveat:r=!1,benchmarksURL:i="https://unpkg.com/detect-gpu@5.0.25/dist/benchmarks"}={})=>f(void 0,void 0,void 0,(function*(){const a={};if(b)return{tier:0,type:"SSR"};const{isIpad:s=!!(null==w?void 0:w.isIpad),isMobile:u=!!(null==w?void 0:w.isMobile),screenSize:l=window.screen,loadBenchmarks:c=(e=>f(void 0,void 0,void 0,(function*(){const t=yield fetch(`${i}/${e}`).then((e=>e.json()));if(parseInt(t.shift().split(".")[0],10)<4)throw new C("Detect GPU benchmark data is out of date. Please update to version 4x");return t})))}=n;let{renderer:d}=n;const h=(e,t,n,o,r)=>({device:r,fps:o,gpu:n,isMobile:u,tier:e,type:t});let p,g="";if(d)d=y(d),p=[d];else{const e=o||function(e,t=!1){const n={alpha:!1,antialias:!1,depth:!1,failIfMajorPerformanceCaveat:t,powerPreference:"high-performance",stencil:!1};e&&delete n.powerPreference;const o=window.document.createElement("canvas"),r=o.getContext("webgl",n)||o.getContext("experimental-webgl",n);return null!=r?r:void 0}(null==w?void 0:w.isSafari12,r);if(!e)return h(0,"WEBGL_UNSUPPORTED");const t=e.getExtension("WEBGL_debug_renderer_info");if(t&&(d=e.getParameter(t.UNMASKED_RENDERER_WEBGL)),!d)return h(1,"FALLBACK");g=d,d=y(d),p=function(e,t,n){return"apple gpu"===t?function(e,t,n){if(!n)return[t];const o=function(e){const t=e.createShader(35633),n=e.createShader(35632),o=e.createProgram();if(!(n&&t&&o))return;e.shaderSource(t,"\n precision highp float;\n attribute vec3 aPosition;\n varying float vvv;\n void main() {\n vvv = 0.31622776601683794;\n gl_Position = vec4(aPosition, 1.0);\n }\n "),e.shaderSource(n,"\n precision highp float;\n varying float vvv;\n void main() {\n vec4 enc = vec4(1.0, 255.0, 65025.0, 16581375.0) * vvv;\n enc = fract(enc);\n enc -= enc.yzww * vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n gl_FragColor = enc;\n }\n "),e.compileShader(t),e.compileShader(n),e.attachShader(o,t),e.attachShader(o,n),e.linkProgram(o),e.detachShader(o,t),e.detachShader(o,n),e.deleteShader(t),e.deleteShader(n),e.useProgram(o);const r=e.createBuffer();e.bindBuffer(34962,r),e.bufferData(34962,new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),35044);const i=e.getAttribLocation(o,"aPosition");e.vertexAttribPointer(i,3,5126,!1,0,0),e.enableVertexAttribArray(i),e.clearColor(1,1,1,1),e.clear(16384),e.viewport(0,0,1,1),e.drawArrays(4,0,3);const a=new Uint8Array(4);return e.readPixels(0,0,1,1,6408,5121,a),e.deleteProgram(o),e.deleteBuffer(r),a.join("")}(e),r="801621810",i="8016218135",a="80162181161",s=(null==w?void 0:w.isIpad)?[["a7",a,12],["a8",i,15],["a8x",i,15],["a9",i,15],["a9x",i,15],["a10",i,15],["a10x",i,15],["a12",r,15],["a12x",r,15],["a12z",r,15],["a14",r,15],["m1",r,15]]:[["a7",a,12],["a8",i,12],["a9",i,15],["a10",i,15],["a11",r,15],["a12",r,15],["a13",r,15],["a14",r,15]];let u;return"80162181255"===o?u=s.filter((([,,e])=>e>=14)):(u=s.filter((([,e])=>e===o)),u.length||(u=s)),u.map((([e])=>`apple ${e} gpu`))}(e,t,n):[t]}(e,d,u)}const v=(yield Promise.all(p.map((function(e){var t;return f(this,void 0,void 0,(function*(){const n=(e=>{const t=u?["adreno","apple","mali-t","mali","nvidia","powervr","samsung"]:["intel","apple","amd","radeon","nvidia","geforce"];for(const n of t)if(e.includes(n))return n})(e);if(!n)return;const o=`${u?"m":"d"}-${n}${s?"-ipad":""}.json`,r=a[o]=null!==(t=a[o])&&void 0!==t?t:c(o);let i;try{i=yield r}catch(n){if(n instanceof C)throw n;return}const d=function(e){var t;const n=(e=e.replace(/\([^)]+\)/,"")).match(/\d+/)||e.match(/(\W|^)([A-Za-z]{1,3})(\W|$)/g);return null!==(t=null==n?void 0:n.join("").replace(/\W|amd/g,""))&&void 0!==t?t:""}(e);let h=i.filter((([,e])=>e===d));h.length||(h=i.filter((([t])=>t.includes(e))));const p=h.length;if(0===p)return;const g=e.split(/[.,()\[\]/\s]/g).sort().filter(((e,t,n)=>0===t||e!==n[t-1])).join(" ");let v,[f,,,,m]=p>1?h.map((e=>[e,M(g,e[2])])).sort((([,e],[,t])=>e-t))[0][0]:h[0],y=Number.MAX_VALUE;const{devicePixelRatio:b}=window,w=l.width*b*l.height*b;for(const e of m){const[t,n]=e,o=t*n,r=Math.abs(w-o);r<y&&(y=r,v=e)}if(!v)return;const[,,P,E]=v;return[y,P,f,E]}))})))).filter(L).sort((([e=Number.MAX_VALUE,t],[n=Number.MAX_VALUE,o])=>e===n?t-o:e-n));if(!v.length){const e=m.find((e=>d.includes(e)));return e?h(0,"BLOCKLISTED",e):h(1,"FALLBACK",`${d} (${g})`)}const[,P,E,x]=v[0];if(-1===P)return h(0,"BLOCKLISTED",E,P,x);const R=u?e:t;let W=0;for(let e=0;e<R.length;e++)P>=R[e]&&(W=e);return h(W,"BENCHMARK",E,P,x)}));var R,W,S=function(e){function t(n,o,r){var i=this.constructor,a=e.call(this,"(".concat(n,") ").concat(o))||this;return a.code=n,a.cause=r,a.name=t.name,Object.setPrototypeOf(a,i.prototype),a}return d(t,e),t}(Error);function T(e){return void 0!==e}!function(e){e.debug="debug",e.release="release"}(R||(R={})),function(e){e.Fit="Fit",e.FillWidth="FillWidth",e.ActualSize="ActualSize"}(W||(W={}));var F=function(){function e(){this.listeners={}}return e.prototype.on=function(e,t){var n,o;this.listeners[e]=null!==(n=this.listeners[e])&&void 0!==n?n:new Set,null===(o=this.listeners[e])||void 0===o||o.add(t)},e.prototype.off=function(e,t){var n;null===(n=this.listeners[e])||void 0===n||n.delete(t)},e.prototype.forwardEvent=function(e,t){this.on(t,(function(){for(var n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];e.emit.apply(e,v([t],n,!1))}))},e.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var o=this.listeners[e];(null==o?void 0:o.size)&&o.forEach((function(e){Promise.resolve().then((function(){e.apply(void 0,t)}))}))},e.prototype.detachAllListeners=function(){this.listeners={}},e}(),I=function(){function e(e){void 0===e&&(e=!1),this.removeListenerCallbacks=[],this.disabled=e}return e.prototype.add=function(e,t,n,o){var r=this,i=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];r.disabled||n.apply(void 0,e)};e.addEventListener(t,i,o);var a=function(){e.removeEventListener(t,i,o)};return this.removeListenerCallbacks.push(a),a},e.prototype.dispose=function(){this.removeListenerCallbacks.forEach((function(e){return e()}))},e.prototype.setDisabled=function(e){this.disabled=e},e}(),A={delayedDraw:!0,offscreenCanvas:!1,useDirtyRectsRendering:!0,safariWebGL2:!1,pageBoundariesLimit:!1,canvasLayersEvents:!1},D=function(e){return parseFloat((""+(/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(e)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))||!1},G=/(iPhone|Macintosh|iPad)(.*)(Version)\/(0|[1-9]\d*)\.(0|[1-9]\d*)\.?(0|[1-9]\d*)?/,U=function(e){if(void 0===e&&(e=window.navigator.userAgent),e.includes("Chrome/")||e.includes("Chromium/")||e.includes("Opera/")||e.includes("Firefox/"))return null;var t=e.match(G);if(!t)return null;var n=t[1];return"Macintosh"!==n&&"iPad"!==n&&"iPhone"!==n?null:{hardware:n,version:{major:parseInt(t[4])||0,minor:parseInt(t[5])||0,patch:parseInt(t[6])||0}}};function k(e,t){var n;function o(){for(var o=[],r=0;r<arguments.length;r++)o[r]=arguments[r];clearTimeout(n),n=setTimeout((function(){e.apply(void 0,o)}),t)}return o.cancel=function(){n&&clearTimeout(n)},o}function B(e){var t,n,o,r,i,a=null!==(n=null===(t=e.touches)||void 0===t?void 0:t[0])&&void 0!==n?n:null===(o=e.changedTouches)||void 0===o?void 0:o[0];return{x:null!==(r=null==a?void 0:a.clientX)&&void 0!==r?r:e.clientX,y:null!==(i=null==a?void 0:a.clientY)&&void 0!==i?i:e.clientY}}function z(e,t,n){return Math.max(t,Math.min(n,e))}function Z(e){return Boolean(window.chrome)&&e.gpu&&/amd\sradeon\s(pro|rx)\s5\d\d\d/gi.test(e.gpu)||U()&&!A.safariWebGL2?1:"undefined"!=typeof WebGL2RenderingContext?2:1}function O(e){if(!e)return[];for(var t=[],n=0;n<e.size();n++)t.push(e.get(n));return t}function H(){return"ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0}function N(e){var t=h({},e);return Object.keys(t).forEach((function(e){void 0===t[e]&&delete t[e]})),t}function _(e){return H()?{onTouchEnd:e}:{onClick:e}}var j=function(e){return 0===(null==e?void 0:e.$$.count.value)?null:e},V=function(e){function t(t,n,o){void 0===n&&(n=!1),void 0===o&&(o=!1);var r=e.call(this)||this;return r.state={pinchToZoomLastDistance:0,lastGestureScale:1,isCtrlPressed:!1},r.handleGestureStart=function(e){e.preventDefault(),r.state.lastGestureScale=e.scale},r.handleGestureChange=function(e){e.preventDefault();var t=e.scale/r.state.lastGestureScale;r.state.lastGestureScale=e.scale;var n=r.getCorrectPointerPosition(e);r.emitZoomEvent(t,n)},r.handleGestureEnd=function(e){e.preventDefault()},r.updateMousePosition=function(e){r.emit("pointermove",{type:"mouse",position:r.getCorrectPointerPosition(e),button:e.button,touchesCount:0})},r.updateGlobalMousePosition=function(e){r.emit("globalpointermove",{type:"mouse",position:r.getCorrectPointerPosition(e),button:e.button,touchesCount:0})},r.handleTouchStart=function(e){e.preventDefault(),r.handleTouchPinchToZoomStart(e),r.emit("pointerdown",{type:"touch",position:r.getCorrectPointerPosition(e),button:0,touchesCount:e.touches.length})},r.handleMouseDown=function(e){e.ctrlKey||(e.preventDefault(),r.emit("pointerdown",{type:"mouse",position:r.getCorrectPointerPosition(e),button:e.button,touchesCount:0}))},r.handleTouchMove=function(e){r.handleTouchPinchToZoomChange(e),r.emit("pointermove",{type:"touch",position:r.getCorrectPointerPosition(e),button:0,touchesCount:e.touches.length})},r.handleMouseMove=function(e){r.updateMousePosition(e)},r.handleGlobalTouchMove=function(e){r.emit("globalpointermove",{type:"touch",position:r.getCorrectPointerPosition(e),button:0,touchesCount:e.touches.length})},r.handleGlobalMouseMove=function(e){r.updateGlobalMousePosition(e)},r.handleTouchPinchToZoomStart=function(e){var t;!e.touches||(null===(t=e.touches)||void 0===t?void 0:t.length)<2||(r.state.pinchToZoomLastDistance=r.calculateDistanceBetweenTouches(e.touches[0],e.touches[1]))},r.handleTouchPinchToZoomChange=function(e){var t;if(e.touches&&!((null===(t=e.touches)||void 0===t?void 0:t.length)<2)){var n=r.calculateDistanceBetweenTouches(e.touches[0],e.touches[1]),o=r.getCorrectPointerPosition(e),i=1+.004*(n-r.state.pinchToZoomLastDistance);r.state.pinchToZoomLastDistance=n,r.emitZoomEvent(i,o)}},r.handleTouchEnd=function(e){var t=r.getCorrectPointerPosition(e);r.emit("pointerup",{position:t,type:"touch",button:0,touchesCount:e.touches.length})},r.handleMouseUp=function(e){r.emit("pointerup",{type:"mouse",position:r.getCorrectPointerPosition(e),button:e.button,touchesCount:0})},r.debouncedUpdateMousePosition=k(r.updateMousePosition,40),r.debouncedUpdateGlobalMousePosition=k(r.updateGlobalMousePosition,40),r.handleMouseWheel=function(e){e.preventDefault();var t=e.ctrlKey&&!r.state.isCtrlPressed,n=e.metaKey||t||r.state.isCtrlPressed;if(r.debouncedUpdateMousePosition(e),r.debouncedUpdateGlobalMousePosition(e),n){var o=t||r.invertedWheelZoom?-1:1,i=r.getCorrectPointerPosition(e),a=1+.005*e.deltaY*o;r.emitZoomEvent(a,i)}else r.emit("wheel",{x:-e.deltaX,y:-e.deltaY},{type:"mouse",position:r.getCorrectPointerPosition(e),button:e.button,touchesCount:0})},r.target=t,r.invertedWheelZoom=n,r.targetBounds=t.getBoundingClientRect(),r.listenersCollector=new I(o),r.addListeners(),r.targetResizeObserver=new ResizeObserver(r.updateTargetBounds.bind(r)),r.targetResizeObserver.observe(r.target),r}return d(t,e),t.prototype.updateTargetBounds=function(){this.targetBounds=this.target.getBoundingClientRect()},t.prototype.addListeners=function(){this.addTouchEventListeners(),this.addMouseEventListeners(),this.addKeyboardEventListeners(),this.addSafariGesturesEventListeners()},t.prototype.addKeyboardEventListeners=function(){var e=this;this.listenersCollector.add(document,"keydown",(function(t){"Control"===t.key&&(e.state.isCtrlPressed=!0)})),this.listenersCollector.add(document,"keyup",(function(t){"Control"===t.key&&(e.state.isCtrlPressed=!1)})),this.listenersCollector.add(document,"contextmenu",(function(t){t.ctrlKey&&(e.state.isCtrlPressed=!1)}))},t.prototype.addMouseEventListeners=function(){this.listenersCollector.add(this.target,"mousedown",this.handleMouseDown),this.listenersCollector.add(this.target,"mousemove",this.handleMouseMove),this.listenersCollector.add(document,"mousemove",this.handleGlobalMouseMove),this.listenersCollector.add(document,"mouseup",this.handleMouseUp),this.listenersCollector.add(this.target,"wheel",this.handleMouseWheel)},t.prototype.addTouchEventListeners=function(){this.listenersCollector.add(this.target,"touchstart",this.handleTouchStart),this.listenersCollector.add(document,"touchmove",this.handleGlobalTouchMove,{passive:!0,capture:!0}),this.listenersCollector.add(this.target,"touchmove",this.handleTouchMove,{passive:!0,capture:!0}),this.listenersCollector.add(document,"touchcancel",this.handleTouchEnd),this.listenersCollector.add(document,"touchend",this.handleTouchEnd)},t.prototype.addSafariGesturesEventListeners=function(){H()||(this.listenersCollector.add(this.target,"gesturestart",this.handleGestureStart,{capture:!0}),this.listenersCollector.add(this.target,"gesturechange",this.handleGestureChange,{capture:!0}),this.listenersCollector.add(this.target,"gestureend",this.handleGestureEnd,{capture:!0}))},t.prototype.clampPointerToTargetBounds=function(e){return{x:e.x-this.targetBounds.x,y:e.y-this.targetBounds.y}},t.prototype.getCorrectPointerPosition=function(e){var t,n={x:0,y:0};if((null===(t=e.touches)||void 0===t?void 0:t.length)>1){var o=e,r=o.touches[0],i=o.touches[1];n={x:(r.clientX+i.clientX)/2,y:(r.clientY+i.clientY)/2}}else n=B(e);return this.clampPointerToTargetBounds(n)},t.prototype.calculateDistanceBetweenTouches=function(e,t){return Math.hypot(e.clientX-t.clientX,e.clientY-t.clientY)},t.prototype.emitZoomEvent=function(e,t){this.emit("pinchToZoom",e,t)},t.prototype.dispose=function(){this.listenersCollector.dispose(),this.targetResizeObserver.disconnect()},t.prototype.setDisable=function(e){this.listenersCollector.setDisabled(e)},t.prototype.setInvertedWheelZoom=function(e){this.invertedWheelZoom=e},t}(F),J=function(e){function t(t){var n=e.call(this)||this;return n.listenersCollector=new I,n.handleKeyUp=function(e){n.emit("keyUp",e.code)},n.target=t,n.addListeners(),n}return d(t,e),t.prototype.addListeners=function(){this.listenersCollector.add(this.target,"keyup",this.handleKeyUp)},t.prototype.dispose=function(){this.listenersCollector.dispose()},t}(F),K=function(){function e(e){this.label=e,this.startTime=performance.now(),this.startTimestamp=Date.now()}return e.prototype.measure=function(){return{duration:performance.now()-this.startTime,end:Date.now(),start:this.startTimestamp,id:this.label}},e.prototype.printMeasurement=function(){var e=this.measure().duration;if(e<1e3){var t=e.toFixed(2);return"[Performance] ".concat(this.label," -> ").concat(t," ms")}var n=(e/1e3).toFixed(2);return"[Performance] ".concat(this.label," -> ").concat(n," s")},e}();function Y(e){setTimeout((function(){e()}),0)}var $=new(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return d(t,e),t.prototype.logDebug=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.emit.apply(this,v(["log","debug"],e,!1))},t.prototype.logWarning=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.emit.apply(this,v(["log","warn"],e,!1))},t.prototype.logError=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.emit.apply(this,v(["log","error"],e,!1))},t}(F)),X=function(e,r){var i=t(e);i.current=e;var a=t((function(){}));return n((function(){var e=k((function(){i.current()}),r);return a.current=e,function(){e.cancel()}}),[r]),o((function(){return a.current()}),[])},q=function(e){function t(t){var n,o=this;return(o=e.call(this)||this).listenersCollector=new I,o.size={width:0,height:0},o.pixelRatio=1,o.maxPixelRatio=2,o.handleCanvasResizeObserver=function(e){o.resizeCanvas(e[0].contentRect)},o.resizeCanvas=function(e){var t=e.width,n=e.height;window.requestAnimationFrame((function(){o.setSize(t,n),o.emit("resize",t,n,o.getDevicePixelRatio())}))},o.getCanvasCenterPoint=function(){var e=o.getBoundingClientRect();return{x:e.width/2+e.x,y:e.height/2+e.y}},o.container=t.container,o.canvas=t.canvas,o.maxPixelRatio=null!==(n=t.maxPixelRatio)&&void 0!==n?n:o.maxPixelRatio,o.canvasResizeObserver=new ResizeObserver(o.handleCanvasResizeObserver),o.canvasResizeObserver.observe(o.container),o.listenersCollector.add(window,"orientationchange",o.handleDeviceOrientationChange),o.setSize(o.container.clientWidth,o.container.clientHeight),o}return d(t,e),t.prototype.setSize=function(e,t){this.pixelRatio=this.getDevicePixelRatio(),this.canvas.style.width="".concat(e,"px"),this.canvas.style.height="".concat(t,"px"),this.size.width=e*this.pixelRatio,this.size.height=t*this.pixelRatio,this.canvas.width=this.size.width,this.canvas.height=this.size.height},t.prototype.handleDeviceOrientationChange=function(){this.resizeCanvas({width:this.container.clientWidth,height:this.container.clientHeight})},t.prototype.getDevicePixelRatio=function(){return z(window.devicePixelRatio,1,this.maxPixelRatio)},t.prototype.getBoundingClientRect=function(){return this.canvas.getBoundingClientRect()},t.prototype.dispose=function(){this.detachAllListeners(),this.canvasResizeObserver.disconnect(),this.listenersCollector.dispose()},t}(F),Q=function(){function e(e){this.settings=e}return e.prototype.isReleaseMode=function(){return this.settings.mode===R.release},e.prototype.init=function(){return p(this,void 0,void 0,(function(){var e,t,n,o,r,i=this;return g(this,(function(a){switch(a.label){case 0:return[4,this.importModule()];case 1:e=a.sent(),t=e.default,a.label=2;case 2:return a.trys.push([2,4,,5]),n=this,[4,t({FeatureFlags:this.settings.featureFlags,currentWebGLVersion:this.settings.webglVersion,bridge:this.settings.jsBridge,locateFile:function(e){return i.settings.locateFile.replace("{file}",e)}})];case 3:return n.instance=a.sent(),[3,5];case 4:throw o=a.sent(),new S("WASM_ERROR","An error occurred while trying to create the wasm module.",o);case 5:return this.pointerTypeToWASMMap={unset:this.instance.PRUserPointerTypeEnum.Unset,mouse:this.instance.PRUserPointerTypeEnum.Mouse,touch:this.instance.PRUserPointerTypeEnum.Touch},this.prCursorTypeToCSSCursorMap=((r={})[this.instance.PRCursorTypeEnum.Auto.value]="auto",r[this.instance.PRCursorTypeEnum.Default.value]="default",r[this.instance.PRCursorTypeEnum.Pointer.value]="pointer",r[this.instance.PRCursorTypeEnum.Grab.value]="grab",r[this.instance.PRCursorTypeEnum.Grabbing.value]="grabbing",r),this.prototypeResizeModeToWASMMap={Fit:this.instance.PrototypeResizeModeWasmEnum.Fit,FillWidth:this.instance.PrototypeResizeModeWasmEnum.FillWidth,ActualSize:this.instance.PrototypeResizeModeWasmEnum.ActualSize},[2]}}))}))},e.prototype.makeWebGLContext=function(e,t){var n;void 0===t&&(t={});var o=h({antialias:!1,alpha:!1,stencil:!1,depth:!1,powerPreference:"high-performance",preserveDrawingBuffer:!1,desynchronized:!0},t),r=this.instance.GL.createContext(e,o);if(!r)throw new S("WEBGL_ERROR","Unable to create WebGL context. WebGL might be unsupported, disabled, or this device is not able to run WebGL correctly.");var i=null===(n=this.instance.GL.getContext(r))||void 0===n?void 0:n.GLctx;return i&&i.getExtension("WEBGL_debug_renderer_info"),r},e.prototype.createWebGLTextureFromImage=function(e,t){var n=this.instance.GL,o=n.getContext(t);if(!o)throw new Error("Unable to retrieve emscripten WebGL context from handle");var r=o.GLctx;if(!r)throw new Error("WebGL context is null");var i=r.createTexture();r.bindTexture(r.TEXTURE_2D,i),r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0);var a=n.getNewId(n.textures);return n.textures[a]=i,r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,e),r.bindTexture(r.TEXTURE_2D,null),a},e.prototype.destroyWebGLContext=function(e){var t;$.logDebug("Destroying WebGL context");var n=null===(t=this.instance)||void 0===t?void 0:t.GL.getContext(e);if(n){this.instance.GL.deleteContext(e);var o=n.GLctx.getExtension("WEBGL_lose_context");if(o)return o.loseContext(),$.logDebug("WebGL destroyed"),!0;$.logError("WEBGL_lose_context not available. Not possible to destroy WebGL context manually.")}else $.logError("WebGL context not found while trying to destroy it")},e.prototype.importModule=function(){return this.isReleaseMode()?import("./web-renderer-release-c868ca9b.js"):import("./web-renderer-debug-60dcc9c3.js")},e.prototype.mapToCSSCursor=function(e){return this.prCursorTypeToCSSCursorMap[e.value]},e.prototype.mapToPRPointerType=function(e){var t;return null!==(t=this.pointerTypeToWASMMap[e])&&void 0!==t?t:this.instance.PRUserPointerTypeEnum.Unset},e.prototype.mapPointerInfo=function(e){return h(h({},e),{type:this.mapToPRPointerType(e.type)})},e.prototype.mapResizeMode=function(e){return this.prototypeResizeModeToWASMMap[e]},e}();function ee(e){return new Promise((function(t,n){var o=new Image;o.onload=function(){t(o)},o.onerror=function(e){n(e)},o.src=e}))}var te,ne,oe,re,ie,ae,se,ue,le,ce,de,he,pe,ge,ve,fe,me,ye,be,we,Ce,Pe,Ee,Me,Le,xe=function(){function e(e,t,n){this.canvas=e,this.container=t,this.filePath=n,this.locateFile="/{file}",this.imagesURLFormat="",this.imagesURLMap={},this.fragmentsURLFormat="",this.fragmentsURLMap={},this.backgroundColor={r:1,g:1,b:1,a:1},this.mode=R.release,this.showTilesBorders=!1,this.minimumZoomLevel=5,this.maximumZoomLevel=.01,this.preserveDrawingBuffer=!1,this.featureFlags=A,this.manualInitialization=!1,this.panBoundariesPadding=0,this.selectedArtboard=null,this.initialZoom=null,this.initialPan=null,this.showArtboardsDecorations=!0,this.invertedWheelZoom=!1}return e.FromSettings=function(t){return Object.assign(new e(t.canvas,t.container,t.filePath),Object.fromEntries(Object.entries(t).filter((function(e){return void 0!==e[1]}))))},e}(),Re={png:"image/png",jpg:"image/jpeg",webp:"image/webp",svg:"image/svg+xml",pdf:"application/pdf",raster:"binary/octet-stream"};!function(e){e[e.None=0]="None",e[e.Scale=1]="Scale",e[e.Width=2]="Width",e[e.Height=3]="Height"}(te||(te={})),function(e){e[e.None=0]="None",e[e.PNG=1]="PNG",e[e.JPG=2]="JPG",e[e.TIFF=3]="TIFF",e[e.WEBP=4]="WEBP",e[e.PDF=5]="PDF",e[e.EPS=6]="EPS",e[e.SVG=7]="SVG",e[e.HEIC=8]="HEIC"}(ne||(ne={})),function(e){e[e.Color=0]="Color",e[e.Gradient=1]="Gradient",e[e.Pattern=2]="Pattern"}(oe||(oe={})),function(e){e[e.Fit=0]="Fit",e[e.Fill=1]="Fill",e[e.Stretch=2]="Stretch",e[e.Tile=3]="Tile"}(re||(re={})),function(e){e[e.Linear=0]="Linear",e[e.Radial=1]="Radial",e[e.Angular=2]="Angular"}(ie||(ie={})),function(e){e[e.Center=0]="Center",e[e.Inside=1]="Inside",e[e.Outside=2]="Outside"}(ae||(ae={})),function(e){e[e.Butt=0]="Butt",e[e.Round=1]="Round",e[e.Square=2]="Square"}(se||(se={})),function(e){e[e.Miter=0]="Miter",e[e.Round=1]="Round",e[e.Bevel=2]="Bevel"}(ue||(ue={})),function(e){e[e.Motion=0]="Motion",e[e.Zoom=1]="Zoom",e[e.Background=2]="Background",e[e.Gaussian=3]="Gaussian"}(le||(le={})),function(e){e[e.Normal=0]="Normal",e[e.DestAtop=1]="DestAtop",e[e.Clear=2]="Clear",e[e.Source=3]="Source",e[e.Darken=4]="Darken",e[e.Multiply=5]="Multiply",e[e.ColorBurn=6]="ColorBurn",e[e.Lighten=7]="Lighten",e[e.Screen=8]="Screen",e[e.ColorDodge=9]="ColorDodge",e[e.Overlay=10]="Overlay",e[e.SoftLight=11]="SoftLight",e[e.HardLight=12]="HardLight",e[e.Difference=13]="Difference",e[e.Exclusion=14]="Exclusion",e[e.Hue=15]="Hue",e[e.Saturation=16]="Saturation",e[e.Color=17]="Color",e[e.Luminosity=18]="Luminosity",e[e.PlusLighter=19]="PlusLighter",e[e.PlusDarker=20]="PlusDarker"}(ce||(ce={})),function(e){e[e.Artboard=0]="Artboard",e[e.SymbolMaster=1]="SymbolMaster",e[e.SymbolInstance=2]="SymbolInstance",e[e.Hotspot=3]="Hotspot",e[e.Bitmap=4]="Bitmap",e[e.Group=5]="Group",e[e.Oval=6]="Oval",e[e.Polygon=7]="Polygon",e[e.Rectangle=8]="Rectangle",e[e.ShapeGroup=9]="ShapeGroup",e[e.ShapePath=10]="ShapePath",e[e.Star=11]="Star",e[e.Text=12]="Text",e[e.Triangle=13]="Triangle",e[e.Slice=14]="Slice"}(de||(de={})),function(e){e[e.Angled=2]="Angled",e[e.InsideArc=4]="InsideArc",e[e.InsideSquare=3]="InsideSquare",e[e.Rounded=0]="Rounded",e[e.Smooth=1]="Smooth"}(he||(he={})),function(e){e[e.Lowercase=2]="Lowercase",e[e.None=0]="None",e[e.Uppercase=1]="Uppercase"}(pe||(pe={})),function(e){e[e.Center=1]="Center",e[e.Justified=3]="Justified",e[e.Left=0]="Left",e[e.Right=2]="Right"}(ge||(ge={})),function(e){e[e.Top=0]="Top",e[e.Middle=1]="Middle",e[e.Bottom=2]="Bottom"}(ve||(ve={})),function(e){e[e.LineThrough=2]="LineThrough",e[e.Underline=1]="Underline",e[e.None=0]="None"}(fe||(fe={})),function(e){e[e.Fixed=0]="Fixed",e[e.Fill=1]="Fill",e[e.Fit=2]="Fit",e[e.Relative=3]="Relative"}(me||(me={})),function(e){e[e.Horizontal=0]="Horizontal",e[e.Vertical=1]="Vertical"}(ye||(ye={})),function(e){e[e.Start=0]="Start",e[e.Center=1]="Center",e[e.End=2]="End",e[e.SpaceBetween=3]="SpaceBetween",e[e.SpaceAround=4]="SpaceAround",e[e.SpaceEvenly=5]="SpaceEvenly"}(be||(be={})),function(e){e[e.None=0]="None",e[e.Start=1]="Start",e[e.Center=2]="Center",e[e.End=3]="End",e[e.Stretch=4]="Stretch"}(we||(we={})),function(e){e[e.Unset=0]="Unset",e[e.Mouse=1]="Mouse",e[e.Touch=2]="Touch"}(Ce||(Ce={})),function(e){e[e.Auto=0]="Auto",e[e.Default=1]="Default",e[e.Pointer=2]="Pointer",e[e.Grab=3]="Grab",e[e.Grabbing=4]="Grabbing"}(Pe||(Pe={})),function(e){e[e.PNG=0]="PNG",e[e.JPG=1]="JPG",e[e.WEBP=2]="WEBP",e[e.PDF=4]="PDF",e[e.SVG=3]="SVG",e[e.RASTER=5]="RASTER"}(Ee||(Ee={})),function(e){e[e.Screen=0]="Screen",e[e.Overlay=1]="Overlay"}(Me||(Me={})),function(e){e[e.Fit=0]="Fit",e[e.FillWidth=1]="FillWidth",e[e.ActualSize=2]="ActualSize"}(Le||(Le={}));var We=function(e){function t(t){var n=e.call(this)||this;return n.status={type:"IDLE"},n.disposed=!1,n.handleCanvasResize=function(e,t,o){var r;null===(r=n.pageCanvasWasm)||void 0===r||r.resize(e,t,o)},n.handleWebGLContextLost=function(){n.setStatus({type:"WEBGL_CONTEXT_LOST"})},n.handlePinchToZoomEvent=function(e,t){var o;null===(o=n.userEventsCollectorWasm)||void 0===o||o.dispatchPinchToZoomEvent(e,t.x,t.y)},n.handleWheelEvent=function(e,t){var o;n.wasmModule&&(null===(o=n.userEventsCollectorWasm)||void 0===o||o.dispatchWheelEvent(e.x,e.y,n.wasmModule.mapPointerInfo(t)))},n.handlePointerDownEvent=function(e){var t;n.wasmModule&&(null===(t=n.userEventsCollectorWasm)||void 0===t||t.dispatchPointerDownEvent(n.wasmModule.mapPointerInfo(e)))},n.handlePointerMoveEvent=function(e){var t;n.wasmModule&&(null===(t=n.userEventsCollectorWasm)||void 0===t||t.dispatchPointerMoveEvent(n.wasmModule.mapPointerInfo(e)))},n.handleGlobalPointerMoveEvent=function(e){var t;n.wasmModule&&(null===(t=n.userEventsCollectorWasm)||void 0===t||t.dispatchGlobalPointerMoveEvent(n.wasmModule.mapPointerInfo(e)))},n.handlePointerUpEvent=function(e){var t;n.wasmModule&&(null===(t=n.userEventsCollectorWasm)||void 0===t||t.dispatchPointerUpEvent(n.wasmModule.mapPointerInfo(e)))},n.settings=xe.FromSettings(t),$.logDebug("CanvasRenderer JS constructed with settings:",n.settings),n.gestureManager=new V(n.settings.container,n.settings.invertedWheelZoom),n.canvasManager=new q({container:n.settings.container,canvas:n.settings.canvas}),n.fetchWorker=new Worker(n.settings.locateFile.replace("{file}","fetch-worker.js")),n.exporterFetchWorker=new Worker(n.settings.locateFile.replace("{file}","fetch-worker.js")),n.settings.manualInitialization||n.init(),n}return d(t,e),t.prototype.addListeners=function(){this.canvasManager.on("resize",this.handleCanvasResize),this.gestureManager.on("wheel",this.handleWheelEvent),this.gestureManager.on("pointerup",this.handlePointerUpEvent),this.gestureManager.on("pointermove",this.handlePointerMoveEvent),this.gestureManager.on("globalpointermove",this.handleGlobalPointerMoveEvent),this.gestureManager.on("pointerdown",this.handlePointerDownEvent),this.gestureManager.on("pinchToZoom",this.handlePinchToZoomEvent),this.settings.canvas.addEventListener("webglcontextlost",this.handleWebGLContextLost)},t.prototype.collectAndEmitDeviceInfo=function(){return p(this,void 0,void 0,(function(){var e;return g(this,(function(t){switch(t.label){case 0:return[4,x()];case 1:return e=t.sent(),this.deviceInfo=h(h({},e),{hardwareConcurrency:navigator.hardwareConcurrency}),this.emit("deviceInfo",this.deviceInfo),[2]}}))}))},t.prototype.detectWebGLVersion=function(){this.webglVersion=Z(this.deviceInfo),$.logDebug("Using WebGL ".concat(this.webglVersion))},t.prototype.init=function(){return p(this,void 0,void 0,(function(){var e;return g(this,(function(t){switch(t.label){case 0:return this.traceFirstPaint=new K("FirstPaint"),this.setStatus({type:"INITIALIZING"}),[4,this.collectAndEmitDeviceInfo()];case 1:t.sent(),this.detectWebGLVersion(),t.label=2;case 2:return t.trys.push([2,6,,7]),[4,this.initWasmModule()];case 3:return t.sent(),[4,this.initCanvasRendererWasm()];case 4:return t.sent(),[4,this.setFile(this.settings.filePath)];case 5:return t.sent(),this.settings.selectedArtboard&&this.selectArtboard(this.settings.selectedArtboard),[3,7];case 6:return e=t.sent(),[2,this.fail(e instanceof S?e:new S("ERROR","Unexpected exception initializing the web renderer",e))];case 7:return this.setInitialCameraState(),this.startRendering(),this.addListeners(),[2]}}))}))},t.prototype.setInitialCameraState=function(){var e,t,n,o=null!==this.settings.initialZoom,r=null!==this.settings.initialPan;o||r?(o&&this.setZoom(this.settings.initialZoom||1),r&&this.setPan((null===(e=this.settings.initialPan)||void 0===e?void 0:e.x)||0,(null===(t=this.settings.initialPan)||void 0===t?void 0:t.y)||0,null===(n=this.settings.initialPan)||void 0===n?void 0:n.centerPointInViewport)):this.zoomToFit()},t.prototype.startRendering=function(){var e;this.traceInitialRender=new K("InitialRender"),this.setStatus({type:"DRAWING_FILE"}),null===(e=this.pageCanvasWasm)||void 0===e||e.startRenderLoop()},t.prototype.createJSBridge=function(){var e=this;return{logDebug:function(e){$.logDebug("[C++] ".concat(e))},logWarning:function(e){$.logWarning("[C++] ".concat(e))},logError:function(e){$.logError("[C++] ".concat(e))},emitMetric:function(t,n,o,r){e.emit("metric",{id:t,start:n,end:o,duration:r})},resolveImageUrl:function(t,n){return e.settings.imagesURLMap&&e.settings.imagesURLMap[t]?e.settings.imagesURLMap[t].replace(":format",n):e.settings.imagesURLFormat?e.settings.imagesURLFormat.replace(":imageId",t).replace(":format",n):($.logWarning("Not able to resolve the url for the image with UUID: ".concat(t)),"")},resolveFragmentUrl:function(t){return e.settings.fragmentsURLMap&&e.settings.fragmentsURLMap[t]?e.settings.fragmentsURLMap[t]:e.settings.fragmentsURLFormat?e.settings.fragmentsURLFormat.replace(":fragmentId",t):($.logWarning("Not able to resolve the url for the fragment with UUID: ".concat(t)),"")},onDrawComplete:this.handleDrawComplete.bind(this),onAllImagesReady:function(){e.emit("allImagesReady")},onCameraMoveStart:function(){e.emit("cameraMoveStart")},onCameraMoveEnd:function(){e.emit("cameraMoveEnd")},onCameraZoomStart:function(){e.emit("cameraZoomStart")},onCameraZoomEnd:function(){e.emit("cameraZoomEnd")},onCameraZoomChange:function(t){e.emit("cameraZoomChange",t)},onCameraPanChange:function(){var t=e.getPan();e.emit("cameraPanChange",(null==t?void 0:t.x)||0,(null==t?void 0:t.y)||0)},onCursorChange:function(t){var n,o=null===(n=e.wasmModule)||void 0===n?void 0:n.mapToCSSCursor(t);o&&e.emit("cursorChange",o)},fetch:this.handleJSBridgeFetch.bind(this),exporterFetch:this.handleJSBridgeExporterFetch.bind(this),abortFetch:this.handleJSBridgeAbortFetch.bind(this),onLayerClick:function(t){e.emit("layerClick",t)},onLayerMouseHoverChange:function(t){e.emit("layerMouseHoverChange",t)},onSceneChange:function(){e.emit("sceneChange")},onFragmentLoad:function(t){e.emit("fragmentLoad",t)}}},t.prototype.handleJSBridgeExporterFetch=function(e,t){var n=this,o=t.clone(),r=function(t){return p(n,void 0,void 0,(function(){var n,i,a,s,u,l;return g(this,(function(c){if(!this.wasmModule)return[2];if(this.disposed)return[2];if(t.data.url!==e)return[2];switch(t.data.type){case"success":n={statusCode:200,statusText:"OK",contentType:t.data.contentType,isWebGLTexture:!1,emscriptenWebGLTextureHandle:-1,width:0,height:0,buffer:new Uint8Array(t.data.buffer)},o.exec(n);break;case"error":$.logError("Error while fetching ".concat(e),t.data.error),o.exec({buffer:new Uint8Array(0),statusCode:null!==(a=null===(i=t.data.error)||void 0===i?void 0:i.statusCode)&&void 0!==a?a:500,statusText:null!==(u=null===(s=t.data.error)||void 0===s?void 0:s.statusText)&&void 0!==u?u:"Unknown error",contentType:null!==(l=t.data.contentType)&&void 0!==l?l:"",isWebGLTexture:!1,emscriptenWebGLTextureHandle:0,width:0,height:0})}return this.exporterFetchWorker.removeEventListener("message",r),[2]}))}))};this.exporterFetchWorker.addEventListener("message",r),this.exporterFetchWorker.postMessage({type:"fetch",url:e})},t.prototype.handleJSBridgeFetch=function(e,t){var n=this,o=t.clone(),r=function(t){return p(n,void 0,void 0,(function(){var n,i,a,s,u,l,c,d,h;return g(this,(function(p){switch(p.label){case 0:if(!this.wasmModule)return[2];if(this.disposed)return[2];if(t.data.url!==e)return[2];switch(t.data.type){case"success":return[3,1];case"error":return[3,5]}return[3,6];case 1:return n={statusCode:200,statusText:"OK",contentType:t.data.contentType,isWebGLTexture:!1,emscriptenWebGLTextureHandle:-1,width:0,height:0},/image/.test(t.data.contentType)?(i=new Blob([t.data.buffer]),[4,ee(URL.createObjectURL(i))]):[3,3];case 2:return a=p.sent(),this.wasmModule?(s=this.wasmModule.createWebGLTextureFromImage(a,this.webglCtxHandle),n.buffer=new Uint8Array(0),n.isWebGLTexture=!0,n.emscriptenWebGLTextureHandle=s,n.width=a.width,n.height=a.height,[3,4]):[2];case 3:n.buffer=new Uint8Array(t.data.buffer),p.label=4;case 4:return o.exec(n),[3,7];case 5:return $.logError("Error while fetching ".concat(e),t.data.error),o.exec({buffer:new Uint8Array(0),statusCode:null!==(l=null===(u=t.data.error)||void 0===u?void 0:u.statusCode)&&void 0!==l?l:500,statusText:null!==(d=null===(c=t.data.error)||void 0===c?void 0:c.statusText)&&void 0!==d?d:"Unknown error",contentType:null!==(h=t.data.contentType)&&void 0!==h?h:"",isWebGLTexture:!1,emscriptenWebGLTextureHandle:0,width:0,height:0}),[3,7];case 6:return[3,7];case 7:return this.fetchWorker.removeEventListener("message",r),[2]}}))}))};this.fetchWorker.addEventListener("message",r),this.fetchWorker.postMessage({type:"fetch",url:e})},t.prototype.handleJSBridgeAbortFetch=function(e){this.fetchWorker.postMessage({type:"abort",url:e})},t.prototype.initWasmModule=function(){var e;return p(this,void 0,void 0,(function(){var t;return g(this,(function(n){switch(n.label){case 0:return this.disposed?[2]:(t=new K("WasmModuleDownload"),this.wasmModule=new Q({mode:this.settings.mode,locateFile:this.settings.locateFile,jsBridge:this.createJSBridge(),featureFlags:this.settings.featureFlags,webglVersion:this.webglVersion}),[4,null===(e=this.wasmModule)||void 0===e?void 0:e.init()]);case 1:return n.sent(),$.logDebug(t.printMeasurement()),this.emit("metric",t.measure()),[2]}}))}))},t.prototype.initCanvasRendererWasm=function(){return p(this,void 0,void 0,(function(){var e;return g(this,(function(t){if(this.disposed)return[2];try{if(!this.wasmModule)throw Error("WASM module not initialized");this.webglCtxHandle=this.wasmModule.makeWebGLContext(this.settings.canvas,{preserveDrawingBuffer:this.settings.preserveDrawingBuffer,majorVersion:this.webglVersion}),this.renderTarget=this.wasmModule.instance.RenderTarget.MakeWebGL(this.webglCtxHandle,this.canvasManager.size.width,this.canvasManager.size.height,this.canvasManager.pixelRatio),this.pageCanvasWasm=new this.wasmModule.instance.CanvasRendererWasm(this.renderTarget,{showTilesBorders:this.settings.showTilesBorders})}catch(e){throw new S("WASM_ERROR","An error occurred while trying to create the wasm object.",e)}if(!this.pageCanvasWasm)return[2];if(!(e=this.pageCanvasWasm.getUserEventsCollector()))throw new S("WASM_ERROR","An error occurred while trying to create the user events collector");return this.userEventsCollectorWasm=e,this.pageCanvasWasm.setShowArtboardsDecorations(this.settings.showArtboardsDecorations),this.pageCanvasWasm.setBackgroundColor(this.settings.backgroundColor.r,this.settings.backgroundColor.g,this.settings.backgroundColor.b,this.settings.backgroundColor.a),this.pageCanvasWasm.setZoomLevels(this.settings.minimumZoomLevel,this.settings.maximumZoomLevel),this.pageCanvasWasm.setPanBoundariesPadding(this.settings.panBoundariesPadding),[2]}))}))},t.prototype.setIsCameraLocked=function(e){var t;null===(t=this.pageCanvasWasm)||void 0===t||t.setIsCameraLocked(e)},t.prototype.setBackgroundColor=function(e){var t;e.r===this.settings.backgroundColor.r&&e.g===this.settings.backgroundColor.g&&e.b===this.settings.backgroundColor.b&&e.a===this.settings.backgroundColor.a||(null===(t=this.pageCanvasWasm)||void 0===t||t.setBackgroundColor(e.r,e.g,e.b,e.a),this.settings.backgroundColor=e)},t.prototype.handleDrawComplete=function(){"DRAWING_FILE"===this.status.type&&($.logDebug(this.traceInitialRender.printMeasurement()),this.emit("metric",this.traceInitialRender.measure()),$.logDebug(this.traceFirstPaint.printMeasurement()),this.emit("metric",this.traceFirstPaint.measure()),this.setStatus({type:"READY"}))},t.prototype.looseWebGLContext=function(){var e;(null===(e=this.wasmModule)||void 0===e?void 0:e.destroyWebGLContext(this.webglCtxHandle))||$.logWarning("Failed to loose WebGL context"),this.webglCtxHandle=-1},t.prototype.zoomToFit=function(){var e;null===(e=this.pageCanvasWasm)||void 0===e||e.scaleDocumentToFit()},t.prototype.setFile=function(e){return p(this,void 0,void 0,(function(){var t=this;return g(this,(function(n){return this.disposed?[2]:(this.setStatus({type:"LOADING_FILE"}),[2,new Promise((function(n,o){var r;null===(r=t.pageCanvasWasm)||void 0===r||r.setFile(e,(function(e,o,r){t.setStatus({type:"FILE_READY"});var i="".concat(e,"-v").concat("14.6.8");t.emit("fileReady",i,o,r),n()}),(function(){return o(new S("FILE_ERROR","Error encountered while fetching and parsing the file"))}))}))])}))}))},t.prototype.fail=function(e){this.setStatus({type:"FAILURE",code:e.code,message:"".concat(e.toString()).concat(e.cause?"\nWrapped Error: ".concat(e.cause.toString()):"")}),$.logError(e),e.cause&&$.logError(e.cause)},t.prototype.setStatus=function(e){"FAILURE"!==this.status.type&&($.logDebug("Status transition ".concat(this.status.type," => ").concat(e.type)),this.status=e,this.emit("status",e))},t.prototype.getPRFileCachedData=function(){var e;if(!this.pageCanvasWasm)return null;if((null===(e=this.prFileHandle)||void 0===e?void 0:e.filePath)!==this.settings.filePath){var t=this.pageCanvasWasm.getPRFile();this.prFileHandle={handle:t,filePath:this.settings.filePath,artboards:O(t.getFrames())}}return this.prFileHandle},t.prototype.getPRFile=function(){var e;return null===(e=this.getPRFileCachedData())||void 0===e?void 0:e.handle},t.prototype.releasePRFileHandle=function(){var e,t;null===(t=null===(e=this.prFileHandle)||void 0===e?void 0:e.handle)||void 0===t||t.delete(),this.prFileHandle=void 0},t.prototype.getRootNodeExtent=function(){var e,t,n;return null!==(n=null===(t=null===(e=this.getPRFile())||void 0===e?void 0:e.getRootNode())||void 0===t?void 0:t.getAbsoluteExtent())&&void 0!==n?n:null},t.prototype.getPRFileArtboards=function(){var e,t;return null!==(t=null===(e=this.getPRFileCachedData())||void 0===e?void 0:e.artboards)&&void 0!==t?t:[]},t.prototype.getArtboardAtPosition=function(e,t){if(!this.pageCanvasWasm)return null;for(var n=this.getPRFileArtboards(),o=this.pageCanvasWasm.getPan(),r=this.pageCanvasWasm.getZoom(),i=(e-o.x)/r,a=(t-o.y)/r,s=0,u=n;s<u.length;s++){var l=u[s],c=l.bounds.x+l.bounds.width,d=l.bounds.y+l.bounds.height;if(i>=l.bounds.x&&a>=l.bounds.y&&i<=c&&a<=d)return l.getNode()}return null},t.prototype.mapRelativePositionToCameraPosition=function(e,t){var n;return null===(n=this.pageCanvasWasm)||void 0===n?void 0:n.mapRelativePositionToCameraPosition(e,t)},t.prototype.getPanAtPosition=function(e,t){var n=this.getPan(),o=Math.max(this.getZoom(),Number.EPSILON),r=e/o,i=t/o;return{x:n.x-r,y:n.y-i}},t.prototype.getStatus=function(){return this.status},t.prototype.setZoom=function(e,t){var n,o=null!=t?t:this.canvasManager.getCanvasCenterPoint();null===(n=this.pageCanvasWasm)||void 0===n||n.setZoom(e,o.x,o.y)},t.prototype.getPan=function(){var e,t,n=this.getRootNodeExtent();if(!n)return{x:0,y:0};var o=null===(e=this.pageCanvasWasm)||void 0===e?void 0:e.getPan(),r=null===(t=this.pageCanvasWasm)||void 0===t?void 0:t.getZoom();return o&&r?{x:o.x/r+n.x,y:o.y/r+n.y}:{x:0,y:0}},t.prototype.getZoom=function(){var e;return(null===(e=this.pageCanvasWasm)||void 0===e?void 0:e.getZoom())||0},t.prototype.setPan=function(e,t,n){var o;void 0===n&&(n=!1);var r=this.getRootNodeExtent();if(r){var i=e,a=t,s=this.getZoom();if(n){var u=Math.max(2*s*this.canvasManager.pixelRatio,Number.EPSILON);i+=this.canvasManager.size.width/u,a+=this.canvasManager.size.height/u}var l=(i-r.x)*s,c=(a-r.y)*s;null===(o=this.pageCanvasWasm)||void 0===o||o.setPan(l,c)}},t.prototype.selectArtboard=function(e){var t;this.pageCanvasWasm&&(this.settings.selectedArtboard=e,null===(t=this.pageCanvasWasm)||void 0===t||t.selectArtboard(null!=e?e:""))},t.prototype.disposeFetchWorker=function(){this.fetchWorker.postMessage({type:"abort-all"}),this.fetchWorker.terminate()},t.prototype.exportNode=function(e,t){return p(this,void 0,void 0,(function(){var n=this;return g(this,(function(o){return[2,new Promise((function(o,r){if(n.wasmModule&&n.pageCanvasWasm){var i=t.format.toUpperCase(),a=Ee[i];if(void 0!==a){var s={format:{value:a},backingScale:t.backingScale};n.pageCanvasWasm.exportNode(e,s,(function(e,n,i,a){if(null!==e){var s=Re[t.format],u=new Blob([e.buffer],{type:s});o({blob:u,width:n,height:i,bytesPerPixel:a})}else r("Export failed")}))}else r("Unsupported export format: ".concat(t.format))}else r("Wasm module is not ready or was disposed.")}))]}))}))},t.prototype.dispose=function(){var e,t,n,o;try{this.disposeFetchWorker(),this.disposed=!0,this.detachAllListeners(),this.releasePRFileHandle(),null===(e=this.wasmModule)||void 0===e||e.destroyWebGLContext(this.webglCtxHandle),this.canvasManager.dispose(),this.gestureManager.dispose(),null===(t=this.pageCanvasWasm)||void 0===t||t.stopRenderLoop(),null===(n=this.pageCanvasWasm)||void 0===n||n.delete(),null===(o=this.renderTarget)||void 0===o||o.delete(),this.pageCanvasWasm=void 0,this.wasmModule=void 0}catch(e){this.fail(new S("ERROR","Unexpected exception while disposing the wasm object",e))}},t}(F),Se=r(void 0),Te=r(void 0),Fe=r(void 0),Ie=r(void 0),Ae=r(void 0),De=r("auto"),Ge=r(void 0),Ue=function(){var e=i(Ge);if(void 0===e)throw Error("useInternalContext must be used within a provider");return e},ke=function(e,t){switch(t.type){case"on-status":return h(h({},e),{status:t.status});case"on-zoom":return h(h({},e),{zoom:t.zoom});case"on-pan":return h(h({},e),{pan:t.pan});case"dispose":return h(h({},e),{status:{type:"DISPOSED"},zoom:null,pan:null,cursor:"auto"});case"on-camera-zoom-start":return h(h({},e),{isCameraZooming:!0});case"on-camera-zoom-end":return h(h({},e),{isCameraZooming:!1});case"on-camera-move-start":return h(h({},e),{isCameraMoving:!0});case"on-camera-move-end":return h(h({},e),{isCameraMoving:!1});case"on-cursor-change":return h(h({},e),{cursor:t.cursor});default:return e}},Be=function(n){var r=t(null),i=t(null),u=a(ke,{pan:null,zoom:null,status:{type:"IDLE"},isCameraZooming:!1,isCameraMoving:!1,cursor:"auto"}),l=u[0],c=l.status,d=l.zoom,p=l.pan,g=l.isCameraZooming,v=l.isCameraMoving,f=l.cursor,m=u[1],y=o((function(e){return m({type:"on-zoom",zoom:e})}),[]),b=o((function(e,t){return m({type:"on-pan",pan:{x:e,y:t}})}),[]),w=o((function(e){m({type:"on-status",status:e})}),[]),C=o((function(){return m({type:"on-camera-zoom-start"})}),[]),P=o((function(){return m({type:"on-camera-zoom-end"})}),[]),E=o((function(){return m({type:"on-camera-move-start"})}),[]),M=o((function(){return m({type:"on-camera-move-end"})}),[]),L=o((function(e){return m({type:"on-cursor-change",cursor:e})}),[]),x=o((function(){if(r.current){var e=r.current.getPan();m({type:"on-pan",pan:e})}}),[]),R=o((function(){var e=r.current;e&&($.logDebug("Provider dispose"),e.off("status",w),e.off("cameraZoomChange",y),e.off("cameraPanChange",b),e.off("cameraZoomStart",C),e.off("cameraZoomEnd",P),e.off("cameraMoveStart",E),e.off("cameraMoveEnd",M),e.off("cursorChange",L),e.off("sceneChange",x),e.dispose(),r.current=null,m({type:"dispose"}))}),[w,b,y,C,P,E,M,L,x]),W=o((function(e,t,n){if(""!==e&&t&&n&&i.current){$.logDebug("Provider init");var o=new We(h(h({},i.current),{filePath:e,container:n,canvas:t,manualInitialization:!0}));o.on("status",w),o.on("cameraZoomChange",y),o.on("cameraPanChange",b),o.on("cameraZoomStart",C),o.on("cameraZoomEnd",P),o.on("cameraMoveStart",E),o.on("cameraMoveEnd",M),o.on("cursorChange",L),o.on("sceneChange",x),r.current=o,o.init()}}),[w,y,b,C,P,E,M,L,x]),S=o((function(e){var t,n,o;$.logDebug("Provider setSettings"),e.backgroundColor&&(null===(t=r.current)||void 0===t||t.setBackgroundColor(e.backgroundColor)),null===(n=r.current)||void 0===n||n.gestureManager.setInvertedWheelZoom(e.invertedWheelZoom||!1),null===(o=r.current)||void 0===o||o.selectArtboard(e.selectedArtboard||null),i.current=e}),[]),T=o((function(){return r.current}),[]),F=s((function(){return{dispose:R,init:W,setSettings:S,getInstance:T,dispatch:m}}),[R,W,S,T]);return e.createElement(Ge.Provider,{value:F},e.createElement(Se.Provider,{value:c},e.createElement(Te.Provider,{value:d},e.createElement(Ae.Provider,{value:p},e.createElement(Fe.Provider,{value:g},e.createElement(Ie.Provider,{value:v},e.createElement(De.Provider,{value:f},n.children)))))))},ze=function(e,t){var n=(0,Ue().getInstance)();u((function(){return null==n||n.on(e,t),function(){null==n||n.off(e,t)}}),[e,n,t])},Ze=function(){var e=i(Se);if(void 0===e)throw Error("useStatus must be used within a provider");return e},Oe=function(){var e=i(Te);if(void 0===e)throw Error("useZoom must be used within a provider");return e},He=function(){var e=i(Ae);if(void 0===e)throw Error("usePan must be used within a provider");return e},Ne=function(){var e=i(De);if(void 0===e)throw Error("useCursor must be used within a provider");return e},_e=function(){var e=i(Fe);if(void 0===status)throw Error("useIsCameraZooming must be used within a provider");return e},je=function(){var e=i(Ie);if(void 0===status)throw Error("useIsCameraMoving must be used within a provider");return e},Ve=function(){var e=(0,Ue().getInstance)(),t=Ze();return s((function(){return e&&"READY"===t.type?e.getPRFile():null}),[e,t])},Je=function(){var e=(0,Ue().getInstance)(),t=Ze();return s((function(){return e&&"READY"===t.type?e.getPRFileArtboards():null}),[e,t])},Ke=function(){var e,t,n,o,r=Ve(),i=l(null),a=i[0],c=i[1],d=X((function(){c((function(e){var t,n,o,i=null!==(o=null===(n=null===(t=j(r))||void 0===t?void 0:t.getRootNode())||void 0===n?void 0:n.getAbsoluteExtent())&&void 0!==o?o:null;return(null==e?void 0:e.width)===(null==i?void 0:i.width)&&(null==e?void 0:e.height)===(null==i?void 0:i.height)&&(null==e?void 0:e.x)===(null==i?void 0:i.x)&&(null==e?void 0:e.y)===(null==i?void 0:i.y)?e:i}))}),16);ze("sceneChange",d),u((function(){d()}),[d]);var h=null!==(e=null==a?void 0:a.x)&&void 0!==e?e:0,p=null!==(t=null==a?void 0:a.y)&&void 0!==t?t:0,g=null!==(n=null==a?void 0:a.width)&&void 0!==n?n:0,v=null!==(o=null==a?void 0:a.height)&&void 0!==o?o:0;return s((function(){return{x:h,y:p,width:g,height:v}}),[h,p,g,v])},Ye=function(){var e=(0,Ue().getInstance)();return o((function(t){null==e||e.setZoom(t)}),[e])},$e=function(){var e=Ye(),t=Oe();return o((function(){var n;"number"==typeof t&&(n=t>=1?Math.round(2*t):t>.5?1:2*t,e(n))}),[e,t])},Xe=function(){var e=Ye(),t=Oe();return o((function(){"number"==typeof t&&e(t/2)}),[e,t])},qe=function(){var e=(0,Ue().getInstance)();return o((function(t){var n=t.x,o=t.y,r=t.centerPointInViewport;null==e||e.setPan(n,o,r)}),[e])},Qe=function(){var e=(0,Ue().getInstance)();return o((function(){null==e||e.zoomToFit()}),[e])},et=function(){var e=(0,Ue().getInstance)();return o((function(){null==e||e.looseWebGLContext()}),[e])},tt=function(){var e=(0,Ue().getInstance)();return o((function(t,n){return p(void 0,void 0,void 0,(function(){return g(this,(function(o){switch(o.label){case 0:return[4,null==e?void 0:e.getArtboardAtPosition(t,n)];case 1:return[2,o.sent()||null]}}))}))}),[e])},nt=function(){var e=(0,Ue().getInstance)();return o((function(t,n){return p(void 0,void 0,void 0,(function(){return g(this,(function(o){switch(o.label){case 0:return[4,null==e?void 0:e.getPanAtPosition(t,n)];case 1:return[2,o.sent()||null]}}))}))}),[e])},ot=function(){var e=(0,Ue().getInstance)();return o((function(t){null==e||e.setIsCameraLocked(t)}),[e])},rt=function(){var e=(0,Ue().getInstance)();return o((function(t,n){if(!e)return null;var o=e.mapRelativePositionToCameraPosition(t,n);return null!=o?o:null}),[e])},it=function(){var e=(0,Ue().getInstance)(),t=Ve();return o((function(n,o){return e&&t?e.exportNode(n,o):Promise.reject("WebRenderer instance not ready")}),[e,t])};function at(e){var n=t(e);n.current=e;var r=o((function(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];n.current.apply(n,v([e],t,!1))}),[]);u((function(){return $.on("log",r),function(){$.off("log",r)}}),[r])}var st={position:"relative",width:"100%",height:"100%",touchAction:"manipulation"},ut={position:"absolute",top:0,left:0},lt=function(n){var r=n.filePath,i=n.locateFile,a=n.imagesURLFormat,c=n.imagesURLMap,d=n.fragmentsURLFormat,p=n.fragmentsURLMap,g=n.backgroundColor,v=n.mode,f=n.showTilesBorders,m=n.minimumZoomLevel,y=n.maximumZoomLevel,b=n.preserveDrawingBuffer,w=n.panBoundariesPadding,C=n.initialPan,P=n.initialZoom,E=n.children,M=n.containerProps,L=n.canvasProps,x=n.featureFlags,R=n.selectedArtboard,W=n.showArtboardsDecorations,S=n.invertedWheelZoom,T=t(null),F=t(null),I=l(!1),A=I[0],D=I[1],G=o((function(){return D(!0)}),[]),U=Ue(),k=U.dispose,B=U.init,z=U.setSettings,Z=Ne(),O=Ze();ze("allImagesReady",G),u((function(){return $.logDebug("CanvasRenderer mounted"),function(){return $.logDebug("CanvasRenderer unmounted")}}),[]),u((function(){z({locateFile:i,imagesURLFormat:a,imagesURLMap:c,fragmentsURLFormat:d,fragmentsURLMap:p,backgroundColor:g,mode:v,showTilesBorders:f,minimumZoomLevel:m,maximumZoomLevel:y,preserveDrawingBuffer:b,panBoundariesPadding:w,initialPan:C,initialZoom:P,featureFlags:x,selectedArtboard:R,showArtboardsDecorations:W,invertedWheelZoom:S})}),[z,i,a,c,d,p,g,v,f,m,y,b,w,C,P,x,R,W,S]),u((function(){if(r)return B(r,T.current,F.current),function(){k()}}),[k,B,r]);var H=s((function(){var e;return null!==(e=n.cursor)&&void 0!==e?e:Z}),[n.cursor,Z]),N=s((function(){return h(h({},st),{cursor:H})}),[H]);return e.createElement("div",h({},M,{ref:F,style:N}),r&&e.createElement("canvas",h({},L,{key:r,ref:T,"data-sketchweb-all-images-ready":A,"data-testid":"sketchweb-canvas","data-sketchweb-status":"sketchweb-status-".concat((null==O?void 0:O.type.toLowerCase())||"null"),style:ut})),"READY"===(null==O?void 0:O.type)&&E)},ct=function(){function e(e,t,n,o){this.prototypeStructure=e,this.startArtboardUUID=t,this.canvas=n,this.container=o,this.locateFile="/{file}",this.imagesURLFormat="",this.imagesURLMap={},this.fragmentsURLFormat="",this.fragmentsURLMap={},this.backgroundColor={r:0,g:0,b:0,a:1},this.mode=R.release,this.showTilesBorders=!1,this.minimumZoomLevel=5,this.maximumZoomLevel=.01,this.preserveDrawingBuffer=!1,this.featureFlags=A,this.manualInitialization=!1,this.highlightHotspots=!0,this.resizeMode=W.Fit,this.assetsManagerLimits={maxDepthForBackgroundRequests:1,maxArtboardsForBackgroundRequests:5,maxInitialLoadingDepth:2,maxInitialArtboardToLoad:10},this.disableInteraction=!1}return e.FromSettings=function(t){return Object.assign(new e(t.prototypeStructure,t.startArtboardUUID,t.canvas,t.container),Object.fromEntries(Object.entries(t).filter((function(e){return void 0!==e[1]}))))},e}(),dt=function(e){function t(t){var n=e.call(this)||this;return n.status={type:"IDLE"},n.disposed=!1,n.handleCanvasResize=function(e,t,o){var r;null===(r=n.playerWasm)||void 0===r||r.resize(e,t,o)},n.handleWebGLContextLost=function(){n.setStatus({type:"WEBGL_CONTEXT_LOST"})},n.handlePinchToZoomEvent=function(e,t){var o;null===(o=n.userEventsCollectorWasm)||void 0===o||o.dispatchPinchToZoomEvent(e,t.x,t.y)},n.handleWheelEvent=function(e,t){var o;n.wasmModule&&n.userEventsCollectorWasm.dispatchWheelEvent(e.x,e.y,null===(o=n.wasmModule)||void 0===o?void 0:o.mapPointerInfo(t))},n.handlePointerDownEvent=function(e){var t;n.wasmModule&&n.userEventsCollectorWasm.dispatchPointerDownEvent(null===(t=n.wasmModule)||void 0===t?void 0:t.mapPointerInfo(e))},n.handlePointerMoveEvent=function(e){var t;n.wasmModule&&n.userEventsCollectorWasm.dispatchPointerMoveEvent(null===(t=n.wasmModule)||void 0===t?void 0:t.mapPointerInfo(e))},n.handleGlobalPointerMoveEvent=function(e){var t;n.wasmModule&&n.userEventsCollectorWasm.dispatchGlobalPointerMoveEvent(null===(t=n.wasmModule)||void 0===t?void 0:t.mapPointerInfo(e))},n.handlePointerUpEvent=function(e){var t;n.wasmModule&&n.userEventsCollectorWasm.dispatchPointerUpEvent(null===(t=n.wasmModule)||void 0===t?void 0:t.mapPointerInfo(e))},n.restartPrototype=function(e){var t;null===(t=n.playerWasm)||void 0===t||t.restartPrototype(e)},n.navigateToFirstFlow=function(){var e;null===(e=n.playerWasm)||void 0===e||e.navigateToFirstFlow()},n.goBack=function(){var e;null===(e=n.playerWasm)||void 0===e||e.goBack()},n.goForwards=function(){var e;null===(e=n.playerWasm)||void 0===e||e.goForwards()},n.setResizeMode=function(e){var t;if(n.wasmModule){var o=n.wasmModule.mapResizeMode(e);null===(t=n.playerWasm)||void 0===t||t.setResizeMode(o)}},n.getScreen=function(e){var t;void 0===e&&(e=!0);var o=null===(t=n.playerWasm)||void 0===t?void 0:t.getJSScreen(e);return o?{layers:O(o.layers)}:{layers:[]}},n.settings=ct.FromSettings(t),$.logDebug("PrototypeRenderer JS constructed with settings:",n.settings),n.gestureManager=new V(n.settings.container,!1,n.settings.disableInteraction),n.canvasManager=new q({container:n.settings.container,canvas:n.settings.canvas,maxPixelRatio:3}),n.fetchWorker=new Worker(n.settings.locateFile.replace("{file}","fetch-worker.js")),n.settings.manualInitialization||n.init(),n}return d(t,e),t.prototype.addListeners=function(){this.canvasManager.on("resize",this.handleCanvasResize),this.gestureManager.on("wheel",this.handleWheelEvent),this.gestureManager.on("pointerup",this.handlePointerUpEvent),this.gestureManager.on("pointermove",this.handlePointerMoveEvent),this.gestureManager.on("globalpointermove",this.handleGlobalPointerMoveEvent),this.gestureManager.on("pointerdown",this.handlePointerDownEvent),this.gestureManager.on("pinchToZoom",this.handlePinchToZoomEvent),this.settings.canvas.addEventListener("webglcontextlost",this.handleWebGLContextLost)},t.prototype.collectAndEmitDeviceInfo=function(){return p(this,void 0,void 0,(function(){var e;return g(this,(function(t){switch(t.label){case 0:return[4,x()];case 1:return e=t.sent(),this.deviceInfo=h(h({},e),{hardwareConcurrency:navigator.hardwareConcurrency}),this.emit("deviceInfo",this.deviceInfo),[2]}}))}))},t.prototype.detectWebGLVersion=function(){this.webglVersion=Z(this.deviceInfo),$.logDebug("Using WebGL ".concat(this.webglVersion))},t.prototype.init=function(){return p(this,void 0,void 0,(function(){var e;return g(this,(function(t){switch(t.label){case 0:return this.traceFirstPaint=new K("FirstPaint"),this.setStatus({type:"INITIALIZING"}),[4,this.collectAndEmitDeviceInfo()];case 1:t.sent(),this.detectWebGLVersion(),t.label=2;case 2:return t.trys.push([2,6,,7]),[4,this.initWasmModule()];case 3:return t.sent(),[4,this.initPlayerWasm()];case 4:return t.sent(),[4,this.startDownload()];case 5:return t.sent(),[3,7];case 6:return e=t.sent(),[2,this.fail(e instanceof S?e:new S("ERROR","Unexpected exception initializing the web renderer",e))];case 7:return this.startRendering(),this.addListeners(),[2]}}))}))},t.prototype.initWasmModule=function(){var e;return p(this,void 0,void 0,(function(){var t;return g(this,(function(n){switch(n.label){case 0:return this.disposed?[2]:(t=new K("WasmModuleDownload"),this.wasmModule=new Q({mode:this.settings.mode,locateFile:this.settings.locateFile,jsBridge:this.createJSBridge(),featureFlags:this.settings.featureFlags,webglVersion:this.webglVersion}),[4,null===(e=this.wasmModule)||void 0===e?void 0:e.init()]);case 1:return n.sent(),t.printMeasurement(),this.emit("metric",t.measure()),[2]}}))}))},t.prototype.startDownload=function(){var e=this;return this.setStatus({type:"LOADING_FILE"}),new Promise((function(t){var n;null===(n=e.playerWasm)||void 0===n||n.startDownload((function(){t()}))}))},t.prototype.startRendering=function(){var e;this.traceInitialRender=new K("InitialRender"),this.setStatus({type:"DRAWING_FILE"}),null===(e=this.playerWasm)||void 0===e||e.startRenderLoop()},t.prototype.createJSBridge=function(){var e=this;return{logDebug:function(e){$.logDebug("[C++] ".concat(e))},logWarning:function(e){$.logWarning("[C++] ".concat(e))},logError:function(e){$.logError("[C++] ".concat(e))},emitMetric:function(t,n,o,r){e.emit("metric",{id:t,start:n,end:o,duration:r})},resolveImageUrl:function(t,n){return e.settings.imagesURLMap&&e.settings.imagesURLMap[t]?e.settings.imagesURLMap[t].replace(":format",n):e.settings.imagesURLFormat?e.settings.imagesURLFormat.replace(":imageId",t).replace(":format",n):($.logWarning("Not able to resolve the url for the image with UUID: ".concat(t)),"")},resolveFragmentUrl:function(t){return e.settings.fragmentsURLMap&&e.settings.fragmentsURLMap[t]?e.settings.fragmentsURLMap[t]:e.settings.fragmentsURLFormat?e.settings.fragmentsURLFormat.replace(":fragmentId",t):($.logWarning("Not able to resolve the url for the fragment with UUID: ".concat(t)),"")},onDrawComplete:this.handleDrawComplete.bind(this),onAllImagesReady:function(){e.emit("allImagesReady")},onCameraMoveStart:function(){e.emit("cameraMoveStart")},onCameraMoveEnd:function(){e.emit("cameraMoveEnd")},onCameraZoomStart:function(){e.emit("cameraZoomStart")},onCameraZoomEnd:function(){e.emit("cameraZoomEnd")},onCameraZoomChange:function(t){e.emit("cameraZoomChange",t)},onCameraPanChange:function(t,n){e.emit("cameraPanChange",t,n)},onCursorChange:function(t){var n,o=null===(n=e.wasmModule)||void 0===n?void 0:n.mapToCSSCursor(t);o&&e.emit("cursorChange",o)},onPrototypeStateWillChange:function(t,n,o){e.emit("prototypeStateWillChange",{currentArtboardId:t,canGoBack:n,canGoForwards:o})},onPrototypeStateChange:function(t,n,o){e.emit("prototypeStateChange",{currentArtboardId:t,canGoBack:n,canGoForwards:o})},fetch:this.handleJSBridgeFetch.bind(this),abortFetch:this.handleJSBridgeAbortFetch.bind(this),onPrototypeUnhandledPointerUp:function(){e.emit("prototypeUnhandledPointerUp")},onSceneChange:function(){e.emit("sceneChange")}}},t.prototype.handleJSBridgeFetch=function(e,t){var n=this,o=t.clone(),r=function(t){return p(n,void 0,void 0,(function(){var n,i,a,s,u,l,c,d,h;return g(this,(function(p){switch(p.label){case 0:if(this.disposed||!this.wasmModule)return[2];if(t.data.url!==e)return[2];switch(t.data.type){case"success":return[3,1];case"error":return[3,5]}return[3,6];case 1:return n={statusCode:200,statusText:"OK",contentType:t.data.contentType,isWebGLTexture:!1,emscriptenWebGLTextureHandle:-1,width:0,height:0},/image/.test(t.data.contentType)?(i=new Blob([t.data.buffer]),[4,ee(URL.createObjectURL(i))]):[3,3];case 2:return a=p.sent(),this.wasmModule?(s=this.wasmModule.createWebGLTextureFromImage(a,this.webglCtxHandle),n.buffer=new Uint8Array(0),n.isWebGLTexture=!0,n.emscriptenWebGLTextureHandle=s,n.width=a.width,n.height=a.height,[3,4]):[2];case 3:n.buffer=new Uint8Array(t.data.buffer),p.label=4;case 4:return o.exec(n),[3,7];case 5:return $.logError("Error while fetching ".concat(e),t.data.error),o.exec({buffer:new Uint8Array(0),statusCode:null!==(l=null===(u=t.data.error)||void 0===u?void 0:u.statusCode)&&void 0!==l?l:500,statusText:null!==(d=null===(c=t.data.error)||void 0===c?void 0:c.statusText)&&void 0!==d?d:"Unknown error",contentType:null!==(h=t.data.contentType)&&void 0!==h?h:"",isWebGLTexture:!1,emscriptenWebGLTextureHandle:-1,width:0,height:0}),[3,7];case 6:return[3,7];case 7:return this.fetchWorker.removeEventListener("message",r),[2]}}))}))};this.fetchWorker.addEventListener("message",r),this.fetchWorker.postMessage({type:"fetch",url:e})},t.prototype.handleJSBridgeAbortFetch=function(e){this.fetchWorker.postMessage({type:"abort",url:e})},t.prototype.initPlayerWasm=function(){var e,t;return p(this,void 0,void 0,(function(){var n,o,r,i,a,s,u,l,c,d,p,v,f,m,y,b,w,C,P,E,M;return g(this,(function(g){try{if(!this.wasmModule)throw Error("WASM module not initialized");for(this.webglCtxHandle=this.wasmModule.makeWebGLContext(this.settings.canvas,{preserveDrawingBuffer:this.settings.preserveDrawingBuffer,majorVersion:this.webglVersion}),n=this.wasmModule.instance,o=n.RenderTarget,r=n.PrototypeRendererWasm,i=n.PrototypeStructureArtboardVector,a=n.PrototypeStructureFlowVector,s=n.PrototypeStructureAssetVector,u=n.PrototypeStructureFlowTypeEnum,this.renderTarget=o.MakeWebGL(this.webglCtxHandle,this.canvasManager.size.width,this.canvasManager.size.height,this.canvasManager.pixelRatio),l={artboards:new i},c={Overlay:u.Overlay,Screen:u.Screen},d=0,p=this.settings.prototypeStructure.artboards;d<p.length;d++){for(v=p[d],f=new a,m=0,y=null!==(e=v.flows)&&void 0!==e?e:[];m<y.length;m++)b=y[m],f.push_back(h(h({},b),{type:c[b.type]}));for(w=new s,C=0,P=null!==(t=v.assets)&&void 0!==t?t:[];C<P.length;C++)E=P[C],w.push_back(E);l.artboards.push_back(h(h({},v),{flows:f,assets:w}))}this.playerWasm=new r(this.renderTarget,{showTilesBorders:this.settings.showTilesBorders},this.settings.startArtboardUUID,l,this.settings.highlightHotspots,this.settings.assetsManagerLimits)}catch(e){throw new S("WASM_ERROR","An error occurred while trying to create the PrototypeRenderer WASM object.",e)}if(!(M=this.playerWasm.getUserEventsCollector()))throw new S("WASM_ERROR","An error occurred while trying to create the user events collector");return this.userEventsCollectorWasm=M,this.playerWasm.setBackgroundColor(this.settings.backgroundColor.r,this.settings.backgroundColor.g,this.settings.backgroundColor.b,this.settings.backgroundColor.a),this.playerWasm.setZoomLevels(this.settings.minimumZoomLevel,this.settings.maximumZoomLevel),this.setResizeMode(this.settings.resizeMode),[2]}))}))},t.prototype.setIsCameraLocked=function(e){var t;null===(t=this.playerWasm)||void 0===t||t.setIsCameraLocked(e)},t.prototype.setBackgroundColor=function(e){var t;e.r===this.settings.backgroundColor.r&&e.g===this.settings.backgroundColor.g&&e.b===this.settings.backgroundColor.b&&e.a===this.settings.backgroundColor.a||(null===(t=this.playerWasm)||void 0===t||t.setBackgroundColor(e.r,e.g,e.b,e.a),this.settings.backgroundColor=e)},t.prototype.handleDrawComplete=function(){"DRAWING_FILE"===this.status.type&&(this.traceInitialRender.printMeasurement(),this.emit("metric",this.traceInitialRender.measure()),this.traceFirstPaint.printMeasurement(),this.emit("metric",this.traceFirstPaint.measure()),this.setStatus({type:"READY"}))},t.prototype.looseWebGLContext=function(){var e;null===(e=this.wasmModule)||void 0===e||e.destroyWebGLContext(this.webglCtxHandle),this.webglCtxHandle=-1},t.prototype.fail=function(e){this.setStatus({type:"FAILURE",code:e.code,message:"".concat(e.toString()).concat(e.cause?"\nWrapped Error: ".concat(e.cause.toString()):"")}),$.logError(e),e.cause&&$.logError(e.cause)},t.prototype.setStatus=function(e){"FAILURE"!==this.status.type&&($.logDebug("Status transition ".concat(this.status.type," => ").concat(e.type)),this.status=e,this.emit("status",e))},t.prototype.getStatus=function(){return this.status},t.prototype.getArtboardAtPosition=function(e,t){var n=this.playerWasm;if(!n)return null;for(var o=n.getJSScreen(!1),r=n.getPan(),i=n.getZoom(),a=(e-r.x)/i,s=(t-r.y)/i,u=o.layers.size()-1;u>=0;u-=1){var l=o.layers.get(u);if(l&&"artboard"===l.type){var c=l.bounds.x+l.bounds.width,d=l.bounds.y+l.bounds.height;if(a>=l.bounds.x&&s>=l.bounds.y&&a<=c&&s<=d)return l.getNode()}}return null},t.prototype.disposeFetchWorker=function(){this.fetchWorker.postMessage({type:"abort-all"}),this.fetchWorker.terminate()},t.prototype.dispose=function(){var e,t,n;try{this.disposeFetchWorker(),this.detachAllListeners(),null===(e=this.wasmModule)||void 0===e||e.destroyWebGLContext(this.webglCtxHandle),this.canvasManager.dispose(),this.gestureManager.dispose(),null===(t=this.playerWasm)||void 0===t||t.stopRenderLoop(),null===(n=this.playerWasm)||void 0===n||n.delete(),this.renderTarget.delete(),this.playerWasm=void 0,this.wasmModule=void 0,this.disposed=!0}catch(e){this.fail(new S("ERROR","Unexpected exception while disposing the WebRendererWasm object",e))}},t.prototype.mapRelativePositionToCameraPosition=function(e,t){var n=this.playerWasm;return n?n.mapRelativePositionToCameraPosition(e,t):null},t.prototype.updateHighlightHotspotsSetting=function(e){var t=this.playerWasm;if(!t)return null;t.updateHighlightHotspotsSetting(e)},t}(F),ht=r(void 0),pt=r("auto"),gt=r(void 0),vt=r(void 0),ft=r(void 0),mt=r(void 0),yt=function(){var e=i(mt);if(void 0===e)throw Error("useInternalContext must be used within a provider");return e},bt=function(e,t){switch(t.type){case"on-status":return h(h({},e),{status:t.status});case"dispose":return h(h({},e),{status:{type:"DISPOSED"},cursor:"auto"});case"on-cursor-change":return h(h({},e),{cursor:t.cursor});case"on-prototype-state-will-change":return h(h({},e),{prototypeState:h(h({},e.prototypeState),{isChanging:!0})});case"on-prototype-state-change":return h(h({},e),{prototypeState:h(h(h({},e.prototypeState),t.prototypeState),{isChanging:!1})});case"on-zoom":return h(h({},e),{zoom:t.zoom});case"on-pan":return h(h({},e),{pan:{x:t.pan.x,y:t.pan.y}});default:return e}},wt=function(n){var r=t(null),i=t(null),u=a(bt,{status:{type:"IDLE"},cursor:"auto",prototypeState:{currentArtboardId:"",canGoBack:!1,canGoForwards:!1,isChanging:!1},zoom:1,pan:{x:0,y:0}}),l=u[0],c=l.status,d=l.cursor,p=l.prototypeState,g=l.zoom,v=l.pan,f=u[1],m=o((function(e){f({type:"on-status",status:e})}),[]),y=o((function(e){return f({type:"on-zoom",zoom:e})}),[]),b=o((function(e,t){return f({type:"on-pan",pan:{x:e,y:t}})}),[]),w=o((function(e){return f({type:"on-cursor-change",cursor:e})}),[]),C=o((function(){return f({type:"on-prototype-state-will-change"})}),[]),P=o((function(e){return f({type:"on-prototype-state-change",prototypeState:e})}),[]),E=o((function(){var e=r.current;e&&($.logDebug("Provider dispose"),e.off("status",m),e.off("cursorChange",w),e.off("prototypeStateWillChange",C),e.off("prototypeStateChange",P),e.off("cameraZoomChange",y),e.off("cameraPanChange",b),e.dispose(),r.current=null,f({type:"dispose"}))}),[m,w,C,P,b,y]),M=o((function(e,t){if(e&&t&&i.current){$.logDebug("Provider init");var n=new dt(h(h({},i.current),{container:t,canvas:e,manualInitialization:!0}));n.on("status",m),n.on("cursorChange",w),n.on("prototypeStateWillChange",C),n.on("prototypeStateChange",P),n.on("cameraZoomChange",y),n.on("cameraPanChange",b),r.current=n,n.init()}}),[m,w,C,P,b,y]),L=o((function(e){var t,n,o,a,s,u,l,c;$.logDebug("Provider setSettings"),e.backgroundColor&&e.backgroundColor!=(null===(t=i.current)||void 0===t?void 0:t.backgroundColor)&&(null===(n=r.current)||void 0===n||n.setBackgroundColor(e.backgroundColor)),(null===(o=i.current)||void 0===o?void 0:o.resizeMode)!=e.resizeMode&&(null===(a=r.current)||void 0===a||a.setResizeMode(e.resizeMode||W.Fit)),void 0!==e.highlightHotspots&&(null===(s=i.current)||void 0===s?void 0:s.highlightHotspots)!==e.highlightHotspots&&(null===(u=r.current)||void 0===u||u.updateHighlightHotspotsSetting(e.highlightHotspots)),e.disableInteraction!==(null===(l=i.current)||void 0===l?void 0:l.disableInteraction)&&(null===(c=r.current)||void 0===c||c.gestureManager.setDisable(e.disableInteraction||!1)),i.current=e}),[]),x=o((function(){return r.current}),[]),R=s((function(){return{dispose:E,init:M,setSettings:L,getInstance:x,dispatch:f}}),[E,M,L,x]);return e.createElement(mt.Provider,{value:R},e.createElement(ht.Provider,{value:c},e.createElement(pt.Provider,{value:d},e.createElement(gt.Provider,{value:p},e.createElement(vt.Provider,{value:g},e.createElement(ft.Provider,{value:v},n.children))))))},Ct=function(){var e=(0,yt().getInstance)();return o((function(t){null==e||e.restartPrototype(t)}),[e])},Pt=function(){var e=(0,yt().getInstance)();return o((function(){null==e||e.navigateToFirstFlow()}),[e])},Et=function(){var e=(0,yt().getInstance)();return o((function(){null==e||e.goBack()}),[e])},Mt=function(){var e=(0,yt().getInstance)();return o((function(){null==e||e.goForwards()}),[e])},Lt=function(){var e=(0,yt().getInstance)();return o((function(t,n){return p(void 0,void 0,void 0,(function(){return g(this,(function(o){return[2,null==e?void 0:e.getArtboardAtPosition(t,n)]}))}))}),[e])},xt=function(){var e=(0,yt().getInstance)();return o((function(t,n){if(!e)return null;var o=e.mapRelativePositionToCameraPosition(t,n);return null!=o?o:null}),[e])},Rt=function(){var e=i(ht);if(void 0===e)throw Error("usePrototypeStatus must be used within a provider");return e},Wt=function(){var e=i(pt);if(void 0===e)throw Error("usePrototypeCursor must be used within a provider");return e},St=function(){var e=i(gt);if(void 0===e)throw Error("usePrototypeState must be used within a provider");return e},Tt=function(){var e=i(vt);if(void 0===e)throw Error("usePrototypeZoom must be used within a provider");return e},Ft=function(){var e=i(ft);if(void 0===e)throw Error("usePrototypePan must be used within a provider");return e},It=function(e,t){var n=(0,yt().getInstance)();u((function(){return null==n||n.on(e,t),function(){null==n||n.off(e,t)}}),[e,n,t])};function At(){var e=(0,yt().getInstance)();return o((function(t){return void 0===t&&(t=!0),null==e?void 0:e.getScreen(t)}),[e])}var Dt={position:"relative",width:"100%",height:"100%",touchAction:"manipulation"},Gt={position:"absolute",top:0,left:0},Ut=function(n){var o=n.locateFile,r=n.imagesURLFormat,i=n.imagesURLMap,a=n.backgroundColor,l=n.mode,c=n.showTilesBorders,d=n.minimumZoomLevel,p=n.maximumZoomLevel,g=n.preserveDrawingBuffer,v=n.children,f=n.containerProps,m=n.canvasProps,y=n.featureFlags,b=n.startArtboardUUID,w=n.prototypeStructure,C=n.fragmentsURLFormat,P=n.fragmentsURLMap,E=n.highlightHotspots,M=n.resizeMode,L=n.assetsManagerLimits,x=n.cursor,R=n.disableInteraction,W=t(null),S=t(null),T=yt(),F=T.dispose,I=T.init,A=T.setSettings,D=Rt(),G=Wt(),U=("function"==typeof x?x(G):x)||G;u((function(){return $.logDebug("PrototypeRenderer mounted"),function(){return $.logDebug("PrototypeRenderer unmounted")}}),[]),u((function(){A({locateFile:o,imagesURLFormat:r,imagesURLMap:i,backgroundColor:a,mode:l,showTilesBorders:c,minimumZoomLevel:d,maximumZoomLevel:p,preserveDrawingBuffer:g,featureFlags:y,startArtboardUUID:b,prototypeStructure:w,fragmentsURLFormat:C,fragmentsURLMap:P,highlightHotspots:E,resizeMode:M,assetsManagerLimits:L,disableInteraction:R})}),[A,o,r,i,a,l,c,d,p,g,y,b,E,M,C,P,w,L,R]),u((function(){return I(W.current,S.current),function(){F()}}),[F,I]);var k=s((function(){return h(h({},Dt),{cursor:U})}),[U]);return e.createElement("div",h({},f,{ref:S,style:k}),e.createElement("canvas",h({},m,{ref:W,"data-testid":"prototype-canvas","data-prototype-status":"prototype-status-".concat((null==D?void 0:D.type.toLowerCase())||"null"),style:Gt})),"READY"===(null==D?void 0:D.type)&&v)},kt={position:"absolute",inset:0,pointerEvents:"none"};function Bt(t){var n=t.visualize,r=void 0!==n&&n,i=At(),a=l((function(){return i()||null})),u=a[0],c=a[1],d=o((function(){c(i()||null)}),[i]);It("sceneChange",d);var p=s((function(){return h(h({},kt),{opacity:r?1:0})}),[r]);return u?e.createElement("div",{style:p},u.layers.map((function(t,n){return e.createElement(zt,{key:"".concat(n,"/").concat(t.id),bounds:t.bounds,id:t.id,name:t.name,type:t.type})}))):null}function zt(t){var n=t.bounds,o=t.name,r=t.id,i=t.type,a=Tt(),u=Ft()||{x:0,y:0},l=u.x,c=u.y,d=s((function(){return h({position:"absolute",left:l/window.devicePixelRatio+n.x*a,top:c/window.devicePixelRatio+n.y*a,width:n.width*a,height:n.height*a,backgroundColor:"rgba(0, 255, 255, 0.2)",border:"2px dotted white"},"hotspot"===i?{cursor:"pointer",pointerEvents:"auto"}:{})}),[n.x,n.y,n.width,n.height,l,c,a,i]);return e.createElement("div",{style:d,"data-testid":"".concat(i,"-").concat(Zt(o),"-").concat(r),"data-entity-name":o,"data-entity-id":r,"data-entity-bounds-x":n.x,"data-entity-bounds-y":n.x,"data-entity-bounds-width":n.width,"data-entity-bounds-height":n.height})}function Zt(e){var t,n;return null!==(n=null===(t=e.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g))||void 0===t?void 0:t.join("-").toLowerCase())&&void 0!==n?n:""}export{Ie as CameraMoveContext,Fe as CameraZoomingContext,We as CanvasRenderer,Be as CanvasRendererProvider,lt as CanvasRendererReact,De as CursorContext,A as DefaultFeatureFlags,F as EventEmitter,V as GestureManager,J as KeyboardManager,I as ListenersCollector,Pe as PRCursorType,me as PRLayerSizingBehaviour,ce as PRMarinaBlendMode,ne as PRMarinaExportFormatType,le as PRMarinaLayerBlurType,ae as PRMarinaLayerBorderPosition,he as PRMarinaLayerCornerStyle,oe as PRMarinaLayerFillType,ie as PRMarinaLayerGradientType,ge as PRMarinaLayerHorizontalTextAlignment,re as PRMarinaLayerImageFillType,se as PRMarinaLayerLineCap,ue as PRMarinaLayerLineJoin,fe as PRMarinaLayerTextDecoration,pe as PRMarinaLayerTextTransform,de as PRMarinaLayerType,ve as PRMarinaLayerVerticalTextAlignment,te as PRMarinaVisibleScaleType,Ee as PRNodeExportFormat,we as PRStackCrossAxisAlignment,ye as PRStackDirection,be as PRStackMainAxisAlignment,Ce as PRUserPointerType,Ae as PanContext,K as Performance,dt as PrototypeRenderer,wt as PrototypeRendererProvider,Ut as PrototypeRendererReact,W as PrototypeResizeMode,Le as PrototypeResizeModeWasm,Me as PrototypeStructureFlowType,Bt as PrototypeTestOverlay,Se as StatusContext,S as WebRendererError,R as WebRendererMode,Te as ZoomContext,z as clamp,O as convertEmbindVectorToArray,k as debounce,B as extractPointer,Z as getSupportedWebGLVersion,D as getiOSVersion,T as isDefinedPresentationManifestFrame,H as isTouchDevice,$ as logger,Y as nextTick,U as parseSafariUserAgent,ke as reducer,N as removeUndefinedKeys,j as safePtrAccess,_ as touchableClick,Ne as useCursor,X as useDebounceFunction,Xe as useDecrementZoom,ze as useEvent,it as useExportNode,tt as useGetArtboardAtPosition,nt as useGetPanAtPosition,At as useGetScreen,Et as useGoBack,Mt as useGoForwards,$e as useIncrementZoom,je as useIsCameraMoving,_e as useIsCameraZooming,ot as useLockCamera,at as useLogEvent,et as useLooseWebGLContext,rt as useMapRelativePositionToCameraPosition,Pt as useNavigateToFirstFlow,Ve as usePRFile,Je as usePRFileArtboards,He as usePan,Wt as usePrototypeCursor,It as usePrototypeEvent,Lt as usePrototypeGetArtboardAtPosition,xt as usePrototypeMapRelativePositionToCameraPosition,Ft as usePrototypePan,St as usePrototypeState,Rt as usePrototypeStatus,Tt as usePrototypeZoom,Ct as useRestartPrototype,Ke as useRootNodeAbsoluteExtent,qe as useSetPan,Ye as useSetZoom,Ze as useStatus,Oe as useZoom,Qe as useZoomToFit};
@@ -312,10 +312,13 @@ export interface PRMarinaAttributedString {
312
312
  delete(): void;
313
313
  }
314
314
 
315
- export type PRMarinaAppearance = {
316
- opacity: number,
317
- blendMode: PRMarinaBlendModeEnum
318
- };
315
+ export interface PRMarinaAppearance {
316
+ opacity: number;
317
+ blendMode: PRMarinaBlendModeEnum;
318
+ isProgressive: boolean;
319
+ getGradient(): PRMarinaGradient | null;
320
+ delete(): void;
321
+ }
319
322
 
320
323
  export type PRMarinaGradientStop = {
321
324
  color: PRMarinaColor,
@@ -379,7 +382,9 @@ export interface PRMarinaBlur {
379
382
  motionAngle: number;
380
383
  radius: number;
381
384
  saturation: number;
385
+ isProgressive: boolean;
382
386
  center: PRMarinaPoint;
387
+ getGradient(): PRMarinaGradient | null;
383
388
  delete(): void;
384
389
  }
385
390
 
@@ -796,6 +801,7 @@ interface EmbindModule {
796
801
  PRMarinaTextAttributes: {};
797
802
  PRMarinaTextAttributesVector: {new(): PRMarinaTextAttributesVector};
798
803
  PRMarinaAttributedString: {};
804
+ PRMarinaAppearance: {};
799
805
  PRMarinaGradientStopVector: {new(): PRMarinaGradientStopVector};
800
806
  PRMarinaGradient: {};
801
807
  PRMarinaBorder: {};
@@ -3954,7 +3954,7 @@ var WebRendererWasmFactory = (() => {
3954
3954
  }
3955
3955
  var wasmImports = {
3956
3956
  ob: __abort_js,
3957
- o: __embind_finalize_value_object,
3957
+ q: __embind_finalize_value_object,
3958
3958
  O: __embind_register_bigint,
3959
3959
  bb: __embind_register_bool,
3960
3960
  g: __embind_register_class,
@@ -3973,7 +3973,7 @@ var WebRendererWasmFactory = (() => {
3973
3973
  M: __embind_register_std_string,
3974
3974
  G: __embind_register_std_wstring,
3975
3975
  dd: __embind_register_user_type,
3976
- p: __embind_register_value_object,
3976
+ r: __embind_register_value_object,
3977
3977
  e: __embind_register_value_object_field,
3978
3978
  cb: __embind_register_void,
3979
3979
  mb: __emscripten_get_now_is_monotonic,
@@ -3986,7 +3986,7 @@ var WebRendererWasmFactory = (() => {
3986
3986
  j: __emval_get_method_caller,
3987
3987
  n: __emval_get_module_property,
3988
3988
  H: __emval_get_property,
3989
- r: __emval_incref,
3989
+ p: __emval_incref,
3990
3990
  $a: __emval_new_array,
3991
3991
  D: __emval_new_cstring,
3992
3992
  i: __emval_run_destructors,
@@ -4169,7 +4169,7 @@ var WebRendererWasmFactory = (() => {
4169
4169
  K: _glGetString,
4170
4170
  Va: _glGetStringi,
4171
4171
  f: invoke_ii,
4172
- q: invoke_iii,
4172
+ o: invoke_iii,
4173
4173
  k: invoke_iiii,
4174
4174
  B: invoke_iiiii,
4175
4175
  qb: invoke_iiiiii,
@@ -3896,7 +3896,7 @@ var WebRendererWasmFactory = (() => {
3896
3896
  }
3897
3897
  var wasmImports = {
3898
3898
  ob: __abort_js,
3899
- o: __embind_finalize_value_object,
3899
+ q: __embind_finalize_value_object,
3900
3900
  O: __embind_register_bigint,
3901
3901
  bb: __embind_register_bool,
3902
3902
  g: __embind_register_class,
@@ -3915,7 +3915,7 @@ var WebRendererWasmFactory = (() => {
3915
3915
  M: __embind_register_std_string,
3916
3916
  G: __embind_register_std_wstring,
3917
3917
  dd: __embind_register_user_type,
3918
- p: __embind_register_value_object,
3918
+ r: __embind_register_value_object,
3919
3919
  e: __embind_register_value_object_field,
3920
3920
  cb: __embind_register_void,
3921
3921
  mb: __emscripten_get_now_is_monotonic,
@@ -3928,7 +3928,7 @@ var WebRendererWasmFactory = (() => {
3928
3928
  j: __emval_get_method_caller,
3929
3929
  n: __emval_get_module_property,
3930
3930
  H: __emval_get_property,
3931
- r: __emval_incref,
3931
+ p: __emval_incref,
3932
3932
  $a: __emval_new_array,
3933
3933
  D: __emval_new_cstring,
3934
3934
  i: __emval_run_destructors,
@@ -4111,7 +4111,7 @@ var WebRendererWasmFactory = (() => {
4111
4111
  K: _glGetString,
4112
4112
  Va: _glGetStringi,
4113
4113
  f: invoke_ii,
4114
- q: invoke_iii,
4114
+ o: invoke_iii,
4115
4115
  k: invoke_iiii,
4116
4116
  B: invoke_iiiii,
4117
4117
  qb: invoke_iiiiii,
@@ -1 +1 @@
1
- var e,r=(e=import.meta.url,function(){var r,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=Object.assign({},n),o=new Promise(((e,n)=>{r=e,t=n})),i=Object.assign({},a),s="";"undefined"!=typeof document&&document.currentScript&&(s=document.currentScript.src),e&&(s=e),s=s.startsWith("blob:")?"":s.substr(0,s.replace(/[?#].*/,"").lastIndexOf("/")+1);var c,u,l=a.print||console.log.bind(console),f=a.printErr||console.error.bind(console);Object.assign(a,i),i=null;var d,m,v,h,g,p,y,b,w,x,_=!1;function T(){var e=u.buffer;d=new Int8Array(e),v=new Int16Array(e),m=new Uint8Array(e),h=new Uint16Array(e),g=new Int32Array(e),p=new Uint32Array(e),y=new Float32Array(e),x=new Float64Array(e),b=new BigInt64Array(e),w=new BigUint64Array(e)}var C=[],E=[],P=[],A=0,S=null;function $(e){var r;null===(r=a.onAbort)||void 0===r||r.call(a,e),f(e="Aborted("+e+")"),_=!0,e+=". Build with -sASSERTIONS for more info.";var n=new WebAssembly.RuntimeError(e);throw t(n),n}var W,B=e=>e.startsWith("data:application/octet-stream;base64,");function O(){if(a.locateFile){var e="web-renderer-release.wasm";return B(e)?e:(r=e,a.locateFile?a.locateFile(r,s):s+r)}var r;return new URL("web-renderer-release.wasm",import.meta.url).href}function L(e){if(e==W&&c)return new Uint8Array(c);throw"both async and sync fetching of the wasm failed"}function k(e,r,t){return function(e){return"function"==typeof fetch?fetch(e,{credentials:"same-origin"}).then((r=>{if(!r.ok)throw"failed to load wasm binary file at '".concat(e,"'");return r.arrayBuffer()})).catch((()=>L(e))):Promise.resolve().then((()=>L(e)))}(e).then((e=>WebAssembly.instantiate(e,r))).then(t,(e=>{f("failed to asynchronously prepare wasm: ".concat(e)),$(e)}))}function F(e){this.name="ExitStatus",this.message="Program terminated with exit(".concat(e,")"),this.status=e}var D=e=>{for(;e.length>0;)e.shift()(a)},I=a.noExitRuntime||!0,j=e=>fo(e),G=()=>mo(),U={},M=e=>{for(;e.length;){var r=e.pop();e.pop()(r)}};function N(e){return this.fromWireType(p[e>>2])}var V,R,X,Y={},H={},Q={},q=e=>{throw new V(e)},z=(e,r,t)=>{function n(r){var n=t(r);n.length!==e.length&&q("Mismatched type converter count");for(var a=0;a<e.length;++a)ee(e[a],n[a])}e.forEach((function(e){Q[e]=r}));var a=new Array(r.length),o=[],i=0;r.forEach(((e,r)=>{H.hasOwnProperty(e)?a[r]=H[e]:(o.push(e),Y.hasOwnProperty(e)||(Y[e]=[]),Y[e].push((()=>{a[r]=H[e],++i===o.length&&n(a)})))})),0===o.length&&n(a)},J=e=>{if(null===e)return"null";var r=typeof e;return"object"===r||"array"===r||"function"===r?e.toString():""+e},Z=e=>{for(var r="",t=e;m[t];)r+=R[m[t++]];return r},K=e=>{throw new X(e)};function ee(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in r))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=r.name;if(e||K('type "'.concat(n,'" must have a positive integer typeid pointer')),H.hasOwnProperty(e)){if(t.ignoreDuplicateRegistrations)return;K("Cannot register type '".concat(n,"' twice"))}if(H[e]=r,delete Q[e],Y.hasOwnProperty(e)){var a=Y[e];delete Y[e],a.forEach((e=>e()))}}(e,r,t)}var re,te=(e,r,t)=>{switch(r){case 1:return t?e=>d[e]:e=>m[e];case 2:return t?e=>v[e>>1]:e=>h[e>>1];case 4:return t?e=>g[e>>2]:e=>p[e>>2];case 8:return t?e=>b[e>>3]:e=>w[e>>3];default:throw new TypeError("invalid integer width (".concat(r,"): ").concat(e))}},ne=8,ae=e=>{K(e.$$.ptrType.registeredClass.name+" instance already deleted")},oe=!1,ie=e=>{},se=e=>{e.count.value-=1,0===e.count.value&&(e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)})(e)},ce=(e,r,t)=>{if(r===t)return e;if(void 0===t.baseClass)return null;var n=ce(e,r,t.baseClass);return null===n?null:t.downcast(n)},ue={},le=()=>Object.keys(he).length,fe=()=>{var e=[];for(var r in he)he.hasOwnProperty(r)&&e.push(he[r]);return e},de=[],me=()=>{for(;de.length;){var e=de.pop();e.$$.deleteScheduled=!1,e.delete()}},ve=e=>{re=e,de.length&&re&&re(me)},he={},ge=(e,r)=>(r=((e,r)=>{for(void 0===r&&K("ptr should not be undefined");e.baseClass;)r=e.upcast(r),e=e.baseClass;return r})(e,r),he[r]),pe=(e,r)=>(r.ptrType&&r.ptr||q("makeClassHandle requires ptr and ptrType"),!!r.smartPtrType!=!!r.smartPtr&&q("Both smartPtrType and smartPtr must be specified"),r.count={value:1},be(Object.create(e,{$$:{value:r,writable:!0}})));function ye(e){var r=this.getPointee(e);if(!r)return this.destructor(e),null;var t=ge(this.registeredClass,r);if(void 0!==t){if(0===t.$$.count.value)return t.$$.ptr=r,t.$$.smartPtr=e,t.clone();var n=t.clone();return this.destructor(e),n}function a(){return this.isSmartPointer?pe(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:r,smartPtrType:this,smartPtr:e}):pe(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var o,i=this.registeredClass.getActualType(r),s=ue[i];if(!s)return a.call(this);o=this.isConst?s.constPointerType:s.pointerType;var c=ce(r,this.registeredClass,o.registeredClass);return null===c?a.call(this):this.isSmartPointer?pe(o.registeredClass.instancePrototype,{ptrType:o,ptr:c,smartPtrType:this,smartPtr:e}):pe(o.registeredClass.instancePrototype,{ptrType:o,ptr:c})}var be=e=>"undefined"==typeof FinalizationRegistry?(be=e=>e,e):(oe=new FinalizationRegistry((e=>{se(e.$$)})),be=e=>{var r=e.$$;if(r.smartPtr){var t={$$:r};oe.register(e,t,e)}return e},ie=e=>oe.unregister(e),be(e));function we(){}var xe=(e,r)=>Object.defineProperty(r,"name",{value:e}),_e=(e,r,t)=>{if(void 0===e[r].overloadTable){var n=e[r];e[r]=function(){for(var n=arguments.length,a=new Array(n),o=0;o<n;o++)a[o]=arguments[o];return e[r].overloadTable.hasOwnProperty(a.length)||K("Function '".concat(t,"' called with an invalid number of arguments (").concat(a.length,") - expects one of (").concat(e[r].overloadTable,")!")),e[r].overloadTable[a.length].apply(this,a)},e[r].overloadTable=[],e[r].overloadTable[n.argCount]=n}},Te=(e,r,t)=>{a.hasOwnProperty(e)?((void 0===t||void 0!==a[e].overloadTable&&void 0!==a[e].overloadTable[t])&&K("Cannot register public name '".concat(e,"' twice")),_e(a,e,e),a.hasOwnProperty(t)&&K("Cannot register multiple overloads of a function with the same number of arguments (".concat(t,")!")),a[e].overloadTable[t]=r):(a[e]=r,void 0!==t&&(a[e].numArguments=t))};function Ce(e,r,t,n,a,o,i,s){this.name=e,this.constructor=r,this.instancePrototype=t,this.rawDestructor=n,this.baseClass=a,this.getActualType=o,this.upcast=i,this.downcast=s,this.pureVirtualFunctions=[]}var Ee=(e,r,t)=>{for(;r!==t;)r.upcast||K("Expected null or instance of ".concat(t.name,", got an instance of ").concat(r.name)),e=r.upcast(e),r=r.baseClass;return e};function Pe(e,r){if(null===r)return this.isReference&&K("null is not a valid ".concat(this.name)),0;r.$$||K('Cannot pass "'.concat(J(r),'" as a ').concat(this.name)),r.$$.ptr||K("Cannot pass deleted object as a pointer of type ".concat(this.name));var t=r.$$.ptrType.registeredClass;return Ee(r.$$.ptr,t,this.registeredClass)}function Ae(e,r){var t;if(null===r)return this.isReference&&K("null is not a valid ".concat(this.name)),this.isSmartPointer?(t=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,t),t):0;r&&r.$$||K('Cannot pass "'.concat(J(r),'" as a ').concat(this.name)),r.$$.ptr||K("Cannot pass deleted object as a pointer of type ".concat(this.name)),!this.isConst&&r.$$.ptrType.isConst&&K("Cannot convert argument of type ".concat(r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name," to parameter type ").concat(this.name));var n=r.$$.ptrType.registeredClass;if(t=Ee(r.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===r.$$.smartPtr&&K("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:r.$$.smartPtrType===this?t=r.$$.smartPtr:K("Cannot convert argument of type ".concat(r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name," to parameter type ").concat(this.name));break;case 1:t=r.$$.smartPtr;break;case 2:if(r.$$.smartPtrType===this)t=r.$$.smartPtr;else{var a=r.clone();t=this.rawShare(t,Qe.toHandle((()=>a.delete()))),null!==e&&e.push(this.rawDestructor,t)}break;default:K("Unsupporting sharing policy")}return t}function Se(e,r){if(null===r)return this.isReference&&K("null is not a valid ".concat(this.name)),0;r.$$||K('Cannot pass "'.concat(J(r),'" as a ').concat(this.name)),r.$$.ptr||K("Cannot pass deleted object as a pointer of type ".concat(this.name)),r.$$.ptrType.isConst&&K("Cannot convert argument of type ".concat(r.$$.ptrType.name," to parameter type ").concat(this.name));var t=r.$$.ptrType.registeredClass;return Ee(r.$$.ptr,t,this.registeredClass)}function $e(e,r,t,n,a,o,i,s,c,u,l){this.name=e,this.registeredClass=r,this.isReference=t,this.isConst=n,this.isSmartPointer=a,this.pointeeType=o,this.sharingPolicy=i,this.rawGetPointee=s,this.rawConstructor=c,this.rawShare=u,this.rawDestructor=l,a||void 0!==r.baseClass?this.toWireType=Ae:n?(this.toWireType=Pe,this.destructorFunction=null):(this.toWireType=Se,this.destructorFunction=null)}var We,Be,Oe=[],Le=e=>{var r=Oe[e];return r||(e>=Oe.length&&(Oe.length=e+1),Oe[e]=r=We.get(e)),r},ke=(e,r)=>{e=Z(e);var t=Le(r);return"function"!=typeof t&&K("unknown function pointer with signature ".concat(e,": ").concat(r)),t},Fe=e=>{var r=so(e),t=Z(r);return uo(r),t},De=(e,r)=>{var t=[],n={};throw r.forEach((function e(r){n[r]||H[r]||(Q[r]?Q[r].forEach(e):(t.push(r),n[r]=!0))})),new Be("".concat(e,": ")+t.map(Fe).join([", "]))};function Ie(e){for(var r=1;r<e.length;++r)if(null!==e[r]&&void 0===e[r].destructorFunction)return!0;return!1}function je(e,r){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type ".concat(typeof e," which is not a function"));var t=xe(e.name||"unknownFunctionName",(function(){}));t.prototype=e.prototype;var n=new t,a=e.apply(n,r);return a instanceof Object?a:n}function Ge(e,r,t,n,a,o){var i=r.length;i<2&&K("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=null!==r[1]&&null!==t,c=Ie(r),u="void"!==r[0].name,l=[e,K,n,a,M,r[0],r[1]],f=0;f<i-2;++f)l.push(r[f+2]);if(!c)for(f=s?1:2;f<r.length;++f)null!==r[f].destructorFunction&&l.push(r[f].destructorFunction);var[d,m]=function(e,r,t,n){for(var a=Ie(e),o=e.length,i="",s="",c=0;c<o-2;++c)i+=(0!==c?", ":"")+"arg"+c,s+=(0!==c?", ":"")+"arg"+c+"Wired";var u="\n return function (".concat(i,") {\n if (arguments.length !== ").concat(o-2,") {\n throwBindingError('function ' + humanName + ' called with ' + arguments.length + ' arguments, expected ").concat(o-2,"');\n }");a&&(u+="var destructors = [];\n");var l=a?"destructors":"null",f=["humanName","throwBindingError","invoker","fn","runDestructors","retType","classParam"];for(r&&(u+="var thisWired = classParam['toWireType']("+l+", this);\n"),c=0;c<o-2;++c)u+="var arg"+c+"Wired = argType"+c+"['toWireType']("+l+", arg"+c+");\n",f.push("argType"+c);if(r&&(s="thisWired"+(s.length>0?", ":"")+s),u+=(t||n?"var rv = ":"")+"invoker(fn"+(s.length>0?", ":"")+s+");\n",a)u+="runDestructors(destructors);\n";else for(c=r?1:2;c<e.length;++c){var d=1===c?"thisWired":"arg"+(c-2)+"Wired";null!==e[c].destructorFunction&&(u+="".concat(d,"_dtor(").concat(d,");\n"),f.push("".concat(d,"_dtor")))}return t&&(u+="var ret = retType['fromWireType'](rv);\nreturn ret;\n"),[f,u+="}\n"]}(r,s,u,o);d.push(m);var v=je(Function,d)(...l);return xe(e,v)}var Ue,Me=(e,r)=>{for(var t=[],n=0;n<e;n++)t.push(p[r+4*n>>2]);return t},Ne=e=>{var r=(e=e.trim()).indexOf("(");return-1!==r?e.substr(0,r):e},Ve=(e,r,t)=>(e instanceof Object||K("".concat(t,' with invalid "this": ').concat(e)),e instanceof r.registeredClass.constructor||K("".concat(t,' incompatible with "this" of type ').concat(e.constructor.name)),e.$$.ptr||K("cannot call emscripten binding method ".concat(t," on deleted object")),Ee(e.$$.ptr,e.$$.ptrType.registeredClass,r.registeredClass)),Re=[],Xe=[],Ye=e=>{e>9&&0==--Xe[e+1]&&(Xe[e]=void 0,Re.push(e))},He=()=>Xe.length/2-5-Re.length,Qe={toValue:e=>(e||K("Cannot use deleted val. handle = "+e),Xe[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:var r=Re.pop()||Xe.length;return Xe[r]=e,Xe[r+1]=1,r}}},qe={name:"emscripten::val",fromWireType:e=>{var r=Qe.toValue(e);return Ye(e),r},toWireType:(e,r)=>Qe.toHandle(r),argPackAdvance:ne,readValueFromPointer:N,destructorFunction:null},ze=e=>ee(e,qe),Je=(e,r,t)=>{switch(r){case 1:return t?function(e){return this.fromWireType(d[e])}:function(e){return this.fromWireType(m[e])};case 2:return t?function(e){return this.fromWireType(v[e>>1])}:function(e){return this.fromWireType(h[e>>1])};case 4:return t?function(e){return this.fromWireType(g[e>>2])}:function(e){return this.fromWireType(p[e>>2])};default:throw new TypeError("invalid integer width (".concat(r,"): ").concat(e))}},Ze=(e,r)=>{var t=H[e];return void 0===t&&K("".concat(r," has unknown type ").concat(Fe(e))),t},Ke=(e,r)=>{switch(r){case 4:return function(e){return this.fromWireType(y[e>>2])};case 8:return function(e){return this.fromWireType(x[e>>3])};default:throw new TypeError("invalid float width (".concat(r,"): ").concat(e))}},er=(e,r,t,n)=>{if(!(n>0))return 0;for(var a=t,o=t+n-1,i=0;i<e.length;++i){var s=e.charCodeAt(i);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i)),s<=127){if(t>=o)break;r[t++]=s}else if(s<=2047){if(t+1>=o)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=o)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=o)break;r[t++]=240|s>>18,r[t++]=128|s>>12&63,r[t++]=128|s>>6&63,r[t++]=128|63&s}}return r[t]=0,t-a},rr=(e,r,t)=>er(e,m,r,t),tr=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n<=127?r++:n<=2047?r+=2:n>=55296&&n<=57343?(r+=4,++t):r+=3}return r},nr="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,ar=(e,r,t)=>{for(var n=r+t,a=r;e[a]&&!(a>=n);)++a;if(a-r>16&&e.buffer&&nr)return nr.decode(e.subarray(r,a));for(var o="";r<a;){var i=e[r++];if(128&i){var s=63&e[r++];if(192!=(224&i)){var c=63&e[r++];if((i=224==(240&i)?(15&i)<<12|s<<6|c:(7&i)<<18|s<<12|c<<6|63&e[r++])<65536)o+=String.fromCharCode(i);else{var u=i-65536;o+=String.fromCharCode(55296|u>>10,56320|1023&u)}}else o+=String.fromCharCode((31&i)<<6|s)}else o+=String.fromCharCode(i)}return o},or=(e,r)=>e?ar(m,e,r):"",ir="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,sr=(e,r)=>{for(var t=e,n=t>>1,a=n+r/2;!(n>=a)&&h[n];)++n;if((t=n<<1)-e>32&&ir)return ir.decode(m.subarray(e,t));for(var o="",i=0;!(i>=r/2);++i){var s=v[e+2*i>>1];if(0==s)break;o+=String.fromCharCode(s)}return o},cr=(e,r,t)=>{var n;if(null!==(n=t)&&void 0!==n||(t=2147483647),t<2)return 0;for(var a=r,o=(t-=2)<2*e.length?t/2:e.length,i=0;i<o;++i){var s=e.charCodeAt(i);v[r>>1]=s,r+=2}return v[r>>1]=0,r-a},ur=e=>2*e.length,lr=(e,r)=>{for(var t=0,n="";!(t>=r/4);){var a=g[e+4*t>>2];if(0==a)break;if(++t,a>=65536){var o=a-65536;n+=String.fromCharCode(55296|o>>10,56320|1023&o)}else n+=String.fromCharCode(a)}return n},fr=(e,r,t)=>{var n;if(null!==(n=t)&&void 0!==n||(t=2147483647),t<4)return 0;for(var a=r,o=a+t-4,i=0;i<e.length;++i){var s=e.charCodeAt(i);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i)),g[r>>2]=s,(r+=4)+4>o)break}return g[r>>2]=0,r-a},dr=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n>=55296&&n<=57343&&++t,r+=4}return r},mr=(e,r,t)=>{var n=[],a=e.toWireType(n,t);return n.length&&(p[r>>2]=Qe.toHandle(n)),a},vr=[],hr={},gr=e=>{var r=hr[e];return void 0===r?Z(e):r},pr=()=>"object"==typeof globalThis?globalThis:Function("return this")();Ue=()=>performance.now();var yr,br,wr,xr,_r=e=>{var r=["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_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","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"];return(e.getSupportedExtensions()||[]).filter((e=>r.includes(e)))},Tr={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:e=>{Tr.lastError||(Tr.lastError=e)},getNewId:e=>{for(var r=Tr.counter++,t=e.length;t<r;t++)e[t]=null;return r},genObject:(e,r,t,n)=>{for(var a=0;a<e;a++){var o=xr[t](),i=o&&Tr.getNewId(n);o?(o.name=i,n[i]=o):Tr.recordError(1282),g[r+4*a>>2]=i}},getSource:(e,r,t,n)=>{for(var a="",o=0;o<r;++o){var i=n?p[n+4*o>>2]:void 0;a+=or(p[t+4*o>>2],i)}return a},createContext:(e,r)=>{e.getContextSafariWebGL2Fixed||(e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=function(r,t){var n=e.getContextSafariWebGL2Fixed(r,t);return"webgl"==r==n instanceof WebGLRenderingContext?n:null});var t=r.majorVersion>1?e.getContext("webgl2",r):e.getContext("webgl",r);return t?Tr.registerContext(t,r):0},registerContext:(e,r)=>{var t=Tr.getNewId(Tr.contexts),n={handle:t,attributes:r,version:r.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=n),Tr.contexts[t]=n,(void 0===r.enableExtensionsByDefault||r.enableExtensionsByDefault)&&Tr.initExtensions(n),t},makeContextCurrent:e=>{var r;return Tr.currentContext=Tr.contexts[e],a.ctx=xr=null===(r=Tr.currentContext)||void 0===r?void 0:r.GLctx,!(e&&!xr)},getContext:e=>Tr.contexts[e],deleteContext:e=>{Tr.currentContext===Tr.contexts[e]&&(Tr.currentContext=null),"object"==typeof JSEvents&&JSEvents.removeAllHandlersOnTarget(Tr.contexts[e].GLctx.canvas),Tr.contexts[e]&&Tr.contexts[e].GLctx.canvas&&(Tr.contexts[e].GLctx.canvas.GLctxObject=void 0),Tr.contexts[e]=null},initExtensions:e=>{if(e||(e=Tr.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var r,t=e.GLctx;(e=>{var r=e.getExtension("ANGLE_instanced_arrays");r&&(e.vertexAttribDivisor=(e,t)=>r.vertexAttribDivisorANGLE(e,t),e.drawArraysInstanced=(e,t,n,a)=>r.drawArraysInstancedANGLE(e,t,n,a),e.drawElementsInstanced=(e,t,n,a,o)=>r.drawElementsInstancedANGLE(e,t,n,a,o))})(t),(e=>{var r=e.getExtension("OES_vertex_array_object");r&&(e.createVertexArray=()=>r.createVertexArrayOES(),e.deleteVertexArray=e=>r.deleteVertexArrayOES(e),e.bindVertexArray=e=>r.bindVertexArrayOES(e),e.isVertexArray=e=>r.isVertexArrayOES(e))})(t),(e=>{var r=e.getExtension("WEBGL_draw_buffers");r&&(e.drawBuffers=(e,t)=>r.drawBuffersWEBGL(e,t))})(t),(r=t).dibvbi=r.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"),(e=>{e.mdibvbi=e.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")})(t),e.version>=2&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query_webgl2")),(e.version<2||!t.disjointTimerQueryExt)&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query")),(e=>{e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")})(t),_r(t).forEach((e=>{e.includes("lose_context")||e.includes("debug")||t.getExtension(e)}))}}},Cr=e=>xr.activeTexture(e),Er=(e,r)=>{xr.attachShader(Tr.programs[e],Tr.shaders[r])},Pr=(e,r)=>{xr.beginQuery(e,Tr.queries[r])},Ar=(e,r)=>{xr.disjointTimerQueryExt.beginQueryEXT(e,Tr.queries[r])},Sr=(e,r,t)=>{xr.bindAttribLocation(Tr.programs[e],r,or(t))},$r=(e,r)=>{35051==e?xr.currentPixelPackBufferBinding=r:35052==e&&(xr.currentPixelUnpackBufferBinding=r),xr.bindBuffer(e,Tr.buffers[r])},Wr=(e,r)=>{xr.bindFramebuffer(e,Tr.framebuffers[r])},Br=Wr,Or=(e,r)=>{xr.bindRenderbuffer(e,Tr.renderbuffers[r])},Lr=(e,r)=>{xr.bindSampler(e,Tr.samplers[r])},kr=(e,r)=>{xr.bindTexture(e,Tr.textures[r])},Fr=e=>{xr.bindVertexArray(Tr.vaos[e])},Dr=Fr,Ir=Fr,jr=Ir,Gr=(e,r,t,n)=>xr.blendColor(e,r,t,n),Ur=e=>xr.blendEquation(e),Mr=(e,r)=>xr.blendFunc(e,r),Nr=(e,r,t,n,a,o,i,s,c,u)=>xr.blitFramebuffer(e,r,t,n,a,o,i,s,c,u),Vr=(e,r,t,n)=>{Tr.currentContext.version>=2?t&&r?xr.bufferData(e,m,n,t,r):xr.bufferData(e,r,n):xr.bufferData(e,t?m.subarray(t,t+r):r,n)},Rr=(e,r,t,n)=>{Tr.currentContext.version>=2?t&&xr.bufferSubData(e,r,m,n,t):xr.bufferSubData(e,r,m.subarray(n,n+t))},Xr=e=>xr.checkFramebufferStatus(e),Yr=e=>xr.clear(e),Hr=Yr,Qr=(e,r,t,n)=>xr.clearColor(e,r,t,n),qr=Qr,zr=e=>xr.clearStencil(e),Jr=zr,Zr=(e,r,t)=>(t=Number(t),xr.clientWaitSync(Tr.syncs[e],r,t)),Kr=(e,r,t,n)=>{xr.colorMask(!!e,!!r,!!t,!!n)},et=e=>{xr.compileShader(Tr.shaders[e])},rt=(e,r,t,n,a,o,i,s)=>{if(Tr.currentContext.version>=2)return xr.currentPixelUnpackBufferBinding||!i?void xr.compressedTexImage2D(e,r,t,n,a,o,i,s):void xr.compressedTexImage2D(e,r,t,n,a,o,m,s,i);xr.compressedTexImage2D(e,r,t,n,a,o,s?m.subarray(s,s+i):null)},tt=(e,r,t,n,a,o,i,s,c)=>{if(Tr.currentContext.version>=2)return xr.currentPixelUnpackBufferBinding||!s?void xr.compressedTexSubImage2D(e,r,t,n,a,o,i,s,c):void xr.compressedTexSubImage2D(e,r,t,n,a,o,i,m,c,s);xr.compressedTexSubImage2D(e,r,t,n,a,o,i,c?m.subarray(c,c+s):null)},nt=(e,r,t,n,a)=>xr.copyBufferSubData(e,r,t,n,a),at=(e,r,t,n,a,o,i,s)=>xr.copyTexSubImage2D(e,r,t,n,a,o,i,s),ot=()=>{var e=Tr.getNewId(Tr.programs),r=xr.createProgram();return r.name=e,r.maxUniformLength=r.maxAttributeLength=r.maxUniformBlockNameLength=0,r.uniformIdCounter=1,Tr.programs[e]=r,e},it=e=>{var r=Tr.getNewId(Tr.shaders);return Tr.shaders[r]=xr.createShader(e),r},st=e=>xr.cullFace(e),ct=(e,r)=>{for(var t=0;t<e;t++){var n=g[r+4*t>>2],a=Tr.buffers[n];a&&(xr.deleteBuffer(a),a.name=0,Tr.buffers[n]=null,n==xr.currentPixelPackBufferBinding&&(xr.currentPixelPackBufferBinding=0),n==xr.currentPixelUnpackBufferBinding&&(xr.currentPixelUnpackBufferBinding=0))}},ut=(e,r)=>{for(var t=0;t<e;++t){var n=g[r+4*t>>2],a=Tr.framebuffers[n];a&&(xr.deleteFramebuffer(a),a.name=0,Tr.framebuffers[n]=null)}},lt=e=>{if(e){var r=Tr.programs[e];r?(xr.deleteProgram(r),r.name=0,Tr.programs[e]=null):Tr.recordError(1281)}},ft=(e,r)=>{for(var t=0;t<e;t++){var n=g[r+4*t>>2],a=Tr.queries[n];a&&(xr.deleteQuery(a),Tr.queries[n]=null)}},dt=(e,r)=>{for(var t=0;t<e;t++){var n=g[r+4*t>>2],a=Tr.queries[n];a&&(xr.disjointTimerQueryExt.deleteQueryEXT(a),Tr.queries[n]=null)}},mt=(e,r)=>{for(var t=0;t<e;t++){var n=g[r+4*t>>2],a=Tr.renderbuffers[n];a&&(xr.deleteRenderbuffer(a),a.name=0,Tr.renderbuffers[n]=null)}},vt=(e,r)=>{for(var t=0;t<e;t++){var n=g[r+4*t>>2],a=Tr.samplers[n];a&&(xr.deleteSampler(a),a.name=0,Tr.samplers[n]=null)}},ht=e=>{if(e){var r=Tr.shaders[e];r?(xr.deleteShader(r),Tr.shaders[e]=null):Tr.recordError(1281)}},gt=e=>{if(e){var r=Tr.syncs[e];r?(xr.deleteSync(r),r.name=0,Tr.syncs[e]=null):Tr.recordError(1281)}},pt=(e,r)=>{for(var t=0;t<e;t++){var n=g[r+4*t>>2],a=Tr.textures[n];a&&(xr.deleteTexture(a),a.name=0,Tr.textures[n]=null)}},yt=(e,r)=>{for(var t=0;t<e;t++){var n=g[r+4*t>>2];xr.deleteVertexArray(Tr.vaos[n]),Tr.vaos[n]=null}},bt=yt,wt=yt,xt=wt,_t=e=>{xr.depthMask(!!e)},Tt=e=>xr.disable(e),Ct=e=>{xr.disableVertexAttribArray(e)},Et=(e,r,t)=>{xr.drawArrays(e,r,t)},Pt=(e,r,t,n)=>{xr.drawArraysInstanced(e,r,t,n)},At=(e,r,t,n,a)=>{xr.dibvbi.drawArraysInstancedBaseInstanceWEBGL(e,r,t,n,a)},St=[],$t=(e,r)=>{for(var t=St[e],n=0;n<e;n++)t[n]=g[r+4*n>>2];xr.drawBuffers(t)},Wt=(e,r,t,n)=>{xr.drawElements(e,r,t,n)},Bt=Wt,Ot=(e,r,t,n,a)=>{xr.drawElementsInstanced(e,r,t,n,a)},Lt=(e,r,t,n,a,o,i)=>{xr.dibvbi.drawElementsInstancedBaseVertexBaseInstanceWEBGL(e,r,t,n,a,o,i)},kt=(e,r,t,n,a,o)=>{Wt(e,n,a,o)},Ft=e=>xr.enable(e),Dt=e=>{xr.enableVertexAttribArray(e)},It=e=>xr.endQuery(e),jt=e=>{xr.disjointTimerQueryExt.endQueryEXT(e)},Gt=(e,r)=>{var t=xr.fenceSync(e,r);if(t){var n=Tr.getNewId(Tr.syncs);return t.name=n,Tr.syncs[n]=t,n}return 0},Ut=()=>xr.finish(),Mt=()=>xr.flush(),Nt=(e,r,t,n)=>{xr.framebufferRenderbuffer(e,r,t,Tr.renderbuffers[n])},Vt=(e,r,t,n,a)=>{xr.framebufferTexture2D(e,r,t,Tr.textures[n],a)},Rt=e=>xr.frontFace(e),Xt=(e,r)=>{Tr.genObject(e,r,"createBuffer",Tr.buffers)},Yt=(e,r)=>{Tr.genObject(e,r,"createFramebuffer",Tr.framebuffers)},Ht=(e,r)=>{Tr.genObject(e,r,"createQuery",Tr.queries)},Qt=(e,r)=>{for(var t=0;t<e;t++){var n=xr.disjointTimerQueryExt.createQueryEXT();if(!n){for(Tr.recordError(1282);t<e;)g[r+4*t++>>2]=0;return}var a=Tr.getNewId(Tr.queries);n.name=a,Tr.queries[a]=n,g[r+4*t>>2]=a}},qt=(e,r)=>{Tr.genObject(e,r,"createRenderbuffer",Tr.renderbuffers)},zt=(e,r)=>{Tr.genObject(e,r,"createSampler",Tr.samplers)},Jt=(e,r)=>{Tr.genObject(e,r,"createTexture",Tr.textures)},Zt=(e,r)=>{Tr.genObject(e,r,"createVertexArray",Tr.vaos)},Kt=Zt,en=Zt,rn=e=>xr.generateMipmap(e),tn=(e,r,t)=>{t?g[t>>2]=xr.getBufferParameter(e,r):Tr.recordError(1281)},nn=()=>{var e=xr.getError()||Tr.lastError;return Tr.lastError=0,e},an=(e,r)=>{p[e>>2]=r;var t=p[e>>2];p[e+4>>2]=(r-t)/4294967296},on=function(){var e=_r(xr);return e=e.concat(e.map((e=>"GL_"+e)))},sn=(e,r,t)=>{if(r){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return void(0!=t&&1!=t&&Tr.recordError(1280));case 34814:case 36345:n=0;break;case 34466:var a=xr.getParameter(34467);n=a?a.length:0;break;case 33309:if(Tr.currentContext.version<2)return void Tr.recordError(1282);n=on().length;break;case 33307:case 33308:if(Tr.currentContext.version<2)return void Tr.recordError(1280);n=33307==e?3:0}if(void 0===n){var o=xr.getParameter(e);switch(typeof o){case"number":n=o;break;case"boolean":n=o?1:0;break;case"string":return void Tr.recordError(1280);case"object":if(null===o)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:n=0;break;default:return void Tr.recordError(1280)}else{if(o instanceof Float32Array||o instanceof Uint32Array||o instanceof Int32Array||o instanceof Array){for(var i=0;i<o.length;++i)switch(t){case 0:g[r+4*i>>2]=o[i];break;case 2:y[r+4*i>>2]=o[i];break;case 4:d[r+i]=o[i]?1:0}return}try{n=0|o.name}catch(r){return Tr.recordError(1280),void f("GL_INVALID_ENUM in glGet".concat(t,"v: Unknown object returned from WebGL getParameter(").concat(e,")! (error: ").concat(r,")"))}}break;default:return Tr.recordError(1280),void f("GL_INVALID_ENUM in glGet".concat(t,"v: Native code calling glGet").concat(t,"v(").concat(e,") and it returns ").concat(o," of type ").concat(typeof o,"!"))}}switch(t){case 1:an(r,n);break;case 0:g[r>>2]=n;break;case 2:y[r>>2]=n;break;case 4:d[r]=n?1:0}}else Tr.recordError(1281)},cn=(e,r)=>sn(e,r,2),un=(e,r,t,n)=>{var a=xr.getFramebufferAttachmentParameter(e,r,t);(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)&&(a=0|a.name),g[n>>2]=a},ln=(e,r)=>sn(e,r,0),fn=ln,dn=(e,r,t,n)=>{var a=xr.getProgramInfoLog(Tr.programs[e]);null===a&&(a="(unknown error)");var o=r>0&&n?rr(a,n,r):0;t&&(g[t>>2]=o)},mn=(e,r,t)=>{if(t)if(e>=Tr.counter)Tr.recordError(1281);else if(e=Tr.programs[e],35716==r){var n=xr.getProgramInfoLog(e);null===n&&(n="(unknown error)"),g[t>>2]=n.length+1}else if(35719==r){if(!e.maxUniformLength)for(var a=0;a<xr.getProgramParameter(e,35718);++a)e.maxUniformLength=Math.max(e.maxUniformLength,xr.getActiveUniform(e,a).name.length+1);g[t>>2]=e.maxUniformLength}else if(35722==r){if(!e.maxAttributeLength)for(a=0;a<xr.getProgramParameter(e,35721);++a)e.maxAttributeLength=Math.max(e.maxAttributeLength,xr.getActiveAttrib(e,a).name.length+1);g[t>>2]=e.maxAttributeLength}else if(35381==r){if(!e.maxUniformBlockNameLength)for(a=0;a<xr.getProgramParameter(e,35382);++a)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,xr.getActiveUniformBlockName(e,a).length+1);g[t>>2]=e.maxUniformBlockNameLength}else g[t>>2]=xr.getProgramParameter(e,r);else Tr.recordError(1281)},vn=(e,r,t)=>{if(t){var n,a=Tr.queries[e];n=Tr.currentContext.version<2?xr.disjointTimerQueryExt.getQueryObjectEXT(a,r):xr.getQueryParameter(a,r),an(t,"boolean"==typeof n?n?1:0:n)}else Tr.recordError(1281)},hn=vn,gn=vn,pn=(e,r,t)=>{if(t){var n,a=Tr.queries[e],o=xr.getQueryParameter(a,r);n="boolean"==typeof o?o?1:0:o,g[t>>2]=n}else Tr.recordError(1281)},yn=(e,r,t)=>{if(t){var n,a=Tr.queries[e],o=xr.disjointTimerQueryExt.getQueryObjectEXT(a,r);n="boolean"==typeof o?o?1:0:o,g[t>>2]=n}else Tr.recordError(1281)},bn=(e,r,t)=>{t?g[t>>2]=xr.getQuery(e,r):Tr.recordError(1281)},wn=(e,r,t)=>{t?g[t>>2]=xr.disjointTimerQueryExt.getQueryEXT(e,r):Tr.recordError(1281)},xn=(e,r,t)=>{t?g[t>>2]=xr.getRenderbufferParameter(e,r):Tr.recordError(1281)},_n=(e,r,t,n)=>{var a=xr.getShaderInfoLog(Tr.shaders[e]);null===a&&(a="(unknown error)");var o=r>0&&n?rr(a,n,r):0;t&&(g[t>>2]=o)},Tn=(e,r,t,n)=>{var a=xr.getShaderPrecisionFormat(e,r);g[t>>2]=a.rangeMin,g[t+4>>2]=a.rangeMax,g[n>>2]=a.precision},Cn=(e,r,t)=>{if(t)if(35716==r){var n=xr.getShaderInfoLog(Tr.shaders[e]);null===n&&(n="(unknown error)");var a=n?n.length+1:0;g[t>>2]=a}else if(35720==r){var o=xr.getShaderSource(Tr.shaders[e]),i=o?o.length+1:0;g[t>>2]=i}else g[t>>2]=xr.getShaderParameter(Tr.shaders[e],r);else Tr.recordError(1281)},En=e=>{var r=tr(e)+1,t=co(r);return t&&rr(e,t,r),t},Pn=e=>{var r=Tr.stringCache[e];if(!r){switch(e){case 7939:r=En(on().join(" "));break;case 7936:case 7937:case 37445:case 37446:var t=xr.getParameter(e);t||Tr.recordError(1280),r=t?En(t):0;break;case 7938:var n=xr.getParameter(7938);n=Tr.currentContext.version>=2?"OpenGL ES 3.0 (".concat(n,")"):"OpenGL ES 2.0 (".concat(n,")"),r=En(n);break;case 35724:var a=xr.getParameter(35724),o=a.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==o&&(3==o[1].length&&(o[1]=o[1]+"0"),a="OpenGL ES GLSL ES ".concat(o[1]," (").concat(a,")")),r=En(a);break;default:Tr.recordError(1280)}Tr.stringCache[e]=r}return r},An=Pn,Sn=(e,r)=>{if(Tr.currentContext.version<2)return Tr.recordError(1282),0;var t=Tr.stringiCache[e];if(t)return r<0||r>=t.length?(Tr.recordError(1281),0):t[r];if(7939===e){var n=on().map(En);return t=Tr.stringiCache[e]=n,r<0||r>=t.length?(Tr.recordError(1281),0):t[r]}return Tr.recordError(1280),0},$n=Sn,Wn=e=>"]"==e.slice(-1)&&e.lastIndexOf("["),Bn=(e,r)=>{if(r=or(r),e=Tr.programs[e]){(e=>{var r,t,n=e.uniformLocsById,a=e.uniformSizeAndIdsByName;if(!n)for(e.uniformLocsById=n={},e.uniformArrayNamesById={},r=0;r<xr.getProgramParameter(e,35718);++r){var o=xr.getActiveUniform(e,r),i=o.name,s=o.size,c=Wn(i),u=c>0?i.slice(0,c):i,l=e.uniformIdCounter;for(e.uniformIdCounter+=s,a[u]=[s,l],t=0;t<s;++t)n[l]=t,e.uniformArrayNamesById[l++]=u}})(e);var t=e.uniformLocsById,n=0,a=r,o=Wn(r);o>0&&(s=r.slice(o+1),n=parseInt(s)>>>0,a=r.slice(0,o));var i=e.uniformSizeAndIdsByName[a];if(i&&n<i[0]&&(t[n+=i[1]]=t[n]||xr.getUniformLocation(e,r)))return n}else Tr.recordError(1281);var s;return-1},On=(e,r,t)=>{for(var n=St[r],a=0;a<r;a++)n[a]=g[t+4*a>>2];xr.invalidateFramebuffer(e,n)},Ln=(e,r,t,n,a,o,i)=>{for(var s=St[r],c=0;c<r;c++)s[c]=g[t+4*c>>2];xr.invalidateSubFramebuffer(e,s,n,a,o,i)},kn=e=>xr.isSync(Tr.syncs[e]),Fn=e=>{var r=Tr.textures[e];return r?xr.isTexture(r):0},Dn=e=>xr.lineWidth(e),In=e=>{e=Tr.programs[e],xr.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},jn=(e,r,t,n,a,o)=>{xr.mdibvbi.multiDrawArraysInstancedBaseInstanceWEBGL(e,g,r>>2,g,t>>2,g,n>>2,p,a>>2,o)},Gn=(e,r,t,n,a,o,i,s)=>{xr.mdibvbi.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(e,g,r>>2,t,g,n>>2,g,a>>2,g,o>>2,p,i>>2,s)},Un=(e,r)=>{3317==e&&(Tr.unpackAlignment=r),xr.pixelStorei(e,r)},Mn=(e,r)=>{xr.disjointTimerQueryExt.queryCounterEXT(Tr.queries[e],r)},Nn=e=>xr.readBuffer(e),Vn=e=>0==(e-=5120)?d:1==e?m:2==e?v:4==e?g:6==e?y:5==e||28922==e||28520==e||30779==e||30782==e?p:h,Rn=(e,r)=>e>>>31-Math.clz32(r.BYTES_PER_ELEMENT),Xn=(e,r,t,n,a,o)=>{var i=Vn(e),s=(e=>({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1))(r)*i.BYTES_PER_ELEMENT,c=((e,r,t,n)=>{var a;return r*(e*t+(a=n)-1&-a)})(t,n,s,Tr.unpackAlignment);return i.subarray(Rn(a,i),Rn(a+c,i))},Yn=(e,r,t,n,a,o,i)=>{if(Tr.currentContext.version>=2){if(xr.currentPixelPackBufferBinding)return void xr.readPixels(e,r,t,n,a,o,i);var s=Vn(o),c=Rn(i,s);xr.readPixels(e,r,t,n,a,o,s,c)}else{var u=Xn(o,a,t,n,i);u?xr.readPixels(e,r,t,n,a,o,u):Tr.recordError(1280)}},Hn=(e,r,t,n)=>xr.renderbufferStorage(e,r,t,n),Qn=(e,r,t,n,a)=>xr.renderbufferStorageMultisample(e,r,t,n,a),qn=(e,r,t)=>{xr.samplerParameterf(Tr.samplers[e],r,t)},zn=(e,r,t)=>{xr.samplerParameteri(Tr.samplers[e],r,t)},Jn=(e,r,t)=>{var n=g[t>>2];xr.samplerParameteri(Tr.samplers[e],r,n)},Zn=(e,r,t,n)=>xr.scissor(e,r,t,n),Kn=(e,r,t,n)=>{var a=Tr.getSource(e,r,t,n);xr.shaderSource(Tr.shaders[e],a)},ea=(e,r,t)=>xr.stencilFunc(e,r,t),ra=(e,r,t,n)=>xr.stencilFuncSeparate(e,r,t,n),ta=e=>xr.stencilMask(e),na=(e,r)=>xr.stencilMaskSeparate(e,r),aa=(e,r,t)=>xr.stencilOp(e,r,t),oa=(e,r,t,n)=>xr.stencilOpSeparate(e,r,t,n),ia=(e,r,t,n,a,o,i,s,c)=>{if(Tr.currentContext.version>=2){if(xr.currentPixelUnpackBufferBinding)return void xr.texImage2D(e,r,t,n,a,o,i,s,c);if(c){var u=Vn(s),l=Rn(c,u);return void xr.texImage2D(e,r,t,n,a,o,i,s,u,l)}}var f=c?Xn(s,i,n,a,c):null;xr.texImage2D(e,r,t,n,a,o,i,s,f)},sa=(e,r,t)=>xr.texParameterf(e,r,t),ca=(e,r,t)=>{var n=y[t>>2];xr.texParameterf(e,r,n)},ua=(e,r,t)=>xr.texParameteri(e,r,t),la=(e,r,t)=>{var n=g[t>>2];xr.texParameteri(e,r,n)},fa=(e,r,t,n,a)=>xr.texStorage2D(e,r,t,n,a),da=(e,r,t,n,a,o,i,s,c)=>{if(Tr.currentContext.version>=2){if(xr.currentPixelUnpackBufferBinding)return void xr.texSubImage2D(e,r,t,n,a,o,i,s,c);if(c){var u=Vn(s);return void xr.texSubImage2D(e,r,t,n,a,o,i,s,u,Rn(c,u))}}var l=c?Xn(s,i,a,o,c):null;xr.texSubImage2D(e,r,t,n,a,o,i,s,l)},ma=e=>{var r=xr.currentProgram;if(r){var t=r.uniformLocsById[e];return"number"==typeof t&&(r.uniformLocsById[e]=t=xr.getUniformLocation(r,r.uniformArrayNamesById[e]+(t>0?"[".concat(t,"]"):""))),t}Tr.recordError(1282)},va=(e,r)=>{xr.uniform1f(ma(e),r)},ha=[],ga=(e,r,t)=>{if(Tr.currentContext.version>=2)r&&xr.uniform1fv(ma(e),y,t>>2,r);else{if(r<=288)for(var n=ha[r],a=0;a<r;++a)n[a]=y[t+4*a>>2];else n=y.subarray(t>>2,t+4*r>>2);xr.uniform1fv(ma(e),n)}},pa=(e,r)=>{xr.uniform1i(ma(e),r)},ya=[],ba=(e,r,t)=>{if(Tr.currentContext.version>=2)r&&xr.uniform1iv(ma(e),g,t>>2,r);else{if(r<=288)for(var n=ya[r],a=0;a<r;++a)n[a]=g[t+4*a>>2];else n=g.subarray(t>>2,t+4*r>>2);xr.uniform1iv(ma(e),n)}},wa=(e,r,t)=>{xr.uniform2f(ma(e),r,t)},xa=(e,r,t)=>{if(Tr.currentContext.version>=2)r&&xr.uniform2fv(ma(e),y,t>>2,2*r);else{if(r<=144)for(var n=ha[2*r],a=0;a<2*r;a+=2)n[a]=y[t+4*a>>2],n[a+1]=y[t+(4*a+4)>>2];else n=y.subarray(t>>2,t+8*r>>2);xr.uniform2fv(ma(e),n)}},_a=(e,r,t)=>{xr.uniform2i(ma(e),r,t)},Ta=(e,r,t)=>{if(Tr.currentContext.version>=2)r&&xr.uniform2iv(ma(e),g,t>>2,2*r);else{if(r<=144)for(var n=ya[2*r],a=0;a<2*r;a+=2)n[a]=g[t+4*a>>2],n[a+1]=g[t+(4*a+4)>>2];else n=g.subarray(t>>2,t+8*r>>2);xr.uniform2iv(ma(e),n)}},Ca=(e,r,t,n)=>{xr.uniform3f(ma(e),r,t,n)},Ea=(e,r,t)=>{if(Tr.currentContext.version>=2)r&&xr.uniform3fv(ma(e),y,t>>2,3*r);else{if(r<=96)for(var n=ha[3*r],a=0;a<3*r;a+=3)n[a]=y[t+4*a>>2],n[a+1]=y[t+(4*a+4)>>2],n[a+2]=y[t+(4*a+8)>>2];else n=y.subarray(t>>2,t+12*r>>2);xr.uniform3fv(ma(e),n)}},Pa=(e,r,t,n)=>{xr.uniform3i(ma(e),r,t,n)},Aa=(e,r,t)=>{if(Tr.currentContext.version>=2)r&&xr.uniform3iv(ma(e),g,t>>2,3*r);else{if(r<=96)for(var n=ya[3*r],a=0;a<3*r;a+=3)n[a]=g[t+4*a>>2],n[a+1]=g[t+(4*a+4)>>2],n[a+2]=g[t+(4*a+8)>>2];else n=g.subarray(t>>2,t+12*r>>2);xr.uniform3iv(ma(e),n)}},Sa=(e,r,t,n,a)=>{xr.uniform4f(ma(e),r,t,n,a)},$a=(e,r,t)=>{if(Tr.currentContext.version>=2)r&&xr.uniform4fv(ma(e),y,t>>2,4*r);else{if(r<=72){var n=ha[4*r],a=y;t>>=2;for(var o=0;o<4*r;o+=4){var i=t+o;n[o]=a[i],n[o+1]=a[i+1],n[o+2]=a[i+2],n[o+3]=a[i+3]}}else n=y.subarray(t>>2,t+16*r>>2);xr.uniform4fv(ma(e),n)}},Wa=(e,r,t,n,a)=>{xr.uniform4i(ma(e),r,t,n,a)},Ba=(e,r,t)=>{if(Tr.currentContext.version>=2)r&&xr.uniform4iv(ma(e),g,t>>2,4*r);else{if(r<=72)for(var n=ya[4*r],a=0;a<4*r;a+=4)n[a]=g[t+4*a>>2],n[a+1]=g[t+(4*a+4)>>2],n[a+2]=g[t+(4*a+8)>>2],n[a+3]=g[t+(4*a+12)>>2];else n=g.subarray(t>>2,t+16*r>>2);xr.uniform4iv(ma(e),n)}},Oa=(e,r,t,n)=>{if(Tr.currentContext.version>=2)r&&xr.uniformMatrix2fv(ma(e),!!t,y,n>>2,4*r);else{if(r<=72)for(var a=ha[4*r],o=0;o<4*r;o+=4)a[o]=y[n+4*o>>2],a[o+1]=y[n+(4*o+4)>>2],a[o+2]=y[n+(4*o+8)>>2],a[o+3]=y[n+(4*o+12)>>2];else a=y.subarray(n>>2,n+16*r>>2);xr.uniformMatrix2fv(ma(e),!!t,a)}},La=(e,r,t,n)=>{if(Tr.currentContext.version>=2)r&&xr.uniformMatrix3fv(ma(e),!!t,y,n>>2,9*r);else{if(r<=32)for(var a=ha[9*r],o=0;o<9*r;o+=9)a[o]=y[n+4*o>>2],a[o+1]=y[n+(4*o+4)>>2],a[o+2]=y[n+(4*o+8)>>2],a[o+3]=y[n+(4*o+12)>>2],a[o+4]=y[n+(4*o+16)>>2],a[o+5]=y[n+(4*o+20)>>2],a[o+6]=y[n+(4*o+24)>>2],a[o+7]=y[n+(4*o+28)>>2],a[o+8]=y[n+(4*o+32)>>2];else a=y.subarray(n>>2,n+36*r>>2);xr.uniformMatrix3fv(ma(e),!!t,a)}},ka=(e,r,t,n)=>{if(Tr.currentContext.version>=2)r&&xr.uniformMatrix4fv(ma(e),!!t,y,n>>2,16*r);else{if(r<=18){var a=ha[16*r],o=y;n>>=2;for(var i=0;i<16*r;i+=16){var s=n+i;a[i]=o[s],a[i+1]=o[s+1],a[i+2]=o[s+2],a[i+3]=o[s+3],a[i+4]=o[s+4],a[i+5]=o[s+5],a[i+6]=o[s+6],a[i+7]=o[s+7],a[i+8]=o[s+8],a[i+9]=o[s+9],a[i+10]=o[s+10],a[i+11]=o[s+11],a[i+12]=o[s+12],a[i+13]=o[s+13],a[i+14]=o[s+14],a[i+15]=o[s+15]}}else a=y.subarray(n>>2,n+64*r>>2);xr.uniformMatrix4fv(ma(e),!!t,a)}},Fa=e=>{e=Tr.programs[e],xr.useProgram(e),xr.currentProgram=e},Da=(e,r)=>xr.vertexAttrib1f(e,r),Ia=(e,r)=>{xr.vertexAttrib2f(e,y[r>>2],y[r+4>>2])},ja=(e,r)=>{xr.vertexAttrib3f(e,y[r>>2],y[r+4>>2],y[r+8>>2])},Ga=(e,r)=>{xr.vertexAttrib4f(e,y[r>>2],y[r+4>>2],y[r+8>>2],y[r+12>>2])},Ua=(e,r)=>{xr.vertexAttribDivisor(e,r)},Ma=(e,r,t,n,a)=>{xr.vertexAttribIPointer(e,r,t,n,a)},Na=(e,r,t,n,a,o)=>{xr.vertexAttribPointer(e,r,t,!!n,a,o)},Va=(e,r,t,n)=>xr.viewport(e,r,t,n),Ra=(e,r,t)=>{t=Number(t),xr.waitSync(Tr.syncs[e],r,t)},Xa=e=>{var r=(e-u.buffer.byteLength+65535)/65536;try{return u.grow(r),T(),1}catch(e){}},Ya={},Ha=()=>{if(!Ha.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:"./this.program"};for(var r in Ya)void 0===Ya[r]?delete e[r]:e[r]=Ya[r];var t=[];for(var r in e)t.push("".concat(r,"=").concat(e[r]));Ha.strings=t}return Ha.strings},Qa=e=>{I||(_=!0),((e,r)=>{throw r})(0,new F(e))},qa=(e,r)=>{Qa(e)},za=[null,[],[]],Ja=e=>e%4==0&&(e%100!=0||e%400==0),Za=[31,29,31,30,31,30,31,31,30,31,30,31],Ka=[31,28,31,30,31,30,31,31,30,31,30,31],eo=(e,r,t,n)=>{var a=p[n+40>>2],o={tm_sec:g[n>>2],tm_min:g[n+4>>2],tm_hour:g[n+8>>2],tm_mday:g[n+12>>2],tm_mon:g[n+16>>2],tm_year:g[n+20>>2],tm_wday:g[n+24>>2],tm_yday:g[n+28>>2],tm_isdst:g[n+32>>2],tm_gmtoff:g[n+36>>2],tm_zone:a?or(a):""},i=or(t),s={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var c in s)i=i.replace(new RegExp(c,"g"),s[c]);var u=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],l=["January","February","March","April","May","June","July","August","September","October","November","December"];function f(e,r,t){for(var n="number"==typeof e?e.toString():e||"";n.length<r;)n=t[0]+n;return n}function m(e,r){return f(e,r,"0")}function v(e,r){function t(e){return e<0?-1:e>0?1:0}var n;return 0===(n=t(e.getFullYear()-r.getFullYear()))&&0===(n=t(e.getMonth()-r.getMonth()))&&(n=t(e.getDate()-r.getDate())),n}function h(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function y(e){var r=((e,r)=>{for(var t=new Date(e.getTime());r>0;){var n=Ja(t.getFullYear()),a=t.getMonth(),o=(n?Za:Ka)[a];if(!(r>o-t.getDate()))return t.setDate(t.getDate()+r),t;r-=o-t.getDate()+1,t.setDate(1),a<11?t.setMonth(a+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return t})(new Date(e.tm_year+1900,0,1),e.tm_yday),t=new Date(r.getFullYear(),0,4),n=new Date(r.getFullYear()+1,0,4),a=h(t),o=h(n);return v(a,r)<=0?v(o,r)<=0?r.getFullYear()+1:r.getFullYear():r.getFullYear()-1}var b={"%a":e=>u[e.tm_wday].substring(0,3),"%A":e=>u[e.tm_wday],"%b":e=>l[e.tm_mon].substring(0,3),"%B":e=>l[e.tm_mon],"%C":e=>m((e.tm_year+1900)/100|0,2),"%d":e=>m(e.tm_mday,2),"%e":e=>f(e.tm_mday,2," "),"%g":e=>y(e).toString().substring(2),"%G":y,"%H":e=>m(e.tm_hour,2),"%I":e=>{var r=e.tm_hour;return 0==r?r=12:r>12&&(r-=12),m(r,2)},"%j":e=>m(e.tm_mday+((e,r)=>{for(var t=0,n=0;n<=r;t+=e[n++]);return t})(Ja(e.tm_year+1900)?Za:Ka,e.tm_mon-1),3),"%m":e=>m(e.tm_mon+1,2),"%M":e=>m(e.tm_min,2),"%n":()=>"\n","%p":e=>e.tm_hour>=0&&e.tm_hour<12?"AM":"PM","%S":e=>m(e.tm_sec,2),"%t":()=>"\t","%u":e=>e.tm_wday||7,"%U":e=>{var r=e.tm_yday+7-e.tm_wday;return m(Math.floor(r/7),2)},"%V":e=>{var r=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&r++,r){if(53==r){var t=(e.tm_wday+371-e.tm_yday)%7;4==t||3==t&&Ja(e.tm_year)||(r=1)}}else{r=52;var n=(e.tm_wday+7-e.tm_yday-1)%7;(4==n||5==n&&Ja(e.tm_year%400-1))&&r++}return m(r,2)},"%w":e=>e.tm_wday,"%W":e=>{var r=e.tm_yday+7-(e.tm_wday+6)%7;return m(Math.floor(r/7),2)},"%y":e=>(e.tm_year+1900).toString().substring(2),"%Y":e=>e.tm_year+1900,"%z":e=>{var r=e.tm_gmtoff,t=r>=0;return r=(r=Math.abs(r)/60)/60*100+r%60,(t?"+":"-")+String("0000"+r).slice(-4)},"%Z":e=>e.tm_zone,"%%":()=>"%"};for(var c in i=i.replace(/%%/g,"\0\0"),b)i.includes(c)&&(i=i.replace(new RegExp(c,"g"),b[c](o)));i=i.replace(/\0\0/g,"%");var w,x,_,T,C,E,P,A,S=(w=i,x=!1,T=_>0?_:tr(w)+1,C=new Array(T),E=er(w,C,0,C.length),x&&(C.length=E),C);return S.length>r?0:(P=S,A=e,d.set(P,A),S.length-1)};V=a.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},(()=>{for(var e=new Array(256),r=0;r<256;++r)e[r]=String.fromCharCode(r);R=e})(),X=a.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Object.assign(we.prototype,{isAliasOf(e){if(!(this instanceof we))return!1;if(!(e instanceof we))return!1;var r=this.$$.ptrType.registeredClass,t=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,a=e.$$.ptr;r.baseClass;)t=r.upcast(t),r=r.baseClass;for(;n.baseClass;)a=n.upcast(a),n=n.baseClass;return r===n&&t===a},clone(){if(this.$$.ptr||ae(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,r=be(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return r.$$.count.value+=1,r.$$.deleteScheduled=!1,r},delete(){this.$$.ptr||ae(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&K("Object already scheduled for deletion"),ie(this),se(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||ae(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&K("Object already scheduled for deletion"),de.push(this),1===de.length&&re&&re(me),this.$$.deleteScheduled=!0,this}}),a.getInheritedInstanceCount=le,a.getLiveInheritedInstances=fe,a.flushPendingDeletes=me,a.setDelayFunction=ve,Object.assign($e.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){var r;null===(r=this.rawDestructor)||void 0===r||r.call(this,e)},argPackAdvance:ne,readValueFromPointer:N,fromWireType:ye}),Be=a.UnboundTypeError=(yr=Error,(wr=xe(br="UnboundTypeError",(function(e){this.name=br,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}))).prototype=Object.create(yr.prototype),wr.prototype.constructor=wr,wr.prototype.toString=function(){return void 0===this.message?this.name:"".concat(this.name,": ").concat(this.message)},wr),Xe.push(0,1,void 0,1,null,1,!0,1,!1,1),a.count_emval_handles=He;for(var ro=0;ro<32;++ro)St.push(new Array(ro));var to=new Float32Array(288);for(ro=0;ro<288;++ro)ha[ro]=to.subarray(0,ro);var no=new Int32Array(288);for(ro=0;ro<288;++ro)ya[ro]=no.subarray(0,ro);var ao,oo={ob:()=>{$("")},o:e=>{var r=U[e];delete U[e];var t=r.rawConstructor,n=r.rawDestructor,a=r.fields,o=a.map((e=>e.getterReturnType)).concat(a.map((e=>e.setterArgumentType)));z([e],o,(e=>{var o={};return a.forEach(((r,t)=>{var n=r.fieldName,i=e[t],s=r.getter,c=r.getterContext,u=e[t+a.length],l=r.setter,f=r.setterContext;o[n]={read:e=>i.fromWireType(s(c,e)),write:(e,r)=>{var t=[];l(f,e,u.toWireType(t,r)),M(t)}}})),[{name:r.name,fromWireType:e=>{var r={};for(var t in o)r[t]=o[t].read(e);return n(e),r},toWireType:(e,r)=>{for(var a in o)if(!(a in r))throw new TypeError('Missing field: "'.concat(a,'"'));var i=t();for(a in o)o[a].write(i,r[a]);return null!==e&&e.push(n,i),i},argPackAdvance:ne,readValueFromPointer:N,destructorFunction:n}]}))},O:(e,r,t,n,a)=>{var o=-1!=(r=Z(r)).indexOf("u");ee(e,{name:r,fromWireType:e=>e,toWireType:function(e,r){if("bigint"!=typeof r&&"number"!=typeof r)throw new TypeError('Cannot convert "'.concat(J(r),'" to ').concat(this.name));return"number"==typeof r&&(r=BigInt(r)),r},argPackAdvance:ne,readValueFromPointer:te(r,t,!o),destructorFunction:null})},bb:(e,r,t,n)=>{ee(e,{name:r=Z(r),fromWireType:function(e){return!!e},toWireType:function(e,r){return r?t:n},argPackAdvance:ne,readValueFromPointer:function(e){return this.fromWireType(m[e])},destructorFunction:null})},g:(e,r,t,n,o,i,s,c,u,l,f,d,m)=>{f=Z(f),i=ke(o,i),c&&(c=ke(s,c)),l&&(l=ke(u,l)),m=ke(d,m);var v=(e=>{if(void 0===e)return"_unknown";var r=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return r>=48&&r<=57?"_".concat(e):e})(f);Te(v,(function(){De("Cannot construct ".concat(f," due to unbound types"),[n])})),z([e,r,t],n?[n]:[],(r=>{var t,o;r=r[0],o=n?(t=r.registeredClass).instancePrototype:we.prototype;var s=xe(f,(function(){if(Object.getPrototypeOf(this)!==u)throw new X("Use 'new' to construct "+f);if(void 0===g.constructor_body)throw new X(f+" has no accessible constructor");for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];var n=g.constructor_body[r.length];if(void 0===n)throw new X("Tried to invoke ctor of ".concat(f," with invalid number of parameters (").concat(r.length,") - expected (").concat(Object.keys(g.constructor_body).toString(),") parameters instead!"));return n.apply(this,r)})),u=Object.create(o,{constructor:{value:s}});s.prototype=u;var d,h,g=new Ce(f,s,u,m,t,i,c,l);g.baseClass&&(null!==(h=(d=g.baseClass).__derivedClasses)&&void 0!==h||(d.__derivedClasses=[]),g.baseClass.__derivedClasses.push(g));var p=new $e(f,g,!0,!1,!1),y=new $e(f+"*",g,!1,!1,!1),b=new $e(f+" const*",g,!1,!0,!1);return ue[e]={pointerType:y,constPointerType:b},((e,r,t)=>{a.hasOwnProperty(e)||q("Replacing nonexistent public symbol"),void 0!==a[e].overloadTable&&void 0!==t?a[e].overloadTable[t]=r:(a[e]=r,a[e].argCount=t)})(v,s),[p,y,b]}))},ba:(e,r,t,n,a,o,i,s)=>{var c=Me(t,n);r=Z(r),r=Ne(r),o=ke(a,o),z([],[e],(e=>{e=e[0];var n="".concat(e.name,".").concat(r);function a(){De("Cannot call ".concat(n," due to unbound types"),c)}r.startsWith("@@")&&(r=Symbol[r.substring(2)]);var u=e.registeredClass.constructor;return void 0===u[r]?(a.argCount=t-1,u[r]=a):(_e(u,r,n),u[r].overloadTable[t-1]=a),z([],c,(a=>{var c=[a[0],null].concat(a.slice(1)),l=Ge(n,c,null,o,i,s);if(void 0===u[r].overloadTable?(l.argCount=t-1,u[r]=l):u[r].overloadTable[t-1]=l,e.registeredClass.__derivedClasses)for(var f of e.registeredClass.__derivedClasses)f.constructor.hasOwnProperty(r)||(f.constructor[r]=l);return[]})),[]}))},u:(e,r,t,n,a,o)=>{var i=Me(r,t);a=ke(n,a),z([],[e],(e=>{e=e[0];var t="constructor ".concat(e.name);if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[r-1])throw new X("Cannot register multiple constructors with identical number of parameters (".concat(r-1,") for class '").concat(e.name,"'! Overload resolution is currently only performed using the parameter count, not actual type info!"));return e.registeredClass.constructor_body[r-1]=()=>{De("Cannot construct ".concat(e.name," due to unbound types"),i)},z([],i,(n=>(n.splice(1,0,null),e.registeredClass.constructor_body[r-1]=Ge(t,n,null,a,o),[]))),[]}))},a:(e,r,t,n,a,o,i,s,c)=>{var u=Me(t,n);r=Z(r),r=Ne(r),o=ke(a,o),z([],[e],(e=>{e=e[0];var n="".concat(e.name,".").concat(r);function a(){De("Cannot call ".concat(n," due to unbound types"),u)}r.startsWith("@@")&&(r=Symbol[r.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(r);var l=e.registeredClass.instancePrototype,f=l[r];return void 0===f||void 0===f.overloadTable&&f.className!==e.name&&f.argCount===t-2?(a.argCount=t-2,a.className=e.name,l[r]=a):(_e(l,r,n),l[r].overloadTable[t-2]=a),z([],u,(a=>{var s=Ge(n,a,e,o,i,c);return void 0===l[r].overloadTable?(s.argCount=t-2,l[r]=s):l[r].overloadTable[t-2]=s,[]})),[]}))},c:(e,r,t,n,a,o,i,s,c,u)=>{r=Z(r),a=ke(n,a),z([],[e],(e=>{e=e[0];var n="".concat(e.name,".").concat(r),l={get(){De("Cannot access ".concat(n," due to unbound types"),[t,i])},enumerable:!0,configurable:!0};return l.set=c?()=>De("Cannot access ".concat(n," due to unbound types"),[t,i]):e=>K(n+" is a read-only property"),Object.defineProperty(e.registeredClass.instancePrototype,r,l),z([],c?[t,i]:[t],(t=>{var i=t[0],l={get(){var r=Ve(this,e,n+" getter");return i.fromWireType(a(o,r))},enumerable:!0};if(c){c=ke(s,c);var f=t[1];l.set=function(r){var t=Ve(this,e,n+" setter"),a=[];c(u,t,f.toWireType(a,r)),M(a)}}return Object.defineProperty(e.registeredClass.instancePrototype,r,l),[]})),[]}))},ab:ze,l:(e,r,t,n)=>{function a(){}r=Z(r),a.values={},ee(e,{name:r,constructor:a,fromWireType:function(e){return this.constructor.values[e]},toWireType:(e,r)=>r.value,argPackAdvance:ne,readValueFromPointer:Je(r,t,n),destructorFunction:null}),Te(r,a)},b:(e,r,t)=>{var n=Ze(e,"enum");r=Z(r);var a=n.constructor,o=Object.create(n.constructor.prototype,{value:{value:t},constructor:{value:xe("".concat(n.name,"_").concat(r),(function(){}))}});a.values[t]=o,a[r]=o},N:(e,r,t)=>{ee(e,{name:r=Z(r),fromWireType:e=>e,toWireType:(e,r)=>r,argPackAdvance:ne,readValueFromPointer:Ke(r,t),destructorFunction:null})},z:(e,r,t,n,a)=>{r=Z(r);var o=e=>e;if(0===n){var i=32-8*t;o=e=>e<<i>>>i}var s=r.includes("unsigned");ee(e,{name:r,fromWireType:o,toWireType:s?function(e,r){return this.name,r>>>0}:function(e,r){return this.name,r},argPackAdvance:ne,readValueFromPointer:te(r,t,0!==n),destructorFunction:null})},s:(e,r,t)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][r];function a(e){var r=p[e>>2],t=p[e+4>>2];return new n(d.buffer,t,r)}ee(e,{name:t=Z(t),fromWireType:a,argPackAdvance:ne,readValueFromPointer:a},{ignoreDuplicateRegistrations:!0})},x:(e,r)=>{ze(e)},J:(e,r,t,n,a,o,i,s,c,u,l,f)=>{t=Z(t),o=ke(a,o),s=ke(i,s),u=ke(c,u),f=ke(l,f),z([e],[r],(e=>(e=e[0],[new $e(t,e.registeredClass,!1,!1,!0,e,n,o,s,u,f)])))},M:(e,r)=>{var t="std::string"===(r=Z(r));ee(e,{name:r,fromWireType(e){var r,n=p[e>>2],a=e+4;if(t)for(var o=a,i=0;i<=n;++i){var s=a+i;if(i==n||0==m[s]){var c=or(o,s-o);void 0===r?r=c:(r+=String.fromCharCode(0),r+=c),o=s+1}}else{var u=new Array(n);for(i=0;i<n;++i)u[i]=String.fromCharCode(m[a+i]);r=u.join("")}return uo(e),r},toWireType(e,r){var n;r instanceof ArrayBuffer&&(r=new Uint8Array(r));var a="string"==typeof r;a||r instanceof Uint8Array||r instanceof Uint8ClampedArray||r instanceof Int8Array||K("Cannot pass non-string to std::string"),n=t&&a?tr(r):r.length;var o=co(4+n+1),i=o+4;if(p[o>>2]=n,t&&a)rr(r,i,n+1);else if(a)for(var s=0;s<n;++s){var c=r.charCodeAt(s);c>255&&(uo(i),K("String has UTF-16 code units that do not fit in 8 bits")),m[i+s]=c}else for(s=0;s<n;++s)m[i+s]=r[s];return null!==e&&e.push(uo,o),o},argPackAdvance:ne,readValueFromPointer:N,destructorFunction(e){uo(e)}})},G:(e,r,t)=>{var n,a,o,i;t=Z(t),2===r?(n=sr,a=cr,i=ur,o=e=>h[e>>1]):4===r&&(n=lr,a=fr,i=dr,o=e=>p[e>>2]),ee(e,{name:t,fromWireType:e=>{for(var t,a=p[e>>2],i=e+4,s=0;s<=a;++s){var c=e+4+s*r;if(s==a||0==o(c)){var u=n(i,c-i);void 0===t?t=u:(t+=String.fromCharCode(0),t+=u),i=c+r}}return uo(e),t},toWireType:(e,n)=>{"string"!=typeof n&&K("Cannot pass non-string to C++ string type ".concat(t));var o=i(n),s=co(4+o+r);return p[s>>2]=o/r,a(n,s+4,o+r),null!==e&&e.push(uo,s),s},argPackAdvance:ne,readValueFromPointer:N,destructorFunction(e){uo(e)}})},dd:(e,r)=>{ze(e)},p:(e,r,t,n,a,o)=>{U[e]={name:Z(r),rawConstructor:ke(t,n),rawDestructor:ke(a,o),fields:[]}},e:(e,r,t,n,a,o,i,s,c,u)=>{U[e].fields.push({fieldName:Z(r),getterReturnType:t,getter:ke(n,a),getterContext:o,setterArgumentType:i,setter:ke(s,c),setterContext:u})},cb:(e,r)=>{ee(e,{isVoid:!0,name:r=Z(r),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,r)=>{}})},mb:()=>1,eb:()=>{throw 1/0},E:(e,r,t)=>(e=Qe.toValue(e),r=Ze(r,"emval::as"),mr(r,t,e)),A:(e,r,t,n)=>(e=vr[e])(null,r=Qe.toValue(r),t,n),m:(e,r,t,n,a)=>(e=vr[e])(r=Qe.toValue(r),r[t=gr(t)],n,a),d:Ye,Q:e=>0===e?Qe.toHandle(pr()):(e=gr(e),Qe.toHandle(pr()[e])),j:(e,r,t)=>{var n=((e,r)=>{for(var t=new Array(e),n=0;n<e;++n)t[n]=Ze(p[r+4*n>>2],"parameter "+n);return t})(e,r),a=n.shift();e--;var o="return function (obj, func, destructorsRef, args) {\n",i=0,s=[];0===t&&s.push("obj");for(var c=["retType"],u=[a],l=0;l<e;++l)s.push("arg"+l),c.push("argType"+l),u.push(n[l]),o+=" var arg".concat(l," = argType").concat(l,".readValueFromPointer(args").concat(i?"+"+i:"",");\n"),i+=n[l].argPackAdvance;o+=" var rv = ".concat(1===t?"new func":"func.call","(").concat(s.join(", "),");\n"),a.isVoid||(c.push("emval_returnValue"),u.push(mr),o+=" return emval_returnValue(retType, destructorsRef, rv);\n"),o+="};\n",c.push(o);var f,d,m=je(Function,c)(...u),v="methodCaller<(".concat(n.map((e=>e.name)).join(", "),") => ").concat(a.name,">");return f=xe(v,m),d=vr.length,vr.push(f),d},n:e=>(e=gr(e),Qe.toHandle(a[e])),H:(e,r)=>(e=Qe.toValue(e),r=Qe.toValue(r),Qe.toHandle(e[r])),r:e=>{e>9&&(Xe[e+1]+=1)},$a:()=>Qe.toHandle([]),D:e=>Qe.toHandle(gr(e)),i:e=>{var r=Qe.toValue(e);M(r),Ye(e)},t:(e,r)=>{var t=(e=Ze(e,"_emval_take_value")).readValueFromPointer(r);return Qe.toHandle(t)},hb:function(e,r){var t;e=(t=e)<-9007199254740992||t>9007199254740992?NaN:Number(t);var n=new Date(1e3*e);g[r>>2]=n.getUTCSeconds(),g[r+4>>2]=n.getUTCMinutes(),g[r+8>>2]=n.getUTCHours(),g[r+12>>2]=n.getUTCDate(),g[r+16>>2]=n.getUTCMonth(),g[r+20>>2]=n.getUTCFullYear()-1900,g[r+24>>2]=n.getUTCDay();var a=Date.UTC(n.getUTCFullYear(),0,1,0,0,0,0),o=(n.getTime()-a)/864e5|0;g[r+28>>2]=o},gb:(e,r,t,n)=>{var a=(new Date).getFullYear(),o=new Date(a,0,1),i=new Date(a,6,1),s=o.getTimezoneOffset(),c=i.getTimezoneOffset(),u=Math.max(s,c);p[e>>2]=60*u,g[r>>2]=Number(s!=c);var l=e=>e.toLocaleTimeString(void 0,{hour12:!1,timeZoneName:"short"}).split(" ")[1],f=l(o),d=l(i);c<s?(rr(f,t,17),rr(d,n,17)):(rr(f,n,17),rr(d,t,17))},L:e=>cancelAnimationFrame(e),R:()=>Date.now(),lb:Ue,ad:Cr,bd:Er,Gb:Pr,Ab:Ar,cd:Sr,ed:$r,cc:Br,dc:Or,Mb:Lr,fd:kr,yc:Dr,Bc:jr,gd:Gr,hd:Ur,id:Mr,Yb:Nr,jd:Vr,kd:Rr,ec:Xr,ld:Hr,md:qr,nd:Jr,Vb:Zr,T:Kr,U:et,V:rt,W:tt,Xb:nt,X:at,Y:ot,Z:it,_:st,$:ct,fc:ut,aa:lt,Hb:ft,Bb:dt,gc:mt,Nb:vt,ca:ht,Wb:gt,da:pt,zc:bt,Cc:xt,ea:_t,fa:Tt,ga:Ct,ha:Et,wc:Pt,tc:At,rc:$t,ia:Bt,xc:Ot,uc:Lt,lc:kt,ja:Ft,ka:Dt,Ib:It,Cb:jt,Sb:Gt,la:Ut,ma:Mt,hc:Nt,ic:Vt,na:Rt,oa:Xt,jc:Yt,Jb:Ht,Db:Qt,kc:qt,Ob:zt,pa:Jt,vc:Kt,Dc:en,_b:rn,qa:tn,ra:nn,sa:cn,$b:un,ta:fn,ua:dn,va:mn,xb:hn,yb:gn,Kb:pn,Eb:yn,Lb:bn,Fb:wn,ac:xn,wa:_n,ub:Tn,xa:Cn,ya:An,Ac:$n,za:Bn,vb:On,wb:Ln,Tb:kn,Aa:Fn,Ba:Dn,Ca:In,pc:jn,qc:Gn,Da:Un,zb:Mn,sc:Nn,Ea:Yn,bc:Hn,Zb:Qn,Pb:qn,Qb:zn,Rb:Jn,Fa:Zn,Ga:Kn,Ha:ea,Ia:ra,Ja:ta,Ka:na,La:aa,Ma:oa,Na:ia,Oa:sa,Pa:ca,Qa:ua,Ra:la,mc:fa,Sa:da,Ta:va,Ua:ga,Yc:pa,Zc:ba,_c:wa,$c:xa,Xc:_a,Wc:Ta,Vc:Ca,Uc:Ea,Tc:Pa,Sc:Aa,Rc:Sa,Qc:$a,Ec:Wa,Fc:Ba,Gc:Oa,Hc:La,Ic:ka,Jc:Fa,Kc:Da,Lc:Ia,Mc:ja,Nc:Ga,nc:Ua,oc:Ma,Oc:Na,Pc:Va,Ub:Ra,C:(e,r)=>requestAnimationFrame((t=>Le(e)(t,r))),fb:e=>{var r=m.length,t=2147483648;if((e>>>=0)>t)return!1;for(var n,a,o=1;o<=4;o*=2){var i=r*(1+.2/o);i=Math.min(i,e+100663296);var s=Math.min(t,(n=Math.max(e,i))+((a=65536)-n%a)%a);if(Xa(s))return!0}return!1},_a:e=>Tr.makeContextCurrent(e)?0:-5,jb:(e,r)=>{var t=0;return Ha().forEach(((n,a)=>{var o=r+t;p[e+4*a>>2]=o,((e,r)=>{for(var t=0;t<e.length;++t)d[r++]=e.charCodeAt(t);d[r]=0})(n,o),t+=n.length+1})),0},kb:(e,r)=>{var t=Ha();p[e>>2]=t.length;var n=0;return t.forEach((e=>n+=e.length+1)),p[r>>2]=n,0},pb:qa,nb:e=>52,ib:function(e,r,t,n){return 70},P:(e,r,t,n)=>{for(var a,o,i,s=0,c=0;c<t;c++){var u=p[r>>2],d=p[r+4>>2];r+=8;for(var v=0;v<d;v++)a=e,o=m[u+v],i=void 0,i=za[a],0===o||10===o?((1===a?l:f)(ar(i,0)),i.length=0):i.push(o);s+=d}return p[n>>2]=s,0},Za:Wr,Wa:Yr,Ya:Qr,Xa:zr,F:ln,K:Pn,Va:Sn,f:function(e,r){var t=G();try{return Le(e)(r)}catch(e){if(j(t),e!==e+0)throw e;lo(1,0)}},q:function(e,r,t){var n=G();try{return Le(e)(r,t)}catch(e){if(j(n),e!==e+0)throw e;lo(1,0)}},k:function(e,r,t,n){var a=G();try{return Le(e)(r,t,n)}catch(e){if(j(a),e!==e+0)throw e;lo(1,0)}},B:function(e,r,t,n,a){var o=G();try{return Le(e)(r,t,n,a)}catch(e){if(j(o),e!==e+0)throw e;lo(1,0)}},qb:function(e,r,t,n,a,o){var i=G();try{return Le(e)(r,t,n,a,o)}catch(e){if(j(i),e!==e+0)throw e;lo(1,0)}},tb:function(e,r,t,n,a,o,i){var s=G();try{return Le(e)(r,t,n,a,o,i)}catch(e){if(j(s),e!==e+0)throw e;lo(1,0)}},S:function(e,r,t,n,a,o,i,s){var c=G();try{return Le(e)(r,t,n,a,o,i,s)}catch(e){if(j(c),e!==e+0)throw e;lo(1,0)}},I:function(e){var r=G();try{Le(e)()}catch(e){if(j(r),e!==e+0)throw e;lo(1,0)}},h:function(e,r){var t=G();try{Le(e)(r)}catch(e){if(j(t),e!==e+0)throw e;lo(1,0)}},y:function(e,r,t){var n=G();try{Le(e)(r,t)}catch(e){if(j(n),e!==e+0)throw e;lo(1,0)}},v:function(e,r,t,n){var a=G();try{Le(e)(r,t,n)}catch(e){if(j(a),e!==e+0)throw e;lo(1,0)}},w:function(e,r,t,n,a){var o=G();try{Le(e)(r,t,n,a)}catch(e){if(j(o),e!==e+0)throw e;lo(1,0)}},rb:function(e,r,t,n,a,o,i){var s=G();try{Le(e)(r,t,n,a,o,i)}catch(e){if(j(s),e!==e+0)throw e;lo(1,0)}},sb:function(e,r,t,n,a,o,i,s,c,u){var l=G();try{Le(e)(r,t,n,a,o,i,s,c,u)}catch(e){if(j(l),e!==e+0)throw e;lo(1,0)}},db:(e,r,t,n,a)=>eo(e,r,t,n)},io=function(){var e,r,n,o,i={a:oo};function s(e,r){var t;return io=e.exports,u=io.od,T(),We=io.sd,t=io.pd,E.unshift(t),function(e){if(0==--A&&S){var r=S;S=null,r()}}(),io}if(A++,a.instantiateWasm)try{return a.instantiateWasm(i,s)}catch(e){f("Module.instantiateWasm callback failed with error: ".concat(e)),t(e)}return W||(W=O()),(e=c,r=W,n=i,o=function(e){s(e.instance)},e||"function"!=typeof WebAssembly.instantiateStreaming||B(r)||"function"!=typeof fetch?k(r,n,o):fetch(r,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,n).then(o,(function(e){return f("wasm streaming compile failed: ".concat(e)),f("falling back to ArrayBuffer instantiation"),k(r,n,o)}))))).catch(t),{}}(),so=e=>(so=io.qd)(e),co=a._malloc=e=>(co=a._malloc=io.rd)(e),uo=a._free=e=>(uo=a._free=io.td)(e),lo=(e,r)=>(lo=io.ud)(e,r),fo=e=>(fo=io.vd)(e),mo=()=>(mo=io.wd)();function vo(){A>0||(D(C),A>0||ao||(ao=!0,a.calledRun=!0,_||(D(E),r(a),D(P))))}return a.GL=Tr,S=function e(){ao||vo(),ao||(S=e)},vo(),o});export{r as default};
1
+ var e,r=(e=import.meta.url,function(){var r,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=Object.assign({},n),o=new Promise(((e,n)=>{r=e,t=n})),i=Object.assign({},a),s="";"undefined"!=typeof document&&document.currentScript&&(s=document.currentScript.src),e&&(s=e),s=s.startsWith("blob:")?"":s.substr(0,s.replace(/[?#].*/,"").lastIndexOf("/")+1);var c,u,l=a.print||console.log.bind(console),f=a.printErr||console.error.bind(console);Object.assign(a,i),i=null;var d,m,v,h,g,p,y,b,w,x,_=!1;function T(){var e=u.buffer;d=new Int8Array(e),v=new Int16Array(e),m=new Uint8Array(e),h=new Uint16Array(e),g=new Int32Array(e),p=new Uint32Array(e),y=new Float32Array(e),x=new Float64Array(e),b=new BigInt64Array(e),w=new BigUint64Array(e)}var C=[],E=[],P=[],A=0,S=null;function $(e){var r;null===(r=a.onAbort)||void 0===r||r.call(a,e),f(e="Aborted("+e+")"),_=!0,e+=". Build with -sASSERTIONS for more info.";var n=new WebAssembly.RuntimeError(e);throw t(n),n}var W,B=e=>e.startsWith("data:application/octet-stream;base64,");function O(){if(a.locateFile){var e="web-renderer-release.wasm";return B(e)?e:(r=e,a.locateFile?a.locateFile(r,s):s+r)}var r;return new URL("web-renderer-release.wasm",import.meta.url).href}function L(e){if(e==W&&c)return new Uint8Array(c);throw"both async and sync fetching of the wasm failed"}function k(e,r,t){return function(e){return"function"==typeof fetch?fetch(e,{credentials:"same-origin"}).then((r=>{if(!r.ok)throw"failed to load wasm binary file at '".concat(e,"'");return r.arrayBuffer()})).catch((()=>L(e))):Promise.resolve().then((()=>L(e)))}(e).then((e=>WebAssembly.instantiate(e,r))).then(t,(e=>{f("failed to asynchronously prepare wasm: ".concat(e)),$(e)}))}function F(e){this.name="ExitStatus",this.message="Program terminated with exit(".concat(e,")"),this.status=e}var D=e=>{for(;e.length>0;)e.shift()(a)},I=a.noExitRuntime||!0,j=e=>fo(e),G=()=>mo(),U={},M=e=>{for(;e.length;){var r=e.pop();e.pop()(r)}};function N(e){return this.fromWireType(p[e>>2])}var V,R,X,Y={},H={},Q={},q=e=>{throw new V(e)},z=(e,r,t)=>{function n(r){var n=t(r);n.length!==e.length&&q("Mismatched type converter count");for(var a=0;a<e.length;++a)ee(e[a],n[a])}e.forEach((function(e){Q[e]=r}));var a=new Array(r.length),o=[],i=0;r.forEach(((e,r)=>{H.hasOwnProperty(e)?a[r]=H[e]:(o.push(e),Y.hasOwnProperty(e)||(Y[e]=[]),Y[e].push((()=>{a[r]=H[e],++i===o.length&&n(a)})))})),0===o.length&&n(a)},J=e=>{if(null===e)return"null";var r=typeof e;return"object"===r||"array"===r||"function"===r?e.toString():""+e},Z=e=>{for(var r="",t=e;m[t];)r+=R[m[t++]];return r},K=e=>{throw new X(e)};function ee(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in r))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=r.name;if(e||K('type "'.concat(n,'" must have a positive integer typeid pointer')),H.hasOwnProperty(e)){if(t.ignoreDuplicateRegistrations)return;K("Cannot register type '".concat(n,"' twice"))}if(H[e]=r,delete Q[e],Y.hasOwnProperty(e)){var a=Y[e];delete Y[e],a.forEach((e=>e()))}}(e,r,t)}var re,te=(e,r,t)=>{switch(r){case 1:return t?e=>d[e]:e=>m[e];case 2:return t?e=>v[e>>1]:e=>h[e>>1];case 4:return t?e=>g[e>>2]:e=>p[e>>2];case 8:return t?e=>b[e>>3]:e=>w[e>>3];default:throw new TypeError("invalid integer width (".concat(r,"): ").concat(e))}},ne=8,ae=e=>{K(e.$$.ptrType.registeredClass.name+" instance already deleted")},oe=!1,ie=e=>{},se=e=>{e.count.value-=1,0===e.count.value&&(e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)})(e)},ce=(e,r,t)=>{if(r===t)return e;if(void 0===t.baseClass)return null;var n=ce(e,r,t.baseClass);return null===n?null:t.downcast(n)},ue={},le=()=>Object.keys(he).length,fe=()=>{var e=[];for(var r in he)he.hasOwnProperty(r)&&e.push(he[r]);return e},de=[],me=()=>{for(;de.length;){var e=de.pop();e.$$.deleteScheduled=!1,e.delete()}},ve=e=>{re=e,de.length&&re&&re(me)},he={},ge=(e,r)=>(r=((e,r)=>{for(void 0===r&&K("ptr should not be undefined");e.baseClass;)r=e.upcast(r),e=e.baseClass;return r})(e,r),he[r]),pe=(e,r)=>(r.ptrType&&r.ptr||q("makeClassHandle requires ptr and ptrType"),!!r.smartPtrType!=!!r.smartPtr&&q("Both smartPtrType and smartPtr must be specified"),r.count={value:1},be(Object.create(e,{$$:{value:r,writable:!0}})));function ye(e){var r=this.getPointee(e);if(!r)return this.destructor(e),null;var t=ge(this.registeredClass,r);if(void 0!==t){if(0===t.$$.count.value)return t.$$.ptr=r,t.$$.smartPtr=e,t.clone();var n=t.clone();return this.destructor(e),n}function a(){return this.isSmartPointer?pe(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:r,smartPtrType:this,smartPtr:e}):pe(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var o,i=this.registeredClass.getActualType(r),s=ue[i];if(!s)return a.call(this);o=this.isConst?s.constPointerType:s.pointerType;var c=ce(r,this.registeredClass,o.registeredClass);return null===c?a.call(this):this.isSmartPointer?pe(o.registeredClass.instancePrototype,{ptrType:o,ptr:c,smartPtrType:this,smartPtr:e}):pe(o.registeredClass.instancePrototype,{ptrType:o,ptr:c})}var be=e=>"undefined"==typeof FinalizationRegistry?(be=e=>e,e):(oe=new FinalizationRegistry((e=>{se(e.$$)})),be=e=>{var r=e.$$;if(r.smartPtr){var t={$$:r};oe.register(e,t,e)}return e},ie=e=>oe.unregister(e),be(e));function we(){}var xe=(e,r)=>Object.defineProperty(r,"name",{value:e}),_e=(e,r,t)=>{if(void 0===e[r].overloadTable){var n=e[r];e[r]=function(){for(var n=arguments.length,a=new Array(n),o=0;o<n;o++)a[o]=arguments[o];return e[r].overloadTable.hasOwnProperty(a.length)||K("Function '".concat(t,"' called with an invalid number of arguments (").concat(a.length,") - expects one of (").concat(e[r].overloadTable,")!")),e[r].overloadTable[a.length].apply(this,a)},e[r].overloadTable=[],e[r].overloadTable[n.argCount]=n}},Te=(e,r,t)=>{a.hasOwnProperty(e)?((void 0===t||void 0!==a[e].overloadTable&&void 0!==a[e].overloadTable[t])&&K("Cannot register public name '".concat(e,"' twice")),_e(a,e,e),a.hasOwnProperty(t)&&K("Cannot register multiple overloads of a function with the same number of arguments (".concat(t,")!")),a[e].overloadTable[t]=r):(a[e]=r,void 0!==t&&(a[e].numArguments=t))};function Ce(e,r,t,n,a,o,i,s){this.name=e,this.constructor=r,this.instancePrototype=t,this.rawDestructor=n,this.baseClass=a,this.getActualType=o,this.upcast=i,this.downcast=s,this.pureVirtualFunctions=[]}var Ee=(e,r,t)=>{for(;r!==t;)r.upcast||K("Expected null or instance of ".concat(t.name,", got an instance of ").concat(r.name)),e=r.upcast(e),r=r.baseClass;return e};function Pe(e,r){if(null===r)return this.isReference&&K("null is not a valid ".concat(this.name)),0;r.$$||K('Cannot pass "'.concat(J(r),'" as a ').concat(this.name)),r.$$.ptr||K("Cannot pass deleted object as a pointer of type ".concat(this.name));var t=r.$$.ptrType.registeredClass;return Ee(r.$$.ptr,t,this.registeredClass)}function Ae(e,r){var t;if(null===r)return this.isReference&&K("null is not a valid ".concat(this.name)),this.isSmartPointer?(t=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,t),t):0;r&&r.$$||K('Cannot pass "'.concat(J(r),'" as a ').concat(this.name)),r.$$.ptr||K("Cannot pass deleted object as a pointer of type ".concat(this.name)),!this.isConst&&r.$$.ptrType.isConst&&K("Cannot convert argument of type ".concat(r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name," to parameter type ").concat(this.name));var n=r.$$.ptrType.registeredClass;if(t=Ee(r.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===r.$$.smartPtr&&K("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:r.$$.smartPtrType===this?t=r.$$.smartPtr:K("Cannot convert argument of type ".concat(r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name," to parameter type ").concat(this.name));break;case 1:t=r.$$.smartPtr;break;case 2:if(r.$$.smartPtrType===this)t=r.$$.smartPtr;else{var a=r.clone();t=this.rawShare(t,Qe.toHandle((()=>a.delete()))),null!==e&&e.push(this.rawDestructor,t)}break;default:K("Unsupporting sharing policy")}return t}function Se(e,r){if(null===r)return this.isReference&&K("null is not a valid ".concat(this.name)),0;r.$$||K('Cannot pass "'.concat(J(r),'" as a ').concat(this.name)),r.$$.ptr||K("Cannot pass deleted object as a pointer of type ".concat(this.name)),r.$$.ptrType.isConst&&K("Cannot convert argument of type ".concat(r.$$.ptrType.name," to parameter type ").concat(this.name));var t=r.$$.ptrType.registeredClass;return Ee(r.$$.ptr,t,this.registeredClass)}function $e(e,r,t,n,a,o,i,s,c,u,l){this.name=e,this.registeredClass=r,this.isReference=t,this.isConst=n,this.isSmartPointer=a,this.pointeeType=o,this.sharingPolicy=i,this.rawGetPointee=s,this.rawConstructor=c,this.rawShare=u,this.rawDestructor=l,a||void 0!==r.baseClass?this.toWireType=Ae:n?(this.toWireType=Pe,this.destructorFunction=null):(this.toWireType=Se,this.destructorFunction=null)}var We,Be,Oe=[],Le=e=>{var r=Oe[e];return r||(e>=Oe.length&&(Oe.length=e+1),Oe[e]=r=We.get(e)),r},ke=(e,r)=>{e=Z(e);var t=Le(r);return"function"!=typeof t&&K("unknown function pointer with signature ".concat(e,": ").concat(r)),t},Fe=e=>{var r=so(e),t=Z(r);return uo(r),t},De=(e,r)=>{var t=[],n={};throw r.forEach((function e(r){n[r]||H[r]||(Q[r]?Q[r].forEach(e):(t.push(r),n[r]=!0))})),new Be("".concat(e,": ")+t.map(Fe).join([", "]))};function Ie(e){for(var r=1;r<e.length;++r)if(null!==e[r]&&void 0===e[r].destructorFunction)return!0;return!1}function je(e,r){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type ".concat(typeof e," which is not a function"));var t=xe(e.name||"unknownFunctionName",(function(){}));t.prototype=e.prototype;var n=new t,a=e.apply(n,r);return a instanceof Object?a:n}function Ge(e,r,t,n,a,o){var i=r.length;i<2&&K("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=null!==r[1]&&null!==t,c=Ie(r),u="void"!==r[0].name,l=[e,K,n,a,M,r[0],r[1]],f=0;f<i-2;++f)l.push(r[f+2]);if(!c)for(f=s?1:2;f<r.length;++f)null!==r[f].destructorFunction&&l.push(r[f].destructorFunction);var[d,m]=function(e,r,t,n){for(var a=Ie(e),o=e.length,i="",s="",c=0;c<o-2;++c)i+=(0!==c?", ":"")+"arg"+c,s+=(0!==c?", ":"")+"arg"+c+"Wired";var u="\n return function (".concat(i,") {\n if (arguments.length !== ").concat(o-2,") {\n throwBindingError('function ' + humanName + ' called with ' + arguments.length + ' arguments, expected ").concat(o-2,"');\n }");a&&(u+="var destructors = [];\n");var l=a?"destructors":"null",f=["humanName","throwBindingError","invoker","fn","runDestructors","retType","classParam"];for(r&&(u+="var thisWired = classParam['toWireType']("+l+", this);\n"),c=0;c<o-2;++c)u+="var arg"+c+"Wired = argType"+c+"['toWireType']("+l+", arg"+c+");\n",f.push("argType"+c);if(r&&(s="thisWired"+(s.length>0?", ":"")+s),u+=(t||n?"var rv = ":"")+"invoker(fn"+(s.length>0?", ":"")+s+");\n",a)u+="runDestructors(destructors);\n";else for(c=r?1:2;c<e.length;++c){var d=1===c?"thisWired":"arg"+(c-2)+"Wired";null!==e[c].destructorFunction&&(u+="".concat(d,"_dtor(").concat(d,");\n"),f.push("".concat(d,"_dtor")))}return t&&(u+="var ret = retType['fromWireType'](rv);\nreturn ret;\n"),[f,u+="}\n"]}(r,s,u,o);d.push(m);var v=je(Function,d)(...l);return xe(e,v)}var Ue,Me=(e,r)=>{for(var t=[],n=0;n<e;n++)t.push(p[r+4*n>>2]);return t},Ne=e=>{var r=(e=e.trim()).indexOf("(");return-1!==r?e.substr(0,r):e},Ve=(e,r,t)=>(e instanceof Object||K("".concat(t,' with invalid "this": ').concat(e)),e instanceof r.registeredClass.constructor||K("".concat(t,' incompatible with "this" of type ').concat(e.constructor.name)),e.$$.ptr||K("cannot call emscripten binding method ".concat(t," on deleted object")),Ee(e.$$.ptr,e.$$.ptrType.registeredClass,r.registeredClass)),Re=[],Xe=[],Ye=e=>{e>9&&0==--Xe[e+1]&&(Xe[e]=void 0,Re.push(e))},He=()=>Xe.length/2-5-Re.length,Qe={toValue:e=>(e||K("Cannot use deleted val. handle = "+e),Xe[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:var r=Re.pop()||Xe.length;return Xe[r]=e,Xe[r+1]=1,r}}},qe={name:"emscripten::val",fromWireType:e=>{var r=Qe.toValue(e);return Ye(e),r},toWireType:(e,r)=>Qe.toHandle(r),argPackAdvance:ne,readValueFromPointer:N,destructorFunction:null},ze=e=>ee(e,qe),Je=(e,r,t)=>{switch(r){case 1:return t?function(e){return this.fromWireType(d[e])}:function(e){return this.fromWireType(m[e])};case 2:return t?function(e){return this.fromWireType(v[e>>1])}:function(e){return this.fromWireType(h[e>>1])};case 4:return t?function(e){return this.fromWireType(g[e>>2])}:function(e){return this.fromWireType(p[e>>2])};default:throw new TypeError("invalid integer width (".concat(r,"): ").concat(e))}},Ze=(e,r)=>{var t=H[e];return void 0===t&&K("".concat(r," has unknown type ").concat(Fe(e))),t},Ke=(e,r)=>{switch(r){case 4:return function(e){return this.fromWireType(y[e>>2])};case 8:return function(e){return this.fromWireType(x[e>>3])};default:throw new TypeError("invalid float width (".concat(r,"): ").concat(e))}},er=(e,r,t,n)=>{if(!(n>0))return 0;for(var a=t,o=t+n-1,i=0;i<e.length;++i){var s=e.charCodeAt(i);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i)),s<=127){if(t>=o)break;r[t++]=s}else if(s<=2047){if(t+1>=o)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=o)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=o)break;r[t++]=240|s>>18,r[t++]=128|s>>12&63,r[t++]=128|s>>6&63,r[t++]=128|63&s}}return r[t]=0,t-a},rr=(e,r,t)=>er(e,m,r,t),tr=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n<=127?r++:n<=2047?r+=2:n>=55296&&n<=57343?(r+=4,++t):r+=3}return r},nr="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,ar=(e,r,t)=>{for(var n=r+t,a=r;e[a]&&!(a>=n);)++a;if(a-r>16&&e.buffer&&nr)return nr.decode(e.subarray(r,a));for(var o="";r<a;){var i=e[r++];if(128&i){var s=63&e[r++];if(192!=(224&i)){var c=63&e[r++];if((i=224==(240&i)?(15&i)<<12|s<<6|c:(7&i)<<18|s<<12|c<<6|63&e[r++])<65536)o+=String.fromCharCode(i);else{var u=i-65536;o+=String.fromCharCode(55296|u>>10,56320|1023&u)}}else o+=String.fromCharCode((31&i)<<6|s)}else o+=String.fromCharCode(i)}return o},or=(e,r)=>e?ar(m,e,r):"",ir="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,sr=(e,r)=>{for(var t=e,n=t>>1,a=n+r/2;!(n>=a)&&h[n];)++n;if((t=n<<1)-e>32&&ir)return ir.decode(m.subarray(e,t));for(var o="",i=0;!(i>=r/2);++i){var s=v[e+2*i>>1];if(0==s)break;o+=String.fromCharCode(s)}return o},cr=(e,r,t)=>{var n;if(null!==(n=t)&&void 0!==n||(t=2147483647),t<2)return 0;for(var a=r,o=(t-=2)<2*e.length?t/2:e.length,i=0;i<o;++i){var s=e.charCodeAt(i);v[r>>1]=s,r+=2}return v[r>>1]=0,r-a},ur=e=>2*e.length,lr=(e,r)=>{for(var t=0,n="";!(t>=r/4);){var a=g[e+4*t>>2];if(0==a)break;if(++t,a>=65536){var o=a-65536;n+=String.fromCharCode(55296|o>>10,56320|1023&o)}else n+=String.fromCharCode(a)}return n},fr=(e,r,t)=>{var n;if(null!==(n=t)&&void 0!==n||(t=2147483647),t<4)return 0;for(var a=r,o=a+t-4,i=0;i<e.length;++i){var s=e.charCodeAt(i);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i)),g[r>>2]=s,(r+=4)+4>o)break}return g[r>>2]=0,r-a},dr=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n>=55296&&n<=57343&&++t,r+=4}return r},mr=(e,r,t)=>{var n=[],a=e.toWireType(n,t);return n.length&&(p[r>>2]=Qe.toHandle(n)),a},vr=[],hr={},gr=e=>{var r=hr[e];return void 0===r?Z(e):r},pr=()=>"object"==typeof globalThis?globalThis:Function("return this")();Ue=()=>performance.now();var yr,br,wr,xr,_r=e=>{var r=["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_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","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"];return(e.getSupportedExtensions()||[]).filter((e=>r.includes(e)))},Tr={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:e=>{Tr.lastError||(Tr.lastError=e)},getNewId:e=>{for(var r=Tr.counter++,t=e.length;t<r;t++)e[t]=null;return r},genObject:(e,r,t,n)=>{for(var a=0;a<e;a++){var o=xr[t](),i=o&&Tr.getNewId(n);o?(o.name=i,n[i]=o):Tr.recordError(1282),g[r+4*a>>2]=i}},getSource:(e,r,t,n)=>{for(var a="",o=0;o<r;++o){var i=n?p[n+4*o>>2]:void 0;a+=or(p[t+4*o>>2],i)}return a},createContext:(e,r)=>{e.getContextSafariWebGL2Fixed||(e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=function(r,t){var n=e.getContextSafariWebGL2Fixed(r,t);return"webgl"==r==n instanceof WebGLRenderingContext?n:null});var t=r.majorVersion>1?e.getContext("webgl2",r):e.getContext("webgl",r);return t?Tr.registerContext(t,r):0},registerContext:(e,r)=>{var t=Tr.getNewId(Tr.contexts),n={handle:t,attributes:r,version:r.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=n),Tr.contexts[t]=n,(void 0===r.enableExtensionsByDefault||r.enableExtensionsByDefault)&&Tr.initExtensions(n),t},makeContextCurrent:e=>{var r;return Tr.currentContext=Tr.contexts[e],a.ctx=xr=null===(r=Tr.currentContext)||void 0===r?void 0:r.GLctx,!(e&&!xr)},getContext:e=>Tr.contexts[e],deleteContext:e=>{Tr.currentContext===Tr.contexts[e]&&(Tr.currentContext=null),"object"==typeof JSEvents&&JSEvents.removeAllHandlersOnTarget(Tr.contexts[e].GLctx.canvas),Tr.contexts[e]&&Tr.contexts[e].GLctx.canvas&&(Tr.contexts[e].GLctx.canvas.GLctxObject=void 0),Tr.contexts[e]=null},initExtensions:e=>{if(e||(e=Tr.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var r,t=e.GLctx;(e=>{var r=e.getExtension("ANGLE_instanced_arrays");r&&(e.vertexAttribDivisor=(e,t)=>r.vertexAttribDivisorANGLE(e,t),e.drawArraysInstanced=(e,t,n,a)=>r.drawArraysInstancedANGLE(e,t,n,a),e.drawElementsInstanced=(e,t,n,a,o)=>r.drawElementsInstancedANGLE(e,t,n,a,o))})(t),(e=>{var r=e.getExtension("OES_vertex_array_object");r&&(e.createVertexArray=()=>r.createVertexArrayOES(),e.deleteVertexArray=e=>r.deleteVertexArrayOES(e),e.bindVertexArray=e=>r.bindVertexArrayOES(e),e.isVertexArray=e=>r.isVertexArrayOES(e))})(t),(e=>{var r=e.getExtension("WEBGL_draw_buffers");r&&(e.drawBuffers=(e,t)=>r.drawBuffersWEBGL(e,t))})(t),(r=t).dibvbi=r.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"),(e=>{e.mdibvbi=e.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")})(t),e.version>=2&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query_webgl2")),(e.version<2||!t.disjointTimerQueryExt)&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query")),(e=>{e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")})(t),_r(t).forEach((e=>{e.includes("lose_context")||e.includes("debug")||t.getExtension(e)}))}}},Cr=e=>xr.activeTexture(e),Er=(e,r)=>{xr.attachShader(Tr.programs[e],Tr.shaders[r])},Pr=(e,r)=>{xr.beginQuery(e,Tr.queries[r])},Ar=(e,r)=>{xr.disjointTimerQueryExt.beginQueryEXT(e,Tr.queries[r])},Sr=(e,r,t)=>{xr.bindAttribLocation(Tr.programs[e],r,or(t))},$r=(e,r)=>{35051==e?xr.currentPixelPackBufferBinding=r:35052==e&&(xr.currentPixelUnpackBufferBinding=r),xr.bindBuffer(e,Tr.buffers[r])},Wr=(e,r)=>{xr.bindFramebuffer(e,Tr.framebuffers[r])},Br=Wr,Or=(e,r)=>{xr.bindRenderbuffer(e,Tr.renderbuffers[r])},Lr=(e,r)=>{xr.bindSampler(e,Tr.samplers[r])},kr=(e,r)=>{xr.bindTexture(e,Tr.textures[r])},Fr=e=>{xr.bindVertexArray(Tr.vaos[e])},Dr=Fr,Ir=Fr,jr=Ir,Gr=(e,r,t,n)=>xr.blendColor(e,r,t,n),Ur=e=>xr.blendEquation(e),Mr=(e,r)=>xr.blendFunc(e,r),Nr=(e,r,t,n,a,o,i,s,c,u)=>xr.blitFramebuffer(e,r,t,n,a,o,i,s,c,u),Vr=(e,r,t,n)=>{Tr.currentContext.version>=2?t&&r?xr.bufferData(e,m,n,t,r):xr.bufferData(e,r,n):xr.bufferData(e,t?m.subarray(t,t+r):r,n)},Rr=(e,r,t,n)=>{Tr.currentContext.version>=2?t&&xr.bufferSubData(e,r,m,n,t):xr.bufferSubData(e,r,m.subarray(n,n+t))},Xr=e=>xr.checkFramebufferStatus(e),Yr=e=>xr.clear(e),Hr=Yr,Qr=(e,r,t,n)=>xr.clearColor(e,r,t,n),qr=Qr,zr=e=>xr.clearStencil(e),Jr=zr,Zr=(e,r,t)=>(t=Number(t),xr.clientWaitSync(Tr.syncs[e],r,t)),Kr=(e,r,t,n)=>{xr.colorMask(!!e,!!r,!!t,!!n)},et=e=>{xr.compileShader(Tr.shaders[e])},rt=(e,r,t,n,a,o,i,s)=>{if(Tr.currentContext.version>=2)return xr.currentPixelUnpackBufferBinding||!i?void xr.compressedTexImage2D(e,r,t,n,a,o,i,s):void xr.compressedTexImage2D(e,r,t,n,a,o,m,s,i);xr.compressedTexImage2D(e,r,t,n,a,o,s?m.subarray(s,s+i):null)},tt=(e,r,t,n,a,o,i,s,c)=>{if(Tr.currentContext.version>=2)return xr.currentPixelUnpackBufferBinding||!s?void xr.compressedTexSubImage2D(e,r,t,n,a,o,i,s,c):void xr.compressedTexSubImage2D(e,r,t,n,a,o,i,m,c,s);xr.compressedTexSubImage2D(e,r,t,n,a,o,i,c?m.subarray(c,c+s):null)},nt=(e,r,t,n,a)=>xr.copyBufferSubData(e,r,t,n,a),at=(e,r,t,n,a,o,i,s)=>xr.copyTexSubImage2D(e,r,t,n,a,o,i,s),ot=()=>{var e=Tr.getNewId(Tr.programs),r=xr.createProgram();return r.name=e,r.maxUniformLength=r.maxAttributeLength=r.maxUniformBlockNameLength=0,r.uniformIdCounter=1,Tr.programs[e]=r,e},it=e=>{var r=Tr.getNewId(Tr.shaders);return Tr.shaders[r]=xr.createShader(e),r},st=e=>xr.cullFace(e),ct=(e,r)=>{for(var t=0;t<e;t++){var n=g[r+4*t>>2],a=Tr.buffers[n];a&&(xr.deleteBuffer(a),a.name=0,Tr.buffers[n]=null,n==xr.currentPixelPackBufferBinding&&(xr.currentPixelPackBufferBinding=0),n==xr.currentPixelUnpackBufferBinding&&(xr.currentPixelUnpackBufferBinding=0))}},ut=(e,r)=>{for(var t=0;t<e;++t){var n=g[r+4*t>>2],a=Tr.framebuffers[n];a&&(xr.deleteFramebuffer(a),a.name=0,Tr.framebuffers[n]=null)}},lt=e=>{if(e){var r=Tr.programs[e];r?(xr.deleteProgram(r),r.name=0,Tr.programs[e]=null):Tr.recordError(1281)}},ft=(e,r)=>{for(var t=0;t<e;t++){var n=g[r+4*t>>2],a=Tr.queries[n];a&&(xr.deleteQuery(a),Tr.queries[n]=null)}},dt=(e,r)=>{for(var t=0;t<e;t++){var n=g[r+4*t>>2],a=Tr.queries[n];a&&(xr.disjointTimerQueryExt.deleteQueryEXT(a),Tr.queries[n]=null)}},mt=(e,r)=>{for(var t=0;t<e;t++){var n=g[r+4*t>>2],a=Tr.renderbuffers[n];a&&(xr.deleteRenderbuffer(a),a.name=0,Tr.renderbuffers[n]=null)}},vt=(e,r)=>{for(var t=0;t<e;t++){var n=g[r+4*t>>2],a=Tr.samplers[n];a&&(xr.deleteSampler(a),a.name=0,Tr.samplers[n]=null)}},ht=e=>{if(e){var r=Tr.shaders[e];r?(xr.deleteShader(r),Tr.shaders[e]=null):Tr.recordError(1281)}},gt=e=>{if(e){var r=Tr.syncs[e];r?(xr.deleteSync(r),r.name=0,Tr.syncs[e]=null):Tr.recordError(1281)}},pt=(e,r)=>{for(var t=0;t<e;t++){var n=g[r+4*t>>2],a=Tr.textures[n];a&&(xr.deleteTexture(a),a.name=0,Tr.textures[n]=null)}},yt=(e,r)=>{for(var t=0;t<e;t++){var n=g[r+4*t>>2];xr.deleteVertexArray(Tr.vaos[n]),Tr.vaos[n]=null}},bt=yt,wt=yt,xt=wt,_t=e=>{xr.depthMask(!!e)},Tt=e=>xr.disable(e),Ct=e=>{xr.disableVertexAttribArray(e)},Et=(e,r,t)=>{xr.drawArrays(e,r,t)},Pt=(e,r,t,n)=>{xr.drawArraysInstanced(e,r,t,n)},At=(e,r,t,n,a)=>{xr.dibvbi.drawArraysInstancedBaseInstanceWEBGL(e,r,t,n,a)},St=[],$t=(e,r)=>{for(var t=St[e],n=0;n<e;n++)t[n]=g[r+4*n>>2];xr.drawBuffers(t)},Wt=(e,r,t,n)=>{xr.drawElements(e,r,t,n)},Bt=Wt,Ot=(e,r,t,n,a)=>{xr.drawElementsInstanced(e,r,t,n,a)},Lt=(e,r,t,n,a,o,i)=>{xr.dibvbi.drawElementsInstancedBaseVertexBaseInstanceWEBGL(e,r,t,n,a,o,i)},kt=(e,r,t,n,a,o)=>{Wt(e,n,a,o)},Ft=e=>xr.enable(e),Dt=e=>{xr.enableVertexAttribArray(e)},It=e=>xr.endQuery(e),jt=e=>{xr.disjointTimerQueryExt.endQueryEXT(e)},Gt=(e,r)=>{var t=xr.fenceSync(e,r);if(t){var n=Tr.getNewId(Tr.syncs);return t.name=n,Tr.syncs[n]=t,n}return 0},Ut=()=>xr.finish(),Mt=()=>xr.flush(),Nt=(e,r,t,n)=>{xr.framebufferRenderbuffer(e,r,t,Tr.renderbuffers[n])},Vt=(e,r,t,n,a)=>{xr.framebufferTexture2D(e,r,t,Tr.textures[n],a)},Rt=e=>xr.frontFace(e),Xt=(e,r)=>{Tr.genObject(e,r,"createBuffer",Tr.buffers)},Yt=(e,r)=>{Tr.genObject(e,r,"createFramebuffer",Tr.framebuffers)},Ht=(e,r)=>{Tr.genObject(e,r,"createQuery",Tr.queries)},Qt=(e,r)=>{for(var t=0;t<e;t++){var n=xr.disjointTimerQueryExt.createQueryEXT();if(!n){for(Tr.recordError(1282);t<e;)g[r+4*t++>>2]=0;return}var a=Tr.getNewId(Tr.queries);n.name=a,Tr.queries[a]=n,g[r+4*t>>2]=a}},qt=(e,r)=>{Tr.genObject(e,r,"createRenderbuffer",Tr.renderbuffers)},zt=(e,r)=>{Tr.genObject(e,r,"createSampler",Tr.samplers)},Jt=(e,r)=>{Tr.genObject(e,r,"createTexture",Tr.textures)},Zt=(e,r)=>{Tr.genObject(e,r,"createVertexArray",Tr.vaos)},Kt=Zt,en=Zt,rn=e=>xr.generateMipmap(e),tn=(e,r,t)=>{t?g[t>>2]=xr.getBufferParameter(e,r):Tr.recordError(1281)},nn=()=>{var e=xr.getError()||Tr.lastError;return Tr.lastError=0,e},an=(e,r)=>{p[e>>2]=r;var t=p[e>>2];p[e+4>>2]=(r-t)/4294967296},on=function(){var e=_r(xr);return e=e.concat(e.map((e=>"GL_"+e)))},sn=(e,r,t)=>{if(r){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return void(0!=t&&1!=t&&Tr.recordError(1280));case 34814:case 36345:n=0;break;case 34466:var a=xr.getParameter(34467);n=a?a.length:0;break;case 33309:if(Tr.currentContext.version<2)return void Tr.recordError(1282);n=on().length;break;case 33307:case 33308:if(Tr.currentContext.version<2)return void Tr.recordError(1280);n=33307==e?3:0}if(void 0===n){var o=xr.getParameter(e);switch(typeof o){case"number":n=o;break;case"boolean":n=o?1:0;break;case"string":return void Tr.recordError(1280);case"object":if(null===o)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:n=0;break;default:return void Tr.recordError(1280)}else{if(o instanceof Float32Array||o instanceof Uint32Array||o instanceof Int32Array||o instanceof Array){for(var i=0;i<o.length;++i)switch(t){case 0:g[r+4*i>>2]=o[i];break;case 2:y[r+4*i>>2]=o[i];break;case 4:d[r+i]=o[i]?1:0}return}try{n=0|o.name}catch(r){return Tr.recordError(1280),void f("GL_INVALID_ENUM in glGet".concat(t,"v: Unknown object returned from WebGL getParameter(").concat(e,")! (error: ").concat(r,")"))}}break;default:return Tr.recordError(1280),void f("GL_INVALID_ENUM in glGet".concat(t,"v: Native code calling glGet").concat(t,"v(").concat(e,") and it returns ").concat(o," of type ").concat(typeof o,"!"))}}switch(t){case 1:an(r,n);break;case 0:g[r>>2]=n;break;case 2:y[r>>2]=n;break;case 4:d[r]=n?1:0}}else Tr.recordError(1281)},cn=(e,r)=>sn(e,r,2),un=(e,r,t,n)=>{var a=xr.getFramebufferAttachmentParameter(e,r,t);(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)&&(a=0|a.name),g[n>>2]=a},ln=(e,r)=>sn(e,r,0),fn=ln,dn=(e,r,t,n)=>{var a=xr.getProgramInfoLog(Tr.programs[e]);null===a&&(a="(unknown error)");var o=r>0&&n?rr(a,n,r):0;t&&(g[t>>2]=o)},mn=(e,r,t)=>{if(t)if(e>=Tr.counter)Tr.recordError(1281);else if(e=Tr.programs[e],35716==r){var n=xr.getProgramInfoLog(e);null===n&&(n="(unknown error)"),g[t>>2]=n.length+1}else if(35719==r){if(!e.maxUniformLength)for(var a=0;a<xr.getProgramParameter(e,35718);++a)e.maxUniformLength=Math.max(e.maxUniformLength,xr.getActiveUniform(e,a).name.length+1);g[t>>2]=e.maxUniformLength}else if(35722==r){if(!e.maxAttributeLength)for(a=0;a<xr.getProgramParameter(e,35721);++a)e.maxAttributeLength=Math.max(e.maxAttributeLength,xr.getActiveAttrib(e,a).name.length+1);g[t>>2]=e.maxAttributeLength}else if(35381==r){if(!e.maxUniformBlockNameLength)for(a=0;a<xr.getProgramParameter(e,35382);++a)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,xr.getActiveUniformBlockName(e,a).length+1);g[t>>2]=e.maxUniformBlockNameLength}else g[t>>2]=xr.getProgramParameter(e,r);else Tr.recordError(1281)},vn=(e,r,t)=>{if(t){var n,a=Tr.queries[e];n=Tr.currentContext.version<2?xr.disjointTimerQueryExt.getQueryObjectEXT(a,r):xr.getQueryParameter(a,r),an(t,"boolean"==typeof n?n?1:0:n)}else Tr.recordError(1281)},hn=vn,gn=vn,pn=(e,r,t)=>{if(t){var n,a=Tr.queries[e],o=xr.getQueryParameter(a,r);n="boolean"==typeof o?o?1:0:o,g[t>>2]=n}else Tr.recordError(1281)},yn=(e,r,t)=>{if(t){var n,a=Tr.queries[e],o=xr.disjointTimerQueryExt.getQueryObjectEXT(a,r);n="boolean"==typeof o?o?1:0:o,g[t>>2]=n}else Tr.recordError(1281)},bn=(e,r,t)=>{t?g[t>>2]=xr.getQuery(e,r):Tr.recordError(1281)},wn=(e,r,t)=>{t?g[t>>2]=xr.disjointTimerQueryExt.getQueryEXT(e,r):Tr.recordError(1281)},xn=(e,r,t)=>{t?g[t>>2]=xr.getRenderbufferParameter(e,r):Tr.recordError(1281)},_n=(e,r,t,n)=>{var a=xr.getShaderInfoLog(Tr.shaders[e]);null===a&&(a="(unknown error)");var o=r>0&&n?rr(a,n,r):0;t&&(g[t>>2]=o)},Tn=(e,r,t,n)=>{var a=xr.getShaderPrecisionFormat(e,r);g[t>>2]=a.rangeMin,g[t+4>>2]=a.rangeMax,g[n>>2]=a.precision},Cn=(e,r,t)=>{if(t)if(35716==r){var n=xr.getShaderInfoLog(Tr.shaders[e]);null===n&&(n="(unknown error)");var a=n?n.length+1:0;g[t>>2]=a}else if(35720==r){var o=xr.getShaderSource(Tr.shaders[e]),i=o?o.length+1:0;g[t>>2]=i}else g[t>>2]=xr.getShaderParameter(Tr.shaders[e],r);else Tr.recordError(1281)},En=e=>{var r=tr(e)+1,t=co(r);return t&&rr(e,t,r),t},Pn=e=>{var r=Tr.stringCache[e];if(!r){switch(e){case 7939:r=En(on().join(" "));break;case 7936:case 7937:case 37445:case 37446:var t=xr.getParameter(e);t||Tr.recordError(1280),r=t?En(t):0;break;case 7938:var n=xr.getParameter(7938);n=Tr.currentContext.version>=2?"OpenGL ES 3.0 (".concat(n,")"):"OpenGL ES 2.0 (".concat(n,")"),r=En(n);break;case 35724:var a=xr.getParameter(35724),o=a.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==o&&(3==o[1].length&&(o[1]=o[1]+"0"),a="OpenGL ES GLSL ES ".concat(o[1]," (").concat(a,")")),r=En(a);break;default:Tr.recordError(1280)}Tr.stringCache[e]=r}return r},An=Pn,Sn=(e,r)=>{if(Tr.currentContext.version<2)return Tr.recordError(1282),0;var t=Tr.stringiCache[e];if(t)return r<0||r>=t.length?(Tr.recordError(1281),0):t[r];if(7939===e){var n=on().map(En);return t=Tr.stringiCache[e]=n,r<0||r>=t.length?(Tr.recordError(1281),0):t[r]}return Tr.recordError(1280),0},$n=Sn,Wn=e=>"]"==e.slice(-1)&&e.lastIndexOf("["),Bn=(e,r)=>{if(r=or(r),e=Tr.programs[e]){(e=>{var r,t,n=e.uniformLocsById,a=e.uniformSizeAndIdsByName;if(!n)for(e.uniformLocsById=n={},e.uniformArrayNamesById={},r=0;r<xr.getProgramParameter(e,35718);++r){var o=xr.getActiveUniform(e,r),i=o.name,s=o.size,c=Wn(i),u=c>0?i.slice(0,c):i,l=e.uniformIdCounter;for(e.uniformIdCounter+=s,a[u]=[s,l],t=0;t<s;++t)n[l]=t,e.uniformArrayNamesById[l++]=u}})(e);var t=e.uniformLocsById,n=0,a=r,o=Wn(r);o>0&&(s=r.slice(o+1),n=parseInt(s)>>>0,a=r.slice(0,o));var i=e.uniformSizeAndIdsByName[a];if(i&&n<i[0]&&(t[n+=i[1]]=t[n]||xr.getUniformLocation(e,r)))return n}else Tr.recordError(1281);var s;return-1},On=(e,r,t)=>{for(var n=St[r],a=0;a<r;a++)n[a]=g[t+4*a>>2];xr.invalidateFramebuffer(e,n)},Ln=(e,r,t,n,a,o,i)=>{for(var s=St[r],c=0;c<r;c++)s[c]=g[t+4*c>>2];xr.invalidateSubFramebuffer(e,s,n,a,o,i)},kn=e=>xr.isSync(Tr.syncs[e]),Fn=e=>{var r=Tr.textures[e];return r?xr.isTexture(r):0},Dn=e=>xr.lineWidth(e),In=e=>{e=Tr.programs[e],xr.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},jn=(e,r,t,n,a,o)=>{xr.mdibvbi.multiDrawArraysInstancedBaseInstanceWEBGL(e,g,r>>2,g,t>>2,g,n>>2,p,a>>2,o)},Gn=(e,r,t,n,a,o,i,s)=>{xr.mdibvbi.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(e,g,r>>2,t,g,n>>2,g,a>>2,g,o>>2,p,i>>2,s)},Un=(e,r)=>{3317==e&&(Tr.unpackAlignment=r),xr.pixelStorei(e,r)},Mn=(e,r)=>{xr.disjointTimerQueryExt.queryCounterEXT(Tr.queries[e],r)},Nn=e=>xr.readBuffer(e),Vn=e=>0==(e-=5120)?d:1==e?m:2==e?v:4==e?g:6==e?y:5==e||28922==e||28520==e||30779==e||30782==e?p:h,Rn=(e,r)=>e>>>31-Math.clz32(r.BYTES_PER_ELEMENT),Xn=(e,r,t,n,a,o)=>{var i=Vn(e),s=(e=>({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1))(r)*i.BYTES_PER_ELEMENT,c=((e,r,t,n)=>{var a;return r*(e*t+(a=n)-1&-a)})(t,n,s,Tr.unpackAlignment);return i.subarray(Rn(a,i),Rn(a+c,i))},Yn=(e,r,t,n,a,o,i)=>{if(Tr.currentContext.version>=2){if(xr.currentPixelPackBufferBinding)return void xr.readPixels(e,r,t,n,a,o,i);var s=Vn(o),c=Rn(i,s);xr.readPixels(e,r,t,n,a,o,s,c)}else{var u=Xn(o,a,t,n,i);u?xr.readPixels(e,r,t,n,a,o,u):Tr.recordError(1280)}},Hn=(e,r,t,n)=>xr.renderbufferStorage(e,r,t,n),Qn=(e,r,t,n,a)=>xr.renderbufferStorageMultisample(e,r,t,n,a),qn=(e,r,t)=>{xr.samplerParameterf(Tr.samplers[e],r,t)},zn=(e,r,t)=>{xr.samplerParameteri(Tr.samplers[e],r,t)},Jn=(e,r,t)=>{var n=g[t>>2];xr.samplerParameteri(Tr.samplers[e],r,n)},Zn=(e,r,t,n)=>xr.scissor(e,r,t,n),Kn=(e,r,t,n)=>{var a=Tr.getSource(e,r,t,n);xr.shaderSource(Tr.shaders[e],a)},ea=(e,r,t)=>xr.stencilFunc(e,r,t),ra=(e,r,t,n)=>xr.stencilFuncSeparate(e,r,t,n),ta=e=>xr.stencilMask(e),na=(e,r)=>xr.stencilMaskSeparate(e,r),aa=(e,r,t)=>xr.stencilOp(e,r,t),oa=(e,r,t,n)=>xr.stencilOpSeparate(e,r,t,n),ia=(e,r,t,n,a,o,i,s,c)=>{if(Tr.currentContext.version>=2){if(xr.currentPixelUnpackBufferBinding)return void xr.texImage2D(e,r,t,n,a,o,i,s,c);if(c){var u=Vn(s),l=Rn(c,u);return void xr.texImage2D(e,r,t,n,a,o,i,s,u,l)}}var f=c?Xn(s,i,n,a,c):null;xr.texImage2D(e,r,t,n,a,o,i,s,f)},sa=(e,r,t)=>xr.texParameterf(e,r,t),ca=(e,r,t)=>{var n=y[t>>2];xr.texParameterf(e,r,n)},ua=(e,r,t)=>xr.texParameteri(e,r,t),la=(e,r,t)=>{var n=g[t>>2];xr.texParameteri(e,r,n)},fa=(e,r,t,n,a)=>xr.texStorage2D(e,r,t,n,a),da=(e,r,t,n,a,o,i,s,c)=>{if(Tr.currentContext.version>=2){if(xr.currentPixelUnpackBufferBinding)return void xr.texSubImage2D(e,r,t,n,a,o,i,s,c);if(c){var u=Vn(s);return void xr.texSubImage2D(e,r,t,n,a,o,i,s,u,Rn(c,u))}}var l=c?Xn(s,i,a,o,c):null;xr.texSubImage2D(e,r,t,n,a,o,i,s,l)},ma=e=>{var r=xr.currentProgram;if(r){var t=r.uniformLocsById[e];return"number"==typeof t&&(r.uniformLocsById[e]=t=xr.getUniformLocation(r,r.uniformArrayNamesById[e]+(t>0?"[".concat(t,"]"):""))),t}Tr.recordError(1282)},va=(e,r)=>{xr.uniform1f(ma(e),r)},ha=[],ga=(e,r,t)=>{if(Tr.currentContext.version>=2)r&&xr.uniform1fv(ma(e),y,t>>2,r);else{if(r<=288)for(var n=ha[r],a=0;a<r;++a)n[a]=y[t+4*a>>2];else n=y.subarray(t>>2,t+4*r>>2);xr.uniform1fv(ma(e),n)}},pa=(e,r)=>{xr.uniform1i(ma(e),r)},ya=[],ba=(e,r,t)=>{if(Tr.currentContext.version>=2)r&&xr.uniform1iv(ma(e),g,t>>2,r);else{if(r<=288)for(var n=ya[r],a=0;a<r;++a)n[a]=g[t+4*a>>2];else n=g.subarray(t>>2,t+4*r>>2);xr.uniform1iv(ma(e),n)}},wa=(e,r,t)=>{xr.uniform2f(ma(e),r,t)},xa=(e,r,t)=>{if(Tr.currentContext.version>=2)r&&xr.uniform2fv(ma(e),y,t>>2,2*r);else{if(r<=144)for(var n=ha[2*r],a=0;a<2*r;a+=2)n[a]=y[t+4*a>>2],n[a+1]=y[t+(4*a+4)>>2];else n=y.subarray(t>>2,t+8*r>>2);xr.uniform2fv(ma(e),n)}},_a=(e,r,t)=>{xr.uniform2i(ma(e),r,t)},Ta=(e,r,t)=>{if(Tr.currentContext.version>=2)r&&xr.uniform2iv(ma(e),g,t>>2,2*r);else{if(r<=144)for(var n=ya[2*r],a=0;a<2*r;a+=2)n[a]=g[t+4*a>>2],n[a+1]=g[t+(4*a+4)>>2];else n=g.subarray(t>>2,t+8*r>>2);xr.uniform2iv(ma(e),n)}},Ca=(e,r,t,n)=>{xr.uniform3f(ma(e),r,t,n)},Ea=(e,r,t)=>{if(Tr.currentContext.version>=2)r&&xr.uniform3fv(ma(e),y,t>>2,3*r);else{if(r<=96)for(var n=ha[3*r],a=0;a<3*r;a+=3)n[a]=y[t+4*a>>2],n[a+1]=y[t+(4*a+4)>>2],n[a+2]=y[t+(4*a+8)>>2];else n=y.subarray(t>>2,t+12*r>>2);xr.uniform3fv(ma(e),n)}},Pa=(e,r,t,n)=>{xr.uniform3i(ma(e),r,t,n)},Aa=(e,r,t)=>{if(Tr.currentContext.version>=2)r&&xr.uniform3iv(ma(e),g,t>>2,3*r);else{if(r<=96)for(var n=ya[3*r],a=0;a<3*r;a+=3)n[a]=g[t+4*a>>2],n[a+1]=g[t+(4*a+4)>>2],n[a+2]=g[t+(4*a+8)>>2];else n=g.subarray(t>>2,t+12*r>>2);xr.uniform3iv(ma(e),n)}},Sa=(e,r,t,n,a)=>{xr.uniform4f(ma(e),r,t,n,a)},$a=(e,r,t)=>{if(Tr.currentContext.version>=2)r&&xr.uniform4fv(ma(e),y,t>>2,4*r);else{if(r<=72){var n=ha[4*r],a=y;t>>=2;for(var o=0;o<4*r;o+=4){var i=t+o;n[o]=a[i],n[o+1]=a[i+1],n[o+2]=a[i+2],n[o+3]=a[i+3]}}else n=y.subarray(t>>2,t+16*r>>2);xr.uniform4fv(ma(e),n)}},Wa=(e,r,t,n,a)=>{xr.uniform4i(ma(e),r,t,n,a)},Ba=(e,r,t)=>{if(Tr.currentContext.version>=2)r&&xr.uniform4iv(ma(e),g,t>>2,4*r);else{if(r<=72)for(var n=ya[4*r],a=0;a<4*r;a+=4)n[a]=g[t+4*a>>2],n[a+1]=g[t+(4*a+4)>>2],n[a+2]=g[t+(4*a+8)>>2],n[a+3]=g[t+(4*a+12)>>2];else n=g.subarray(t>>2,t+16*r>>2);xr.uniform4iv(ma(e),n)}},Oa=(e,r,t,n)=>{if(Tr.currentContext.version>=2)r&&xr.uniformMatrix2fv(ma(e),!!t,y,n>>2,4*r);else{if(r<=72)for(var a=ha[4*r],o=0;o<4*r;o+=4)a[o]=y[n+4*o>>2],a[o+1]=y[n+(4*o+4)>>2],a[o+2]=y[n+(4*o+8)>>2],a[o+3]=y[n+(4*o+12)>>2];else a=y.subarray(n>>2,n+16*r>>2);xr.uniformMatrix2fv(ma(e),!!t,a)}},La=(e,r,t,n)=>{if(Tr.currentContext.version>=2)r&&xr.uniformMatrix3fv(ma(e),!!t,y,n>>2,9*r);else{if(r<=32)for(var a=ha[9*r],o=0;o<9*r;o+=9)a[o]=y[n+4*o>>2],a[o+1]=y[n+(4*o+4)>>2],a[o+2]=y[n+(4*o+8)>>2],a[o+3]=y[n+(4*o+12)>>2],a[o+4]=y[n+(4*o+16)>>2],a[o+5]=y[n+(4*o+20)>>2],a[o+6]=y[n+(4*o+24)>>2],a[o+7]=y[n+(4*o+28)>>2],a[o+8]=y[n+(4*o+32)>>2];else a=y.subarray(n>>2,n+36*r>>2);xr.uniformMatrix3fv(ma(e),!!t,a)}},ka=(e,r,t,n)=>{if(Tr.currentContext.version>=2)r&&xr.uniformMatrix4fv(ma(e),!!t,y,n>>2,16*r);else{if(r<=18){var a=ha[16*r],o=y;n>>=2;for(var i=0;i<16*r;i+=16){var s=n+i;a[i]=o[s],a[i+1]=o[s+1],a[i+2]=o[s+2],a[i+3]=o[s+3],a[i+4]=o[s+4],a[i+5]=o[s+5],a[i+6]=o[s+6],a[i+7]=o[s+7],a[i+8]=o[s+8],a[i+9]=o[s+9],a[i+10]=o[s+10],a[i+11]=o[s+11],a[i+12]=o[s+12],a[i+13]=o[s+13],a[i+14]=o[s+14],a[i+15]=o[s+15]}}else a=y.subarray(n>>2,n+64*r>>2);xr.uniformMatrix4fv(ma(e),!!t,a)}},Fa=e=>{e=Tr.programs[e],xr.useProgram(e),xr.currentProgram=e},Da=(e,r)=>xr.vertexAttrib1f(e,r),Ia=(e,r)=>{xr.vertexAttrib2f(e,y[r>>2],y[r+4>>2])},ja=(e,r)=>{xr.vertexAttrib3f(e,y[r>>2],y[r+4>>2],y[r+8>>2])},Ga=(e,r)=>{xr.vertexAttrib4f(e,y[r>>2],y[r+4>>2],y[r+8>>2],y[r+12>>2])},Ua=(e,r)=>{xr.vertexAttribDivisor(e,r)},Ma=(e,r,t,n,a)=>{xr.vertexAttribIPointer(e,r,t,n,a)},Na=(e,r,t,n,a,o)=>{xr.vertexAttribPointer(e,r,t,!!n,a,o)},Va=(e,r,t,n)=>xr.viewport(e,r,t,n),Ra=(e,r,t)=>{t=Number(t),xr.waitSync(Tr.syncs[e],r,t)},Xa=e=>{var r=(e-u.buffer.byteLength+65535)/65536;try{return u.grow(r),T(),1}catch(e){}},Ya={},Ha=()=>{if(!Ha.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:"./this.program"};for(var r in Ya)void 0===Ya[r]?delete e[r]:e[r]=Ya[r];var t=[];for(var r in e)t.push("".concat(r,"=").concat(e[r]));Ha.strings=t}return Ha.strings},Qa=e=>{I||(_=!0),((e,r)=>{throw r})(0,new F(e))},qa=(e,r)=>{Qa(e)},za=[null,[],[]],Ja=e=>e%4==0&&(e%100!=0||e%400==0),Za=[31,29,31,30,31,30,31,31,30,31,30,31],Ka=[31,28,31,30,31,30,31,31,30,31,30,31],eo=(e,r,t,n)=>{var a=p[n+40>>2],o={tm_sec:g[n>>2],tm_min:g[n+4>>2],tm_hour:g[n+8>>2],tm_mday:g[n+12>>2],tm_mon:g[n+16>>2],tm_year:g[n+20>>2],tm_wday:g[n+24>>2],tm_yday:g[n+28>>2],tm_isdst:g[n+32>>2],tm_gmtoff:g[n+36>>2],tm_zone:a?or(a):""},i=or(t),s={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var c in s)i=i.replace(new RegExp(c,"g"),s[c]);var u=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],l=["January","February","March","April","May","June","July","August","September","October","November","December"];function f(e,r,t){for(var n="number"==typeof e?e.toString():e||"";n.length<r;)n=t[0]+n;return n}function m(e,r){return f(e,r,"0")}function v(e,r){function t(e){return e<0?-1:e>0?1:0}var n;return 0===(n=t(e.getFullYear()-r.getFullYear()))&&0===(n=t(e.getMonth()-r.getMonth()))&&(n=t(e.getDate()-r.getDate())),n}function h(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function y(e){var r=((e,r)=>{for(var t=new Date(e.getTime());r>0;){var n=Ja(t.getFullYear()),a=t.getMonth(),o=(n?Za:Ka)[a];if(!(r>o-t.getDate()))return t.setDate(t.getDate()+r),t;r-=o-t.getDate()+1,t.setDate(1),a<11?t.setMonth(a+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return t})(new Date(e.tm_year+1900,0,1),e.tm_yday),t=new Date(r.getFullYear(),0,4),n=new Date(r.getFullYear()+1,0,4),a=h(t),o=h(n);return v(a,r)<=0?v(o,r)<=0?r.getFullYear()+1:r.getFullYear():r.getFullYear()-1}var b={"%a":e=>u[e.tm_wday].substring(0,3),"%A":e=>u[e.tm_wday],"%b":e=>l[e.tm_mon].substring(0,3),"%B":e=>l[e.tm_mon],"%C":e=>m((e.tm_year+1900)/100|0,2),"%d":e=>m(e.tm_mday,2),"%e":e=>f(e.tm_mday,2," "),"%g":e=>y(e).toString().substring(2),"%G":y,"%H":e=>m(e.tm_hour,2),"%I":e=>{var r=e.tm_hour;return 0==r?r=12:r>12&&(r-=12),m(r,2)},"%j":e=>m(e.tm_mday+((e,r)=>{for(var t=0,n=0;n<=r;t+=e[n++]);return t})(Ja(e.tm_year+1900)?Za:Ka,e.tm_mon-1),3),"%m":e=>m(e.tm_mon+1,2),"%M":e=>m(e.tm_min,2),"%n":()=>"\n","%p":e=>e.tm_hour>=0&&e.tm_hour<12?"AM":"PM","%S":e=>m(e.tm_sec,2),"%t":()=>"\t","%u":e=>e.tm_wday||7,"%U":e=>{var r=e.tm_yday+7-e.tm_wday;return m(Math.floor(r/7),2)},"%V":e=>{var r=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&r++,r){if(53==r){var t=(e.tm_wday+371-e.tm_yday)%7;4==t||3==t&&Ja(e.tm_year)||(r=1)}}else{r=52;var n=(e.tm_wday+7-e.tm_yday-1)%7;(4==n||5==n&&Ja(e.tm_year%400-1))&&r++}return m(r,2)},"%w":e=>e.tm_wday,"%W":e=>{var r=e.tm_yday+7-(e.tm_wday+6)%7;return m(Math.floor(r/7),2)},"%y":e=>(e.tm_year+1900).toString().substring(2),"%Y":e=>e.tm_year+1900,"%z":e=>{var r=e.tm_gmtoff,t=r>=0;return r=(r=Math.abs(r)/60)/60*100+r%60,(t?"+":"-")+String("0000"+r).slice(-4)},"%Z":e=>e.tm_zone,"%%":()=>"%"};for(var c in i=i.replace(/%%/g,"\0\0"),b)i.includes(c)&&(i=i.replace(new RegExp(c,"g"),b[c](o)));i=i.replace(/\0\0/g,"%");var w,x,_,T,C,E,P,A,S=(w=i,x=!1,T=_>0?_:tr(w)+1,C=new Array(T),E=er(w,C,0,C.length),x&&(C.length=E),C);return S.length>r?0:(P=S,A=e,d.set(P,A),S.length-1)};V=a.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},(()=>{for(var e=new Array(256),r=0;r<256;++r)e[r]=String.fromCharCode(r);R=e})(),X=a.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Object.assign(we.prototype,{isAliasOf(e){if(!(this instanceof we))return!1;if(!(e instanceof we))return!1;var r=this.$$.ptrType.registeredClass,t=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,a=e.$$.ptr;r.baseClass;)t=r.upcast(t),r=r.baseClass;for(;n.baseClass;)a=n.upcast(a),n=n.baseClass;return r===n&&t===a},clone(){if(this.$$.ptr||ae(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,r=be(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return r.$$.count.value+=1,r.$$.deleteScheduled=!1,r},delete(){this.$$.ptr||ae(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&K("Object already scheduled for deletion"),ie(this),se(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||ae(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&K("Object already scheduled for deletion"),de.push(this),1===de.length&&re&&re(me),this.$$.deleteScheduled=!0,this}}),a.getInheritedInstanceCount=le,a.getLiveInheritedInstances=fe,a.flushPendingDeletes=me,a.setDelayFunction=ve,Object.assign($e.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){var r;null===(r=this.rawDestructor)||void 0===r||r.call(this,e)},argPackAdvance:ne,readValueFromPointer:N,fromWireType:ye}),Be=a.UnboundTypeError=(yr=Error,(wr=xe(br="UnboundTypeError",(function(e){this.name=br,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}))).prototype=Object.create(yr.prototype),wr.prototype.constructor=wr,wr.prototype.toString=function(){return void 0===this.message?this.name:"".concat(this.name,": ").concat(this.message)},wr),Xe.push(0,1,void 0,1,null,1,!0,1,!1,1),a.count_emval_handles=He;for(var ro=0;ro<32;++ro)St.push(new Array(ro));var to=new Float32Array(288);for(ro=0;ro<288;++ro)ha[ro]=to.subarray(0,ro);var no=new Int32Array(288);for(ro=0;ro<288;++ro)ya[ro]=no.subarray(0,ro);var ao,oo={ob:()=>{$("")},q:e=>{var r=U[e];delete U[e];var t=r.rawConstructor,n=r.rawDestructor,a=r.fields,o=a.map((e=>e.getterReturnType)).concat(a.map((e=>e.setterArgumentType)));z([e],o,(e=>{var o={};return a.forEach(((r,t)=>{var n=r.fieldName,i=e[t],s=r.getter,c=r.getterContext,u=e[t+a.length],l=r.setter,f=r.setterContext;o[n]={read:e=>i.fromWireType(s(c,e)),write:(e,r)=>{var t=[];l(f,e,u.toWireType(t,r)),M(t)}}})),[{name:r.name,fromWireType:e=>{var r={};for(var t in o)r[t]=o[t].read(e);return n(e),r},toWireType:(e,r)=>{for(var a in o)if(!(a in r))throw new TypeError('Missing field: "'.concat(a,'"'));var i=t();for(a in o)o[a].write(i,r[a]);return null!==e&&e.push(n,i),i},argPackAdvance:ne,readValueFromPointer:N,destructorFunction:n}]}))},O:(e,r,t,n,a)=>{var o=-1!=(r=Z(r)).indexOf("u");ee(e,{name:r,fromWireType:e=>e,toWireType:function(e,r){if("bigint"!=typeof r&&"number"!=typeof r)throw new TypeError('Cannot convert "'.concat(J(r),'" to ').concat(this.name));return"number"==typeof r&&(r=BigInt(r)),r},argPackAdvance:ne,readValueFromPointer:te(r,t,!o),destructorFunction:null})},bb:(e,r,t,n)=>{ee(e,{name:r=Z(r),fromWireType:function(e){return!!e},toWireType:function(e,r){return r?t:n},argPackAdvance:ne,readValueFromPointer:function(e){return this.fromWireType(m[e])},destructorFunction:null})},g:(e,r,t,n,o,i,s,c,u,l,f,d,m)=>{f=Z(f),i=ke(o,i),c&&(c=ke(s,c)),l&&(l=ke(u,l)),m=ke(d,m);var v=(e=>{if(void 0===e)return"_unknown";var r=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return r>=48&&r<=57?"_".concat(e):e})(f);Te(v,(function(){De("Cannot construct ".concat(f," due to unbound types"),[n])})),z([e,r,t],n?[n]:[],(r=>{var t,o;r=r[0],o=n?(t=r.registeredClass).instancePrototype:we.prototype;var s=xe(f,(function(){if(Object.getPrototypeOf(this)!==u)throw new X("Use 'new' to construct "+f);if(void 0===g.constructor_body)throw new X(f+" has no accessible constructor");for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];var n=g.constructor_body[r.length];if(void 0===n)throw new X("Tried to invoke ctor of ".concat(f," with invalid number of parameters (").concat(r.length,") - expected (").concat(Object.keys(g.constructor_body).toString(),") parameters instead!"));return n.apply(this,r)})),u=Object.create(o,{constructor:{value:s}});s.prototype=u;var d,h,g=new Ce(f,s,u,m,t,i,c,l);g.baseClass&&(null!==(h=(d=g.baseClass).__derivedClasses)&&void 0!==h||(d.__derivedClasses=[]),g.baseClass.__derivedClasses.push(g));var p=new $e(f,g,!0,!1,!1),y=new $e(f+"*",g,!1,!1,!1),b=new $e(f+" const*",g,!1,!0,!1);return ue[e]={pointerType:y,constPointerType:b},((e,r,t)=>{a.hasOwnProperty(e)||q("Replacing nonexistent public symbol"),void 0!==a[e].overloadTable&&void 0!==t?a[e].overloadTable[t]=r:(a[e]=r,a[e].argCount=t)})(v,s),[p,y,b]}))},ba:(e,r,t,n,a,o,i,s)=>{var c=Me(t,n);r=Z(r),r=Ne(r),o=ke(a,o),z([],[e],(e=>{e=e[0];var n="".concat(e.name,".").concat(r);function a(){De("Cannot call ".concat(n," due to unbound types"),c)}r.startsWith("@@")&&(r=Symbol[r.substring(2)]);var u=e.registeredClass.constructor;return void 0===u[r]?(a.argCount=t-1,u[r]=a):(_e(u,r,n),u[r].overloadTable[t-1]=a),z([],c,(a=>{var c=[a[0],null].concat(a.slice(1)),l=Ge(n,c,null,o,i,s);if(void 0===u[r].overloadTable?(l.argCount=t-1,u[r]=l):u[r].overloadTable[t-1]=l,e.registeredClass.__derivedClasses)for(var f of e.registeredClass.__derivedClasses)f.constructor.hasOwnProperty(r)||(f.constructor[r]=l);return[]})),[]}))},u:(e,r,t,n,a,o)=>{var i=Me(r,t);a=ke(n,a),z([],[e],(e=>{e=e[0];var t="constructor ".concat(e.name);if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[r-1])throw new X("Cannot register multiple constructors with identical number of parameters (".concat(r-1,") for class '").concat(e.name,"'! Overload resolution is currently only performed using the parameter count, not actual type info!"));return e.registeredClass.constructor_body[r-1]=()=>{De("Cannot construct ".concat(e.name," due to unbound types"),i)},z([],i,(n=>(n.splice(1,0,null),e.registeredClass.constructor_body[r-1]=Ge(t,n,null,a,o),[]))),[]}))},a:(e,r,t,n,a,o,i,s,c)=>{var u=Me(t,n);r=Z(r),r=Ne(r),o=ke(a,o),z([],[e],(e=>{e=e[0];var n="".concat(e.name,".").concat(r);function a(){De("Cannot call ".concat(n," due to unbound types"),u)}r.startsWith("@@")&&(r=Symbol[r.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(r);var l=e.registeredClass.instancePrototype,f=l[r];return void 0===f||void 0===f.overloadTable&&f.className!==e.name&&f.argCount===t-2?(a.argCount=t-2,a.className=e.name,l[r]=a):(_e(l,r,n),l[r].overloadTable[t-2]=a),z([],u,(a=>{var s=Ge(n,a,e,o,i,c);return void 0===l[r].overloadTable?(s.argCount=t-2,l[r]=s):l[r].overloadTable[t-2]=s,[]})),[]}))},c:(e,r,t,n,a,o,i,s,c,u)=>{r=Z(r),a=ke(n,a),z([],[e],(e=>{e=e[0];var n="".concat(e.name,".").concat(r),l={get(){De("Cannot access ".concat(n," due to unbound types"),[t,i])},enumerable:!0,configurable:!0};return l.set=c?()=>De("Cannot access ".concat(n," due to unbound types"),[t,i]):e=>K(n+" is a read-only property"),Object.defineProperty(e.registeredClass.instancePrototype,r,l),z([],c?[t,i]:[t],(t=>{var i=t[0],l={get(){var r=Ve(this,e,n+" getter");return i.fromWireType(a(o,r))},enumerable:!0};if(c){c=ke(s,c);var f=t[1];l.set=function(r){var t=Ve(this,e,n+" setter"),a=[];c(u,t,f.toWireType(a,r)),M(a)}}return Object.defineProperty(e.registeredClass.instancePrototype,r,l),[]})),[]}))},ab:ze,l:(e,r,t,n)=>{function a(){}r=Z(r),a.values={},ee(e,{name:r,constructor:a,fromWireType:function(e){return this.constructor.values[e]},toWireType:(e,r)=>r.value,argPackAdvance:ne,readValueFromPointer:Je(r,t,n),destructorFunction:null}),Te(r,a)},b:(e,r,t)=>{var n=Ze(e,"enum");r=Z(r);var a=n.constructor,o=Object.create(n.constructor.prototype,{value:{value:t},constructor:{value:xe("".concat(n.name,"_").concat(r),(function(){}))}});a.values[t]=o,a[r]=o},N:(e,r,t)=>{ee(e,{name:r=Z(r),fromWireType:e=>e,toWireType:(e,r)=>r,argPackAdvance:ne,readValueFromPointer:Ke(r,t),destructorFunction:null})},z:(e,r,t,n,a)=>{r=Z(r);var o=e=>e;if(0===n){var i=32-8*t;o=e=>e<<i>>>i}var s=r.includes("unsigned");ee(e,{name:r,fromWireType:o,toWireType:s?function(e,r){return this.name,r>>>0}:function(e,r){return this.name,r},argPackAdvance:ne,readValueFromPointer:te(r,t,0!==n),destructorFunction:null})},s:(e,r,t)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][r];function a(e){var r=p[e>>2],t=p[e+4>>2];return new n(d.buffer,t,r)}ee(e,{name:t=Z(t),fromWireType:a,argPackAdvance:ne,readValueFromPointer:a},{ignoreDuplicateRegistrations:!0})},x:(e,r)=>{ze(e)},J:(e,r,t,n,a,o,i,s,c,u,l,f)=>{t=Z(t),o=ke(a,o),s=ke(i,s),u=ke(c,u),f=ke(l,f),z([e],[r],(e=>(e=e[0],[new $e(t,e.registeredClass,!1,!1,!0,e,n,o,s,u,f)])))},M:(e,r)=>{var t="std::string"===(r=Z(r));ee(e,{name:r,fromWireType(e){var r,n=p[e>>2],a=e+4;if(t)for(var o=a,i=0;i<=n;++i){var s=a+i;if(i==n||0==m[s]){var c=or(o,s-o);void 0===r?r=c:(r+=String.fromCharCode(0),r+=c),o=s+1}}else{var u=new Array(n);for(i=0;i<n;++i)u[i]=String.fromCharCode(m[a+i]);r=u.join("")}return uo(e),r},toWireType(e,r){var n;r instanceof ArrayBuffer&&(r=new Uint8Array(r));var a="string"==typeof r;a||r instanceof Uint8Array||r instanceof Uint8ClampedArray||r instanceof Int8Array||K("Cannot pass non-string to std::string"),n=t&&a?tr(r):r.length;var o=co(4+n+1),i=o+4;if(p[o>>2]=n,t&&a)rr(r,i,n+1);else if(a)for(var s=0;s<n;++s){var c=r.charCodeAt(s);c>255&&(uo(i),K("String has UTF-16 code units that do not fit in 8 bits")),m[i+s]=c}else for(s=0;s<n;++s)m[i+s]=r[s];return null!==e&&e.push(uo,o),o},argPackAdvance:ne,readValueFromPointer:N,destructorFunction(e){uo(e)}})},G:(e,r,t)=>{var n,a,o,i;t=Z(t),2===r?(n=sr,a=cr,i=ur,o=e=>h[e>>1]):4===r&&(n=lr,a=fr,i=dr,o=e=>p[e>>2]),ee(e,{name:t,fromWireType:e=>{for(var t,a=p[e>>2],i=e+4,s=0;s<=a;++s){var c=e+4+s*r;if(s==a||0==o(c)){var u=n(i,c-i);void 0===t?t=u:(t+=String.fromCharCode(0),t+=u),i=c+r}}return uo(e),t},toWireType:(e,n)=>{"string"!=typeof n&&K("Cannot pass non-string to C++ string type ".concat(t));var o=i(n),s=co(4+o+r);return p[s>>2]=o/r,a(n,s+4,o+r),null!==e&&e.push(uo,s),s},argPackAdvance:ne,readValueFromPointer:N,destructorFunction(e){uo(e)}})},dd:(e,r)=>{ze(e)},r:(e,r,t,n,a,o)=>{U[e]={name:Z(r),rawConstructor:ke(t,n),rawDestructor:ke(a,o),fields:[]}},e:(e,r,t,n,a,o,i,s,c,u)=>{U[e].fields.push({fieldName:Z(r),getterReturnType:t,getter:ke(n,a),getterContext:o,setterArgumentType:i,setter:ke(s,c),setterContext:u})},cb:(e,r)=>{ee(e,{isVoid:!0,name:r=Z(r),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,r)=>{}})},mb:()=>1,eb:()=>{throw 1/0},E:(e,r,t)=>(e=Qe.toValue(e),r=Ze(r,"emval::as"),mr(r,t,e)),A:(e,r,t,n)=>(e=vr[e])(null,r=Qe.toValue(r),t,n),m:(e,r,t,n,a)=>(e=vr[e])(r=Qe.toValue(r),r[t=gr(t)],n,a),d:Ye,Q:e=>0===e?Qe.toHandle(pr()):(e=gr(e),Qe.toHandle(pr()[e])),j:(e,r,t)=>{var n=((e,r)=>{for(var t=new Array(e),n=0;n<e;++n)t[n]=Ze(p[r+4*n>>2],"parameter "+n);return t})(e,r),a=n.shift();e--;var o="return function (obj, func, destructorsRef, args) {\n",i=0,s=[];0===t&&s.push("obj");for(var c=["retType"],u=[a],l=0;l<e;++l)s.push("arg"+l),c.push("argType"+l),u.push(n[l]),o+=" var arg".concat(l," = argType").concat(l,".readValueFromPointer(args").concat(i?"+"+i:"",");\n"),i+=n[l].argPackAdvance;o+=" var rv = ".concat(1===t?"new func":"func.call","(").concat(s.join(", "),");\n"),a.isVoid||(c.push("emval_returnValue"),u.push(mr),o+=" return emval_returnValue(retType, destructorsRef, rv);\n"),o+="};\n",c.push(o);var f,d,m=je(Function,c)(...u),v="methodCaller<(".concat(n.map((e=>e.name)).join(", "),") => ").concat(a.name,">");return f=xe(v,m),d=vr.length,vr.push(f),d},n:e=>(e=gr(e),Qe.toHandle(a[e])),H:(e,r)=>(e=Qe.toValue(e),r=Qe.toValue(r),Qe.toHandle(e[r])),p:e=>{e>9&&(Xe[e+1]+=1)},$a:()=>Qe.toHandle([]),D:e=>Qe.toHandle(gr(e)),i:e=>{var r=Qe.toValue(e);M(r),Ye(e)},t:(e,r)=>{var t=(e=Ze(e,"_emval_take_value")).readValueFromPointer(r);return Qe.toHandle(t)},hb:function(e,r){var t;e=(t=e)<-9007199254740992||t>9007199254740992?NaN:Number(t);var n=new Date(1e3*e);g[r>>2]=n.getUTCSeconds(),g[r+4>>2]=n.getUTCMinutes(),g[r+8>>2]=n.getUTCHours(),g[r+12>>2]=n.getUTCDate(),g[r+16>>2]=n.getUTCMonth(),g[r+20>>2]=n.getUTCFullYear()-1900,g[r+24>>2]=n.getUTCDay();var a=Date.UTC(n.getUTCFullYear(),0,1,0,0,0,0),o=(n.getTime()-a)/864e5|0;g[r+28>>2]=o},gb:(e,r,t,n)=>{var a=(new Date).getFullYear(),o=new Date(a,0,1),i=new Date(a,6,1),s=o.getTimezoneOffset(),c=i.getTimezoneOffset(),u=Math.max(s,c);p[e>>2]=60*u,g[r>>2]=Number(s!=c);var l=e=>e.toLocaleTimeString(void 0,{hour12:!1,timeZoneName:"short"}).split(" ")[1],f=l(o),d=l(i);c<s?(rr(f,t,17),rr(d,n,17)):(rr(f,n,17),rr(d,t,17))},L:e=>cancelAnimationFrame(e),R:()=>Date.now(),lb:Ue,ad:Cr,bd:Er,Gb:Pr,Ab:Ar,cd:Sr,ed:$r,cc:Br,dc:Or,Mb:Lr,fd:kr,yc:Dr,Bc:jr,gd:Gr,hd:Ur,id:Mr,Yb:Nr,jd:Vr,kd:Rr,ec:Xr,ld:Hr,md:qr,nd:Jr,Vb:Zr,T:Kr,U:et,V:rt,W:tt,Xb:nt,X:at,Y:ot,Z:it,_:st,$:ct,fc:ut,aa:lt,Hb:ft,Bb:dt,gc:mt,Nb:vt,ca:ht,Wb:gt,da:pt,zc:bt,Cc:xt,ea:_t,fa:Tt,ga:Ct,ha:Et,wc:Pt,tc:At,rc:$t,ia:Bt,xc:Ot,uc:Lt,lc:kt,ja:Ft,ka:Dt,Ib:It,Cb:jt,Sb:Gt,la:Ut,ma:Mt,hc:Nt,ic:Vt,na:Rt,oa:Xt,jc:Yt,Jb:Ht,Db:Qt,kc:qt,Ob:zt,pa:Jt,vc:Kt,Dc:en,_b:rn,qa:tn,ra:nn,sa:cn,$b:un,ta:fn,ua:dn,va:mn,xb:hn,yb:gn,Kb:pn,Eb:yn,Lb:bn,Fb:wn,ac:xn,wa:_n,ub:Tn,xa:Cn,ya:An,Ac:$n,za:Bn,vb:On,wb:Ln,Tb:kn,Aa:Fn,Ba:Dn,Ca:In,pc:jn,qc:Gn,Da:Un,zb:Mn,sc:Nn,Ea:Yn,bc:Hn,Zb:Qn,Pb:qn,Qb:zn,Rb:Jn,Fa:Zn,Ga:Kn,Ha:ea,Ia:ra,Ja:ta,Ka:na,La:aa,Ma:oa,Na:ia,Oa:sa,Pa:ca,Qa:ua,Ra:la,mc:fa,Sa:da,Ta:va,Ua:ga,Yc:pa,Zc:ba,_c:wa,$c:xa,Xc:_a,Wc:Ta,Vc:Ca,Uc:Ea,Tc:Pa,Sc:Aa,Rc:Sa,Qc:$a,Ec:Wa,Fc:Ba,Gc:Oa,Hc:La,Ic:ka,Jc:Fa,Kc:Da,Lc:Ia,Mc:ja,Nc:Ga,nc:Ua,oc:Ma,Oc:Na,Pc:Va,Ub:Ra,C:(e,r)=>requestAnimationFrame((t=>Le(e)(t,r))),fb:e=>{var r=m.length,t=2147483648;if((e>>>=0)>t)return!1;for(var n,a,o=1;o<=4;o*=2){var i=r*(1+.2/o);i=Math.min(i,e+100663296);var s=Math.min(t,(n=Math.max(e,i))+((a=65536)-n%a)%a);if(Xa(s))return!0}return!1},_a:e=>Tr.makeContextCurrent(e)?0:-5,jb:(e,r)=>{var t=0;return Ha().forEach(((n,a)=>{var o=r+t;p[e+4*a>>2]=o,((e,r)=>{for(var t=0;t<e.length;++t)d[r++]=e.charCodeAt(t);d[r]=0})(n,o),t+=n.length+1})),0},kb:(e,r)=>{var t=Ha();p[e>>2]=t.length;var n=0;return t.forEach((e=>n+=e.length+1)),p[r>>2]=n,0},pb:qa,nb:e=>52,ib:function(e,r,t,n){return 70},P:(e,r,t,n)=>{for(var a,o,i,s=0,c=0;c<t;c++){var u=p[r>>2],d=p[r+4>>2];r+=8;for(var v=0;v<d;v++)a=e,o=m[u+v],i=void 0,i=za[a],0===o||10===o?((1===a?l:f)(ar(i,0)),i.length=0):i.push(o);s+=d}return p[n>>2]=s,0},Za:Wr,Wa:Yr,Ya:Qr,Xa:zr,F:ln,K:Pn,Va:Sn,f:function(e,r){var t=G();try{return Le(e)(r)}catch(e){if(j(t),e!==e+0)throw e;lo(1,0)}},o:function(e,r,t){var n=G();try{return Le(e)(r,t)}catch(e){if(j(n),e!==e+0)throw e;lo(1,0)}},k:function(e,r,t,n){var a=G();try{return Le(e)(r,t,n)}catch(e){if(j(a),e!==e+0)throw e;lo(1,0)}},B:function(e,r,t,n,a){var o=G();try{return Le(e)(r,t,n,a)}catch(e){if(j(o),e!==e+0)throw e;lo(1,0)}},qb:function(e,r,t,n,a,o){var i=G();try{return Le(e)(r,t,n,a,o)}catch(e){if(j(i),e!==e+0)throw e;lo(1,0)}},tb:function(e,r,t,n,a,o,i){var s=G();try{return Le(e)(r,t,n,a,o,i)}catch(e){if(j(s),e!==e+0)throw e;lo(1,0)}},S:function(e,r,t,n,a,o,i,s){var c=G();try{return Le(e)(r,t,n,a,o,i,s)}catch(e){if(j(c),e!==e+0)throw e;lo(1,0)}},I:function(e){var r=G();try{Le(e)()}catch(e){if(j(r),e!==e+0)throw e;lo(1,0)}},h:function(e,r){var t=G();try{Le(e)(r)}catch(e){if(j(t),e!==e+0)throw e;lo(1,0)}},y:function(e,r,t){var n=G();try{Le(e)(r,t)}catch(e){if(j(n),e!==e+0)throw e;lo(1,0)}},v:function(e,r,t,n){var a=G();try{Le(e)(r,t,n)}catch(e){if(j(a),e!==e+0)throw e;lo(1,0)}},w:function(e,r,t,n,a){var o=G();try{Le(e)(r,t,n,a)}catch(e){if(j(o),e!==e+0)throw e;lo(1,0)}},rb:function(e,r,t,n,a,o,i){var s=G();try{Le(e)(r,t,n,a,o,i)}catch(e){if(j(s),e!==e+0)throw e;lo(1,0)}},sb:function(e,r,t,n,a,o,i,s,c,u){var l=G();try{Le(e)(r,t,n,a,o,i,s,c,u)}catch(e){if(j(l),e!==e+0)throw e;lo(1,0)}},db:(e,r,t,n,a)=>eo(e,r,t,n)},io=function(){var e,r,n,o,i={a:oo};function s(e,r){var t;return io=e.exports,u=io.od,T(),We=io.sd,t=io.pd,E.unshift(t),function(e){if(0==--A&&S){var r=S;S=null,r()}}(),io}if(A++,a.instantiateWasm)try{return a.instantiateWasm(i,s)}catch(e){f("Module.instantiateWasm callback failed with error: ".concat(e)),t(e)}return W||(W=O()),(e=c,r=W,n=i,o=function(e){s(e.instance)},e||"function"!=typeof WebAssembly.instantiateStreaming||B(r)||"function"!=typeof fetch?k(r,n,o):fetch(r,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,n).then(o,(function(e){return f("wasm streaming compile failed: ".concat(e)),f("falling back to ArrayBuffer instantiation"),k(r,n,o)}))))).catch(t),{}}(),so=e=>(so=io.qd)(e),co=a._malloc=e=>(co=a._malloc=io.rd)(e),uo=a._free=e=>(uo=a._free=io.td)(e),lo=(e,r)=>(lo=io.ud)(e,r),fo=e=>(fo=io.vd)(e),mo=()=>(mo=io.wd)();function vo(){A>0||(D(C),A>0||ao||(ao=!0,a.calledRun=!0,_||(D(E),r(a),D(P))))}return a.GL=Tr,S=function e(){ao||vo(),ao||(S=e)},vo(),o});export{r as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sketch-hq/sketch-web-renderer",
3
- "version": "14.6.6",
3
+ "version": "14.6.8",
4
4
  "license": "UNLICENSED",
5
5
  "description": "Sketch Web Renderer",
6
6
  "repository": "git@github.com:sketch-hq/web-renderer",
@@ -52,7 +52,7 @@
52
52
  "@rollup/plugin-replace": "5.0.2",
53
53
  "@rollup/plugin-terser": "0.4.3",
54
54
  "@rollup/plugin-typescript": "11.1.1",
55
- "@sketch-hq/sketch-file-format-marina": "14.6.6",
55
+ "@sketch-hq/sketch-file-format-marina": "14.6.8",
56
56
  "@types/node": "18.16.0",
57
57
  "@types/offscreencanvas": "2019.7.0",
58
58
  "@types/pixelmatch": "5.2.4",