@luma.gl/webgl 9.0.0-alpha.50 → 9.0.0-alpha.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist.min.js CHANGED
@@ -4,46 +4,49 @@
4
4
  else if (typeof define === 'function' && define.amd) define([], factory);
5
5
  else if (typeof exports === 'object') exports['luma'] = factory();
6
6
  else root['luma'] = factory();})(globalThis, function () {
7
- var __exports__=(()=>{var Mn=Object.defineProperty;var Bc=Object.getOwnPropertyDescriptor;var Ic=Object.getOwnPropertyNames;var Fc=Object.prototype.hasOwnProperty;var Dc=(e,t)=>{for(var r in t)Mn(e,r,{get:t[r],enumerable:!0})},Cc=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ic(t))!Fc.call(e,i)&&i!==r&&Mn(e,i,{get:()=>t[i],enumerable:!(n=Bc(t,i))||n.enumerable});return e};var Wc=e=>Cc(Mn({},"__esModule",{value:!0}),e);var Xv={};Dc(Xv,{Accessor:()=>En,WEBGLBuffer:()=>pe,WEBGLCommandEncoder:()=>Gn,WEBGLFramebuffer:()=>Te,WEBGLRenderPass:()=>Pn,WEBGLRenderPipeline:()=>Ln,WEBGLRenderbuffer:()=>wt,WEBGLResource:()=>pr,WEBGLSampler:()=>ke,WEBGLShader:()=>On,WEBGLTexture:()=>se,WEBGLTransformFeedback:()=>Dn,WEBGLVertexArray:()=>In,WebGLCanvasContext:()=>wn,WebGLDevice:()=>le,WebGLResource:()=>pr,_TEXTURE_FORMATS:()=>Me,_checkFloat32ColorAttachment:()=>on,assertWebGL2Context:()=>ru,assertWebGLContext:()=>Qr,clear:()=>Pc,convertGLToTextureFormat:()=>Ne,copyToTexture:()=>jc,getGLParameters:()=>tn,getShaderLayout:()=>Tn,getWebGL2Context:()=>Xt,isWebGL:()=>mo,isWebGL2:()=>z,polyfillContext:()=>en,popContextState:()=>ge,pushContextState:()=>_e,readPixelsToArray:()=>Ac,readPixelsToBuffer:()=>Lc,registerHeadlessGL:()=>ci,resetGLParameters:()=>bu,setDeviceParameters:()=>fn,setGLParameters:()=>be,trackContextState:()=>er,withDeviceParameters:()=>Nu,withGLParameters:()=>ve});function It(e){return It=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},It(e)}function ui(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function fi(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ui(Object(r),!0).forEach(function(n){Mc(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ui(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Mc(e,t,r){return t=Nc(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Nc(e){var t=kc(e,"string");return It(t)==="symbol"?t:String(t)}function kc(e,t){if(It(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(It(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Vc="Failed to create WebGL context in Node.js, headless gl returned null",Uc=" luma.gl: loaded under Node.js without headless gl installed, meaning that WebGL contexts can not be created. This may not be an error. For example, this is a typical configuration for isorender applications running on the server.",zc={width:1,height:1,debug:!0,throwOnError:!1},vr=null;function ci(e){vr=e}function si(){return vr!==null}function li(e){e=fi(fi({},zc),e);var t=e,r=t.width,n=t.height,i=t.webgl1,o=t.webgl2;if(o&&!i)throw new Error("headless-gl does not support WebGL2");if(!vr)throw new Error(Uc);var a=vr(r,n,e);if(!a)throw new Error(Vc);return a}function Ft(e){if(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&Boolean(process.versions.electron))return!0;let t=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,r=e||t;return!!(r&&r.indexOf("Electron")>=0)}function J(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||Ft()}var Hc=globalThis.self||globalThis.window||globalThis.global,ze=globalThis.window||globalThis.self||globalThis.global,$c=globalThis.document||{},Be=globalThis.process||{},Xc=globalThis.console,pi=globalThis.navigator||{};var wr=typeof __VERSION__<"u"?__VERSION__:"untranspiled source",tw=J();var Nn=globalThis;function _r(e){if(!e&&!J())return"Node";if(Ft(e))return"Electron";let t=e||pi.userAgent||"";if(t.indexOf("Edge")>-1)return"Edge";let r=t.indexOf("MSIE ")!==-1,n=t.indexOf("Trident/")!==-1;return r||n?"IE":Nn.chrome?"Chrome":Nn.safari?"Safari":Nn.mozInnerScreenX?"Firefox":"Unknown"}function Kc(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var Or=class{constructor(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";this.storage=void 0,this.id=void 0,this.config=void 0,this.storage=Kc(n),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function di(e){let t;return e<10?t="".concat(e.toFixed(2),"ms"):e<100?t="".concat(e.toFixed(1),"ms"):e<1e3?t="".concat(e.toFixed(0),"ms"):t="".concat((e/1e3).toFixed(2),"s"),t}function hi(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(t-e.length,0);return"".concat(" ".repeat(r)).concat(e)}function Sr(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(r=Math.min(r,n/e.width));let o=e.width*r,a=e.height*r,u=["font-size:1px;","padding:".concat(Math.floor(a/2),"px ").concat(Math.floor(o/2),"px;"),"line-height:".concat(a,"px;"),"background:url(".concat(i,");"),"background-size:".concat(o,"px ").concat(a,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),u]}var Pr;(function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(Pr||(Pr={}));var Yc=10;function mi(e){return typeof e!="string"?e:(e=e.toUpperCase(),Pr[e]||Pr.WHITE)}function yi(e,t,r){if(!J&&typeof e=="string"){if(t){let n=mi(t);e="\x1B[".concat(n,"m").concat(e,"\x1B[39m")}if(r){let n=mi(r);e="\x1B[".concat(n+Yc,"m").concat(e,"\x1B[49m")}}return e}function bi(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),i=e;for(let o of n){let a=i[o];typeof a=="function"&&(t.find(u=>o===u)||(i[o]=a.bind(e)))}}function He(e,t){if(!e)throw new Error(t||"Assertion failed")}function Ie(){let e;if(J()&&ze.performance){var t,r;e=ze===null||ze===void 0||(t=ze.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if("hrtime"in Be){var n;let i=Be===null||Be===void 0||(n=Be.hrtime)===null||n===void 0?void 0:n.call(Be);e=i[0]*1e3+i[1]/1e6}else e=Date.now();return e}var $e={debug:J()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},qc={enabled:!0,level:0};function me(){}var gi={},vi={once:!0},Re=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};this.id=void 0,this.VERSION=wr,this._startTs=Ie(),this._deltaTs=Ie(),this._storage=void 0,this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new Or("__probe-".concat(this.id,"__"),qc),this.timeStamp("".concat(this.id," started")),bi(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Ie()-this._startTs).toPrecision(10))}getDelta(){return Number((Ie()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:t}),this}setLevel(t){return this._storage.setConfiguration({level:t}),this}get(t){return this._storage.config[t]}set(t,r){this._storage.setConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){He(t,r)}warn(t){return this._getLogFunction(0,t,$e.warn,arguments,vi)}error(t){return this._getLogFunction(0,t,$e.error,arguments)}deprecated(t,r){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(r,"` instead"))}removed(t,r){return this.error("`".concat(t,"` has been removed. Use `").concat(r,"` instead"))}probe(t,r){return this._getLogFunction(t,r,$e.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,$e.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,$e.debug||$e.info,arguments,vi)}table(t,r,n){return r?this._getLogFunction(t,r,console.table||me,n&&[n],{tag:es(r)}):me}image(t){let{logLevel:r,priority:n,image:i,message:o="",scale:a=1}=t;return this._shouldLog(r||n)?J()?Jc({image:i,message:o,scale:a}):Zc({image:i,message:o,scale:a}):me}time(t,r){return this._getLogFunction(t,r,console.time?console.time:console.info)}timeEnd(t,r){return this._getLogFunction(t,r,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,r){return this._getLogFunction(t,r,console.timeStamp||me)}group(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},i=wi({logLevel:t,message:r,opts:n}),{collapsed:o}=n;return i.method=(o?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||me)}withGroup(t,r,n){this.group(t,r)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=_i(t)}_getLogFunction(t,r,n,i,o){if(this._shouldLog(t)){o=wi({logLevel:t,message:r,args:i,opts:o}),n=n||o.method,He(n),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=Ie();let a=o.tag||o.message;if(o.once&&a)if(!gi[a])gi[a]=Ie();else return me;return r=Qc(this.id,o.message,o),n.bind(console,r,...o.args)}return me}};Re.VERSION=wr;function _i(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return He(Number.isFinite(t)&&t>=0),t}function wi(e){let{logLevel:t,message:r}=e;e.logLevel=_i(t);let n=e.args?Array.from(e.args):[];for(;n.length&&n.shift()!==r;);switch(typeof t){case"string":case"function":r!==void 0&&n.unshift(r),e.message=t;break;case"object":Object.assign(e,t);break;default:}typeof e.message=="function"&&(e.message=e.message());let i=typeof e.message;return He(i==="string"||i==="object"),Object.assign(e,{args:n},e.opts)}function Qc(e,t,r){if(typeof t=="string"){let n=r.time?hi(di(r.total)):"";t=r.time?"".concat(e,": ").concat(n," ").concat(t):"".concat(e,": ").concat(t),t=yi(t,r.color,r.background)}return t}function Zc(e){let{image:t,message:r="",scale:n=1}=e;return console.warn("removed"),me}function Jc(e){let{image:t,message:r="",scale:n=1}=e;if(typeof t=="string"){let o=new Image;return o.onload=()=>{let a=Sr(o,r,n);console.log(...a)},o.src=t,me}let i=t.nodeName||"";if(i.toLowerCase()==="img")return console.log(...Sr(t,r,n)),me;if(i.toLowerCase()==="canvas"){let o=new Image;return o.onload=()=>console.log(...Sr(o,r,n)),o.src=t.toDataURL(),me}return me}function es(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}var Gw=new Re({id:"@probe.gl/log"});var B=new Re({id:"luma.gl"});function Dt(){let e;if(typeof window<"u"&&window.performance)e=window.performance.now();else if(typeof process<"u"&&process.hrtime){let t=process.hrtime();e=t[0]*1e3+t[1]/1e6}else e=Date.now();return e}var Fe=class{constructor(t,r){this.name=void 0,this.type=void 0,this.sampleSize=1,this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this.name=t,this.type=r,this.reset()}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}setSampleSize(t){return this.sampleSize=t,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(t){return this._count+=t,this._samples++,this._checkSampling(),this}subtractCount(t){return this._count-=t,this._samples++,this._checkSampling(),this}addTime(t){return this._time+=t,this.lastTiming=t,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=Dt(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(Dt()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var Xe=class{constructor(t){this.id=void 0,this.stats={},this.id=t.id,this.stats={},this._initializeStats(t.stats),Object.seal(this)}get(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"count";return this._getOrCreate({name:t,type:r})}get size(){return Object.keys(this.stats).length}reset(){for(let t of Object.values(this.stats))t.reset();return this}forEach(t){for(let r of Object.values(this.stats))t(r)}getTable(){let t={};return this.forEach(r=>{t[r.name]={time:r.time||0,count:r.count||0,average:r.getAverageTime()||0,hz:r.getHz()||0}}),t}_initializeStats(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(r=>this._getOrCreate(r))}_getOrCreate(t){let{name:r,type:n}=t,i=this.stats[r];return i||(t instanceof Fe?i=t:i=new Fe(r,n),this.stats[r]=i),i}};function Ct(e){return Ct=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ct(e)}function Oi(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,rs(n.key),n)}}function ts(e,t,r){return t&&Oi(e.prototype,t),r&&Oi(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function rs(e){var t=ns(e,"string");return Ct(t)==="symbol"?t:String(t)}function ns(e,t){if(Ct(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Ct(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function os(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var is=function(){function e(){os(this,e),this.stats=new Map}var t=e.prototype;return t.getStats=function(n){return this.get(n)},t.get=function(n){return this.stats.has(n)||this.stats.set(n,new Xe({id:n})),this.stats.get(n)},ts(e)}(),xr=new is;function as(){var e=typeof __VERSION__<"u"?__VERSION__:"untranspiled source",t="set luma.log.level=1 (or higher) to trace rendering";if(globalThis.luma&&globalThis.luma.VERSION!==e)throw new Error("luma.gl - multiple VERSIONs detected: ".concat(globalThis.luma.VERSION," vs ").concat(e));return globalThis.luma||(J()&&B.log(1,"luma.gl ".concat(e," - ").concat(t))(),globalThis.luma=globalThis.luma||{VERSION:e,version:e,log:B,stats:xr}),e}var Si=as();function us(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)?e:null}function Pi(e){return Array.isArray(e)?e.length===0||typeof e[0]=="number"?e:null:us(e)}var kn={};function we(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"id";kn[e]=kn[e]||1;var t=kn[e]++;return"".concat(e,"-").concat(t)}function Er(e){return e>0&&(e&e-1)===0}function Ke(e){var t=!0;for(var r in e){t=!1;break}return t}function Wt(e){return Wt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Wt(e)}function xi(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function fs(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?xi(Object(r),!0).forEach(function(n){cs(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):xi(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function cs(e,t,r){return t=Ti(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ei(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Ti(n.key),n)}}function ss(e,t,r){return t&&Ei(e.prototype,t),r&&Ei(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ti(e){var t=ls(e,"string");return Wt(t)==="symbol"?t:String(t)}function ls(e,t){if(Wt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Wt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ps(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var K=function(){function e(r,n,i){if(ps(this,e),this.id=void 0,this.props=void 0,this.userData={},this.device=void 0,this._device=void 0,this.destroyed=!1,this.allocatedBytes=0,this._attachedResources=new Set,!r)throw new Error("no device");this._device=r,this.props=ds(n,i);var o=this.props.id!=="undefined"?this.props.id:we(this[Symbol.toStringTag]);this.props.id=o,this.id=o,this.userData=this.props.userData||{},this.addStats()}var t=e.prototype;return t.destroy=function(){this.destroyResource()},t.delete=function(){return this.destroy(),this},t.toString=function(){return"".concat(this[Symbol.toStringTag]||this.constructor.name,"(").concat(this.id,")")},t.getProps=function(){return this.props},t.attachResource=function(n){this._attachedResources.add(n)},t.detachResource=function(n){this._attachedResources.delete(n)},t.destroyAttachedResource=function(n){this._attachedResources.delete(n)&&n.destroy()},t.destroyAttachedResources=function(){for(var n=0,i=Object.values(this._attachedResources);n<i.length;n++){var o=i[n];o.destroy()}this._attachedResources=new Set},t.destroyResource=function(){this.destroyAttachedResources(),this.removeStats(),this.destroyed=!0},t.removeStats=function(){var n=this._device.statsManager.getStats("Resource Counts"),i=this[Symbol.toStringTag];n.get("".concat(i,"s Active")).decrementCount()},t.trackAllocatedMemory=function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this[Symbol.toStringTag],o=this._device.statsManager.getStats("Resource Counts");o.get("GPU Memory").addCount(n),o.get("".concat(i," Memory")).addCount(n),this.allocatedBytes=n},t.trackDeallocatedMemory=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this[Symbol.toStringTag],i=this._device.statsManager.getStats("Resource Counts");i.get("GPU Memory").subtractCount(this.allocatedBytes),i.get("".concat(n," Memory")).subtractCount(this.allocatedBytes),this.allocatedBytes=0},t.addStats=function(){var n=this._device.statsManager.getStats("Resource Counts"),i=this[Symbol.toStringTag];n.get("Resources Created").incrementCount(),n.get("".concat(i,"s Created")).incrementCount(),n.get("".concat(i,"s Active")).incrementCount()},ss(e)}();K.defaultProps={id:"undefined",handle:void 0,userData:void 0};function ds(e,t){var r=fs({},t);for(var n in e)e[n]!==void 0&&(r[n]=e[n]);return r}function Ye(e){return Ye=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ye(e)}var ji;function Ai(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Vn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ai(Object(r),!0).forEach(function(n){hs(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ai(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function hs(e,t,r){return t=Ri(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ms(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Li(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Ri(n.key),n)}}function ys(e,t,r){return t&&Li(e.prototype,t),r&&Li(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ri(e){var t=bs(e,"string");return Ye(t)==="symbol"?t:String(t)}function bs(e,t){if(Ye(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Ye(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function gs(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Un(e,t)}function Un(e,t){return Un=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Un(e,t)}function vs(e){var t=Os();return function(){var n=Tr(e),i;if(t){var o=Tr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return ws(this,i)}}function ws(e,t){if(t&&(Ye(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return _s(e)}function _s(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Os(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Tr(e){return Tr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Tr(e)}ji=Symbol.toStringTag;var te=function(e){gs(r,e);var t=vs(r);function r(i,o){var a;ms(this,r);var u=Vn({},o);return(o.usage||0)&r.INDEX&&!o.indexType&&(o.data instanceof Uint32Array?u.indexType="uint32":o.data instanceof Uint16Array&&(u.indexType="uint16")),a=t.call(this,i,u,r.defaultProps),a.usage=void 0,a.indexType=void 0,a.byteLength=void 0,a.usage=o.usage||0,a.indexType=u.indexType,a}var n=r.prototype;return n.write=function(o,a){throw new Error("not implemented")},n.readAsync=function(o,a){throw new Error("not implemented")},n.getData=function(){throw new Error("not implemented")},ys(r,[{key:ji,get:function(){return"Buffer"}}]),r}(K);te.defaultProps=Vn(Vn({},K.defaultProps),{},{usage:0,byteLength:0,byteOffset:0,data:null,indexType:"uint16",mappedAtCreation:!1});te.MAP_READ=1;te.MAP_WRITE=2;te.COPY_SRC=4;te.COPY_DST=8;te.INDEX=16;te.VERTEX=32;te.UNIFORM=64;te.STORAGE=128;te.INDIRECT=256;te.QUERY_RESOLVE=512;function Mt(e){return Mt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Mt(e)}var Ii;function Gi(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function zn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Gi(Object(r),!0).forEach(function(n){Ss(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Gi(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Ss(e,t,r){return t=Fi(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ps(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Bi(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Fi(n.key),n)}}function xs(e,t,r){return t&&Bi(e.prototype,t),r&&Bi(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Fi(e){var t=Es(e,"string");return Mt(t)==="symbol"?t:String(t)}function Es(e,t){if(Mt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Mt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}Ii=Symbol.toStringTag;var qe=function(){function e(r){Ps(this,e),this.id=void 0,this.statsManager=xr,this.props=void 0,this.userData={},this._lumaData={},this.info=void 0,this.lost=void 0,this.canvasContext=void 0,this.props=zn(zn({},e.defaultProps),r),this.id=this.props.id||we(this[Symbol.toStringTag].toLowerCase())}var t=e.prototype;return t.loseDevice=function(){return!1},t.getCanvasContext=function(){if(!this.canvasContext)throw new Error("Device has no CanvasContext");return this.canvasContext},t.createTexture=function(n){return(n instanceof Promise||typeof n=="string")&&(n={data:n}),this._createTexture(n)},t.createCommandEncoder=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};throw new Error("not implemented")},t._getBufferProps=function(n){(n instanceof ArrayBuffer||ArrayBuffer.isView(n))&&(n={data:n});var i=zn({},n);return(n.usage||0)&te.INDEX&&!n.indexType&&(n.data instanceof Uint32Array?i.indexType="uint32":n.data instanceof Uint16Array?i.indexType="uint16":B.warn("indices buffer content must be of integer type")()),i},xs(e,[{key:Ii,get:function(){return"Device"}}]),e}();qe.defaultProps={id:null,type:"best-available",canvas:null,container:null,webgl2:!0,webgl1:!0,manageState:!0,width:800,height:600,debug:Boolean(B.get("debug")),break:[],gl:null};qe.VERSION=Si;function Nt(e){return Nt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Nt(e)}function Ar(e,t){return Ls(e)||As(e,t)||Vi(e,t)||Ts()}function Ts(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
8
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function As(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function Ls(e){if(Array.isArray(e))return e}function js(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Vi(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
9
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,u;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,u=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw u}}}}function Vi(e,t){if(e){if(typeof e=="string")return Di(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Di(e,t)}}function Di(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Ci(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Wi(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ci(Object(r),!0).forEach(function(n){Rs(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ci(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Rs(e,t,r){return t=Ui(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Gs(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Mi(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Ui(n.key),n)}}function Bs(e,t,r){return t&&Mi(e.prototype,t),r&&Mi(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ui(e){var t=Is(e,"string");return Nt(t)==="symbol"?t:String(t)}function Is(e,t){if(Nt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Nt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Fs=J()&&typeof document<"u",Lr=function(){return Fs&&document.readyState==="complete"},Ds={canvas:null,width:800,height:600,useDevicePixels:!0,autoResize:!0,container:null,visible:!0,colorSpace:"srgb",alphaMode:"opaque"},Qe=function(){function e(r){var n=this;if(Gs(this,e),this.device=void 0,this.id=void 0,this.props=void 0,this.canvas=void 0,this.htmlCanvas=void 0,this.offscreenCanvas=void 0,this.type=void 0,this.width=1,this.height=1,this.resizeObserver=void 0,this._canvasSizeInfo={clientWidth:0,clientHeight:0,devicePixelRatio:1},this.props=Wi(Wi({},Ds),r),r=this.props,!J()){this.id="node-canvas-context",this.type="node",this.width=this.props.width,this.height=this.props.height,this.canvas=null;return}if(r.canvas)typeof r.canvas=="string"?this.canvas=Ms(r.canvas):this.canvas=r.canvas;else{var i,o,a=Ns(r),u=Ws(((i=r)===null||i===void 0?void 0:i.container)||null);u.insertBefore(a,u.firstChild),this.canvas=a,(o=r)!==null&&o!==void 0&&o.visible||(this.canvas.style.visibility="hidden")}this.canvas instanceof HTMLCanvasElement?(this.id=this.canvas.id,this.type="html-canvas",this.htmlCanvas=this.canvas):(this.id="offscreen-canvas",this.type="offscreen-canvas",this.offscreenCanvas=this.canvas),this.canvas instanceof HTMLCanvasElement&&r.autoResize&&(this.resizeObserver=new ResizeObserver(function(c){var p=js(c),b;try{for(p.s();!(b=p.n()).done;){var g=b.value;g.target===n.canvas&&n.update()}}catch(v){p.e(v)}finally{p.f()}}),this.resizeObserver.observe(this.canvas))}var t=e.prototype;return t.getDevicePixelRatio=function(n){if(typeof OffscreenCanvas<"u"&&this.canvas instanceof OffscreenCanvas||(n=n===void 0?this.props.useDevicePixels:n,!n||n<=0))return 1;if(n===!0){var i=typeof window<"u"&&window.devicePixelRatio;return i||1}return n},t.getPixelSize=function(){switch(this.type){case"node":return[this.width,this.height];case"offscreen-canvas":return[this.canvas.width,this.canvas.height];case"html-canvas":var n=this.getDevicePixelRatio(),i=this.canvas;return i.parentElement?[i.clientWidth*n,i.clientHeight*n]:[this.canvas.width,this.canvas.height];default:throw new Error(this.type)}},t.getAspect=function(){var n=this.getPixelSize(),i=Ar(n,2),o=i[0],a=i[1];return o/a},t.cssToDeviceRatio=function(){try{var n=this.getDrawingBufferSize(),i=Ar(n,1),o=i[0],a=this._canvasSizeInfo.clientWidth;return a?o/a:1}catch{return 1}},t.cssToDevicePixels=function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,o=this.cssToDeviceRatio(),a=this.getDrawingBufferSize(),u=Ar(a,2),c=u[0],p=u[1];return ks(n,o,c,p,i)},t.setDevicePixelRatio=function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.htmlCanvas){var o="width"in i?i.width:this.htmlCanvas.clientWidth,a="height"in i?i.height:this.htmlCanvas.clientHeight;(!o||!a)&&(B.log(1,"Canvas clientWidth/clientHeight is 0")(),n=1,o=this.htmlCanvas.width||1,a=this.htmlCanvas.height||1);var u=this._canvasSizeInfo;if(u.clientWidth!==o||u.clientHeight!==a||u.devicePixelRatio!==n){var c=n,p=Math.floor(o*c),b=Math.floor(a*c);this.htmlCanvas.width=p,this.htmlCanvas.height=b;var g=this.getDrawingBufferSize(),v=Ar(g,2),O=v[0],w=v[1];(O!==p||w!==b)&&(c=Math.min(O/o,w/a),this.htmlCanvas.width=Math.floor(o*c),this.htmlCanvas.height=Math.floor(a*c),B.warn("Device pixel ratio clamped")()),this._canvasSizeInfo.clientWidth=o,this._canvasSizeInfo.clientHeight=a,this._canvasSizeInfo.devicePixelRatio=n}}},t.getDrawingBufferSize=function(){var n=this.device.gl;if(!n)throw new Error("canvas size");return[n.drawingBufferWidth,n.drawingBufferHeight]},t._setAutoCreatedCanvasId=function(n){var i;((i=this.htmlCanvas)===null||i===void 0?void 0:i.id)==="lumagl-auto-created-canvas"&&(this.htmlCanvas.id=n)},Bs(e,null,[{key:"isPageLoaded",get:function(){return Lr()}}]),e}();Qe.pageLoaded=Cs();function Cs(){return Lr()||typeof window>"u"?Promise.resolve():new Promise(function(e){window.addEventListener("load",function(){return e()})})}function Ws(e){if(typeof e=="string"){var t=document.getElementById(e);if(!t&&!Lr())throw new Error("Accessing '".concat(e,"' before page was loaded"));if(!t)throw new Error("".concat(e," is not an HTML element"));return t}else if(e)return e;return document.body}function Ms(e){var t=document.getElementById(e);if(!t&&!Lr())throw new Error("Accessing '".concat(e,"' before page was loaded"));if(!(t instanceof HTMLCanvasElement))throw new Error("Object is not a canvas element");return t}function Ns(e){var t=e.width,r=e.height,n=document.createElement("canvas");return n.id="lumagl-auto-created-canvas",n.width=t||1,n.height=r||1,n.style.width=Number.isFinite(t)?"".concat(t,"px"):"100%",n.style.height=Number.isFinite(r)?"".concat(r,"px"):"100%",n}function ks(e,t,r,n,i){var o=e,a=Ni(o[0],t,r),u=ki(o[1],t,n,i),c=Ni(o[0]+1,t,r),p=c===r-1?c:c-1;c=ki(o[1]+1,t,n,i);var b;return i?(c=c===0?c:c+1,b=u,u=c):b=c===n-1?c:c-1,{x:a,y:u,width:Math.max(p-a+1,1),height:Math.max(b-u+1,1)}}function Ni(e,t,r){var n=Math.min(Math.round(e*t),r-1);return n}function ki(e,t,r,n){return n?Math.max(0,r-1-Math.round(e*t)):Math.min(Math.round(e*t),r-1)}function Ze(e){return Ze=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ze(e)}var Xi;function zi(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Hi(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?zi(Object(r),!0).forEach(function(n){Vs(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):zi(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Vs(e,t,r){return t=Ki(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Us(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function $i(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Ki(n.key),n)}}function zs(e,t,r){return t&&$i(e.prototype,t),r&&$i(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ki(e){var t=Hs(e,"string");return Ze(t)==="symbol"?t:String(t)}function Hs(e,t){if(Ze(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Ze(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function $s(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Hn(e,t)}function Hn(e,t){return Hn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Hn(e,t)}function Xs(e){var t=qs();return function(){var n=jr(e),i;if(t){var o=jr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Ks(this,i)}}function Ks(e,t){if(t&&(Ze(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Ys(e)}function Ys(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function qs(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function jr(e){return jr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},jr(e)}Xi=Symbol.toStringTag;var ae=function(e){$s(r,e);var t=Xs(r);function r(n,i){var o,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:r.defaultProps;return Us(this,r),o=t.call(this,n,i,a),o.dimension=void 0,o.format=void 0,o.width=void 0,o.height=void 0,o.depth=void 0,o.sampler=void 0,o.dimension=o.props.dimension,o.format=o.props.format,o.width=o.props.width,o.height=o.props.height,o.depth=o.props.depth,o}return zs(r,[{key:Xi,get:function(){return"Texture"}}]),r}(K);ae.defaultProps=Hi(Hi({},K.defaultProps),{},{data:null,dimension:"2d",format:"rgba8unorm",width:void 0,height:void 0,depth:1,mipmaps:!0,sampler:{},compressed:!1,usage:0,mipLevels:void 0,samples:void 0,type:void 0});ae.COPY_SRC=1;ae.COPY_DST=2;ae.TEXTURE_BINDING=4;ae.STORAGE_BINDING=8;ae.RENDER_ATTACHMENT=16;function Je(e){return Je=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Je(e)}var Zi;function Yi(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function qi(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Yi(Object(r),!0).forEach(function(n){Qs(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Yi(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Qs(e,t,r){return t=Ji(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Zs(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Qi(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Ji(n.key),n)}}function Js(e,t,r){return t&&Qi(e.prototype,t),r&&Qi(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ji(e){var t=el(e,"string");return Je(t)==="symbol"?t:String(t)}function el(e,t){if(Je(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Je(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function tl(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&$n(e,t)}function $n(e,t){return $n=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},$n(e,t)}function rl(e){var t=il();return function(){var n=Rr(e),i;if(t){var o=Rr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return nl(this,i)}}function nl(e,t){if(t&&(Je(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ol(e)}function ol(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function il(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Rr(e){return Rr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Rr(e)}Zi=Symbol.toStringTag;var Gr=function(e){tl(r,e);var t=rl(r);function r(n,i){var o;return Zs(this,r),o=t.call(this,n,i,r.defaultProps),o.stage=void 0,o.source=void 0,o.stage=o.props.stage,o.source=o.props.source,o}return Js(r,[{key:Zi,get:function(){return"Shader"}}]),r}(K);Gr.defaultProps=qi(qi({},K.defaultProps),{},{stage:"vertex",source:"",sourceMap:null,language:"auto",shaderType:0});function et(e){return et=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},et(e)}var na;function ea(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ta(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ea(Object(r),!0).forEach(function(n){al(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ea(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function al(e,t,r){return t=oa(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ul(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ra(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,oa(n.key),n)}}function fl(e,t,r){return t&&ra(e.prototype,t),r&&ra(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function oa(e){var t=cl(e,"string");return et(t)==="symbol"?t:String(t)}function cl(e,t){if(et(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(et(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function sl(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Xn(e,t)}function Xn(e,t){return Xn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Xn(e,t)}function ll(e){var t=hl();return function(){var n=Br(e),i;if(t){var o=Br(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return pl(this,i)}}function pl(e,t){if(t&&(et(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return dl(e)}function dl(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function hl(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Br(e){return Br=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Br(e)}na=Symbol.toStringTag;var Ir=function(e){sl(r,e);var t=ll(r);function r(n,i){return ul(this,r),t.call(this,n,i,r.defaultProps)}return fl(r,[{key:na,get:function(){return"Sampler"}}]),r}(K);Ir.defaultProps=ta(ta({},K.defaultProps),{},{type:"color-sampler",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge",addressModeW:"clamp-to-edge",magFilter:"nearest",minFilter:"nearest",mipmapFilter:"nearest",lodMinClamp:0,lodMaxClamp:32,compare:"less-equal",maxAnisotropy:1});function rt(e){return rt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},rt(e)}var fa;function ia(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function tt(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ia(Object(r),!0).forEach(function(n){ml(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ia(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function ml(e,t,r){return t=ca(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function yl(e,t){return wl(e)||vl(e,t)||gl(e,t)||bl()}function bl(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
10
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function gl(e,t){if(e){if(typeof e=="string")return aa(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return aa(e,t)}}function aa(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function vl(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function wl(e){if(Array.isArray(e))return e}function _l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ua(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,ca(n.key),n)}}function Ol(e,t,r){return t&&ua(e.prototype,t),r&&ua(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function ca(e){var t=Sl(e,"string");return rt(t)==="symbol"?t:String(t)}function Sl(e,t){if(rt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(rt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Pl(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Kn(e,t)}function Kn(e,t){return Kn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Kn(e,t)}function xl(e){var t=Al();return function(){var n=Fr(e),i;if(t){var o=Fr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return El(this,i)}}function El(e,t){if(t&&(rt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Tl(e)}function Tl(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Al(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Fr(e){return Fr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Fr(e)}fa=Symbol.toStringTag;var nt=function(e){Pl(r,e);var t=xl(r);function r(i){var o,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return _l(this,r),o=t.call(this,i,a,r.defaultProps),o.width=void 0,o.height=void 0,o.colorAttachments=[],o.depthStencilAttachment=null,o.width=o.props.width,o.height=o.props.height,o}var n=r.prototype;return n.resize=function(o){var a=!o;if(o){var u=Array.isArray(o)?o:[o.width,o.height],c=yl(u,2),p=c[0],b=c[1];a=a||b!==this.height||p!==this.width,this.width=p,this.height=b}a&&(B.log(2,"Resizing framebuffer ".concat(this.id," to ").concat(this.width,"x").concat(this.height))(),this.resizeAttachments(this.width,this.height))},n.autoCreateAttachmentTextures=function(){var o=this;if(this.colorAttachments=this.props.colorAttachments.map(function(u){if(typeof u=="string"){var c=o.createColorTexture(u);return o.attachResource(c),c}return u}),this.props.depthStencilAttachment)if(typeof this.props.depthStencilAttachment=="string"){var a=this.createDepthStencilTexture(this.props.depthStencilAttachment);this.attachResource(a),this.depthStencilAttachment=a}else this.depthStencilAttachment=this.props.depthStencilAttachment},n.createColorTexture=function(o){return this.device.createTexture({id:"color-attachment",usage:ae.RENDER_ATTACHMENT,format:o,width:this.width,height:this.height})},n.createDepthStencilTexture=function(o){return this.device.createTexture({id:"depth-stencil-attachment",usage:ae.RENDER_ATTACHMENT,format:o,width:this.width,height:this.height})},n.resizeAttachments=function(o,a){for(var u=0;u<this.colorAttachments.length;++u)if(this.colorAttachments[u]){var c=this.device._createTexture(tt(tt({},this.colorAttachments[u].props),{},{width:o,height:a}));this.destroyAttachedResource(this.colorAttachments[u]),this.colorAttachments[u]=c,this.attachResource(c)}if(this.depthStencilAttachment){var p=this.device._createTexture(tt(tt({},this.depthStencilAttachment.props),{},{width:o,height:a}));this.destroyAttachedResource(this.depthStencilAttachment),this.depthStencilAttachment=p,this.attachResource(p)}},Ol(r,[{key:fa,get:function(){return"Framebuffer"}}]),r}(K);nt.defaultProps=tt(tt({},K.defaultProps),{},{width:1,height:1,colorAttachments:[],depthStencilAttachment:null});function ot(e){return ot=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ot(e)}var da;function sa(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function la(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?sa(Object(r),!0).forEach(function(n){Ll(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):sa(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Ll(e,t,r){return t=ha(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function jl(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function pa(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,ha(n.key),n)}}function Rl(e,t,r){return t&&pa(e.prototype,t),r&&pa(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function ha(e){var t=Gl(e,"string");return ot(t)==="symbol"?t:String(t)}function Gl(e,t){if(ot(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(ot(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Bl(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Yn(e,t)}function Yn(e,t){return Yn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Yn(e,t)}function Il(e){var t=Cl();return function(){var n=Dr(e),i;if(t){var o=Dr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Fl(this,i)}}function Fl(e,t){if(t&&(ot(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Dl(e)}function Dl(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Cl(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Dr(e){return Dr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Dr(e)}da=Symbol.toStringTag;var Cr=function(e){Bl(r,e);var t=Il(r);function r(n,i){var o;return jl(this,r),o=t.call(this,n,i,r.defaultProps),o.hash="",o.vs=void 0,o.fs=void 0,o.shaderLayout=void 0,o.bufferLayout=void 0,o.shaderLayout=o.props.shaderLayout,o.bufferLayout=o.props.bufferLayout||[],o}return Rl(r,[{key:da,get:function(){return"RenderPipeline"}}]),r}(K);Cr.defaultProps=la(la({},K.defaultProps),{},{vs:null,vsEntryPoint:"",vsConstants:{},fs:null,fsEntryPoint:"",fsConstants:{},shaderLayout:null,bufferLayout:[],topology:"triangle-list",parameters:{},vertexCount:0,instanceCount:0,bindings:{},uniforms:{}});function it(e){return it=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},it(e)}var ga;function ma(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ya(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ma(Object(r),!0).forEach(function(n){Wl(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ma(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Wl(e,t,r){return t=va(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ml(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ba(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,va(n.key),n)}}function Nl(e,t,r){return t&&ba(e.prototype,t),r&&ba(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function va(e){var t=kl(e,"string");return it(t)==="symbol"?t:String(t)}function kl(e,t){if(it(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(it(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Vl(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&qn(e,t)}function qn(e,t){return qn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},qn(e,t)}function Ul(e){var t=$l();return function(){var n=Wr(e),i;if(t){var o=Wr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return zl(this,i)}}function zl(e,t){if(t&&(it(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Hl(e)}function Hl(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function $l(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Wr(e){return Wr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Wr(e)}ga=Symbol.toStringTag;var Mr=function(e){Vl(r,e);var t=Ul(r);function r(n,i){return Ml(this,r),t.call(this,n,i,r.defaultProps)}return Nl(r,[{key:ga,get:function(){return"RenderPass"}}]),r}(K);Mr.defaultProps=ya(ya({},K.defaultProps),{},{framebuffer:null,parameters:void 0,clearColor:[0,0,0,0],clearDepth:1,clearStencil:0,depthReadOnly:!1,stencilReadOnly:!1,discard:!1});function at(e){return at=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},at(e)}var Sa;function wa(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function _a(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?wa(Object(r),!0).forEach(function(n){Xl(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):wa(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Xl(e,t,r){return t=Pa(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Kl(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Oa(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Pa(n.key),n)}}function Yl(e,t,r){return t&&Oa(e.prototype,t),r&&Oa(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Pa(e){var t=ql(e,"string");return at(t)==="symbol"?t:String(t)}function ql(e,t){if(at(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(at(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ql(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Qn(e,t)}function Qn(e,t){return Qn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Qn(e,t)}function Zl(e){var t=tp();return function(){var n=Nr(e),i;if(t){var o=Nr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Jl(this,i)}}function Jl(e,t){if(t&&(at(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ep(e)}function ep(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function tp(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Nr(e){return Nr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Nr(e)}Sa=Symbol.toStringTag;var kr=function(e){Ql(r,e);var t=Zl(r);function r(i,o){return Kl(this,r),t.call(this,i,o,r.defaultProps)}var n=r.prototype;return n.pushDebugGroup=function(o){},n.popDebugGroup=function(){},n.insertDebugMarker=function(o){},Yl(r,[{key:Sa,get:function(){return"CommandEncoder"}}]),r}(K);kr.defaultProps=_a(_a({},K.defaultProps),{},{measureExecutionTime:void 0});function ut(e){return ut=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ut(e)}var Ta;function xa(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function rp(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?xa(Object(r),!0).forEach(function(n){np(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):xa(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function np(e,t,r){return t=Aa(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function op(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ea(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Aa(n.key),n)}}function ip(e,t,r){return t&&Ea(e.prototype,t),r&&Ea(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Aa(e){var t=ap(e,"string");return ut(t)==="symbol"?t:String(t)}function ap(e,t){if(ut(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(ut(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function up(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Zn(e,t)}function Zn(e,t){return Zn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Zn(e,t)}function fp(e){var t=lp();return function(){var n=Vr(e),i;if(t){var o=Vr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return cp(this,i)}}function cp(e,t){if(t&&(ut(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return sp(e)}function sp(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function lp(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Vr(e){return Vr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Vr(e)}Ta=Symbol.toStringTag;var Ur=function(e){up(r,e);var t=fp(r);function r(n,i){return op(this,r),t.call(this,n,i,r.defaultProps)}return ip(r,[{key:Ta,get:function(){return"CommandBuffer"}}]),r}(K);Ur.defaultProps=rp({},K.defaultProps);function pp(e,t){return yp(e)||mp(e,t)||hp(e,t)||dp()}function dp(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
11
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function hp(e,t){if(e){if(typeof e=="string")return La(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return La(e,t)}}function La(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function mp(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function yp(e){if(Array.isArray(e))return e}function ja(e){var t=pp(gp[e],2),r=t[0],n=t[1],i=r==="i32"||r==="u32",o=r!=="u32",a=vp[r]*n,u=bp(r,n);return{dataType:r,components:n,defaultVertexFormat:u,byteLength:a,integer:i,signed:o}}function bp(e,t){var r;switch(e){case"f32":r="float32";break;case"i32":r="sint32";break;case"u32":r="uint32";break;case"f16":return t<=2?"float16x2":"float16x4"}return t===1?r:"".concat(r,"x").concat(t)}var gp={f32:["f32",1],"vec2<f32>":["f32",2],"vec3<f32>":["f32",3],"vec4<f32>":["f32",4],f16:["f16",1],"vec2<f16>":["f16",2],"vec3<f16>":["f16",3],"vec4<f16>":["f16",4],i32:["i32",1],"vec2<i32>":["i32",2],"vec3<i32>":["i32",3],"vec4<i32>":["i32",4],u32:["u32",1],"vec2<u32>":["u32",2],"vec3<u32>":["u32",3],"vec4<u32>":["u32",4]},vp={f32:4,f16:2,i32:4,u32:4};function zr(e){var t=Ra[e],r=wp(t),n=e.includes("norm"),i=!n&&!e.startsWith("float"),o=e.startsWith("s");return{dataType:Ra[e],byteLength:r,integer:i,signed:o,normalized:n}}function wp(e){var t=_p[e];return t}var Ra={uint8:"uint8",sint8:"sint8",unorm8:"uint8",snorm8:"sint8",uint16:"uint16",sint16:"sint16",unorm16:"uint16",snorm16:"sint16",float16:"float16",float32:"float32",uint32:"uint32",sint32:"sint32"},_p={uint8:1,sint8:1,uint16:2,sint16:2,float16:2,float32:4,uint32:4,sint32:4};function Op(e,t){return Ep(e)||xp(e,t)||Pp(e,t)||Sp()}function Sp(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
12
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Pp(e,t){if(e){if(typeof e=="string")return Ga(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ga(e,t)}}function Ga(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function xp(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function Ep(e){if(Array.isArray(e))return e}function Jn(e){var t;e.endsWith("-webgl")&&(e.replace("-webgl",""),t=!0);var r=e.split("x"),n=Op(r,2),i=n[0],o=n[1],a=i,u=o?parseInt(o):1,c=zr(a),p={type:a,components:u,byteLength:c.byteLength*u,integer:c.integer,signed:c.signed,normalized:c.normalized};return t&&(p.webglOnly=!0),p}function kt(e){return kt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},kt(e)}function Ba(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function eo(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ba(Object(r),!0).forEach(function(n){Tp(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ba(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Tp(e,t,r){return t=Ap(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ap(e){var t=Lp(e,"string");return kt(t)==="symbol"?t:String(t)}function Lp(e,t){if(kt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(kt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ft(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=jp(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
13
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,u;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,u=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw u}}}}function jp(e,t){if(e){if(typeof e=="string")return Ia(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ia(e,t)}}function Ia(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Fa(e,t){var r={},n=ft(e.attributes),i;try{for(n.s();!(i=n.n()).done;){var o=i.value;r[o.name]=Rp(e,t,o.name)}}catch(a){n.e(a)}finally{n.f()}return r}function Da(e,t){for(var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:16,n=Fa(e,t),i=new Array(r).fill(null),o=0,a=Object.values(n);o<a.length;o++){var u=a[o];i[u.location]=u}return i}function Rp(e,t,r){var n=Gp(e,r),i=Bp(t,r);if(!n)return null;var o=ja(n.type),a=i?.vertexFormat||o.defaultVertexFormat,u=Jn(a);return{attributeName:i?.attributeName||n.name,bufferName:i?.bufferName||n.name,location:n.location,shaderType:n.type,shaderDataType:o.dataType,shaderComponents:o.components,vertexFormat:a,bufferDataType:u.type,bufferComponents:u.components,normalized:u.normalized,integer:o.integer,stepMode:i?.stepMode||n.stepMode,byteOffset:i?.byteOffset||0,byteStride:i?.byteStride||0}}function Gp(e,t){var r=e.attributes.find(function(n){return n.name===t});return r||B.warn('shader layout attribute "'.concat(t,'" not present in shader')),r||null}function Bp(e,t){Ip(e);var r=Fp(e,t);return r||(r=Dp(e,t),r)?r:(B.warn('layout for attribute "'.concat(t,'" not present in buffer layout')),null)}function Ip(e){var t=ft(e),r;try{for(t.s();!(r=t.n()).done;){var n=r.value;(n.attributes&&n.format||!n.attributes&&!n.format)&&B.warn("BufferLayout ".concat(name," must have either 'attributes' or 'format' field"))}}catch(i){t.e(i)}finally{t.f()}}function Fp(e,t){var r=ft(e),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;if(i.format&&i.name===t)return{attributeName:i.name,bufferName:t,stepMode:i.stepMode,vertexFormat:i.format,byteOffset:0,byteStride:i.byteStride||0}}}catch(o){r.e(o)}finally{r.f()}return null}function Dp(e,t){var r=ft(e),n;try{for(r.s();!(n=r.n()).done;){var i,o=n.value,a=o.byteStride;if(typeof o.byteStride!="number"){var u=ft(o.attributes||[]),c;try{for(u.s();!(c=u.n()).done;){var p=c.value,b=Jn(p.format);a+=b.byteLength}}catch(v){u.e(v)}finally{u.f()}}var g=(i=o.attributes)===null||i===void 0?void 0:i.find(function(v){return v.attribute===t});if(g)return{attributeName:g.attribute,bufferName:o.name,stepMode:o.stepMode,vertexFormat:g.format,byteOffset:g.byteOffset,byteStride:a}}}catch(v){r.e(v)}finally{r.f()}return null}function to(e,t){var r=eo(eo({},e),{},{attributes:e.attributes.map(function(a){return eo({},a)})}),n=ft(t?.attributes||[]),i;try{var o=function(){var u=i.value,c=r.attributes.find(function(p){return p.name===u.name});c?(c.type=u.type||c.type,c.stepMode=u.stepMode||c.stepMode):B.warn("shader layout attribute ".concat(u.name," not present in shader"))};for(n.s();!(i=n.n()).done;)o()}catch(a){n.e(a)}finally{n.f()}return r}function ct(e){return ct=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ct(e)}var Na;function Ca(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Wa(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ca(Object(r),!0).forEach(function(n){Cp(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ca(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Cp(e,t,r){return t=ka(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Wp(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ma(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,ka(n.key),n)}}function Mp(e,t,r){return t&&Ma(e.prototype,t),r&&Ma(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function ka(e){var t=Np(e,"string");return ct(t)==="symbol"?t:String(t)}function Np(e,t){if(ct(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(ct(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function kp(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ro(e,t)}function ro(e,t){return ro=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},ro(e,t)}function Vp(e){var t=Hp();return function(){var n=Hr(e),i;if(t){var o=Hr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Up(this,i)}}function Up(e,t){if(t&&(ct(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return zp(e)}function zp(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Hp(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Hr(e){return Hr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Hr(e)}Na=Symbol.toStringTag;var $r=function(e){kp(r,e);var t=Vp(r);function r(n,i){var o;return Wp(this,r),o=t.call(this,n,i,r.defaultProps),o.maxVertexAttributes=void 0,o.attributeInfos=void 0,o.indexBuffer=null,o.attributes=void 0,o.maxVertexAttributes=n.limits.maxVertexAttributes,o.attributes=new Array(o.maxVertexAttributes).fill(null),o.attributeInfos=Da(i.renderPipeline.shaderLayout,i.renderPipeline.bufferLayout,o.maxVertexAttributes),o}return Mp(r,[{key:Na,get:function(){return"VertexArray"}}]),r}(K);$r.defaultProps=Wa(Wa({},K.defaultProps),{},{renderPipeline:null});function st(e){return st=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},st(e)}var Ha;function Va(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ua(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Va(Object(r),!0).forEach(function(n){$p(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Va(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function $p(e,t,r){return t=$a(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Xp(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function za(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,$a(n.key),n)}}function Kp(e,t,r){return t&&za(e.prototype,t),r&&za(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function $a(e){var t=Yp(e,"string");return st(t)==="symbol"?t:String(t)}function Yp(e,t){if(st(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(st(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function qp(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&no(e,t)}function no(e,t){return no=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},no(e,t)}function Qp(e){var t=ed();return function(){var n=Xr(e),i;if(t){var o=Xr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Zp(this,i)}}function Zp(e,t){if(t&&(st(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Jp(e)}function Jp(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ed(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Xr(e){return Xr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Xr(e)}Ha=Symbol.toStringTag;var Kr=function(e){qp(r,e);var t=Qp(r);function r(n,i){return Xp(this,r),t.call(this,n,i,r.defaultProps)}return Kp(r,[{key:Ha,get:function(){return"TransformFeedback"}}]),r}(K);Kr.defaultProps=Ua(Ua({},K.defaultProps),{},{layout:void 0,buffers:{}});function M(e,t){if(!e)throw new Error(t||"luma.gl: assertion failed.")}var Yr;function Xa(e){return(!Yr||Yr.byteLength<e)&&(Yr=new ArrayBuffer(e)),Yr}function oo(e,t){var r=Xa(e.BYTES_PER_ELEMENT*t);return new e(r,0,t)}function io(e){for(var t=e.target,r=e.source,n=e.start,i=n===void 0?0:n,o=e.count,a=o===void 0?1:o,u=r.length,c=a*u,p=0,b=i;p<u;p++)t[b++]=r[p];for(;p<c;)p<c-p?(t.copyWithin(i+p,i,i+p),p*=2):(t.copyWithin(i+p,i,i+c-p),p=c);return e.target}function Vt(e){return Vt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Vt(e)}function Ka(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function td(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ka(Object(r),!0).forEach(function(n){rd(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ka(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function rd(e,t,r){return t=nd(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function nd(e){var t=od(e,"string");return Vt(t)==="symbol"?t:String(t)}function od(e,t){if(Vt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Vt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function id(e,t){return cd(e)||fd(e,t)||ud(e,t)||ad()}function ad(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
14
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ud(e,t){if(e){if(typeof e=="string")return Ya(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ya(e,t)}}function Ya(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function fd(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function cd(e){if(Array.isArray(e))return e}var sd=/^(rg?b?a?)([0-9]*)([a-z]*)(-srgb)?(-webgl|-unsized)?$/;function qr(e){var t=sd.exec(e);if(t){var r=id(t,6),n=r[1],i=r[2],o=r[3],a=r[4],u=r[5];if(n){var c="".concat(o).concat(i),p=zr(c);return td({format:n,components:n.length,srgb:a==="-srgb",unsized:u==="-unsized",webgl:u==="-webgl"},p)}}return pd(e)}var ld={"rgba4unorm-webgl":{format:"rgba",bpp:2},"rgb565unorm-webgl":{format:"rgb",bpp:2},"rgb5a1unorm-webgl":{format:"rgba",bbp:2},rgb9e5ufloat:{format:"rgb",bbp:4},rg11b10ufloat:{format:"rgb",bbp:4},rgb10a2unorm:{format:"rgba",bbp:4},"rgb10a2unorm-webgl":{format:"rgba",bbp:4},stencil8:{components:1,bpp:1,a:"stencil"},depth16unorm:{components:1,bpp:2,a:"depth"},depth24plus:{components:1,bpp:3,a:"depth"},depth32float:{components:1,bpp:4,a:"depth"},"depth24plus-stencil8":{components:2,bpp:4,a:"depth-stencil"},"depth24unorm-stencil8":{components:2,bpp:4,a:"depth-stencil"},"depth32float-stencil8":{components:2,bpp:4,a:"depth-stencil"}};function pd(e){var t,r=ld[e];if(!r)throw new Error("Unknown format ".concat(e));return{format:r.format||"",components:r.components||((t=r.format)===null||t===void 0?void 0:t.length)||1,byteLength:r.bpp||1,srgb:!1,unsized:!1}}function dd(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=hd(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
15
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,u;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,u=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw u}}}}function hd(e,t){if(e){if(typeof e=="string")return qa(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return qa(e,t)}}function qa(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function ao(e,t,r){var n=t.split(/\r?\n/),i="",o=dd(e),a;try{for(o.s();!(a=o.n()).done;){var u=a.value;i+=md(u,n,u.lineNum,r)}}catch(c){o.e(c)}finally{o.f()}return i}function md(e,t,r,n){if(n!=null&&n.showSourceCode){var i=e.linePos>0?"".concat(" ".repeat(e.linePos+5),`^^^
16
- `):"",o=yd(t,r);return"".concat(o).concat(i).concat(e.type.toUpperCase(),": ").concat(e.message,`
7
+ var __exports__=(()=>{var kn=Object.defineProperty;var Wc=Object.getOwnPropertyDescriptor;var Nc=Object.getOwnPropertyNames;var kc=Object.prototype.hasOwnProperty;var Mc=(e,t)=>{for(var r in t)kn(e,r,{get:t[r],enumerable:!0})},Vc=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Nc(t))!kc.call(e,i)&&i!==r&&kn(e,i,{get:()=>t[i],enumerable:!(n=Wc(t,i))||n.enumerable});return e};var Uc=e=>Vc(kn({},"__esModule",{value:!0}),e);var ew={};Mc(ew,{Accessor:()=>Tn,WEBGLBuffer:()=>pe,WEBGLCommandEncoder:()=>Bn,WEBGLFramebuffer:()=>Te,WEBGLRenderPass:()=>xn,WEBGLRenderPipeline:()=>jn,WEBGLRenderbuffer:()=>wt,WEBGLResource:()=>dr,WEBGLSampler:()=>Ve,WEBGLShader:()=>On,WEBGLTexture:()=>se,WEBGLTransformFeedback:()=>Cn,WEBGLVertexArray:()=>Fn,WebGLCanvasContext:()=>_n,WebGLDevice:()=>le,WebGLResource:()=>dr,_TEXTURE_FORMATS:()=>ke,_checkFloat32ColorAttachment:()=>an,assertWebGL2Context:()=>fu,assertWebGLContext:()=>Zr,clear:()=>Lc,convertGLToTextureFormat:()=>Me,copyToTexture:()=>Fc,getGLParameters:()=>rn,getShaderLayout:()=>An,getWebGL2Context:()=>Kt,isWebGL:()=>go,isWebGL2:()=>$,polyfillContext:()=>tn,popContextState:()=>ge,pushContextState:()=>_e,readPixelsToArray:()=>Bc,readPixelsToBuffer:()=>Ic,registerHeadlessGL:()=>si,resetGLParameters:()=>Ou,setDeviceParameters:()=>cn,setGLParameters:()=>be,trackContextState:()=>tr,withDeviceParameters:()=>$u,withGLParameters:()=>ve});function It(e){return It=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},It(e)}function fi(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ci(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?fi(Object(r),!0).forEach(function(n){zc(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):fi(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function zc(e,t,r){return t=Hc(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Hc(e){var t=$c(e,"string");return It(t)==="symbol"?t:String(t)}function $c(e,t){if(It(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(It(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Xc="Failed to create WebGL context in Node.js, headless gl returned null",Kc=" luma.gl: loaded under Node.js without headless gl installed, meaning that WebGL contexts can not be created. This may not be an error. For example, this is a typical configuration for isorender applications running on the server.",Yc={width:1,height:1,debug:!0,throwOnError:!1},wr=null;function si(e){wr=e}function li(){return wr!==null}function pi(e){e=ci(ci({},Yc),e);var t=e,r=t.width,n=t.height,i=t.webgl1,o=t.webgl2;if(o&&!i)throw new Error("headless-gl does not support WebGL2");if(!wr)throw new Error(Kc);var a=wr(r,n,e);if(!a)throw new Error(Xc);return a}function Ft(e){if(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&Boolean(process.versions.electron))return!0;let t=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,r=e||t;return!!(r&&r.indexOf("Electron")>=0)}function J(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||Ft()}var qc=globalThis.self||globalThis.window||globalThis.global,He=globalThis.window||globalThis.self||globalThis.global,Qc=globalThis.document||{},Be=globalThis.process||{},Zc=globalThis.console,di=globalThis.navigator||{};var _r=typeof __VERSION__<"u"?__VERSION__:"untranspiled source",fw=J();var Mn=globalThis;function Sr(e){if(!e&&!J())return"Node";if(Ft(e))return"Electron";let t=e||di.userAgent||"";if(t.indexOf("Edge")>-1)return"Edge";let r=t.indexOf("MSIE ")!==-1,n=t.indexOf("Trident/")!==-1;return r||n?"IE":Mn.chrome?"Chrome":Mn.safari?"Safari":Mn.mozInnerScreenX?"Firefox":"Unknown"}function Jc(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var Or=class{constructor(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";this.storage=void 0,this.id=void 0,this.config=void 0,this.storage=Jc(n),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function hi(e){let t;return e<10?t="".concat(e.toFixed(2),"ms"):e<100?t="".concat(e.toFixed(1),"ms"):e<1e3?t="".concat(e.toFixed(0),"ms"):t="".concat((e/1e3).toFixed(2),"s"),t}function mi(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(t-e.length,0);return"".concat(" ".repeat(r)).concat(e)}function Pr(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(r=Math.min(r,n/e.width));let o=e.width*r,a=e.height*r,c=["font-size:1px;","padding:".concat(Math.floor(a/2),"px ").concat(Math.floor(o/2),"px;"),"line-height:".concat(a,"px;"),"background:url(".concat(i,");"),"background-size:".concat(o,"px ").concat(a,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),c]}var xr;(function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(xr||(xr={}));var es=10;function yi(e){return typeof e!="string"?e:(e=e.toUpperCase(),xr[e]||xr.WHITE)}function bi(e,t,r){if(!J&&typeof e=="string"){if(t){let n=yi(t);e="\x1B[".concat(n,"m").concat(e,"\x1B[39m")}if(r){let n=yi(r);e="\x1B[".concat(n+es,"m").concat(e,"\x1B[49m")}}return e}function gi(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),i=e;for(let o of n){let a=i[o];typeof a=="function"&&(t.find(c=>o===c)||(i[o]=a.bind(e)))}}function $e(e,t){if(!e)throw new Error(t||"Assertion failed")}function Ie(){let e;if(J()&&He.performance){var t,r;e=He===null||He===void 0||(t=He.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if("hrtime"in Be){var n;let i=Be===null||Be===void 0||(n=Be.hrtime)===null||n===void 0?void 0:n.call(Be);e=i[0]*1e3+i[1]/1e6}else e=Date.now();return e}var Xe={debug:J()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},ts={enabled:!0,level:0};function me(){}var vi={},wi={once:!0},Re=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};this.id=void 0,this.VERSION=_r,this._startTs=Ie(),this._deltaTs=Ie(),this._storage=void 0,this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new Or("__probe-".concat(this.id,"__"),ts),this.timeStamp("".concat(this.id," started")),gi(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Ie()-this._startTs).toPrecision(10))}getDelta(){return Number((Ie()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:t}),this}setLevel(t){return this._storage.setConfiguration({level:t}),this}get(t){return this._storage.config[t]}set(t,r){this._storage.setConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){$e(t,r)}warn(t){return this._getLogFunction(0,t,Xe.warn,arguments,wi)}error(t){return this._getLogFunction(0,t,Xe.error,arguments)}deprecated(t,r){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(r,"` instead"))}removed(t,r){return this.error("`".concat(t,"` has been removed. Use `").concat(r,"` instead"))}probe(t,r){return this._getLogFunction(t,r,Xe.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,Xe.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,Xe.debug||Xe.info,arguments,wi)}table(t,r,n){return r?this._getLogFunction(t,r,console.table||me,n&&[n],{tag:is(r)}):me}image(t){let{logLevel:r,priority:n,image:i,message:o="",scale:a=1}=t;return this._shouldLog(r||n)?J()?os({image:i,message:o,scale:a}):ns({image:i,message:o,scale:a}):me}time(t,r){return this._getLogFunction(t,r,console.time?console.time:console.info)}timeEnd(t,r){return this._getLogFunction(t,r,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,r){return this._getLogFunction(t,r,console.timeStamp||me)}group(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},i=_i({logLevel:t,message:r,opts:n}),{collapsed:o}=n;return i.method=(o?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||me)}withGroup(t,r,n){this.group(t,r)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=Si(t)}_getLogFunction(t,r,n,i,o){if(this._shouldLog(t)){o=_i({logLevel:t,message:r,args:i,opts:o}),n=n||o.method,$e(n),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=Ie();let a=o.tag||o.message;if(o.once&&a)if(!vi[a])vi[a]=Ie();else return me;return r=rs(this.id,o.message,o),n.bind(console,r,...o.args)}return me}};Re.VERSION=_r;function Si(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return $e(Number.isFinite(t)&&t>=0),t}function _i(e){let{logLevel:t,message:r}=e;e.logLevel=Si(t);let n=e.args?Array.from(e.args):[];for(;n.length&&n.shift()!==r;);switch(typeof t){case"string":case"function":r!==void 0&&n.unshift(r),e.message=t;break;case"object":Object.assign(e,t);break;default:}typeof e.message=="function"&&(e.message=e.message());let i=typeof e.message;return $e(i==="string"||i==="object"),Object.assign(e,{args:n},e.opts)}function rs(e,t,r){if(typeof t=="string"){let n=r.time?mi(hi(r.total)):"";t=r.time?"".concat(e,": ").concat(n," ").concat(t):"".concat(e,": ").concat(t),t=bi(t,r.color,r.background)}return t}function ns(e){let{image:t,message:r="",scale:n=1}=e;return console.warn("removed"),me}function os(e){let{image:t,message:r="",scale:n=1}=e;if(typeof t=="string"){let o=new Image;return o.onload=()=>{let a=Pr(o,r,n);console.log(...a)},o.src=t,me}let i=t.nodeName||"";if(i.toLowerCase()==="img")return console.log(...Pr(t,r,n)),me;if(i.toLowerCase()==="canvas"){let o=new Image;return o.onload=()=>console.log(...Pr(o,r,n)),o.src=t.toDataURL(),me}return me}function is(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}var Nw=new Re({id:"@probe.gl/log"});var F=new Re({id:"luma.gl"});function Dt(){let e;if(typeof window<"u"&&window.performance)e=window.performance.now();else if(typeof process<"u"&&process.hrtime){let t=process.hrtime();e=t[0]*1e3+t[1]/1e6}else e=Date.now();return e}var Fe=class{constructor(t,r){this.name=void 0,this.type=void 0,this.sampleSize=1,this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this.name=t,this.type=r,this.reset()}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}setSampleSize(t){return this.sampleSize=t,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(t){return this._count+=t,this._samples++,this._checkSampling(),this}subtractCount(t){return this._count-=t,this._samples++,this._checkSampling(),this}addTime(t){return this._time+=t,this.lastTiming=t,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=Dt(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(Dt()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var Ke=class{constructor(t){this.id=void 0,this.stats={},this.id=t.id,this.stats={},this._initializeStats(t.stats),Object.seal(this)}get(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"count";return this._getOrCreate({name:t,type:r})}get size(){return Object.keys(this.stats).length}reset(){for(let t of Object.values(this.stats))t.reset();return this}forEach(t){for(let r of Object.values(this.stats))t(r)}getTable(){let t={};return this.forEach(r=>{t[r.name]={time:r.time||0,count:r.count||0,average:r.getAverageTime()||0,hz:r.getHz()||0}}),t}_initializeStats(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(r=>this._getOrCreate(r))}_getOrCreate(t){let{name:r,type:n}=t,i=this.stats[r];return i||(t instanceof Fe?i=t:i=new Fe(r,n),this.stats[r]=i),i}};function Ct(e){return Ct=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ct(e)}function Oi(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,us(n.key),n)}}function as(e,t,r){return t&&Oi(e.prototype,t),r&&Oi(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function us(e){var t=fs(e,"string");return Ct(t)==="symbol"?t:String(t)}function fs(e,t){if(Ct(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Ct(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function cs(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var ss=function(){function e(){cs(this,e),this.stats=new Map}var t=e.prototype;return t.getStats=function(n){return this.get(n)},t.get=function(n){return this.stats.has(n)||this.stats.set(n,new Ke({id:n})),this.stats.get(n)},as(e)}(),Er=new ss;function ls(){var e=typeof __VERSION__<"u"?__VERSION__:"untranspiled source",t="set luma.log.level=1 (or higher) to trace rendering";if(globalThis.luma&&globalThis.luma.VERSION!==e)throw new Error("luma.gl - multiple VERSIONs detected: ".concat(globalThis.luma.VERSION," vs ").concat(e));return globalThis.luma||(J()&&F.log(1,"luma.gl ".concat(e," - ").concat(t))(),globalThis.luma=globalThis.luma||{VERSION:e,version:e,log:F,stats:Er}),e}var Pi=ls();function ps(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)?e:null}function xi(e){return Array.isArray(e)?e.length===0||typeof e[0]=="number"?e:null:ps(e)}var Vn={};function we(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"id";Vn[e]=Vn[e]||1;var t=Vn[e]++;return"".concat(e,"-").concat(t)}function Tr(e){return e>0&&(e&e-1)===0}function Ye(e){var t=!0;for(var r in e){t=!1;break}return t}function Wt(e){return Wt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Wt(e)}function Ei(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ds(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ei(Object(r),!0).forEach(function(n){hs(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ei(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function hs(e,t,r){return t=Ai(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ti(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Ai(n.key),n)}}function ms(e,t,r){return t&&Ti(e.prototype,t),r&&Ti(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ai(e){var t=ys(e,"string");return Wt(t)==="symbol"?t:String(t)}function ys(e,t){if(Wt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Wt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function bs(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var K=function(){function e(r,n,i){if(bs(this,e),this.id=void 0,this.props=void 0,this.userData={},this.device=void 0,this._device=void 0,this.destroyed=!1,this.allocatedBytes=0,this._attachedResources=new Set,!r)throw new Error("no device");this._device=r,this.props=gs(n,i);var o=this.props.id!=="undefined"?this.props.id:we(this[Symbol.toStringTag]);this.props.id=o,this.id=o,this.userData=this.props.userData||{},this.addStats()}var t=e.prototype;return t.destroy=function(){this.destroyResource()},t.delete=function(){return this.destroy(),this},t.toString=function(){return"".concat(this[Symbol.toStringTag]||this.constructor.name,"(").concat(this.id,")")},t.getProps=function(){return this.props},t.attachResource=function(n){this._attachedResources.add(n)},t.detachResource=function(n){this._attachedResources.delete(n)},t.destroyAttachedResource=function(n){this._attachedResources.delete(n)&&n.destroy()},t.destroyAttachedResources=function(){for(var n=0,i=Object.values(this._attachedResources);n<i.length;n++){var o=i[n];o.destroy()}this._attachedResources=new Set},t.destroyResource=function(){this.destroyAttachedResources(),this.removeStats(),this.destroyed=!0},t.removeStats=function(){var n=this._device.statsManager.getStats("Resource Counts"),i=this[Symbol.toStringTag];n.get("".concat(i,"s Active")).decrementCount()},t.trackAllocatedMemory=function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this[Symbol.toStringTag],o=this._device.statsManager.getStats("Resource Counts");o.get("GPU Memory").addCount(n),o.get("".concat(i," Memory")).addCount(n),this.allocatedBytes=n},t.trackDeallocatedMemory=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this[Symbol.toStringTag],i=this._device.statsManager.getStats("Resource Counts");i.get("GPU Memory").subtractCount(this.allocatedBytes),i.get("".concat(n," Memory")).subtractCount(this.allocatedBytes),this.allocatedBytes=0},t.addStats=function(){var n=this._device.statsManager.getStats("Resource Counts"),i=this[Symbol.toStringTag];n.get("Resources Created").incrementCount(),n.get("".concat(i,"s Created")).incrementCount(),n.get("".concat(i,"s Active")).incrementCount()},ms(e)}();K.defaultProps={id:"undefined",handle:void 0,userData:void 0};function gs(e,t){var r=ds({},t);for(var n in e)e[n]!==void 0&&(r[n]=e[n]);return r}function qe(e){return qe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},qe(e)}var Ri;function Li(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Un(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Li(Object(r),!0).forEach(function(n){vs(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Li(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function vs(e,t,r){return t=Gi(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ws(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ji(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Gi(n.key),n)}}function _s(e,t,r){return t&&ji(e.prototype,t),r&&ji(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Gi(e){var t=Ss(e,"string");return qe(t)==="symbol"?t:String(t)}function Ss(e,t){if(qe(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(qe(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Os(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&zn(e,t)}function zn(e,t){return zn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},zn(e,t)}function Ps(e){var t=Ts();return function(){var n=Ar(e),i;if(t){var o=Ar(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return xs(this,i)}}function xs(e,t){if(t&&(qe(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Es(e)}function Es(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ts(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Ar(e){return Ar=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Ar(e)}Ri=Symbol.toStringTag;var te=function(e){Os(r,e);var t=Ps(r);function r(i,o){var a;ws(this,r);var c=Un({},o);return(o.usage||0)&r.INDEX&&!o.indexType&&(o.data instanceof Uint32Array?c.indexType="uint32":o.data instanceof Uint16Array&&(c.indexType="uint16")),a=t.call(this,i,c,r.defaultProps),a.usage=void 0,a.indexType=void 0,a.byteLength=void 0,a.usage=o.usage||0,a.indexType=c.indexType,a}var n=r.prototype;return n.write=function(o,a){throw new Error("not implemented")},n.readAsync=function(o,a){throw new Error("not implemented")},n.getData=function(){throw new Error("not implemented")},_s(r,[{key:Ri,get:function(){return"Buffer"}}]),r}(K);te.defaultProps=Un(Un({},K.defaultProps),{},{usage:0,byteLength:0,byteOffset:0,data:null,indexType:"uint16",mappedAtCreation:!1});te.MAP_READ=1;te.MAP_WRITE=2;te.COPY_SRC=4;te.COPY_DST=8;te.INDEX=16;te.VERTEX=32;te.UNIFORM=64;te.STORAGE=128;te.INDIRECT=256;te.QUERY_RESOLVE=512;function Nt(e){return Nt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Nt(e)}var Fi;function Bi(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Hn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Bi(Object(r),!0).forEach(function(n){As(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Bi(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function As(e,t,r){return t=Di(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ls(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ii(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Di(n.key),n)}}function js(e,t,r){return t&&Ii(e.prototype,t),r&&Ii(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Di(e){var t=Rs(e,"string");return Nt(t)==="symbol"?t:String(t)}function Rs(e,t){if(Nt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Nt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}Fi=Symbol.toStringTag;var Qe=function(){function e(r){Ls(this,e),this.id=void 0,this.statsManager=Er,this.props=void 0,this.userData={},this._lumaData={},this.info=void 0,this.lost=void 0,this.canvasContext=void 0,this.props=Hn(Hn({},e.defaultProps),r),this.id=this.props.id||we(this[Symbol.toStringTag].toLowerCase())}var t=e.prototype;return t.loseDevice=function(){return!1},t.getCanvasContext=function(){if(!this.canvasContext)throw new Error("Device has no CanvasContext");return this.canvasContext},t.createTexture=function(n){return(n instanceof Promise||typeof n=="string")&&(n={data:n}),this._createTexture(n)},t.createCommandEncoder=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};throw new Error("not implemented")},t._getBufferProps=function(n){(n instanceof ArrayBuffer||ArrayBuffer.isView(n))&&(n={data:n});var i=Hn({},n);return(n.usage||0)&te.INDEX&&!n.indexType&&(n.data instanceof Uint32Array?i.indexType="uint32":n.data instanceof Uint16Array?i.indexType="uint16":F.warn("indices buffer content must be of integer type")()),i},js(e,[{key:Fi,get:function(){return"Device"}}]),e}();Qe.defaultProps={id:null,type:"best-available",canvas:null,container:null,webgl2:!0,webgl1:!0,manageState:!0,width:800,height:600,debug:Boolean(F.get("debug")),break:[],gl:null};Qe.VERSION=Pi;function kt(e){return kt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},kt(e)}function Lr(e,t){return Is(e)||Bs(e,t)||Ui(e,t)||Gs()}function Gs(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
8
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Bs(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,c=[],f=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=o.call(r)).done)&&(c.push(n.value),c.length!==t);f=!0);}catch(b){p=!0,i=b}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return c}}function Is(e){if(Array.isArray(e))return e}function Fs(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Ui(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
9
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,c;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,c=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw c}}}}function Ui(e,t){if(e){if(typeof e=="string")return Ci(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ci(e,t)}}function Ci(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Wi(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ni(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Wi(Object(r),!0).forEach(function(n){Ds(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Wi(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Ds(e,t,r){return t=zi(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Cs(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ki(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,zi(n.key),n)}}function Ws(e,t,r){return t&&ki(e.prototype,t),r&&ki(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function zi(e){var t=Ns(e,"string");return kt(t)==="symbol"?t:String(t)}function Ns(e,t){if(kt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(kt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var ks=J()&&typeof document<"u",jr=function(){return ks&&document.readyState==="complete"},Ms={canvas:null,width:800,height:600,useDevicePixels:!0,autoResize:!0,container:null,visible:!0,colorSpace:"srgb",alphaMode:"opaque"},Ze=function(){function e(r){var n=this;if(Cs(this,e),this.device=void 0,this.id=void 0,this.props=void 0,this.canvas=void 0,this.htmlCanvas=void 0,this.offscreenCanvas=void 0,this.type=void 0,this.width=1,this.height=1,this.resizeObserver=void 0,this._canvasSizeInfo={clientWidth:0,clientHeight:0,devicePixelRatio:1},this.props=Ni(Ni({},Ms),r),r=this.props,!J()){this.id="node-canvas-context",this.type="node",this.width=this.props.width,this.height=this.props.height,this.canvas=null;return}if(r.canvas)typeof r.canvas=="string"?this.canvas=zs(r.canvas):this.canvas=r.canvas;else{var i,o,a=Hs(r),c=Us(((i=r)===null||i===void 0?void 0:i.container)||null);c.insertBefore(a,c.firstChild),this.canvas=a,(o=r)!==null&&o!==void 0&&o.visible||(this.canvas.style.visibility="hidden")}this.canvas instanceof HTMLCanvasElement?(this.id=this.canvas.id,this.type="html-canvas",this.htmlCanvas=this.canvas):(this.id="offscreen-canvas",this.type="offscreen-canvas",this.offscreenCanvas=this.canvas),this.canvas instanceof HTMLCanvasElement&&r.autoResize&&(this.resizeObserver=new ResizeObserver(function(f){var p=Fs(f),b;try{for(p.s();!(b=p.n()).done;){var g=b.value;g.target===n.canvas&&n.update()}}catch(v){p.e(v)}finally{p.f()}}),this.resizeObserver.observe(this.canvas))}var t=e.prototype;return t.getDevicePixelRatio=function(n){if(typeof OffscreenCanvas<"u"&&this.canvas instanceof OffscreenCanvas||(n=n===void 0?this.props.useDevicePixels:n,!n||n<=0))return 1;if(n===!0){var i=typeof window<"u"&&window.devicePixelRatio;return i||1}return n},t.getPixelSize=function(){switch(this.type){case"node":return[this.width,this.height];case"offscreen-canvas":return[this.canvas.width,this.canvas.height];case"html-canvas":var n=this.getDevicePixelRatio(),i=this.canvas;return i.parentElement?[i.clientWidth*n,i.clientHeight*n]:[this.canvas.width,this.canvas.height];default:throw new Error(this.type)}},t.getAspect=function(){var n=this.getPixelSize(),i=Lr(n,2),o=i[0],a=i[1];return o/a},t.cssToDeviceRatio=function(){try{var n=this.getDrawingBufferSize(),i=Lr(n,1),o=i[0],a=this._canvasSizeInfo.clientWidth;return a?o/a:1}catch{return 1}},t.cssToDevicePixels=function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,o=this.cssToDeviceRatio(),a=this.getDrawingBufferSize(),c=Lr(a,2),f=c[0],p=c[1];return $s(n,o,f,p,i)},t.setDevicePixelRatio=function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.htmlCanvas){var o="width"in i?i.width:this.htmlCanvas.clientWidth,a="height"in i?i.height:this.htmlCanvas.clientHeight;(!o||!a)&&(F.log(1,"Canvas clientWidth/clientHeight is 0")(),n=1,o=this.htmlCanvas.width||1,a=this.htmlCanvas.height||1);var c=this._canvasSizeInfo;if(c.clientWidth!==o||c.clientHeight!==a||c.devicePixelRatio!==n){var f=n,p=Math.floor(o*f),b=Math.floor(a*f);this.htmlCanvas.width=p,this.htmlCanvas.height=b;var g=this.getDrawingBufferSize(),v=Lr(g,2),S=v[0],_=v[1];(S!==p||_!==b)&&(f=Math.min(S/o,_/a),this.htmlCanvas.width=Math.floor(o*f),this.htmlCanvas.height=Math.floor(a*f),F.warn("Device pixel ratio clamped")()),this._canvasSizeInfo.clientWidth=o,this._canvasSizeInfo.clientHeight=a,this._canvasSizeInfo.devicePixelRatio=n}}},t.getDrawingBufferSize=function(){var n=this.device.gl;if(!n)throw new Error("canvas size");return[n.drawingBufferWidth,n.drawingBufferHeight]},t._setAutoCreatedCanvasId=function(n){var i;((i=this.htmlCanvas)===null||i===void 0?void 0:i.id)==="lumagl-auto-created-canvas"&&(this.htmlCanvas.id=n)},Ws(e,null,[{key:"isPageLoaded",get:function(){return jr()}}]),e}();Ze.pageLoaded=Vs();function Vs(){return jr()||typeof window>"u"?Promise.resolve():new Promise(function(e){window.addEventListener("load",function(){return e()})})}function Us(e){if(typeof e=="string"){var t=document.getElementById(e);if(!t&&!jr())throw new Error("Accessing '".concat(e,"' before page was loaded"));if(!t)throw new Error("".concat(e," is not an HTML element"));return t}else if(e)return e;return document.body}function zs(e){var t=document.getElementById(e);if(!t&&!jr())throw new Error("Accessing '".concat(e,"' before page was loaded"));if(!(t instanceof HTMLCanvasElement))throw new Error("Object is not a canvas element");return t}function Hs(e){var t=e.width,r=e.height,n=document.createElement("canvas");return n.id="lumagl-auto-created-canvas",n.width=t||1,n.height=r||1,n.style.width=Number.isFinite(t)?"".concat(t,"px"):"100%",n.style.height=Number.isFinite(r)?"".concat(r,"px"):"100%",n}function $s(e,t,r,n,i){var o=e,a=Mi(o[0],t,r),c=Vi(o[1],t,n,i),f=Mi(o[0]+1,t,r),p=f===r-1?f:f-1;f=Vi(o[1]+1,t,n,i);var b;return i?(f=f===0?f:f+1,b=c,c=f):b=f===n-1?f:f-1,{x:a,y:c,width:Math.max(p-a+1,1),height:Math.max(b-c+1,1)}}function Mi(e,t,r){var n=Math.min(Math.round(e*t),r-1);return n}function Vi(e,t,r,n){return n?Math.max(0,r-1-Math.round(e*t)):Math.min(Math.round(e*t),r-1)}function Je(e){return Je=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Je(e)}var Ki;function Hi(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function $i(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Hi(Object(r),!0).forEach(function(n){Xs(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Hi(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Xs(e,t,r){return t=Yi(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ks(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Xi(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Yi(n.key),n)}}function Ys(e,t,r){return t&&Xi(e.prototype,t),r&&Xi(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Yi(e){var t=qs(e,"string");return Je(t)==="symbol"?t:String(t)}function qs(e,t){if(Je(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Je(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Qs(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&$n(e,t)}function $n(e,t){return $n=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},$n(e,t)}function Zs(e){var t=tl();return function(){var n=Rr(e),i;if(t){var o=Rr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Js(this,i)}}function Js(e,t){if(t&&(Je(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return el(e)}function el(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function tl(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Rr(e){return Rr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Rr(e)}Ki=Symbol.toStringTag;var ae=function(e){Qs(r,e);var t=Zs(r);function r(n,i){var o,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:r.defaultProps;return Ks(this,r),o=t.call(this,n,i,a),o.dimension=void 0,o.format=void 0,o.width=void 0,o.height=void 0,o.depth=void 0,o.sampler=void 0,o.dimension=o.props.dimension,o.format=o.props.format,o.width=o.props.width,o.height=o.props.height,o.depth=o.props.depth,o}return Ys(r,[{key:Ki,get:function(){return"Texture"}}]),r}(K);ae.defaultProps=$i($i({},K.defaultProps),{},{data:null,dimension:"2d",format:"rgba8unorm",width:void 0,height:void 0,depth:1,mipmaps:!0,sampler:{},compressed:!1,usage:0,mipLevels:void 0,samples:void 0,type:void 0});ae.COPY_SRC=1;ae.COPY_DST=2;ae.TEXTURE_BINDING=4;ae.STORAGE_BINDING=8;ae.RENDER_ATTACHMENT=16;function Mt(e){return Mt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Mt(e)}function rl(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=nl(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
10
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,c;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,c=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw c}}}}function nl(e,t){if(e){if(typeof e=="string")return qi(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return qi(e,t)}}function qi(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Qi(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Zi(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Qi(Object(r),!0).forEach(function(n){ol(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Qi(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function ol(e,t,r){return t=il(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function il(e){var t=al(e,"string");return Mt(t)==="symbol"?t:String(t)}function al(e,t){if(Mt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Mt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ea(e,t,r){var n="",i=t.split(/\r?\n/),o=e.slice().sort(function(v,S){return v.lineNum-S.lineNum});switch(r?.showSourceCode||"no"){case"all":for(var a=0,c=1;c<=i.length;c++)for(n+=ta(i[c-1],c,r);o.length>a&&o[a].lineNum===c;){var f=o[a++];n+=Ji(f,i,f.lineNum,Zi(Zi({},r),{},{inlineSource:!1}))}return n;case"issues":case"no":var p=rl(e),b;try{for(p.s();!(b=p.n()).done;){var g=b.value;n+=Ji(g,i,g.lineNum,{inlineSource:r?.showSourceCode!=="no"})}}catch(v){p.e(v)}finally{p.f()}return n}}function Ji(e,t,r,n){if(n!=null&&n.inlineSource){var i=ul(t,r),o=e.linePos>0?"".concat(" ".repeat(e.linePos+5),`^^^
11
+ `):"";return`
12
+ `.concat(i).concat(o).concat(e.type.toUpperCase(),": ").concat(e.message,`
17
13
 
18
- `)}return"".concat(e.type.toUpperCase(),": ").concat(e.message,`
19
- `)}function yd(e,t){for(var r="",n=t-2;n<=t;n++){var i=e[n];i!==void 0&&(r+="".concat(bd(String(n),4),": ").concat(i,`
20
- `))}return r}function bd(e,t){for(var r="",n=e.length;n<t;++n)r+=" ";return r+e}function Qa(e){return Pi(e)!==null||typeof e=="number"||typeof e=="boolean"}function uo(e){var t={bindings:{},uniforms:{}};return Object.keys(e).forEach(function(r){var n=e[r];Qa(n)?t.uniforms[r]=n:t.bindings[r]=n}),t}function fo(e,t,r,n){var i="See luma.gl ".concat(r," Upgrade Guide at https://luma.gl/docs/upgrade-guide"),o=Object.getPrototypeOf(e);n.forEach(function(a){o.methodName||(o[a]=function(){throw B.removed("Calling removed method ".concat(t,".").concat(a,": "),i)(),new Error(a)})})}function gd(e,t){return Od(e)||_d(e,t)||wd(e,t)||vd()}function vd(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
21
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function wd(e,t){if(e){if(typeof e=="string")return Za(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Za(e,t)}}function Za(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function _d(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function Od(e){if(Array.isArray(e))return e}function co(e,t,r){var n=r.removedProps,i=n===void 0?{}:n,o=r.deprecatedProps,a=o===void 0?{}:o,u=r.replacedProps,c=u===void 0?{}:u;for(var p in i)if(p in t){var b=i[p],g=b?"".concat(e,".").concat(i[p]):"N/A";B.removed("".concat(e,".").concat(p),g)()}for(var v in a)if(v in t){var O=a[v];B.deprecated("".concat(e,".").concat(v),"".concat(e,".").concat(O))()}for(var w=null,P=0,A=Object.entries(c);P<A.length;P++){var x=gd(A[P],2),T=x[0],R=x[1];T in t&&(B.deprecated("".concat(e,".").concat(T),"".concat(e,".").concat(R))(),w=w||Object.assign({},t),w[R]=t[T],delete w[T])}return w||t}function so(e){return so=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},so(e)}function Ut(){"use strict";Ut=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(l,f,s){l[f]=s.value},i=typeof Symbol=="function"?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function c(l,f,s){return Object.defineProperty(l,f,{value:s,enumerable:!0,configurable:!0,writable:!0}),l[f]}try{c({},"")}catch{c=function(s,d,m){return s[d]=m}}function p(l,f,s,d){var m=f&&f.prototype instanceof v?f:v,h=Object.create(m.prototype),_=new V(d||[]);return n(h,"_invoke",{value:k(l,s,_)}),h}function b(l,f,s){try{return{type:"normal",arg:l.call(f,s)}}catch(d){return{type:"throw",arg:d}}}e.wrap=p;var g={};function v(){}function O(){}function w(){}var P={};c(P,o,function(){return this});var A=Object.getPrototypeOf,x=A&&A(A(W([])));x&&x!==t&&r.call(x,o)&&(P=x);var T=w.prototype=v.prototype=Object.create(P);function R(l){["next","throw","return"].forEach(function(f){c(l,f,function(s){return this._invoke(f,s)})})}function j(l,f){function s(m,h,_,S){var E=b(l[m],l,h);if(E.type!=="throw"){var D=E.arg,I=D.value;return I&&so(I)=="object"&&r.call(I,"__await")?f.resolve(I.__await).then(function(C){s("next",C,_,S)},function(C){s("throw",C,_,S)}):f.resolve(I).then(function(C){D.value=C,_(D)},function(C){return s("throw",C,_,S)})}S(E.arg)}var d;n(this,"_invoke",{value:function(h,_){function S(){return new f(function(E,D){s(h,_,E,D)})}return d=d?d.then(S,S):S()}})}function k(l,f,s){var d="suspendedStart";return function(m,h){if(d==="executing")throw new Error("Generator is already running");if(d==="completed"){if(m==="throw")throw h;return H()}for(s.method=m,s.arg=h;;){var _=s.delegate;if(_){var S=F(_,s);if(S){if(S===g)continue;return S}}if(s.method==="next")s.sent=s._sent=s.arg;else if(s.method==="throw"){if(d==="suspendedStart")throw d="completed",s.arg;s.dispatchException(s.arg)}else s.method==="return"&&s.abrupt("return",s.arg);d="executing";var E=b(l,f,s);if(E.type==="normal"){if(d=s.done?"completed":"suspendedYield",E.arg===g)continue;return{value:E.arg,done:s.done}}E.type==="throw"&&(d="completed",s.method="throw",s.arg=E.arg)}}}function F(l,f){var s=f.method,d=l.iterator[s];if(d===void 0)return f.delegate=null,s==="throw"&&l.iterator.return&&(f.method="return",f.arg=void 0,F(l,f),f.method==="throw")||s!=="return"&&(f.method="throw",f.arg=new TypeError("The iterator does not provide a '"+s+"' method")),g;var m=b(d,l.iterator,f.arg);if(m.type==="throw")return f.method="throw",f.arg=m.arg,f.delegate=null,g;var h=m.arg;return h?h.done?(f[l.resultName]=h.value,f.next=l.nextLoc,f.method!=="return"&&(f.method="next",f.arg=void 0),f.delegate=null,g):h:(f.method="throw",f.arg=new TypeError("iterator result is not an object"),f.delegate=null,g)}function X(l){var f={tryLoc:l[0]};1 in l&&(f.catchLoc=l[1]),2 in l&&(f.finallyLoc=l[2],f.afterLoc=l[3]),this.tryEntries.push(f)}function N(l){var f=l.completion||{};f.type="normal",delete f.arg,l.completion=f}function V(l){this.tryEntries=[{tryLoc:"root"}],l.forEach(X,this),this.reset(!0)}function W(l){if(l){var f=l[o];if(f)return f.call(l);if(typeof l.next=="function")return l;if(!isNaN(l.length)){var s=-1,d=function m(){for(;++s<l.length;)if(r.call(l,s))return m.value=l[s],m.done=!1,m;return m.value=void 0,m.done=!0,m};return d.next=d}}return{next:H}}function H(){return{value:void 0,done:!0}}return O.prototype=w,n(T,"constructor",{value:w,configurable:!0}),n(w,"constructor",{value:O,configurable:!0}),O.displayName=c(w,u,"GeneratorFunction"),e.isGeneratorFunction=function(l){var f=typeof l=="function"&&l.constructor;return!!f&&(f===O||(f.displayName||f.name)==="GeneratorFunction")},e.mark=function(l){return Object.setPrototypeOf?Object.setPrototypeOf(l,w):(l.__proto__=w,c(l,u,"GeneratorFunction")),l.prototype=Object.create(T),l},e.awrap=function(l){return{__await:l}},R(j.prototype),c(j.prototype,a,function(){return this}),e.AsyncIterator=j,e.async=function(l,f,s,d,m){m===void 0&&(m=Promise);var h=new j(p(l,f,s,d),m);return e.isGeneratorFunction(f)?h:h.next().then(function(_){return _.done?_.value:h.next()})},R(T),c(T,u,"Generator"),c(T,o,function(){return this}),c(T,"toString",function(){return"[object Generator]"}),e.keys=function(l){var f=Object(l),s=[];for(var d in f)s.push(d);return s.reverse(),function m(){for(;s.length;){var h=s.pop();if(h in f)return m.value=h,m.done=!1,m}return m.done=!0,m}},e.values=W,V.prototype={constructor:V,reset:function(f){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(N),!f)for(var s in this)s.charAt(0)==="t"&&r.call(this,s)&&!isNaN(+s.slice(1))&&(this[s]=void 0)},stop:function(){this.done=!0;var f=this.tryEntries[0].completion;if(f.type==="throw")throw f.arg;return this.rval},dispatchException:function(f){if(this.done)throw f;var s=this;function d(D,I){return _.type="throw",_.arg=f,s.next=D,I&&(s.method="next",s.arg=void 0),!!I}for(var m=this.tryEntries.length-1;m>=0;--m){var h=this.tryEntries[m],_=h.completion;if(h.tryLoc==="root")return d("end");if(h.tryLoc<=this.prev){var S=r.call(h,"catchLoc"),E=r.call(h,"finallyLoc");if(S&&E){if(this.prev<h.catchLoc)return d(h.catchLoc,!0);if(this.prev<h.finallyLoc)return d(h.finallyLoc)}else if(S){if(this.prev<h.catchLoc)return d(h.catchLoc,!0)}else{if(!E)throw new Error("try statement without catch or finally");if(this.prev<h.finallyLoc)return d(h.finallyLoc)}}}},abrupt:function(f,s){for(var d=this.tryEntries.length-1;d>=0;--d){var m=this.tryEntries[d];if(m.tryLoc<=this.prev&&r.call(m,"finallyLoc")&&this.prev<m.finallyLoc){var h=m;break}}h&&(f==="break"||f==="continue")&&h.tryLoc<=s&&s<=h.finallyLoc&&(h=null);var _=h?h.completion:{};return _.type=f,_.arg=s,h?(this.method="next",this.next=h.finallyLoc,g):this.complete(_)},complete:function(f,s){if(f.type==="throw")throw f.arg;return f.type==="break"||f.type==="continue"?this.next=f.arg:f.type==="return"?(this.rval=this.arg=f.arg,this.method="return",this.next="end"):f.type==="normal"&&s&&(this.next=s),g},finish:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.finallyLoc===f)return this.complete(d.completion,d.afterLoc),N(d),g}},catch:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.tryLoc===f){var m=d.completion;if(m.type==="throw"){var h=m.arg;N(d)}return h}}throw new Error("illegal catch attempt")},delegateYield:function(f,s,d){return this.delegate={iterator:W(f),resultName:s,nextLoc:d},this.method==="next"&&(this.arg=void 0),g}},e}function Ja(e,t,r,n,i,o,a){try{var u=e[o](a),c=u.value}catch(p){r(p);return}u.done?t(c):Promise.resolve(c).then(n,i)}function eu(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(c){Ja(o,n,i,a,u,"next",c)}function u(c){Ja(o,n,i,a,u,"throw",c)}a(void 0)})}}var Sd="";function ho(e,t){return lo.apply(this,arguments)}function lo(){return lo=eu(Ut().mark(function e(t,r){return Ut().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.abrupt("return",new Promise(function(o,a){try{var u=new Image;u.onload=function(){return o(u)},u.onerror=function(){return a(new Error("Could not load image ".concat(t,".")))},u.crossOrigin=r?.crossOrigin||"anonymous",u.src=t.startsWith("http")?t:Sd+t}catch(c){a(c)}}));case 1:case"end":return i.stop()}},e)})),lo.apply(this,arguments)}function zt(e,t){return po.apply(this,arguments)}function po(){return po=eu(Ut().mark(function e(t,r){var n,i;return Ut().wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(n=document.getElementsByTagName("head")[0],n){a.next=3;break}throw new Error("loadScript");case 3:return i=document.createElement("script"),i.setAttribute("type","text/javascript"),i.setAttribute("src",t),r&&(i.id=r),a.abrupt("return",new Promise(function(u,c){i.onload=u,i.onerror=function(p){return c(new Error("Unable to load script '".concat(t,"': ").concat(p)))},n.appendChild(i)}));case 8:case"end":return a.stop()}},e)})),po.apply(this,arguments)}var Ht={};function Pd(e){globalThis.console&&globalThis.console.error&&globalThis.console.error(e)}function xd(e){globalThis.console&&globalThis.console.log&&globalThis.console.log(e)}function Ed(e,t){Ht[e]=!0,t!==void 0&&Pd(t)}function Td(e){var t=e.getError;e.getError=function(){var n;do n=t.apply(e),n!==0&&(Ht[n]=!0);while(n!==0);for(n in Ht)if(Ht[n])return delete Ht[n],parseInt(n,10);return 0}}var $t=function e(t){var r=t.gl;this.ext=t,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(t.maxVertexAttribs);for(var n=0;n<this.attribs.length;n++){var i=new e.VertexAttrib(r);this.attribs[n]=i}this.maxAttrib=0};$t.VertexAttrib=function(t){this.enabled=!1,this.buffer=null,this.size=4,this.type=5126,this.normalized=!1,this.stride=16,this.offset=0,this.cached="",this.recache()};$t.VertexAttrib.prototype.recache=function(){this.cached=[this.size,this.type,this.normalized,this.stride,this.offset].join(":")};var De=function(t){var r=this;this.gl=t,Td(t);var n=this.original={getParameter:t.getParameter,enableVertexAttribArray:t.enableVertexAttribArray,disableVertexAttribArray:t.disableVertexAttribArray,bindBuffer:t.bindBuffer,getVertexAttrib:t.getVertexAttrib,vertexAttribPointer:t.vertexAttribPointer};t.getParameter=function(o){return o===r.VERTEX_ARRAY_BINDING_OES?r.currentVertexArrayObject===r.defaultVertexArrayObject?null:r.currentVertexArrayObject:n.getParameter.apply(this,arguments)},t.enableVertexAttribArray=function(o){var a=r.currentVertexArrayObject;a.maxAttrib=Math.max(a.maxAttrib,o);var u=a.attribs[o];return u.enabled=!0,n.enableVertexAttribArray.apply(this,arguments)},t.disableVertexAttribArray=function(o){var a=r.currentVertexArrayObject;a.maxAttrib=Math.max(a.maxAttrib,o);var u=a.attribs[o];return u.enabled=!1,n.disableVertexAttribArray.apply(this,arguments)},t.bindBuffer=function(o,a){switch(o){case 34962:r.currentArrayBuffer=a;break;case 34963:r.currentVertexArrayObject.elementArrayBuffer=a;break;default:}return n.bindBuffer.apply(this,arguments)},t.getVertexAttrib=function(o,a){var u=r.currentVertexArrayObject,c=u.attribs[o];switch(a){case 34975:return c.buffer;case 34338:return c.enabled;case 34339:return c.size;case 34340:return c.stride;case 34341:return c.type;case 34922:return c.normalized;default:return n.getVertexAttrib.apply(this,arguments)}},t.vertexAttribPointer=function(o,a,u,c,p,b){var g=r.currentVertexArrayObject;g.maxAttrib=Math.max(g.maxAttrib,o);var v=g.attribs[o];return v.buffer=r.currentArrayBuffer,v.size=a,v.type=u,v.normalized=c,v.stride=p,v.offset=b,v.recache(),n.vertexAttribPointer.apply(this,arguments)},t.instrumentExtension&&t.instrumentExtension(this,"OES_vertex_array_object"),t.canvas&&t.canvas.addEventListener("webglcontextrestored",function(){xd("OESVertexArrayObject emulation library context restored"),r.reset_()},!0),this.reset_()};De.prototype.VERTEX_ARRAY_BINDING_OES=34229;De.prototype.reset_=function(){var t=this.vertexArrayObjects!==void 0;if(t)for(var r=0;r<this.vertexArrayObjects.length;++r)this.vertexArrayObjects.isAlive=!1;var n=this.gl;this.maxVertexAttribs=n.getParameter(34921),this.defaultVertexArrayObject=new $t(this),this.currentVertexArrayObject=null,this.currentArrayBuffer=null,this.vertexArrayObjects=[this.defaultVertexArrayObject],this.bindVertexArrayOES(null)};De.prototype.createVertexArrayOES=function(){var t=new $t(this);return this.vertexArrayObjects.push(t),t};De.prototype.deleteVertexArrayOES=function(t){t.isAlive=!1,this.vertexArrayObjects.splice(this.vertexArrayObjects.indexOf(t),1),this.currentVertexArrayObject===t&&this.bindVertexArrayOES(null)};De.prototype.isVertexArrayOES=function(t){return!!(t&&t instanceof $t&&t.hasBeenBound&&t.ext===this)};De.prototype.bindVertexArrayOES=function(t){var r=this.gl;if(t&&!t.isAlive){Ed(1282,"bindVertexArrayOES: attempt to bind deleted arrayObject");return}var n=this.original,i=this.currentVertexArrayObject;this.currentVertexArrayObject=t||this.defaultVertexArrayObject,this.currentVertexArrayObject.hasBeenBound=!0;var o=this.currentVertexArrayObject;if(i!==o){(!i||o.elementArrayBuffer!==i.elementArrayBuffer)&&n.bindBuffer.call(r,34963,o.elementArrayBuffer);for(var a=this.currentArrayBuffer,u=Math.max(i?i.maxAttrib:0,o.maxAttrib),c=0;c<=u;c++){var p=o.attribs[c],b=i?i.attribs[c]:null;if((!i||p.enabled!==b.enabled)&&(p.enabled?n.enableVertexAttribArray.call(r,c):n.disableVertexAttribArray.call(r,c)),p.enabled){var g=!1;(!i||p.buffer!==b.buffer)&&(a!==p.buffer&&(n.bindBuffer.call(r,34962,p.buffer),a=p.buffer),g=!0),(g||p.cached!==b.cached)&&n.vertexAttribPointer.call(r,c,p.size,p.type,p.normalized,p.stride,p.offset)}}this.currentArrayBuffer!==a&&n.bindBuffer.call(r,34962,this.currentArrayBuffer)}};function tu(e){if(typeof e.createVertexArray!="function"){var t=e.getSupportedExtensions;e.getSupportedExtensions=function(){var i=t.call(this)||[];return i.indexOf("OES_vertex_array_object")<0&&i.push("OES_vertex_array_object"),i};var r=e.getExtension;e.getExtension=function(i){var o=r.call(this,i);return o||(i!=="OES_vertex_array_object"?null:(e.__OESVertexArrayObject||(this.__OESVertexArrayObject=new De(this)),this.__OESVertexArrayObject))}}}var Ad="Invalid WebGLRenderingContext";var Ld="Requires WebGL2";function mo(e){return typeof WebGLRenderingContext<"u"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&Number.isFinite(e._version))}function z(e){return typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&e._version===2)}function Xt(e){return z(e)?e:null}function Qr(e){return M(mo(e),Ad),e}function ru(e){return M(z(e),Ld),e}var $;function Kt(e){return Kt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Kt(e)}function Y(e,t,r){return t=jd(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function jd(e){var t=Rd(e,"string");return Kt(t)==="symbol"?t:String(t)}function Rd(e,t){if(Kt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Kt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var nu="OES_element_index",ou="WEBGL_draw_buffers",Gd="EXT_disjoint_timer_query",Bd="EXT_disjoint_timer_query_webgl2",Id="EXT_texture_filter_anisotropic",iu="WEBGL_debug_renderer_info",Fd=35723,Dd=4352,Cd=36795,Wd=34047,Md=37445,Nd=37446,Z=function(t){return z(t)?void 0:0},kd=($={},Y($,3074,function(e){return z(e)?void 0:36064}),Y($,Fd,function(e){return z(e)?void 0:Dd}),Y($,35977,Z),Y($,32937,Z),Y($,Cd,function(e,t){var r=z(e)?e.getExtension(Bd):e.getExtension(Gd);return r&&r.GPU_DISJOINT_EXT?t(r.GPU_DISJOINT_EXT):0}),Y($,Md,function(e,t){var r=e.getExtension(iu);return t(r&&r.UNMASKED_VENDOR_WEBGL||7936)}),Y($,Nd,function(e,t){var r=e.getExtension(iu);return t(r&&r.UNMASKED_RENDERER_WEBGL||7937)}),Y($,Wd,function(e,t){var r,n=((r=e.luma)===null||r===void 0||(r=r.extensions)===null||r===void 0?void 0:r[Id])||e.getExtension("EXT_texture_filter_anisotropic");return n?t(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1}),Y($,32883,Z),Y($,35071,Z),Y($,37447,Z),Y($,36063,function(e,t){if(!z(e)){var r=e.getExtension(ou);return r?t(r.MAX_COLOR_ATTACHMENTS_WEBGL):0}}),Y($,35379,Z),Y($,35374,Z),Y($,35377,Z),Y($,34852,function(e){if(!z(e)){var t=e.getExtension(ou);return t?t.MAX_DRAW_BUFFERS_WEBGL:0}}),Y($,36203,function(e){return e.getExtension(nu)?2147483647:65535}),Y($,33001,function(e){return e.getExtension(nu)?16777216:65535}),Y($,33e3,function(e){return 16777216}),Y($,37157,Z),Y($,35373,Z),Y($,35657,Z),Y($,36183,Z),Y($,37137,Z),Y($,34045,Z),Y($,35978,Z),Y($,35979,Z),Y($,35968,Z),Y($,35376,Z),Y($,35375,Z),Y($,35659,Z),Y($,37154,Z),Y($,35371,Z),Y($,35658,Z),Y($,35076,Z),Y($,35077,Z),Y($,35380,Z),$);function au(e,t,r){var n=kd[r],i=typeof n=="function"?n(e,t,r):n,o=i!==void 0?i:t(r);return o}function lt(e){var t=e.luma;if(!t){var r={_polyfilled:!1,_extensions:{}};e.luma=r}return e.luma}var pt;function Yt(e){return Yt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Yt(e)}function Zr(e,t,r){return t=Vd(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Vd(e){var t=Ud(e,"string");return Yt(t)==="symbol"?t:String(t)}function Ud(e,t){if(Yt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Yt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var zd="OES_vertex_array_object",uu="ANGLE_instanced_arrays",Hd="WEBGL_draw_buffers",$d="EXT_disjoint_timer_query",Xd="EXT_texture_filter_anisotropic",Kd="VertexArray requires WebGL2 or OES_vertex_array_object extension";function Yd(e,t){return{webgl2:z(e),ext:e.getExtension(t)}}var yo=(pt={},Zr(pt,zd,{meta:{suffix:"OES"},createVertexArray:function(){M(!1,Kd)},deleteVertexArray:function(){},bindVertexArray:function(){},isVertexArray:function(){return!1}}),Zr(pt,uu,{meta:{suffix:"ANGLE"},vertexAttribDivisor:function(t,r){M(r===0,"WebGL instanced rendering not supported")},drawElementsInstanced:function(){},drawArraysInstanced:function(){}}),Zr(pt,Hd,{meta:{suffix:"WEBGL"},drawBuffers:function(){M(!1)}}),Zr(pt,$d,{meta:{suffix:"EXT"},createQuery:function(){M(!1)},deleteQuery:function(){M(!1)},beginQuery:function(){M(!1)},endQuery:function(){},getQuery:function(t,r){return this.getQueryObject(t,r)},getQueryParameter:function(t,r){return this.getQueryObject(t,r)},getQueryObject:function(t,r){}}),pt),Jr={readBuffer:function(t,r,n){z(t)&&r(n)},getVertexAttrib:function(t,r,n,i){var o=Yd(t,uu),a=o.webgl2,u=o.ext,c;switch(i){case 35069:c=a?void 0:!1;break;case 35070:c=!a&&!u?0:void 0;break;default:}return c!==void 0?c:r(n,i)},getProgramParameter:function(t,r,n,i){if(!z(t))switch(i){case 35967:return 35981;case 35971:return 0;case 35382:return 0;default:}return r(n,i)},getInternalformatParameter:function(t,r,n,i,o){if(!z(t))switch(o){case 32937:return new Int32Array([0]);default:}var a=t;return a.getInternalformatParameter(n,i,o)},getTexParameter:function(t,r,n,i){switch(i){case 34046:var o=lt(t),a=o._extensions,u=a[Xd];i=u&&u.TEXTURE_MAX_ANISOTROPY_EXT||34046;break;default:}return r(n,i)},getParameter:au,hint:function(t,r,n,i){return r(n,i)}};function cu(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=qd(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
22
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,u;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,u=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw u}}}}function qd(e,t){if(e){if(typeof e=="string")return fu(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return fu(e,t)}}function fu(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function en(e){var t=lt(e);return t._polyfilled||(tu(e),Qd(e),Zd(e,yo),eh(e,{target:t,target2:e}),t._polyfilled=!0),e}function Qd(e){var t=lt(e),r=e.getSupportedExtensions()||[],n=cu(r),i;try{for(n.s();!(i=n.n()).done;){var o=i.value,a=e.getExtension(o);t._extensions[o]=a}}catch(u){n.e(u)}finally{n.f()}}function Zd(e,t){var r=lt(e),n=cu(Object.getOwnPropertyNames(t)),i;try{for(n.s();!(i=n.n()).done;){var o=i.value;o!=="overrides"&&Jd(e,{extension:o,target:r,target2:e})}}catch(a){n.e(a)}finally{n.f()}}function Jd(e,t){var r=t.extension,n=t.target,i=t.target2,o=yo[r];M(o);for(var a=o.meta,u=a===void 0?{}:a,c=u.suffix,p=c===void 0?"":c,b=e.getExtension(r),g=function(){var P=O[v],A="".concat(P).concat(p),x=null;P==="meta"||typeof e[P]=="function"||(b&&typeof b[A]=="function"?x=function(){return b[A].apply(b,arguments)}:typeof o[P]=="function"&&(x=o[P].bind(n))),x&&(n[P]=x,i[P]=x)},v=0,O=Object.keys(o);v<O.length;v++)g()}function eh(e,t){var r=t.target,n=t.target2;Object.keys(Jr).forEach(function(i){if(typeof Jr[i]=="function"){var o=e[i]?e[i].bind(e):function(){},a=Jr[i].bind(null,e,o);r[i]=a,n[i]=a}})}var G,L,ye;function Qt(e){return Qt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Qt(e)}function bo(e,t){return nh(e)||rh(e,t)||pu(e,t)||th()}function th(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
23
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function rh(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function nh(e){if(Array.isArray(e))return e}function re(e){return ah(e)||ih(e)||pu(e)||oh()}function oh(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
24
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function pu(e,t){if(e){if(typeof e=="string")return vo(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return vo(e,t)}}function ih(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function ah(e){if(Array.isArray(e))return vo(e)}function vo(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function y(e,t,r){return t=uh(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function uh(e){var t=fh(e,"string");return Qt(t)==="symbol"?t:String(t)}function fh(e,t){if(Qt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Qt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Zt=(G={},y(G,3042,!1),y(G,32773,new Float32Array([0,0,0,0])),y(G,32777,32774),y(G,34877,32774),y(G,32969,1),y(G,32968,0),y(G,32971,1),y(G,32970,0),y(G,3106,new Float32Array([0,0,0,0])),y(G,3107,[!0,!0,!0,!0]),y(G,2884,!1),y(G,2885,1029),y(G,2929,!1),y(G,2931,1),y(G,2932,513),y(G,2928,new Float32Array([0,1])),y(G,2930,!0),y(G,3024,!0),y(G,35725,null),y(G,36006,null),y(G,36007,null),y(G,34229,null),y(G,34964,null),y(G,2886,2305),y(G,33170,4352),y(G,2849,1),y(G,32823,!1),y(G,32824,0),y(G,10752,0),y(G,32926,!1),y(G,32928,!1),y(G,32938,1),y(G,32939,!1),y(G,3089,!1),y(G,3088,new Int32Array([0,0,1024,1024])),y(G,2960,!1),y(G,2961,0),y(G,2968,4294967295),y(G,36005,4294967295),y(G,2962,519),y(G,2967,0),y(G,2963,4294967295),y(G,34816,519),y(G,36003,0),y(G,36004,4294967295),y(G,2964,7680),y(G,2965,7680),y(G,2966,7680),y(G,34817,7680),y(G,34818,7680),y(G,34819,7680),y(G,2978,[0,0,1024,1024]),y(G,3333,4),y(G,3317,4),y(G,37440,!1),y(G,37441,!1),y(G,37443,37444),y(G,36389,null),y(G,36662,null),y(G,36663,null),y(G,35053,null),y(G,35055,null),y(G,35723,4352),y(G,36010,null),y(G,35977,!1),y(G,3330,0),y(G,3332,0),y(G,3331,0),y(G,3314,0),y(G,32878,0),y(G,3316,0),y(G,3315,0),y(G,32877,0),G),Se=function(t,r,n){return r?t.enable(n):t.disable(n)},su=function(t,r,n){return t.hint(n,r)},he=function(t,r,n){return t.pixelStorei(n,r)},lu=function(t,r,n){var i;return n===36006?i=z(t)?36009:36160:i=36008,t.bindFramebuffer(i,r)},qt=function(t,r,n){var i,o=(i={},y(i,34964,34962),y(i,36662,36662),y(i,36663,36663),y(i,35053,35051),y(i,35055,35052),i),a=o[n];t.bindBuffer(a,r)};function go(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}var du=(L={},y(L,3042,Se),y(L,32773,function(e,t){return e.blendColor.apply(e,re(t))}),y(L,32777,"blendEquation"),y(L,34877,"blendEquation"),y(L,32969,"blendFunc"),y(L,32968,"blendFunc"),y(L,32971,"blendFunc"),y(L,32970,"blendFunc"),y(L,3106,function(e,t){return e.clearColor.apply(e,re(t))}),y(L,3107,function(e,t){return e.colorMask.apply(e,re(t))}),y(L,2884,Se),y(L,2885,function(e,t){return e.cullFace(t)}),y(L,2929,Se),y(L,2931,function(e,t){return e.clearDepth(t)}),y(L,2932,function(e,t){return e.depthFunc(t)}),y(L,2928,function(e,t){return e.depthRange.apply(e,re(t))}),y(L,2930,function(e,t){return e.depthMask(t)}),y(L,3024,Se),y(L,35723,su),y(L,35725,function(e,t){return e.useProgram(t)}),y(L,36007,function(e,t){return e.bindRenderbuffer(36161,t)}),y(L,36389,function(e,t){var r,n;return(r=(n=e).bindTransformFeedback)===null||r===void 0?void 0:r.call(n,36386,t)}),y(L,34229,function(e,t){return e.bindVertexArray(t)}),y(L,36006,lu),y(L,36010,lu),y(L,34964,qt),y(L,36662,qt),y(L,36663,qt),y(L,35053,qt),y(L,35055,qt),y(L,2886,function(e,t){return e.frontFace(t)}),y(L,33170,su),y(L,2849,function(e,t){return e.lineWidth(t)}),y(L,32823,Se),y(L,32824,"polygonOffset"),y(L,10752,"polygonOffset"),y(L,35977,Se),y(L,32926,Se),y(L,32928,Se),y(L,32938,"sampleCoverage"),y(L,32939,"sampleCoverage"),y(L,3089,Se),y(L,3088,function(e,t){return e.scissor.apply(e,re(t))}),y(L,2960,Se),y(L,2961,function(e,t){return e.clearStencil(t)}),y(L,2968,function(e,t){return e.stencilMaskSeparate(1028,t)}),y(L,36005,function(e,t){return e.stencilMaskSeparate(1029,t)}),y(L,2962,"stencilFuncFront"),y(L,2967,"stencilFuncFront"),y(L,2963,"stencilFuncFront"),y(L,34816,"stencilFuncBack"),y(L,36003,"stencilFuncBack"),y(L,36004,"stencilFuncBack"),y(L,2964,"stencilOpFront"),y(L,2965,"stencilOpFront"),y(L,2966,"stencilOpFront"),y(L,34817,"stencilOpBack"),y(L,34818,"stencilOpBack"),y(L,34819,"stencilOpBack"),y(L,2978,function(e,t){return e.viewport.apply(e,re(t))}),y(L,3333,he),y(L,3317,he),y(L,37440,he),y(L,37441,he),y(L,37443,he),y(L,3330,he),y(L,3332,he),y(L,3331,he),y(L,3314,he),y(L,32878,he),y(L,3316,he),y(L,3315,he),y(L,32877,he),y(L,"framebuffer",function(t,r){var n=r&&"handle"in r?r.handle:r;return t.bindFramebuffer(36160,n)}),y(L,"blend",function(t,r){return r?t.enable(3042):t.disable(3042)}),y(L,"blendColor",function(t,r){return t.blendColor.apply(t,re(r))}),y(L,"blendEquation",function(t,r){var n=typeof r=="number"?[r,r]:r;t.blendEquationSeparate.apply(t,re(n))}),y(L,"blendFunc",function(t,r){var n=r?.length===2?[].concat(re(r),re(r)):r;t.blendFuncSeparate.apply(t,re(n))}),y(L,"clearColor",function(t,r){return t.clearColor.apply(t,re(r))}),y(L,"clearDepth",function(t,r){return t.clearDepth(r)}),y(L,"clearStencil",function(t,r){return t.clearStencil(r)}),y(L,"colorMask",function(t,r){return t.colorMask.apply(t,re(r))}),y(L,"cull",function(t,r){return r?t.enable(2884):t.disable(2884)}),y(L,"cullFace",function(t,r){return t.cullFace(r)}),y(L,"depthTest",function(t,r){return r?t.enable(2929):t.disable(2929)}),y(L,"depthFunc",function(t,r){return t.depthFunc(r)}),y(L,"depthMask",function(t,r){return t.depthMask(r)}),y(L,"depthRange",function(t,r){return t.depthRange.apply(t,re(r))}),y(L,"dither",function(t,r){return r?t.enable(3024):t.disable(3024)}),y(L,"derivativeHint",function(t,r){t.hint(35723,r)}),y(L,"frontFace",function(t,r){return t.frontFace(r)}),y(L,"mipmapHint",function(t,r){return t.hint(33170,r)}),y(L,"lineWidth",function(t,r){return t.lineWidth(r)}),y(L,"polygonOffsetFill",function(t,r){return r?t.enable(32823):t.disable(32823)}),y(L,"polygonOffset",function(t,r){return t.polygonOffset.apply(t,re(r))}),y(L,"sampleCoverage",function(t,r){return t.sampleCoverage.apply(t,re(r))}),y(L,"scissorTest",function(t,r){return r?t.enable(3089):t.disable(3089)}),y(L,"scissor",function(t,r){return t.scissor.apply(t,re(r))}),y(L,"stencilTest",function(t,r){return r?t.enable(2960):t.disable(2960)}),y(L,"stencilMask",function(t,r){r=go(r)?r:[r,r];var n=r,i=bo(n,2),o=i[0],a=i[1];t.stencilMaskSeparate(1028,o),t.stencilMaskSeparate(1029,a)}),y(L,"stencilFunc",function(t,r){r=go(r)&&r.length===3?[].concat(re(r),re(r)):r;var n=r,i=bo(n,6),o=i[0],a=i[1],u=i[2],c=i[3],p=i[4],b=i[5];t.stencilFuncSeparate(1028,o,a,u),t.stencilFuncSeparate(1029,c,p,b)}),y(L,"stencilOp",function(t,r){r=go(r)&&r.length===3?[].concat(re(r),re(r)):r;var n=r,i=bo(n,6),o=i[0],a=i[1],u=i[2],c=i[3],p=i[4],b=i[5];t.stencilOpSeparate(1028,o,a,u),t.stencilOpSeparate(1029,c,p,b)}),y(L,"viewport",function(t,r){return t.viewport.apply(t,re(r))}),L);function ne(e,t,r){return t[e]!==void 0?t[e]:r[e]}var hu={blendEquation:function(t,r,n){return t.blendEquationSeparate(ne(32777,r,n),ne(34877,r,n))},blendFunc:function(t,r,n){return t.blendFuncSeparate(ne(32969,r,n),ne(32968,r,n),ne(32971,r,n),ne(32970,r,n))},polygonOffset:function(t,r,n){return t.polygonOffset(ne(32824,r,n),ne(10752,r,n))},sampleCoverage:function(t,r,n){return t.sampleCoverage(ne(32938,r,n),ne(32939,r,n))},stencilFuncFront:function(t,r,n){return t.stencilFuncSeparate(1028,ne(2962,r,n),ne(2967,r,n),ne(2963,r,n))},stencilFuncBack:function(t,r,n){return t.stencilFuncSeparate(1029,ne(34816,r,n),ne(36003,r,n),ne(36004,r,n))},stencilOpFront:function(t,r,n){return t.stencilOpSeparate(1028,ne(2964,r,n),ne(2965,r,n),ne(2966,r,n))},stencilOpBack:function(t,r,n){return t.stencilOpSeparate(1029,ne(34817,r,n),ne(34818,r,n),ne(34819,r,n))}},wo={enable:function(t,r){return t(y({},r,!0))},disable:function(t,r){return t(y({},r,!1))},pixelStorei:function(t,r,n){return t(y({},r,n))},hint:function(t,r,n){return t(y({},r,n))},useProgram:function(t,r){return t(y({},35725,r))},bindRenderbuffer:function(t,r,n){return t(y({},36007,n))},bindTransformFeedback:function(t,r,n){return t(y({},36389,n))},bindVertexArray:function(t,r){return t(y({},34229,r))},bindFramebuffer:function(t,r,n){var i;switch(r){case 36160:return t((i={},y(i,36006,n),y(i,36010,n),i));case 36009:return t(y({},36006,n));case 36008:return t(y({},36010,n));default:return null}},bindBuffer:function(t,r,n){var i,o=(i={},y(i,34962,[34964]),y(i,36662,[36662]),y(i,36663,[36663]),y(i,35051,[35053]),y(i,35052,[35055]),i)[r];return o?t(y({},o,n)):{valueChanged:!0}},blendColor:function(t,r,n,i,o){return t(y({},32773,new Float32Array([r,n,i,o])))},blendEquation:function(t,r){var n;return t((n={},y(n,32777,r),y(n,34877,r),n))},blendEquationSeparate:function(t,r,n){var i;return t((i={},y(i,32777,r),y(i,34877,n),i))},blendFunc:function(t,r,n){var i;return t((i={},y(i,32969,r),y(i,32968,n),y(i,32971,r),y(i,32970,n),i))},blendFuncSeparate:function(t,r,n,i,o){var a;return t((a={},y(a,32969,r),y(a,32968,n),y(a,32971,i),y(a,32970,o),a))},clearColor:function(t,r,n,i,o){return t(y({},3106,new Float32Array([r,n,i,o])))},clearDepth:function(t,r){return t(y({},2931,r))},clearStencil:function(t,r){return t(y({},2961,r))},colorMask:function(t,r,n,i,o){return t(y({},3107,[r,n,i,o]))},cullFace:function(t,r){return t(y({},2885,r))},depthFunc:function(t,r){return t(y({},2932,r))},depthRange:function(t,r,n){return t(y({},2928,new Float32Array([r,n])))},depthMask:function(t,r){return t(y({},2930,r))},frontFace:function(t,r){return t(y({},2886,r))},lineWidth:function(t,r){return t(y({},2849,r))},polygonOffset:function(t,r,n){var i;return t((i={},y(i,32824,r),y(i,10752,n),i))},sampleCoverage:function(t,r,n){var i;return t((i={},y(i,32938,r),y(i,32939,n),i))},scissor:function(t,r,n,i,o){return t(y({},3088,new Int32Array([r,n,i,o])))},stencilMask:function(t,r){var n;return t((n={},y(n,2968,r),y(n,36005,r),n))},stencilMaskSeparate:function(t,r,n){return t(y({},r===1028?2968:36005,n))},stencilFunc:function(t,r,n,i){var o;return t((o={},y(o,2962,r),y(o,2967,n),y(o,2963,i),y(o,34816,r),y(o,36003,n),y(o,36004,i),o))},stencilFuncSeparate:function(t,r,n,i,o){var a;return t((a={},y(a,r===1028?2962:34816,n),y(a,r===1028?2967:36003,i),y(a,r===1028?2963:36004,o),a))},stencilOp:function(t,r,n,i){var o;return t((o={},y(o,2964,r),y(o,2965,n),y(o,2966,i),y(o,34817,r),y(o,34818,n),y(o,34819,i),o))},stencilOpSeparate:function(t,r,n,i,o){var a;return t((a={},y(a,r===1028?2964:34817,n),y(a,r===1028?2965:34818,i),y(a,r===1028?2966:34819,o),a))},viewport:function(t,r,n,i,o){return t(y({},2978,[r,n,i,o]))}},Pe=function(t,r){return t.isEnabled(r)},_o=(ye={},y(ye,3042,Pe),y(ye,2884,Pe),y(ye,2929,Pe),y(ye,3024,Pe),y(ye,32823,Pe),y(ye,32926,Pe),y(ye,32928,Pe),y(ye,3089,Pe),y(ye,2960,Pe),y(ye,35977,Pe),ye),mu=new Set([34016,36388,36387,35983,35368,34965,35739,35738,3074,34853,34854,34855,34856,34857,34858,34859,34860,34861,34862,34863,34864,34865,34866,34867,34868,35097,32873,35869,32874,34068]);function ch(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=sh(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
25
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,u;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,u=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw u}}}}function sh(e,t){if(e){if(typeof e=="string")return yu(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return yu(e,t)}}function yu(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function be(e,t){var r=le.attach(e),n=r.gl;if(!lh(t)){var i={};for(var o in t){var a=Number(o),u=du[o];u&&(typeof u=="string"?i[u]=!0:u(n,t[o],a))}var c=n.state&&n.state.cache;if(c)for(var p in i){var b=hu[p];b(n,t,c)}}}function tn(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Zt,r=le.attach(e),n=r.gl;if(typeof t=="number"){var i=t,o=_o[i];return o?o(n,i):n.getParameter(i)}var a=Array.isArray(t)?t:Object.keys(t),u={},c=ch(a),p;try{for(c.s();!(p=c.n()).done;){var b=p.value,g=_o[b];u[b]=g?g(n,Number(b)):n.getParameter(Number(b))}}catch(v){c.e(v)}finally{c.f()}return u}function bu(e){be(e,Zt)}function lh(e){for(var t in e)return!1;return!0}function gu(e,t){if(e===t)return!0;var r=Array.isArray(e)||ArrayBuffer.isView(e),n=Array.isArray(t)||ArrayBuffer.isView(t);if(r&&n&&e.length===t.length){for(var i=0;i<e.length;++i)if(e[i]!==t[i])return!1;return!0}return!1}function Jt(e){return Jt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Jt(e)}function vu(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,dh(n.key),n)}}function ph(e,t,r){return t&&vu(e.prototype,t),r&&vu(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function dh(e){var t=hh(e,"string");return Jt(t)==="symbol"?t:String(t)}function hh(e,t){if(Jt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Jt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function mh(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var yh=function(){function e(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=n.copyState,o=i===void 0?!1:i,a=n.log,u=a===void 0?function(){}:a;mh(this,e),this.gl=void 0,this.program=null,this.stateStack=[],this.enable=!0,this.cache=void 0,this.log=void 0,this.gl=r,this.cache=o?tn(r):Object.assign({},Zt),this.log=u,this._updateCache=this._updateCache.bind(this),Object.seal(this)}var t=e.prototype;return t.push=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.stateStack.push({})},t.pop=function(){M(this.stateStack.length>0);var n=this.stateStack[this.stateStack.length-1];be(this.gl,n),this.stateStack.pop()},t._updateCache=function(n){var i=!1,o,a=this.stateStack.length>0?this.stateStack[this.stateStack.length-1]:null;for(var u in n){M(u!==void 0);var c=n[u],p=this.cache[u];gu(c,p)||(i=!0,o=p,a&&!(u in a)&&(a[u]=p),this.cache[u]=c)}return{valueChanged:i,oldValue:o}},ph(e)}();function Ce(e){return e.state}function er(e,t){var r=t.enable,n=r===void 0?!0:r,i=t.copyState;if(M(i!==void 0),!e.state){e.state=new yh(e,{copyState:i}),gh(e);for(var o in wo){var a=wo[o];bh(e,o,a)}wu(e,"getParameter"),wu(e,"isEnabled")}var u=Ce(e);return u.enable=n,e}function _e(e){var t=Ce(e);t||(er(e,{copyState:!1}),t=Ce(e)),t.push()}function ge(e){var t=Ce(e);M(t),t.pop()}function wu(e,t){var r=e[t].bind(e);e[t]=function(i){if(i===void 0||mu.has(i))return r(i);var o=Ce(e);return i in o.cache||(o.cache[i]=r(i)),o.enable?o.cache[i]:r(i)},Object.defineProperty(e[t],"name",{value:"".concat(t,"-from-cache"),configurable:!1})}function bh(e,t,r){if(e[t]){var n=e[t].bind(e);e[t]=function(){for(var o=Ce(e),a=arguments.length,u=new Array(a),c=0;c<a;c++)u[c]=arguments[c];var p=r.apply(void 0,[o._updateCache].concat(u)),b=p.valueChanged,g=p.oldValue;return b&&n.apply(void 0,u),g},Object.defineProperty(e[t],"name",{value:"".concat(t,"-to-cache"),configurable:!1})}}function gh(e){var t=e.useProgram.bind(e);e.useProgram=function(n){var i=Ce(e);i.program!==n&&(t(n),i.program=n)}}function tr(e){return tr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},tr(e)}function _u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function dt(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?_u(Object(r),!0).forEach(function(n){vh(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):_u(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function vh(e,t,r){return t=wh(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function wh(e){var t=_h(e,"string");return tr(t)==="symbol"?t:String(t)}function _h(e,t){if(tr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(tr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Oh={webgl2:!0,webgl1:!0,powerPreference:"high-performance",onContextLost:function(){return console.error("WebGL context lost")},onContextRestored:function(){return console.info("WebGL context restored")}};function Ou(e,t){t=dt(dt({},Oh),t);var r=null,n=function(b){return r=b.statusMessage||r};e.addEventListener("webglcontextcreationerror",n,!1);var i=null;if(t.type==="webgl2"&&(t=dt(dt({},t),{},{webgl1:!1})),t.type==="webgl1"&&(t=dt(dt({},t),{},{webgl2:!1})),!i&&t.webgl2&&(i=e.getContext("webgl2",t)),!i&&t.webgl1&&(i=e.getContext("webgl",t)),e.removeEventListener("webglcontextcreationerror",n,!1),!i)throw new Error("Failed to create ".concat(t.webgl2&&!t.webgl1?"WebGL2":"WebGL"," context: ").concat(r||"Unknown error"));if(t.onContextLost){var o=t,a=o.onContextLost;e.addEventListener("webglcontextlost",function(p){return a(p)},!1)}if(t.onContextRestored){var u=t,c=u.onContextRestored;e.addEventListener("webglcontextrestored",function(p){return c(p)},!1)}return i}function Su(e){var t=e.getParameter(7936),r=e.getParameter(7937),n=e.getExtension("WEBGL_debug_renderer_info"),i=e.getParameter(n?n.UNMASKED_VENDOR_WEBGL:7936),o=e.getParameter(n?n.UNMASKED_RENDERER_WEBGL:7937),a=i||t,u=o||r,c=e.getParameter(7938),p=Sh(a,u),b=Ph(a,u),g="glsl",v=z(e)?300:100;return{type:z(e)?"webgl2":"webgl",gpu:p,gpuBackend:b,vendor:a,renderer:u,version:c,shadingLanguage:g,shadingLanguageVersion:v}}function Sh(e,t){return/NVIDIA/i.exec(e)||/NVIDIA/i.exec(t)?"nvidia":/INTEL/i.exec(e)||/INTEL/i.exec(t)?"intel":/Apple/i.exec(e)||/Apple/i.exec(t)?"apple":/AMD/i.exec(e)||/AMD/i.exec(t)||/ATI/i.exec(e)||/ATI/i.exec(t)?"amd":/SwiftShader/i.exec(e)||/SwiftShader/i.exec(t)?"software":"unknown"}function Ph(e,t){return/ANGLE/i.exec(e)||/ANGLE/i.exec(t)?"angle":/Metal/i.exec(e)||/Metal/i.exec(t)?"metal":"unknown"}function Pu(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=typeof window<"u"?window.navigator||{}:{},r=e.userAgent||t.userAgent||"",n=r.indexOf("MSIE ")!==-1,i=r.indexOf("Trident/")!==-1;return n||i}function rn(e){switch(e){case"uint8":return 5121;case"sint8":return 5120;case"unorm8":return 5121;case"snorm8":return 5120;case"uint16":return 5123;case"sint16":return 5122;case"unorm16":return 5123;case"snorm16":return 5122;case"uint32":return 5125;case"sint32":return 5124;case"float16":return 5131;case"float32":return 5126}throw new Error(String(e))}var ce,xe;function ir(e){return ir=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ir(e)}function xh(e,t){return Lh(e)||Ah(e,t)||Th(e,t)||Eh()}function Eh(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
26
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Th(e,t){if(e){if(typeof e=="string")return xu(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return xu(e,t)}}function xu(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Ah(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function Lh(e){if(Array.isArray(e))return e}function oe(e,t,r){return t=jh(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function jh(e){var t=Rh(e,"string");return ir(t)==="symbol"?t:String(t)}function Rh(e,t){if(ir(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(ir(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var ue="texture-compression-bc",q="texture-compression-astc",Ee="texture-compression-etc2",Gh="texture-compression-etc1-webgl",nn="texture-compression-pvrtc-webgl",Oo="texture-compression-atc-webgl",rr="WEBGL_compressed_texture_s3tc",nr="WEBGL_compressed_texture_s3tc_srgb",ht="EXT_texture_compression_rgtc",or="EXT_texture_compression_bptc",Bh="WEBGL_compressed_texture_etc",Ih="WEBGL_compressed_texture_astc",Fh="WEBGL_compressed_texture_etc1",Dh="WEBGL_compressed_texture_pvrtc",Ch="WEBGL_compressed_texture_atc",Eu="EXT_sRGB",Le="EXT_texture_norm16",Wh="WEBGL_color_buffer_float",Mh="EXT_color_buffer_float",Oe=function(t,r){return t.getExtension(r)},We=function(t,r){return r.every(function(n){return t.getExtension(n)})},So={"texture-blend-float-webgl1":function(t){return z(t)?!0:Oe(t,"EXT_float_blend")},"texture-formats-srgb-webgl1":function(t){return z(t)?!0:Oe(t,Eu)},"texture-formats-depth-webgl1":function(t){return z(t)?!0:Oe(t,"WEBGL_depth_texture")},"texture-formats-float32-webgl1":function(t){return z(t)?!0:Oe(t,"OES_texture_float")},"texture-formats-float16-webgl1":function(t){return z(t)?!0:Oe(t,"OES_texture_half_float")},"texture-formats-norm16-webgl":function(t){return z(t)?Oe(t,Le):!1},"texture-filter-linear-float32-webgl":function(t){return Oe(t,"OES_texture_float_linear")},"texture-filter-linear-float16-webgl":function(t){return Oe(t,"OES_texture_half_float_linear")},"texture-filter-anisotropic-webgl":function(t){return Oe(t,"EXT_texture_filter_anisotropic")},"texture-renderable-float32-webgl":function(t){return Oe(t,"EXT_color_buffer_float")},"texture-renderable-float16-webgl":function(t){return Oe(t,"EXT_color_buffer_half_float")},"texture-compression-bc":function(t){return We(t,[rr,nr,ht,or])},"texture-compression-bc5-webgl":function(t){return We(t,[ht])},"texture-compression-etc2":function(t){return We(t,[Bh])},"texture-compression-astc":function(t){return We(t,[Ih])},"texture-compression-etc1-webgl":function(t){return We(t,[Fh])},"texture-compression-pvrtc-webgl":function(t){return We(t,[Dh])},"texture-compression-atc-webgl":function(t){return We(t,[Ch])}};function Nh(e,t){var r;return((r=So[t])===null||r===void 0?void 0:r.call(So,e))||!1}function Tu(e){var t=Object.keys(So);return t.filter(function(r){return Nh(e,r)})}var Me={"rgb8unorm-unsized":{gl:6407,gl1:6407,b:4,c:2,bpp:4,dataFormat:6407,types:[5121,33635]},"rgba8unorm-unsized":{gl:6408,gl1:6408,b:4,c:2,bpp:4,dataFormat:6408,types:[5121,32819,32820]},r8unorm:{gl:33321,b:1,c:1,renderbuffer:!0},r8snorm:{gl:36756,b:1,c:1},r8uint:{gl:33330,b:1,c:1,renderbuffer:!0},r8sint:{gl:33329,b:1,c:1,renderbuffer:!0},rg8unorm:{gl:33323,b:2,c:2,renderbuffer:!0},rg8snorm:{gl:36757,b:2,c:2},rg8uint:{gl:33336,b:2,c:2,renderbuffer:!0},rg8sint:{gl:33335,b:2,c:2,renderbuffer:!0},r16uint:{gl:33332,b:2,c:1,renderbuffer:!0},r16sint:{gl:33331,b:2,c:1,renderbuffer:!0},r16float:{gl:33325,b:2,c:1,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl",renderbuffer:!0},"r16unorm-webgl":{gl:33322,b:2,c:1,f:"texture-formats-norm16-webgl",renderbuffer:!0,x:Le},"r16snorm-webgl":{gl:36760,b:2,c:1,f:"texture-formats-norm16-webgl",x:Le},"rgba4unorm-webgl":{gl:32854,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb565unorm-webgl":{gl:36194,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb5a1unorm-webgl":{gl:32855,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb8unorm-webgl":{gl:32849,b:3,c:3,wgpu:!1},"rgb8snorm-webgl":{gl:36758,b:3,c:3,wgpu:!1},rgba8unorm:{gl:32856,gl1:6408,b:4,c:2,bpp:4},"rgba8unorm-srgb":{gl:35907,gl1:35906,b:4,c:4,gl1ext:Eu,bpp:4},rgba8snorm:{gl:36759,b:4,c:4},rgba8uint:{gl:36220,b:4,c:4,bpp:4},rgba8sint:{gl:36238,b:4,c:4,bpp:4},bgra8unorm:{b:4,c:4},"bgra8unorm-srgb":{b:4,c:4},rg16uint:{gl:33338,b:4,c:1,bpp:4},rg16sint:{gl:33337,b:4,c:2,bpp:4},rg16float:{gl:33327,bpp:4,b:4,c:2,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl",renderbuffer:!0},"rg16unorm-webgl":{gl:33324,b:2,c:2,f:"texture-formats-norm16-webgl",x:Le},"rg16snorm-webgl":{gl:36761,b:2,c:2,f:"texture-formats-norm16-webgl",x:Le},r32uint:{gl:33334,b:4,c:1,bpp:4,renderbuffer:!0},r32sint:{gl:33333,b:4,c:1,bpp:4,renderbuffer:!0},r32float:{gl:33326,bpp:4,b:4,c:1,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl"},rgb9e5ufloat:{gl:35901,b:4,c:3,p:1,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},rg11b10ufloat:{gl:35898,b:4,c:3,p:1,render:"texture-renderable-float32-webgl",renderbuffer:!0},rgb10a2unorm:{gl:32857,b:4,c:4,p:1,renderbuffer:!0},"rgb10a2unorm-webgl":{b:4,c:4,gl:36975,p:1,wgpu:!1,bpp:4,renderbuffer:!0},"rgb16unorm-webgl":{gl:32852,b:2,c:3,f:"texture-formats-norm16-webgl",x:Le},"rgb16snorm-webgl":{gl:36762,b:2,c:3,f:"texture-formats-norm16-webgl",x:Le},rg32uint:{gl:33340,b:8,c:2,renderbuffer:!0},rg32sint:{gl:33339,b:8,c:2,renderbuffer:!0},rg32float:{gl:33328,b:8,c:2,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",renderbuffer:!0},rgba16uint:{gl:36214,b:8,c:4,renderbuffer:!0},rgba16sint:{gl:36232,b:8,c:4,renderbuffer:!0},rgba16float:{gl:34842,gl1:6408,b:8,c:4,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},"rgba16unorm-webgl":{gl:32859,b:2,c:4,f:"texture-formats-norm16-webgl",renderbuffer:!0,x:Le},"rgba16snorm-webgl":{gl:36763,b:2,c:4,f:"texture-formats-norm16-webgl",x:Le},"rgb32float-webgl":{gl:34837,gl1:6407,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",gl2ext:Mh,gl1ext:Wh,dataFormat:6407,types:[5126]},rgba32uint:{gl:36208,b:16,c:4,renderbuffer:!0},rgba32sint:{gl:36226,b:16,c:4,renderbuffer:!0},rgba32float:{gl:34836,b:16,c:4,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",renderbuffer:!0},stencil8:{gl:36168,gl1:36168,b:1,c:1,attachment:36128,renderbuffer:!0},depth16unorm:{gl:33189,gl1:33189,b:2,c:1,attachment:36096,renderbuffer:!0},depth24plus:{gl:33190,b:3,c:1,attachment:36096},depth32float:{gl:36012,b:4,c:1,attachment:36096,renderbuffer:!0},"depth24plus-stencil8":{gl:34041,gl1:34041,b:4,c:2,p:1,attachment:33306,renderbuffer:!0,depthTexture:!0},"depth24unorm-stencil8":{gl:35056,b:4,c:2,p:1,attachment:33306,renderbuffer:!0},"depth32float-stencil8":{gl:36013,b:5,c:2,p:1,attachment:33306,renderbuffer:!0},"bc1-rgb-unorm-webgl":{gl:33776,x:rr,f:ue},"bc1-rgb-unorm-srgb-webgl":{gl:35916,x:nr,f:ue},"bc1-rgba-unorm":{gl:33777,x:rr,f:ue},"bc1-rgba-unorm-srgb":{gl:35916,x:nr,f:ue},"bc2-rgba-unorm":{gl:33778,x:rr,f:ue},"bc2-rgba-unorm-srgb":{gl:35918,x:nr,f:ue},"bc3-rgba-unorm":{gl:33779,x:rr,f:ue},"bc3-rgba-unorm-srgb":{gl:35919,x:nr,f:ue},"bc4-r-unorm":{gl:36283,x:ht,f:ue},"bc4-r-snorm":{gl:36284,x:ht,f:ue},"bc5-rg-unorm":{gl:36285,x:ht,f:ue},"bc5-rg-snorm":{gl:36286,x:ht,f:ue},"bc6h-rgb-ufloat":{gl:36495,x:or,f:ue},"bc6h-rgb-float":{gl:36494,x:or,f:ue},"bc7-rgba-unorm":{gl:36492,x:or,f:ue},"bc7-rgba-unorm-srgb":{gl:36493,x:or,f:ue},"etc2-rgb8unorm":{gl:37492,f:Ee},"etc2-rgb8unorm-srgb":{gl:37494,f:Ee},"etc2-rgb8a1unorm":{gl:37496,f:Ee},"etc2-rgb8a1unorm-srgb":{gl:37497,f:Ee},"etc2-rgba8unorm":{gl:37493,f:Ee},"etc2-rgba8unorm-srgb":{gl:37495,f:Ee},"eac-r11unorm":{gl:37488,f:Ee},"eac-r11snorm":{gl:37489,f:Ee},"eac-rg11unorm":{gl:37490,f:Ee},"eac-rg11snorm":{gl:37491,f:Ee},"astc-4x4-unorm":{gl:37808,f:q},"astc-4x4-unorm-srgb":{gl:37840,f:q},"astc-5x4-unorm":{gl:37809,f:q},"astc-5x4-unorm-srgb":{gl:37841,f:q},"astc-5x5-unorm":{gl:37810,f:q},"astc-5x5-unorm-srgb":{gl:37842,f:q},"astc-6x5-unorm":{gl:37811,f:q},"astc-6x5-unorm-srgb":{gl:37843,f:q},"astc-6x6-unorm":{gl:37812,f:q},"astc-6x6-unorm-srgb":{gl:37844,f:q},"astc-8x5-unorm":{gl:37813,f:q},"astc-8x5-unorm-srgb":{gl:37845,f:q},"astc-8x6-unorm":{gl:37814,f:q},"astc-8x6-unorm-srgb":{gl:37846,f:q},"astc-8x8-unorm":{gl:37815,f:q},"astc-8x8-unorm-srgb":{gl:37847,f:q},"astc-10x5-unorm":{gl:37819,f:q},"astc-10x5-unorm-srgb":{gl:37851,f:q},"astc-10x6-unorm":{gl:37817,f:q},"astc-10x6-unorm-srgb":{gl:37849,f:q},"astc-10x8-unorm":{gl:37818,f:q},"astc-10x8-unorm-srgb":{gl:37850,f:q},"astc-10x10-unorm":{gl:37819,f:q},"astc-10x10-unorm-srgb":{gl:37851,f:q},"astc-12x10-unorm":{gl:37820,f:q},"astc-12x10-unorm-srgb":{gl:37852,f:q},"astc-12x12-unorm":{gl:37821,f:q},"astc-12x12-unorm-srgb":{gl:37853,f:q},"pvrtc-rgb4unorm-webgl":{gl:35840,f:nn},"pvrtc-rgba4unorm-webgl":{gl:35842,f:nn},"pvrtc-rbg2unorm-webgl":{gl:35841,f:nn},"pvrtc-rgba2unorm-webgl":{gl:35843,f:nn},"etc1-rbg-unorm-webgl":{gl:36196,f:Gh},"atc-rgb-unorm-webgl":{gl:35986,f:Oo},"atc-rgba-unorm-webgl":{gl:35986,f:Oo},"atc-rgbai-unorm-webgl":{gl:34798,f:Oo}},kh=(ce={},oe(ce,6403,1),oe(ce,36244,1),oe(ce,33319,2),oe(ce,33320,2),oe(ce,6407,3),oe(ce,36248,3),oe(ce,6408,4),oe(ce,36249,4),oe(ce,6402,1),oe(ce,34041,1),oe(ce,6406,1),oe(ce,6409,1),oe(ce,6410,2),ce),Vh=(xe={},oe(xe,5126,4),oe(xe,5125,4),oe(xe,5124,4),oe(xe,5123,2),oe(xe,5122,2),oe(xe,5131,2),oe(xe,5120,1),oe(xe,5121,1),xe);function ar(e,t){var r=Ne(t),n=Me[r];if(!n||(z(e)?n.gl===void 0:n.gl1===void 0))return!1;var i=n.x||z(e)&&n.gl2ext||n.gl1ext;return i?Boolean(e.getExtension(i)):!0}function Au(e,t){var r;return ar(e,t)&&((r=Me[t])===null||r===void 0?void 0:r.renderbuffer)}function Ne(e){if(typeof e=="string")return e;var t=Object.entries(Me).find(function(r){var n=xh(r,2),i=n[1];return i.gl===e||i.gl1===e});if(!t)throw new Error("Unknown texture format ".concat(e));return t[0]}function ur(e,t){var r=Me[e],n=t?r?.gl:r?.gl1;if(n===void 0)throw new Error("Unsupported texture format ".concat(e));return n}function Lu(e,t){var r=Ne(t);if(!ar(e,r))return!1;try{var n=qr(r);if(n.signed)return!1}catch{return!1}return r.endsWith("32float")?Boolean(e.getExtension("OES_texture_float_linear")):r.endsWith("16float")?Boolean(e.getExtension("OES_texture_half_float_linear")):!0}function ju(e,t){var r=Ne(t);return!(!ar(e,r)||typeof r=="number")}function mt(e,t){var r=Ne(e),n=ur(r,t),i=qr(r);return{format:n,dataFormat:Uh(i.format,i.integer,i.normalized,n),type:i.dataType?rn(i.dataType):5121,compressed:i.compressed}}function Ru(e){var t=Me[e];if(!(t!=null&&t.attachment))throw new Error("".concat(e," is not a depth stencil format"));return t.attachment}function on(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6408,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:6408,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:5121,i=null,o=null;try{i=e.createTexture(),e.bindTexture(3553,i);var a=0,u=1,c=1,p=0,b=new Uint8Array([0,0,255,255]);e.texImage2D(3553,a,t,u,c,p,r,n,b),o=e.createFramebuffer(),e.bindFramebuffer(36160,o),e.framebufferTexture2D(36160,36064,3553,i,0);var g=e.checkFramebufferStatus(36160)===36053;return e.bindTexture(3553,null),g}finally{e.deleteTexture(i),e.deleteFramebuffer(o)}}function fr(e,t){var r=Ne(e),n=mt(r,t),i=kh[n.dataFormat]||4,o=Vh[n.type]||1;return i*o}function Uh(e,t,r,n){if(n===6408||n===6407)return n;switch(e){case"r":return t&&!r?36244:6403;case"rg":return t&&!r?33320:33319;case"rgb":return t&&!r?36248:6407;case"rgba":return t&&!r?36249:6408;default:return 6408}}function zh(e,t){return Xh(e)||$h(e,t)||Bu(e,t)||Hh()}function Hh(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
27
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $h(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function Xh(e){if(Array.isArray(e))return e}function Kh(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Bu(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
28
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,u;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,u=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw u}}}}function Bu(e,t){if(e){if(typeof e=="string")return Gu(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Gu(e,t)}}function Gu(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Iu(e){var t=Yh(e),r=Kh(Tu(e)),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;t.add(i)}}catch(o){r.e(o)}finally{r.f()}return t}function Yh(e){e.getExtension("EXT_color_buffer_float"),e.getExtension("WEBGL_color_buffer_float"),e.getExtension("EXT_float_blend");for(var t=new Set,r=0,n=Object.keys(Fu);r<n.length;r++){var i=n[r];qh(e,i)&&t.add(i)}return t}function qh(e,t){var r=Fu[t];if(!r)return!1;var n=r||[],i=zh(n,2),o=i[0],a=i[1],u=z(e)?a:o;if(typeof u=="boolean")return u;switch(t){case"texture-renderable-rgba32float-webgl":return z(e)?Boolean(e.getExtension(u)):on(e);case"glsl-derivatives":return xo(e,u);case"glsl-frag-data":return xo(e,u,{behavior:"require"});case"glsl-frag-depth":return xo(e,u);default:return Boolean(e.getExtension(u))}}var Po={};function xo(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!Pu(r))return!0;if(t in Po)return Po[t];var n=r.behavior||"enable",i="#extension GL_".concat(t," : ").concat(n,`
29
- void main(void) {}`),o=e.createShader(35633);if(!o)throw new Error("shader");e.shaderSource(o,i),e.compileShader(o);var a=e.getShaderParameter(o,35713);return e.deleteShader(o),Po[t]=a,a}var Fu={webgl:[!0,!0],webgl2:[!1,!0],"timer-query-webgl":["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],"transform-feedback-webgl2":[!1,!0],"vertex-array-object-webgl1":["OES_vertex_array_object",!0],"instanced-rendering-webgl1":["ANGLE_instanced_arrays",!0],"multiple-render-targets-webgl1":["WEBGL_draw_buffers",!0],"index-uint32-webgl1":["OES_element_index_uint",!0],"blend-minmax-webgl1":["EXT_blend_minmax",!0],"texture-blend-float-webgl1":["EXT_float_blend","EXT_float_blend"],"texture-formats-srgb-webgl1":["EXT_sRGB",!0],"texture-formats-depth-webgl1":["WEBGL_depth_texture",!0],"texture-formats-float32-webgl1":["OES_texture_float",!0],"texture-formats-float16-webgl1":["OES_texture_half_float",!0],"texture-filter-linear-float32-webgl":["OES_texture_float_linear","OES_texture_float_linear"],"texture-filter-linear-float16-webgl":["OES_texture_half_float_linear","OES_texture_half_float_linear"],"texture-filter-anisotropic-webgl":["EXT_texture_filter_anisotropic","EXT_texture_filter_anisotropic"],"texture-renderable-rgba32float-webgl":["WEBGL_color_buffer_float","EXT_color_buffer_float"],"texture-renderable-float32-webgl":[!1,"EXT_color_buffer_float"],"texture-renderable-float16-webgl":["EXT_color_buffer_half_float","EXT_color_buffer_half_float"],"glsl-frag-data":["WEBGL_draw_buffers",!0],"glsl-frag-depth":["EXT_frag_depth",!0],"glsl-derivatives":["OES_standard_derivatives",!0],"glsl-texture-lod":["EXT_shader_texture_lod",!0]};function cr(e){return cr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},cr(e)}function U(e,t,r){return t=Qh(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Qh(e){var t=Zh(e,"string");return cr(t)==="symbol"?t:String(t)}function Zh(e,t){if(cr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(cr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Du(e){var t=Xt(e);return{maxTextureDimension1D:0,maxTextureDimension2D:e.getParameter(3379),maxTextureDimension3D:t?t.getParameter(32883):0,maxTextureArrayLayers:t?t.getParameter(35071):0,maxBindGroups:1,maxDynamicUniformBuffersPerPipelineLayout:0,maxDynamicStorageBuffersPerPipelineLayout:0,maxSampledTexturesPerShaderStage:e.getParameter(35660),maxSamplersPerShaderStage:e.getParameter(35661),maxStorageBuffersPerShaderStage:0,maxStorageTexturesPerShaderStage:0,maxUniformBuffersPerShaderStage:t?t.getParameter(35375):0,maxUniformBufferBindingSize:t?t.getParameter(35376):0,maxStorageBufferBindingSize:0,minUniformBufferOffsetAlignment:t?t.getParameter(35380):0,minStorageBufferOffsetAlignment:0,maxVertexBuffers:0,maxVertexAttributes:e.getParameter(34921),maxVertexBufferArrayStride:2048,maxInterStageShaderComponents:t?t.getParameter(35659):0,maxComputeWorkgroupStorageSize:0,maxComputeInvocationsPerWorkgroup:0,maxComputeWorkgroupSizeX:0,maxComputeWorkgroupSizeY:0,maxComputeWorkgroupSizeZ:0,maxComputeWorkgroupsPerDimension:0}}function Cu(e){var t,r=Xt(e);function n(o){return e.getParameter(o)}function i(o,a){return r?r.getParameter(o):a||0}return t={},U(t,33902,n(33902)),U(t,33901,n(33901)),U(t,3379,n(3379)),U(t,34076,n(34076)),U(t,34930,n(34930)),U(t,35661,n(35661)),U(t,35660,n(35660)),U(t,34024,n(34024)),U(t,36348,n(36348)),U(t,34921,n(34921)),U(t,36347,n(36347)),U(t,36349,n(36349)),U(t,3386,n(3386)),U(t,34047,n(34047)),U(t,32883,i(32883)),U(t,35071,i(35071)),U(t,37447,i(37447)),U(t,36063,i(36063)),U(t,35379,i(35379)),U(t,35374,i(35374)),U(t,35377,i(35377)),U(t,34852,i(34852)),U(t,36203,i(36203)),U(t,33001,i(33001)),U(t,33e3,i(33e3)),U(t,37157,i(37157)),U(t,35373,i(35373)),U(t,35657,i(35657)),U(t,36183,i(36183)),U(t,37137,i(37137)),U(t,34045,i(34045)),U(t,35978,i(35978)),U(t,35979,i(35979)),U(t,35968,i(35968)),U(t,35376,i(35376)),U(t,35375,i(35375)),U(t,35659,i(35659)),U(t,37154,i(37154)),U(t,35371,i(35371)),U(t,35658,i(35658)),U(t,35076,i(35076)),U(t,35077,i(35077)),U(t,35380,i(35380)),t}function ve(e,t,r){var n=le.attach(e),i=n.gl;if(Jh(t))return r(e);var o=t.nocatch,a=o===void 0?!0:o;_e(i),be(i,t);var u;if(a)u=r(i),ge(i);else try{u=r(i)}finally{ge(i)}return u}function Jh(e){for(var t in e)return!1;return!0}function Mu(e,t,r,n){if(Ke(t))return n(e);_e(e.gl);try{return fn(e,t),be(e,r),n(e)}finally{ge(e.gl)}}function Nu(e,t,r){if(Ke(t))return r(e);_e(e.gl);try{return fn(e,t),r(e)}finally{ge(e.gl)}}function fn(e,t){var r=le.attach(e),n=r.gl;if(t.cullMode)switch(t.cullMode){case"none":n.disable(2884);break;case"front":n.enable(2884),n.cullFace(1028);break;case"back":n.enable(2884),n.cullFace(1029);break}if(t.frontFace&&n.frontFace(sr("frontFace",t.frontFace,{ccw:2305,cw:2304})),t.depthBias!==void 0&&n.polygonOffset(t.depthBias,t.depthBiasSlopeScale||0),t.depthWriteEnabled!==void 0&&n.depthMask(tm("depthWriteEnabled",t.depthWriteEnabled)),t.depthCompare&&(t.depthCompare!=="always"?n.enable(2929):n.disable(2929),n.depthFunc(un("depthCompare",t.depthCompare))),t.stencilWriteMask){var i=t.stencilWriteMask;n.stencilMaskSeparate(1028,i),n.stencilMaskSeparate(1029,i)}if(t.stencilReadMask&&B.warn("stencilReadMask not supported under WebGL"),t.stencilCompare){var o=t.stencilReadMask||4294967295,a=un("depthCompare",t.stencilCompare);t.stencilCompare!=="always"?n.enable(2960):n.disable(2960),n.stencilFuncSeparate(1028,a,0,o),n.stencilFuncSeparate(1029,a,0,o)}if(t.stencilPassOperation&&t.stencilFailOperation&&t.stencilDepthFailOperation){var u=Eo("stencilPassOperation",t.stencilPassOperation),c=Eo("stencilFailOperation",t.stencilFailOperation),p=Eo("stencilDepthFailOperation",t.stencilDepthFailOperation);n.stencilOpSeparate(1028,c,p,u),n.stencilOpSeparate(1029,c,p,u)}if(t.blendColorOperation||t.blendAlphaOperation){n.enable(3042);var b=Wu("blendColorOperation",t.blendColorOperation||"add"),g=Wu("blendAlphaOperation",t.blendAlphaOperation||"add");n.blendEquationSeparate(b,g);var v=an("blendColorSrcFactor",t.blendColorSrcFactor||"one"),O=an("blendColorDstFactor",t.blendColorDstFactor||"zero"),w=an("blendAlphaSrcFactor",t.blendAlphaSrcFactor||"one"),P=an("blendAlphaDstFactor",t.blendAlphaDstFactor||"zero");n.blendFuncSeparate(v,O,w,P)}}function un(e,t){return sr(e,t,{never:512,less:513,equal:514,"less-equal":515,greater:516,"not-equal":517,"greater-equal":518,always:519})}function Eo(e,t){return sr(e,t,{keep:7680,zero:0,replace:7681,invert:5386,"increment-clamp":7682,"decrement-clamp":7683,"increment-wrap":34055,"decrement-wrap":34056})}function Wu(e,t){return sr(e,t,{add:32774,subtract:32778,"reverse-subtract":32779,min:32775,max:32776})}function an(e,t){return sr(e,t,{one:1,zero:0,"src-color":768,"one-minus-src-color":769,"dst-color":774,"one-minus-dst-color":775,"src-alpha":770,"one-minus-src-alpha":771,"dst-alpha":772,"one-minus-dst-alpha":773})}function em(e,t){return"Illegal parameter ".concat(t," for ").concat(e)}function sr(e,t,r){if(!(t in r))throw new Error(em(e,t));return r[t]}function tm(e,t){return t}function lr(e){return lr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},lr(e)}function ku(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function rm(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ku(Object(r),!0).forEach(function(n){nm(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ku(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function nm(e,t,r){return t=om(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function om(e){var t=im(e,"string");return lr(t)==="symbol"?t:String(t)}function im(e,t){if(lr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(lr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function cn(e){var t={};return e.addressModeU&&(t[10242]=To(e.addressModeU)),e.addressModeV&&(t[10243]=To(e.addressModeV)),e.addressModeW&&(t[32882]=To(e.addressModeW)),e.magFilter&&(t[10240]=Vu(e.magFilter)),(e.minFilter||e.mipmapFilter)&&(t[10241]=am(e.minFilter||"linear",e.mipmapFilter)),e.lodMinClamp!==void 0&&(t[33082]=e.lodMinClamp),e.lodMaxClamp!==void 0&&(t[33083]=e.lodMaxClamp),e.type==="comparison-sampler"&&(t[34892]=34894),e.compare&&(t[34893]=un("compare",e.compare)),e.maxAnisotropy&&(t[34046]=e.maxAnisotropy),t}function To(e){switch(e){case"clamp-to-edge":return 33071;case"repeat":return 10497;case"mirror-repeat":return 33648}}function Vu(e){switch(e){case"nearest":return 9728;case"linear":return 9729}}function am(e,t){if(!t)return Vu(e);switch(e){case"nearest":return t==="nearest"?9984:9986;case"linear":return t==="nearest"?9985:9987}}function Uu(e){var t=rm({},e);return e[10241]!==9728&&(t[10241]=9729),t[10242]=33071,t[10243]=33071,t}function Ao(){"use strict";Ao=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(l,f,s){l[f]=s.value},i=typeof Symbol=="function"?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function c(l,f,s){return Object.defineProperty(l,f,{value:s,enumerable:!0,configurable:!0,writable:!0}),l[f]}try{c({},"")}catch{c=function(s,d,m){return s[d]=m}}function p(l,f,s,d){var m=f&&f.prototype instanceof v?f:v,h=Object.create(m.prototype),_=new V(d||[]);return n(h,"_invoke",{value:k(l,s,_)}),h}function b(l,f,s){try{return{type:"normal",arg:l.call(f,s)}}catch(d){return{type:"throw",arg:d}}}e.wrap=p;var g={};function v(){}function O(){}function w(){}var P={};c(P,o,function(){return this});var A=Object.getPrototypeOf,x=A&&A(A(W([])));x&&x!==t&&r.call(x,o)&&(P=x);var T=w.prototype=v.prototype=Object.create(P);function R(l){["next","throw","return"].forEach(function(f){c(l,f,function(s){return this._invoke(f,s)})})}function j(l,f){function s(m,h,_,S){var E=b(l[m],l,h);if(E.type!=="throw"){var D=E.arg,I=D.value;return I&&je(I)=="object"&&r.call(I,"__await")?f.resolve(I.__await).then(function(C){s("next",C,_,S)},function(C){s("throw",C,_,S)}):f.resolve(I).then(function(C){D.value=C,_(D)},function(C){return s("throw",C,_,S)})}S(E.arg)}var d;n(this,"_invoke",{value:function(h,_){function S(){return new f(function(E,D){s(h,_,E,D)})}return d=d?d.then(S,S):S()}})}function k(l,f,s){var d="suspendedStart";return function(m,h){if(d==="executing")throw new Error("Generator is already running");if(d==="completed"){if(m==="throw")throw h;return H()}for(s.method=m,s.arg=h;;){var _=s.delegate;if(_){var S=F(_,s);if(S){if(S===g)continue;return S}}if(s.method==="next")s.sent=s._sent=s.arg;else if(s.method==="throw"){if(d==="suspendedStart")throw d="completed",s.arg;s.dispatchException(s.arg)}else s.method==="return"&&s.abrupt("return",s.arg);d="executing";var E=b(l,f,s);if(E.type==="normal"){if(d=s.done?"completed":"suspendedYield",E.arg===g)continue;return{value:E.arg,done:s.done}}E.type==="throw"&&(d="completed",s.method="throw",s.arg=E.arg)}}}function F(l,f){var s=f.method,d=l.iterator[s];if(d===void 0)return f.delegate=null,s==="throw"&&l.iterator.return&&(f.method="return",f.arg=void 0,F(l,f),f.method==="throw")||s!=="return"&&(f.method="throw",f.arg=new TypeError("The iterator does not provide a '"+s+"' method")),g;var m=b(d,l.iterator,f.arg);if(m.type==="throw")return f.method="throw",f.arg=m.arg,f.delegate=null,g;var h=m.arg;return h?h.done?(f[l.resultName]=h.value,f.next=l.nextLoc,f.method!=="return"&&(f.method="next",f.arg=void 0),f.delegate=null,g):h:(f.method="throw",f.arg=new TypeError("iterator result is not an object"),f.delegate=null,g)}function X(l){var f={tryLoc:l[0]};1 in l&&(f.catchLoc=l[1]),2 in l&&(f.finallyLoc=l[2],f.afterLoc=l[3]),this.tryEntries.push(f)}function N(l){var f=l.completion||{};f.type="normal",delete f.arg,l.completion=f}function V(l){this.tryEntries=[{tryLoc:"root"}],l.forEach(X,this),this.reset(!0)}function W(l){if(l){var f=l[o];if(f)return f.call(l);if(typeof l.next=="function")return l;if(!isNaN(l.length)){var s=-1,d=function m(){for(;++s<l.length;)if(r.call(l,s))return m.value=l[s],m.done=!1,m;return m.value=void 0,m.done=!0,m};return d.next=d}}return{next:H}}function H(){return{value:void 0,done:!0}}return O.prototype=w,n(T,"constructor",{value:w,configurable:!0}),n(w,"constructor",{value:O,configurable:!0}),O.displayName=c(w,u,"GeneratorFunction"),e.isGeneratorFunction=function(l){var f=typeof l=="function"&&l.constructor;return!!f&&(f===O||(f.displayName||f.name)==="GeneratorFunction")},e.mark=function(l){return Object.setPrototypeOf?Object.setPrototypeOf(l,w):(l.__proto__=w,c(l,u,"GeneratorFunction")),l.prototype=Object.create(T),l},e.awrap=function(l){return{__await:l}},R(j.prototype),c(j.prototype,a,function(){return this}),e.AsyncIterator=j,e.async=function(l,f,s,d,m){m===void 0&&(m=Promise);var h=new j(p(l,f,s,d),m);return e.isGeneratorFunction(f)?h:h.next().then(function(_){return _.done?_.value:h.next()})},R(T),c(T,u,"Generator"),c(T,o,function(){return this}),c(T,"toString",function(){return"[object Generator]"}),e.keys=function(l){var f=Object(l),s=[];for(var d in f)s.push(d);return s.reverse(),function m(){for(;s.length;){var h=s.pop();if(h in f)return m.value=h,m.done=!1,m}return m.done=!0,m}},e.values=W,V.prototype={constructor:V,reset:function(f){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(N),!f)for(var s in this)s.charAt(0)==="t"&&r.call(this,s)&&!isNaN(+s.slice(1))&&(this[s]=void 0)},stop:function(){this.done=!0;var f=this.tryEntries[0].completion;if(f.type==="throw")throw f.arg;return this.rval},dispatchException:function(f){if(this.done)throw f;var s=this;function d(D,I){return _.type="throw",_.arg=f,s.next=D,I&&(s.method="next",s.arg=void 0),!!I}for(var m=this.tryEntries.length-1;m>=0;--m){var h=this.tryEntries[m],_=h.completion;if(h.tryLoc==="root")return d("end");if(h.tryLoc<=this.prev){var S=r.call(h,"catchLoc"),E=r.call(h,"finallyLoc");if(S&&E){if(this.prev<h.catchLoc)return d(h.catchLoc,!0);if(this.prev<h.finallyLoc)return d(h.finallyLoc)}else if(S){if(this.prev<h.catchLoc)return d(h.catchLoc,!0)}else{if(!E)throw new Error("try statement without catch or finally");if(this.prev<h.finallyLoc)return d(h.finallyLoc)}}}},abrupt:function(f,s){for(var d=this.tryEntries.length-1;d>=0;--d){var m=this.tryEntries[d];if(m.tryLoc<=this.prev&&r.call(m,"finallyLoc")&&this.prev<m.finallyLoc){var h=m;break}}h&&(f==="break"||f==="continue")&&h.tryLoc<=s&&s<=h.finallyLoc&&(h=null);var _=h?h.completion:{};return _.type=f,_.arg=s,h?(this.method="next",this.next=h.finallyLoc,g):this.complete(_)},complete:function(f,s){if(f.type==="throw")throw f.arg;return f.type==="break"||f.type==="continue"?this.next=f.arg:f.type==="return"?(this.rval=this.arg=f.arg,this.method="return",this.next="end"):f.type==="normal"&&s&&(this.next=s),g},finish:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.finallyLoc===f)return this.complete(d.completion,d.afterLoc),N(d),g}},catch:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.tryLoc===f){var m=d.completion;if(m.type==="throw"){var h=m.arg;N(d)}return h}}throw new Error("illegal catch attempt")},delegateYield:function(f,s,d){return this.delegate={iterator:W(f),resultName:s,nextLoc:d},this.method==="next"&&(this.arg=void 0),g}},e}function zu(e,t,r,n,i,o,a){try{var u=e[o](a),c=u.value}catch(p){r(p);return}u.done?t(c):Promise.resolve(c).then(n,i)}function um(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(c){zu(o,n,i,a,u,"next",c)}function u(c){zu(o,n,i,a,u,"throw",c)}a(void 0)})}}function Hu(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function $u(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Hu(Object(r),!0).forEach(function(n){fm(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Hu(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function fm(e,t,r){return t=Ku(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function je(e){return je=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},je(e)}function Xu(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Ku(n.key),n)}}function cm(e,t,r){return t&&Xu(e.prototype,t),r&&Xu(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ku(e){var t=sm(e,"string");return je(t)==="symbol"?t:String(t)}function sm(e,t){if(je(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(je(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function lm(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function pm(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Lo(e,t)}function Lo(e,t){return Lo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Lo(e,t)}function dm(e){var t=ym();return function(){var n=sn(e),i;if(t){var o=sn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return hm(this,i)}}function hm(e,t){if(t&&(je(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return mm(e)}function mm(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ym(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function sn(e){return sn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},sn(e)}var bm=10,pe=function(e){pm(r,e);var t=dm(r);function r(i){var o,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};lm(this,r),o=t.call(this,i,a),o.device=void 0,o.gl=void 0,o.gl2=void 0,o.handle=void 0,o.glTarget=void 0,o.glUsage=void 0,o.glIndexType=5123,o.byteLength=void 0,o.bytesUsed=void 0,o.debugData=null,o.device=i,o.gl=o.device.gl,o.gl2=o.device.gl2;var u=je(a)==="object"?a.handle:void 0;return o.handle=u||o.gl.createBuffer(),i.setSpectorMetadata(o.handle,$u($u({},o.props),{},{data:je(o.props.data)})),o.glTarget=gm(o.props.usage),o.glUsage=vm(o.props.usage),o.glIndexType=o.props.indexType==="uint32"?5125:5123,o.debugData=null,a.data?o._initWithData(a.data,a.byteOffset,a.byteLength):o._initWithByteLength(a.byteLength||0),o}var n=r.prototype;return n._initWithData=function(o){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:o.byteLength+a;M(ArrayBuffer.isView(o));var c=this._getWriteTarget();return this.gl.bindBuffer(c,this.handle),this.gl.bufferData(c,u,this.glUsage),this.gl.bufferSubData(c,a,o),this.gl.bindBuffer(c,null),this.debugData=o.slice(0,bm),this.bytesUsed=u,this.byteLength=u,this.trackAllocatedMemory(u),this},n._initWithByteLength=function(o){M(o>=0);var a=o;o===0&&(a=new Float32Array(0));var u=this._getWriteTarget();return this.gl.bindBuffer(u,this.handle),this.gl.bufferData(u,a,this.glUsage),this.gl.bindBuffer(u,null),this.debugData=null,this.bytesUsed=o,this.byteLength=o,this},n.destroy=function(){!this.destroyed&&this.handle&&(this.removeStats(),this.trackDeallocatedMemory(),this.gl.deleteBuffer(this.handle),this.destroyed=!0,this.handle=null)},n.write=function(o){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,u=0,c=void 0,p=this.device.isWebGL2?36663:this.glTarget;this.gl.bindBuffer(p,this.handle),u!==0||c!==void 0?(this.device.assertWebGL2(),this.gl2.bufferSubData(p,a,o,u,c)):this.gl.bufferSubData(p,a,o),this.gl.bindBuffer(p,null)},n.readAsync=function(){var i=um(Ao().mark(function a(){var u,c,p,b,g,v=arguments;return Ao().wrap(function(w){for(;;)switch(w.prev=w.next){case 0:return c=v.length>0&&v[0]!==void 0?v[0]:0,p=v.length>1?v[1]:void 0,this.device.assertWebGL2(),p=(u=p)!==null&&u!==void 0?u:this.byteLength,b=new Uint8Array(p),g=0,this.gl.bindBuffer(36662,this.handle),this.gl2.getBufferSubData(36662,c,b,g,p),this.gl.bindBuffer(36662,null),w.abrupt("return",b);case 10:case"end":return w.stop()}},a,this)}));function o(){return i.apply(this,arguments)}return o}(),n._invalidateDebugData=function(){this.debugData=null},n._getWriteTarget=function(){return this.glTarget},n._getReadTarget=function(){return this.glTarget},cm(r)}(te);function gm(e){return e&te.INDEX?34963:e&te.VERTEX?34962:e&te.UNIFORM?35345:34962}function vm(e){return e&te.INDEX||e&te.VERTEX?35044:e&te.UNIFORM?35048:35044}function yt(e){return yt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},yt(e)}function wm(e,t){return Pm(e)||Sm(e,t)||Om(e,t)||_m()}function _m(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
30
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Om(e,t){if(e){if(typeof e=="string")return Yu(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Yu(e,t)}}function Yu(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Sm(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function Pm(e){if(Array.isArray(e))return e}function qu(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Em(n.key),n)}}function xm(e,t,r){return t&&qu(e.prototype,t),r&&qu(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Em(e){var t=Tm(e,"string");return yt(t)==="symbol"?t:String(t)}function Tm(e,t){if(yt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(yt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Am(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Lm(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&jo(e,t)}function jo(e,t){return jo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},jo(e,t)}function jm(e){var t=Bm();return function(){var n=ln(e),i;if(t){var o=ln(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Rm(this,i)}}function Rm(e,t){if(t&&(yt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Gm(e)}function Gm(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Bm(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function ln(e){return ln=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},ln(e)}var ke=function(e){Lm(r,e);var t=jm(r);function r(i,o){var a;return Am(this,r),a=t.call(this,i,o),a.device=void 0,a.handle=void 0,a.parameters=void 0,a.device=i,a.parameters=cn(o),a.device.isWebGL2&&(a.handle=a.handle||a.device.gl2.createSampler(),a._setSamplerParameters(a.parameters)),a}var n=r.prototype;return n.destroy=function(){this.handle&&(this.device.gl2.deleteSampler(this.handle),this.handle=void 0)},n.toString=function(){return"Sampler(".concat(this.id,",").concat(JSON.stringify(this.props),")")},n._setSamplerParameters=function(o){for(var a=0,u=Object.entries(o);a<u.length;a++){var c=wm(u[a],2),p=c[0],b=c[1],g=Number(p);switch(g){case 33082:case 33083:this.device.gl2.samplerParameterf(this.handle,g,b);break;default:this.device.gl2.samplerParameteri(this.handle,g,b);break}}},xm(r)}(Ir);function Ro(){"use strict";Ro=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(l,f,s){l[f]=s.value},i=typeof Symbol=="function"?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function c(l,f,s){return Object.defineProperty(l,f,{value:s,enumerable:!0,configurable:!0,writable:!0}),l[f]}try{c({},"")}catch{c=function(s,d,m){return s[d]=m}}function p(l,f,s,d){var m=f&&f.prototype instanceof v?f:v,h=Object.create(m.prototype),_=new V(d||[]);return n(h,"_invoke",{value:k(l,s,_)}),h}function b(l,f,s){try{return{type:"normal",arg:l.call(f,s)}}catch(d){return{type:"throw",arg:d}}}e.wrap=p;var g={};function v(){}function O(){}function w(){}var P={};c(P,o,function(){return this});var A=Object.getPrototypeOf,x=A&&A(A(W([])));x&&x!==t&&r.call(x,o)&&(P=x);var T=w.prototype=v.prototype=Object.create(P);function R(l){["next","throw","return"].forEach(function(f){c(l,f,function(s){return this._invoke(f,s)})})}function j(l,f){function s(m,h,_,S){var E=b(l[m],l,h);if(E.type!=="throw"){var D=E.arg,I=D.value;return I&&Ge(I)=="object"&&r.call(I,"__await")?f.resolve(I.__await).then(function(C){s("next",C,_,S)},function(C){s("throw",C,_,S)}):f.resolve(I).then(function(C){D.value=C,_(D)},function(C){return s("throw",C,_,S)})}S(E.arg)}var d;n(this,"_invoke",{value:function(h,_){function S(){return new f(function(E,D){s(h,_,E,D)})}return d=d?d.then(S,S):S()}})}function k(l,f,s){var d="suspendedStart";return function(m,h){if(d==="executing")throw new Error("Generator is already running");if(d==="completed"){if(m==="throw")throw h;return H()}for(s.method=m,s.arg=h;;){var _=s.delegate;if(_){var S=F(_,s);if(S){if(S===g)continue;return S}}if(s.method==="next")s.sent=s._sent=s.arg;else if(s.method==="throw"){if(d==="suspendedStart")throw d="completed",s.arg;s.dispatchException(s.arg)}else s.method==="return"&&s.abrupt("return",s.arg);d="executing";var E=b(l,f,s);if(E.type==="normal"){if(d=s.done?"completed":"suspendedYield",E.arg===g)continue;return{value:E.arg,done:s.done}}E.type==="throw"&&(d="completed",s.method="throw",s.arg=E.arg)}}}function F(l,f){var s=f.method,d=l.iterator[s];if(d===void 0)return f.delegate=null,s==="throw"&&l.iterator.return&&(f.method="return",f.arg=void 0,F(l,f),f.method==="throw")||s!=="return"&&(f.method="throw",f.arg=new TypeError("The iterator does not provide a '"+s+"' method")),g;var m=b(d,l.iterator,f.arg);if(m.type==="throw")return f.method="throw",f.arg=m.arg,f.delegate=null,g;var h=m.arg;return h?h.done?(f[l.resultName]=h.value,f.next=l.nextLoc,f.method!=="return"&&(f.method="next",f.arg=void 0),f.delegate=null,g):h:(f.method="throw",f.arg=new TypeError("iterator result is not an object"),f.delegate=null,g)}function X(l){var f={tryLoc:l[0]};1 in l&&(f.catchLoc=l[1]),2 in l&&(f.finallyLoc=l[2],f.afterLoc=l[3]),this.tryEntries.push(f)}function N(l){var f=l.completion||{};f.type="normal",delete f.arg,l.completion=f}function V(l){this.tryEntries=[{tryLoc:"root"}],l.forEach(X,this),this.reset(!0)}function W(l){if(l){var f=l[o];if(f)return f.call(l);if(typeof l.next=="function")return l;if(!isNaN(l.length)){var s=-1,d=function m(){for(;++s<l.length;)if(r.call(l,s))return m.value=l[s],m.done=!1,m;return m.value=void 0,m.done=!0,m};return d.next=d}}return{next:H}}function H(){return{value:void 0,done:!0}}return O.prototype=w,n(T,"constructor",{value:w,configurable:!0}),n(w,"constructor",{value:O,configurable:!0}),O.displayName=c(w,u,"GeneratorFunction"),e.isGeneratorFunction=function(l){var f=typeof l=="function"&&l.constructor;return!!f&&(f===O||(f.displayName||f.name)==="GeneratorFunction")},e.mark=function(l){return Object.setPrototypeOf?Object.setPrototypeOf(l,w):(l.__proto__=w,c(l,u,"GeneratorFunction")),l.prototype=Object.create(T),l},e.awrap=function(l){return{__await:l}},R(j.prototype),c(j.prototype,a,function(){return this}),e.AsyncIterator=j,e.async=function(l,f,s,d,m){m===void 0&&(m=Promise);var h=new j(p(l,f,s,d),m);return e.isGeneratorFunction(f)?h:h.next().then(function(_){return _.done?_.value:h.next()})},R(T),c(T,u,"Generator"),c(T,o,function(){return this}),c(T,"toString",function(){return"[object Generator]"}),e.keys=function(l){var f=Object(l),s=[];for(var d in f)s.push(d);return s.reverse(),function m(){for(;s.length;){var h=s.pop();if(h in f)return m.value=h,m.done=!1,m}return m.done=!0,m}},e.values=W,V.prototype={constructor:V,reset:function(f){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(N),!f)for(var s in this)s.charAt(0)==="t"&&r.call(this,s)&&!isNaN(+s.slice(1))&&(this[s]=void 0)},stop:function(){this.done=!0;var f=this.tryEntries[0].completion;if(f.type==="throw")throw f.arg;return this.rval},dispatchException:function(f){if(this.done)throw f;var s=this;function d(D,I){return _.type="throw",_.arg=f,s.next=D,I&&(s.method="next",s.arg=void 0),!!I}for(var m=this.tryEntries.length-1;m>=0;--m){var h=this.tryEntries[m],_=h.completion;if(h.tryLoc==="root")return d("end");if(h.tryLoc<=this.prev){var S=r.call(h,"catchLoc"),E=r.call(h,"finallyLoc");if(S&&E){if(this.prev<h.catchLoc)return d(h.catchLoc,!0);if(this.prev<h.finallyLoc)return d(h.finallyLoc)}else if(S){if(this.prev<h.catchLoc)return d(h.catchLoc,!0)}else{if(!E)throw new Error("try statement without catch or finally");if(this.prev<h.finallyLoc)return d(h.finallyLoc)}}}},abrupt:function(f,s){for(var d=this.tryEntries.length-1;d>=0;--d){var m=this.tryEntries[d];if(m.tryLoc<=this.prev&&r.call(m,"finallyLoc")&&this.prev<m.finallyLoc){var h=m;break}}h&&(f==="break"||f==="continue")&&h.tryLoc<=s&&s<=h.finallyLoc&&(h=null);var _=h?h.completion:{};return _.type=f,_.arg=s,h?(this.method="next",this.next=h.finallyLoc,g):this.complete(_)},complete:function(f,s){if(f.type==="throw")throw f.arg;return f.type==="break"||f.type==="continue"?this.next=f.arg:f.type==="return"?(this.rval=this.arg=f.arg,this.method="return",this.next="end"):f.type==="normal"&&s&&(this.next=s),g},finish:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.finallyLoc===f)return this.complete(d.completion,d.afterLoc),N(d),g}},catch:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.tryLoc===f){var m=d.completion;if(m.type==="throw"){var h=m.arg;N(d)}return h}}throw new Error("illegal catch attempt")},delegateYield:function(f,s,d){return this.delegate={iterator:W(f),resultName:s,nextLoc:d},this.method==="next"&&(this.arg=void 0),g}},e}function Qu(e,t,r,n,i,o,a){try{var u=e[o](a),c=u.value}catch(p){r(p);return}u.done?t(c):Promise.resolve(c).then(n,i)}function Fm(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(c){Qu(o,n,i,a,u,"next",c)}function u(c){Qu(o,n,i,a,u,"throw",c)}a(void 0)})}}function Zu(e,t){return Wm(e)||Cm(e,t)||rf(e,t)||Dm()}function Dm(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
31
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Cm(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function Wm(e){if(Array.isArray(e))return e}function Mm(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=rf(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
32
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,u;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,u=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw u}}}}function rf(e,t){if(e){if(typeof e=="string")return Ju(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ju(e,t)}}function Ju(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Ge(e){return Ge=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ge(e)}function ef(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function pn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ef(Object(r),!0).forEach(function(n){Nm(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ef(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Nm(e,t,r){return t=nf(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function tf(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,nf(n.key),n)}}function km(e,t,r){return t&&tf(e.prototype,t),r&&tf(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function nf(e){var t=Vm(e,"string");return Ge(t)==="symbol"?t:String(t)}function Vm(e,t){if(Ge(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Ge(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Um(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function zm(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Go(e,t)}function Go(e,t){return Go=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Go(e,t)}function Hm(e){var t=Xm();return function(){var n=hn(e),i;if(t){var o=hn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return $m(this,i)}}function $m(e,t){if(t&&(Ge(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return of(e)}function of(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Xm(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function hn(e){return hn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},hn(e)}var Km={parameters:{},pixelStore:{},pixels:null,border:0,dataFormat:void 0,textureUnit:void 0,target:void 0},se=function(e){zm(r,e);var t=Hm(r);function r(i,o){var a,u;return Um(this,r),u=t.call(this,i,pn(pn({},Km),{},{format:"rgba8unorm"},o)),u.MAX_ATTRIBUTES=void 0,u.device=void 0,u.gl=void 0,u.gl2=void 0,u.handle=void 0,u.sampler=void 0,u.glFormat=void 0,u.type=void 0,u.dataFormat=void 0,u.mipmaps=void 0,u.target=void 0,u.textureUnit=void 0,u.loaded=!1,u._video=void 0,u.device=i,u.gl=u.device.gl,u.gl2=u.device.gl2,u.handle=u.props.handle||u.gl.createTexture(),u.device.setSpectorMetadata(u.handle,pn(pn({},u.props),{},{data:Ge(u.props.data)})),u.glFormat=6408,u.target=Ym(u.props),u.loaded=!1,typeof((a=u.props)===null||a===void 0?void 0:a.data)=="string"&&Object.assign(u.props,{data:ho(u.props.data)}),u.initialize(u.props),Object.seal(of(u)),u}var n=r.prototype;return n.destroy=function(){this.handle&&(this.gl.deleteTexture(this.handle),this.removeStats(),this.trackDeallocatedMemory("Texture"),this.destroyed=!0)},n.toString=function(){return"Texture(".concat(this.id,",").concat(this.width,"x").concat(this.height,")")},n.initialize=function(){var o=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(this.props.dimension==="cube")return this.initializeCube(a);var u=a.data;if(u instanceof Promise)return u.then(function(f){return o.initialize(Object.assign({},a,{pixels:f,data:f}))}),this;var c=typeof HTMLVideoElement<"u"&&u instanceof HTMLVideoElement;if(c&&u.readyState<HTMLVideoElement.HAVE_METADATA)return this._video=null,u.addEventListener("loadeddata",function(){return o.initialize(a)}),this;var p=a.parameters,b=p===void 0?{}:p,g=a.pixels,v=g===void 0?null:g,O=a.pixelStore,w=O===void 0?{}:O,P=a.textureUnit,A=P===void 0?void 0:P;u||(u=v);var x=a.width,T=a.height,R=a.dataFormat,j=a.type,k=a.compressed,F=k===void 0?!1:k,X=a.mipmaps,N=X===void 0?!0:X,V=a.depth,W=V===void 0?0:V,H=ur(a.format,this.device.isWebGL2),l=this._deduceParameters({format:a.format,type:j,dataFormat:R,compressed:F,data:u,width:x,height:T});return x=l.width,T=l.height,F=l.compressed,R=l.dataFormat,j=l.type,this.width=x,this.height=T,this.glFormat=H,this.type=j,this.dataFormat=R,this.textureUnit=A,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),N&&this.device.isWebGL1&&dn(this.width,this.height)&&(B.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaps"))(),N=!1),this.mipmaps=N,this.setImageData({data:u,width:x,height:T,depth:W,format:H,type:j,dataFormat:R,parameters:w,compressed:F}),this.setSampler(a.sampler),this._setSamplerParameters(b),N&&this.generateMipmap(),c&&(this._video={video:u,parameters:b,lastTime:u.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?u.currentTime:-1}),this},n.initializeCube=function(o){var a=this,u=o.mipmaps,c=u===void 0?!0:u,p=o.parameters,b=p===void 0?{}:p;return this.setCubeMapImageData(o).then(function(){a.loaded=!0,c&&a.generateMipmap(o),a.setSampler(o.sampler),a._setSamplerParameters(b)}),this},n.setSampler=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a;o instanceof ke?(this.sampler=o,a=o.props):(this.sampler=new ke(this.device,o),a=o);var u=cn(a);return this._setSamplerParameters(u),this},n.resize=function(o){var a=o.height,u=o.width,c=o.mipmaps,p=c===void 0?!1:c;return u!==this.width||a!==this.height?this.initialize({width:u,height:a,format:this.format,type:this.type,dataFormat:this.dataFormat,mipmaps:p}):this},n.update=function(){if(this._video){var o=this._video,a=o.video,u=o.parameters,c=o.lastTime;if(c===a.currentTime||a.readyState<HTMLVideoElement.HAVE_CURRENT_DATA)return;this.setSubImageData({data:a,parameters:u}),this.mipmaps&&this.generateMipmap(),this._video.lastTime=a.currentTime}},n.generateMipmap=function(){var o=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.device.isWebGL1&&dn(this.width,this.height)?(B.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaping"))(),this):(this.mipmaps=!0,this.gl.bindTexture(this.target,this.handle),ve(this.gl,a,function(){o.gl.generateMipmap(o.target)}),this.gl.bindTexture(this.target,null),this)},n.setImageData=function(o){var a=this;if(this.props.dimension==="3d"||this.props.dimension==="2d-array")return this.setImageData3D(o);this.trackDeallocatedMemory("Texture");var u=o.target,c=u===void 0?this.target:u,p=o.pixels,b=p===void 0?null:p,g=o.level,v=g===void 0?0:g,O=o.glFormat,w=O===void 0?this.glFormat:O,P=o.offset,A=P===void 0?0:P,x=o.parameters,T=x===void 0?{}:x,R=o.data,j=R===void 0?null:R,k=o.type,F=k===void 0?this.type:k,X=o.width,N=X===void 0?this.width:X,V=o.height,W=V===void 0?this.height:V,H=o.dataFormat,l=H===void 0?this.dataFormat:H,f=o.compressed,s=f===void 0?!1:f;j||(j=b);var d=this._deduceParameters({format:this.props.format,type:F,dataFormat:l,compressed:s,data:j,width:N,height:W});F=d.type,l=d.dataFormat,s=d.compressed,N=d.width,W=d.height;var m=this.gl;m.bindTexture(this.target,this.handle);var h=null,_=this._getDataType({data:j,compressed:s});j=_.data,h=_.dataType;var S;if(ve(this.gl,T,function(){switch(h){case"null":m.texImage2D(c,v,w,N,W,0,l,F,j);break;case"typed-array":m.texImage2D(c,v,w,N,W,0,l,F,j,A);break;case"buffer":S=a.device.assertWebGL2(),S.bindBuffer(35052,j.handle||j),S.texImage2D(c,v,w,N,W,0,l,F,A),S.bindBuffer(35052,null);break;case"browser-object":a.device.isWebGL2?m.texImage2D(c,v,w,N,W,0,l,F,j):m.texImage2D(c,v,w,l,F,j);break;case"compressed":var D=Mm(j.entries()),I;try{for(D.s();!(I=D.n()).done;){var C=Zu(I.value,2),Rc=C[0],gr=C[1];m.compressedTexImage2D(c,Rc,gr.format,gr.width,gr.height,0,gr.data)}}catch(Gc){D.e(Gc)}finally{D.f()}break;default:M(!1,"Unknown image data type")}}),j&&j.byteLength)this.trackAllocatedMemory(j.byteLength,"Texture");else{var E=fr(this.props.format,this.device.isWebGL2);this.trackAllocatedMemory(this.width*this.height*E,"Texture")}return this.loaded=!0,this},n.setSubImageData=function(o){var a=this,u=o.target,c=u===void 0?this.target:u,p=o.pixels,b=p===void 0?null:p,g=o.data,v=g===void 0?null:g,O=o.x,w=O===void 0?0:O,P=o.y,A=P===void 0?0:P,x=o.width,T=x===void 0?this.width:x,R=o.height,j=R===void 0?this.height:R,k=o.level,F=k===void 0?0:k,X=o.glFormat,N=X===void 0?this.glFormat:X,V=o.type,W=V===void 0?this.type:V,H=o.dataFormat,l=H===void 0?this.dataFormat:H,f=o.compressed,s=f===void 0?!1:f,d=o.offset,m=d===void 0?0:d,h=o.parameters,_=h===void 0?{}:h,S=this._deduceParameters({format:this.props.format,type:W,dataFormat:l,compressed:s,data:v,width:T,height:j});if(W=S.type,l=S.dataFormat,s=S.compressed,T=S.width,j=S.height,M(this.depth===1,"texSubImage not supported for 3D textures"),v||(v=b),v&&v.data){var E=v;v=E.data,T=E.shape[0],j=E.shape[1]}v instanceof pe&&(v=v.handle),this.gl.bindTexture(this.target,this.handle),ve(this.gl,_,function(){if(s)a.gl.compressedTexSubImage2D(c,F,w,A,T,j,N,v);else if(v===null)a.gl.texSubImage2D(c,F,w,A,T,j,l,W,null);else if(ArrayBuffer.isView(v))a.gl.texSubImage2D(c,F,w,A,T,j,l,W,v,m);else if(typeof WebGLBuffer<"u"&&v instanceof WebGLBuffer){var D=a.device.assertWebGL2();D.bindBuffer(35052,v),D.texSubImage2D(c,F,w,A,T,j,l,W,m),D.bindBuffer(35052,null)}else if(a.device.isWebGL2){var I=a.device.assertWebGL2();I.texSubImage2D(c,F,w,A,T,j,l,W,v)}else a.gl.texSubImage2D(c,F,w,A,l,W,v)}),this.gl.bindTexture(this.target,null)},n.copyFramebuffer=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return B.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null},n.getActiveUnit=function(){return this.gl.getParameter(34016)-33984},n.bind=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.textureUnit,a=this.gl;return o!==void 0&&(this.textureUnit=o,a.activeTexture(33984+o)),a.bindTexture(this.target,this.handle),o},n.unbind=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.textureUnit,a=this.gl;return o!==void 0&&(this.textureUnit=o,a.activeTexture(33984+o)),a.bindTexture(this.target,null),o},n._getDataType=function(o){var a=o.data,u=o.compressed,c=u===void 0?!1:u;return c?{data:a,dataType:"compressed"}:a===null?{data:a,dataType:"null"}:ArrayBuffer.isView(a)?{data:a,dataType:"typed-array"}:a instanceof pe?{data:a.handle,dataType:"buffer"}:typeof WebGLBuffer<"u"&&a instanceof WebGLBuffer?{data:a,dataType:"buffer"}:{data:a,dataType:"browser-object"}},n._deduceParameters=function(o){var a=o.format,u=o.data,c=o.width,p=o.height,b=o.dataFormat,g=o.type,v=o.compressed,O=mt(a,this.device.isWebGL2);b=b||O.dataFormat,g=g||O.type,v=v||O.compressed;var w=this._deduceImageSize(u,c,p);return c=w.width,p=w.height,{dataFormat:b,type:g,compressed:v,width:c,height:p,format:a,data:u}},n._deduceImageSize=function(o,a,u){var c;return typeof ImageData<"u"&&o instanceof ImageData?c={width:o.width,height:o.height}:typeof HTMLImageElement<"u"&&o instanceof HTMLImageElement?c={width:o.naturalWidth,height:o.naturalHeight}:typeof HTMLCanvasElement<"u"&&o instanceof HTMLCanvasElement?c={width:o.width,height:o.height}:typeof ImageBitmap<"u"&&o instanceof ImageBitmap?c={width:o.width,height:o.height}:typeof HTMLVideoElement<"u"&&o instanceof HTMLVideoElement?c={width:o.videoWidth,height:o.videoHeight}:o?c={width:a,height:u}:c={width:a>=0?a:1,height:u>=0?u:1},M(c,"Could not deduced texture size"),M(a===void 0||c.width===a,"Deduced texture width does not match supplied width"),M(u===void 0||c.height===u,"Deduced texture height does not match supplied height"),c},n.setCubeMapImageData=function(){var i=Fm(Ro().mark(function a(u){var c=this,p,b,g,v,O,w,P,A,x,T,R;return Ro().wrap(function(k){for(;;)switch(k.prev=k.next){case 0:return p=this.gl,b=u.width,g=u.height,v=u.pixels,O=u.data,w=u.format,P=w===void 0?6408:w,A=u.type,x=A===void 0?5121:A,T=v||O,k.next=5,Promise.all(r.FACES.map(function(F){var X=T[F];return Promise.all(Array.isArray(X)?X:[X])}));case 5:R=k.sent,this.bind(),r.FACES.forEach(function(F,X){R[X].length>1&&c.props.mipmaps!==!1&&B.warn("".concat(c.id," has mipmap and multiple LODs."))(),R[X].forEach(function(N,V){b&&g?p.texImage2D(F,V,P,b,g,0,P,x,N):p.texImage2D(F,V,P,P,x,N)})}),this.unbind();case 9:case"end":return k.stop()}},a,this)}));function o(a){return i.apply(this,arguments)}return o}(),n.setImageDataForFace=function(o){var a=this,u=o.face,c=o.width,p=o.height,b=o.pixels,g=o.data,v=o.format,O=v===void 0?6408:v,w=o.type,P=w===void 0?5121:w,A=this.gl,x=b||g;return this.bind(),x instanceof Promise?x.then(function(T){return a.setImageDataForFace(Object.assign({},o,{face:u,data:T,pixels:T}))}):this.width||this.height?A.texImage2D(u,0,O,c,p,0,O,P,x):A.texImage2D(u,0,O,O,P,x),this},n.setImageData3D=function(o){var a=this,u=o.level,c=u===void 0?0:u,p=o.dataFormat,b=o.format,g=o.type,v=o.width,O=o.height,w=o.depth,P=w===void 0?1:w,A=o.offset,x=A===void 0?0:A,T=o.data,R=o.parameters,j=R===void 0?{}:R;this.trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle);var k=mt(b,this.device.isWebGL2);if(ve(this.gl,j,function(){ArrayBuffer.isView(T)&&a.gl.texImage3D(a.target,c,k.format,v,O,P,0,k.dataFormat,k.type,T),T instanceof pe&&(a.gl.bindBuffer(35052,T.handle),a.gl.texImage3D(a.target,c,p,v,O,P,0,b,g,x))}),T&&T.byteLength)this.trackAllocatedMemory(T.byteLength,"Texture");else{var F=fr(this.props.format,this.device.isWebGL2);this.trackAllocatedMemory(this.width*this.height*this.depth*F,"Texture")}return this.loaded=!0,this},n._setSamplerParameters=function(o){if(this.device.isWebGL1&&dn(this.width,this.height)&&(o=Uu(o)),!Ke(o)){qm(o),this.gl.bindTexture(this.target,this.handle);for(var a=0,u=Object.entries(o);a<u.length;a++){var c=Zu(u[a],2),p=c[0],b=c[1],g=Number(p),v=b;switch(g){case 33082:case 33083:this.gl.texParameterf(this.target,g,v);break;default:this.gl.texParameteri(this.target,g,v);break}}this.gl.bindTexture(this.target,null)}},n._getWebGL1NPOTParameterOverride=function(o,a){var u=this.device.isWebGL1&&dn(this.width,this.height);if(u)switch(o){case 10241:if(a!==9729&&a!==9728)return 9729;break;case 10242:case 10243:return 33071;default:break}return a},km(r)}(ae);se.FACES=[34069,34070,34071,34072,34073,34074];function Ym(e){switch(e.dimension){case"2d":return 3553;case"cube":return 34067;case"2d-array":return 35866;case"3d":return 32879;case"1d":case"cube-array":default:throw new Error(e.dimension)}}function dn(e,t){return!e||!t?!1:!Er(e)||!Er(t)}function qm(e){B.log(1,"texture sampler parameters",e)()}function mn(e,t){if(typeof t!="string")return t;var r=Number(t);if(!isNaN(r))return r;t=t.replace(/^.*\./,"");var n=e[t];return M(n!==void 0,"Accessing undefined constant GL.".concat(t)),n}function gt(e){return gt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gt(e)}function Qm(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Zm(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
33
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,u;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,u=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw u}}}}function Zm(e,t){if(e){if(typeof e=="string")return af(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return af(e,t)}}function af(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Jm(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function uf(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,ty(n.key),n)}}function ey(e,t,r){return t&&uf(e.prototype,t),r&&uf(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function ty(e){var t=ry(e,"string");return gt(t)==="symbol"?t:String(t)}function ry(e,t){if(gt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(gt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ny(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Bo(e,t)}function Bo(e,t){return Bo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Bo(e,t)}function oy(e){var t=uy();return function(){var n=yn(e),i;if(t){var o=yn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return iy(this,i)}}function iy(e,t){if(t&&(gt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ay(e)}function ay(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function uy(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function yn(e){return yn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},yn(e)}var bt="Resource subclass must define virtual methods",pr=function(e){ny(r,e);var t=oy(r);function r(i,o,a){var u;Jm(this,r),u=t.call(this,i,o,a),u.device=void 0,u.gl=void 0,u.gl2=void 0,u._handle=void 0,u._bound=!1,u.byteLength=0,u.device=le.attach(i);var c=u.device.gl;Qr(c);var p=o||{},b=p.id;return u.gl=c,u.gl2=c,u.id=b||we(u.constructor.name),u._handle=o?.handle,u._handle===void 0&&(u._handle=u._createHandle()),u.byteLength=0,u}var n=r.prototype;return n.toString=function(){return"".concat(this.constructor.name,"(").concat(this.id,")")},n.delete=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=o.deleteChildren,u=a===void 0?!1:a,c=this._handle&&this._deleteHandle(this._handle);return this._handle&&this.removeStats(),this._handle=null,c&&u&&c.filter(Boolean).forEach(function(p){return p.destroy()}),this},n.bind=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.handle;if(typeof o!="function")return this._bindHandle(o),this;var a;return this._bound?a=o():(this._bindHandle(this.handle),this._bound=!0,a=o(),this._bound=!1,this._bindHandle(null)),a},n.unbind=function(){this.bind(null)},n.getParameter=function(o){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};o=mn(this.gl,o),M(o);var u=this.constructor.PARAMETERS||{},c=u[o];if(c){var p=z(this.gl),b=(!("webgl2"in c)||p)&&(!("extension"in c)||this.gl.getExtension(c.extension));if(!b){var g=c.webgl1,v="webgl2"in c?c.webgl2:c.webgl1,O=p?v:g;return O}}return this._getParameter(o,a)},n.getParameters=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=o.parameters,u=o.keys,c=this.constructor.PARAMETERS||{},p=z(this.gl),b={},g=a||Object.keys(c),v=Qm(g),O;try{for(v.s();!(O=v.n()).done;){var w=O.value,P=c[w],A=P&&(!("webgl2"in P)||p)&&(!("extension"in P)||this.gl.getExtension(P.extension));if(A){var x=u?this.device.getGLKey(w):w;b[x]=this.getParameter(w,o),u&&P.type==="GLenum"&&(b[x]=this.device.getGLKey(b[x]))}}}catch(T){v.e(T)}finally{v.f()}return b},n.setParameter=function(o,a){o=mn(this.gl,o),M(o);var u=this.constructor.PARAMETERS||{},c=u[o];if(c){var p=z(this.gl),b=(!("webgl2"in c)||p)&&(!("extension"in c)||this.gl.getExtension(c.extension));if(!b)throw new Error("Parameter not available on this platform");c.type==="GLenum"&&(a=mn(a))}return this._setParameter(o,a),this},n.setParameters=function(o){for(var a in o)this.setParameter(a,o[a]);return this},n.stubRemovedMethods=function(o,a,u){return fo(this,o,a,u)},n.initialize=function(o){},n._createHandle=function(){throw new Error(bt)},n._deleteHandle=function(){throw new Error(bt)},n._bindHandle=function(o){throw new Error(bt)},n._getOptsFromHandle=function(){throw new Error(bt)},n._getParameter=function(o,a){throw new Error(bt)},n._setParameter=function(o,a){throw new Error(bt)},ey(r,[{key:"handle",get:function(){return this._handle}}]),r}(K);function vt(e){return vt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},vt(e)}var lf;function ff(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function cf(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ff(Object(r),!0).forEach(function(n){fy(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ff(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function fy(e,t,r){return t=pf(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function cy(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function sf(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,pf(n.key),n)}}function sy(e,t,r){return t&&sf(e.prototype,t),r&&sf(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function pf(e){var t=ly(e,"string");return vt(t)==="symbol"?t:String(t)}function ly(e,t){if(vt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(vt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function py(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Io(e,t)}function Io(e,t){return Io=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Io(e,t)}function dy(e){var t=yy();return function(){var n=bn(e),i;if(t){var o=bn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return hy(this,i)}}function hy(e,t){if(t&&(vt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return my(e)}function my(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function yy(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function bn(e){return bn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},bn(e)}lf=Symbol.toStringTag;var wt=function(e){py(r,e);var t=dy(r);r.isTextureFormatSupported=function(o,a){return Au(o.gl,a)};function r(i,o){var a;if(cy(this,r),typeof o.format=="number")throw new Error("Renderbuffer");return a=t.call(this,i,o,r.defaultProps),a.glFormat=void 0,a.glFormat=ur(a.props.format,i.isWebGL2),a._initialize(a.props),a}var n=r.prototype;return n.resize=function(o){(o.width!==this.width||o.height!==this.height)&&(Object.assign(this.props,cf(cf({},o),{},{format:this.format,samples:this.samples})),this._initialize(this.props))},n._initialize=function(o){var a=o.format,u=o.width,c=o.height,p=o.samples;M(a,"Needs format"),this.trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),p!==0&&this.device.isWebGL2?this.gl2.renderbufferStorageMultisample(36161,p,this.glFormat,u,c):this.gl.renderbufferStorage(36161,this.glFormat,u,c),this.gl.bindRenderbuffer(36161,null),this.trackAllocatedMemory(u*c*(p||1)*fr(this.glFormat,this.device.isWebGL2))},n._createHandle=function(){return this.gl.createRenderbuffer()},n._deleteHandle=function(){this.gl.deleteRenderbuffer(this.handle),this.trackDeallocatedMemory()},n._bindHandle=function(o){this.gl.bindRenderbuffer(36161,o)},sy(r,[{key:lf,get:function(){return"Renderbuffer"}},{key:"width",get:function(){return this.props.width}},{key:"height",get:function(){return this.props.height}},{key:"format",get:function(){return this.props.format}},{key:"samples",get:function(){return this.props.samples}},{key:"attachment",get:function(){}}]),r}(pr);wt.defaultProps={id:void 0,handle:void 0,userData:void 0,format:void 0,width:1,height:1,samples:0};function _t(e){return _t=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_t(e)}function by(e,t){return wy(e)||vy(e,t)||mf(e,t)||gy()}function gy(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
34
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function vy(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function wy(e){if(Array.isArray(e))return e}function _y(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=mf(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
35
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,u;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,u=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw u}}}}function mf(e,t){if(e){if(typeof e=="string")return df(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return df(e,t)}}function df(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Oy(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function hf(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Py(n.key),n)}}function Sy(e,t,r){return t&&hf(e.prototype,t),r&&hf(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Py(e){var t=xy(e,"string");return _t(t)==="symbol"?t:String(t)}function xy(e,t){if(_t(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(_t(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function gn(){return typeof Reflect<"u"&&Reflect.get?gn=Reflect.get.bind():gn=function(t,r,n){var i=Ey(t,r);if(i){var o=Object.getOwnPropertyDescriptor(i,r);return o.get?o.get.call(arguments.length<3?t:n):o.value}},gn.apply(this,arguments)}function Ey(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&(e=Ot(e),e!==null););return e}function Ty(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Fo(e,t)}function Fo(e,t){return Fo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Fo(e,t)}function Ay(e){var t=Ry();return function(){var n=Ot(e),i;if(t){var o=Ot(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Ly(this,i)}}function Ly(e,t){if(t&&(_t(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return jy(e)}function jy(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ry(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Ot(e){return Ot=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Ot(e)}var Te=function(e){Ty(r,e);var t=Ay(r);function r(i,o){var a;Oy(this,r),a=t.call(this,i,o),a.device=void 0,a.gl=void 0,a.handle=void 0;var u=o.handle===null;if(a.device=i,a.gl=i.gl,a.handle=a.props.handle||u?a.props.handle:a.gl.createFramebuffer(),!u){i.setSpectorMetadata(a.handle,{id:a.props.id,props:a.props}),a.autoCreateAttachmentTextures(),a.gl.bindFramebuffer(36160,a.handle);for(var c=0;c<a.colorAttachments.length;++c){var p=a.colorAttachments[c],b=36064+c;p&&a._attachOne(b,p)}a.depthStencilAttachment&&a._attachOne(Ru(a.depthStencilAttachment.format),a.depthStencilAttachment),a.gl.bindFramebuffer(36160,null)}return o.check!==!1&&a._checkStatus(),a}var n=r.prototype;return n.destroy=function(){gn(Ot(r.prototype),"destroy",this).call(this),!this.destroyed&&this.handle!==null&&this.gl.deleteFramebuffer(this.handle)},n._checkStatus=function(){var o=this.gl,a=o.bindFramebuffer(36160,this.handle),u=o.checkFramebufferStatus(36160);if(o.bindFramebuffer(36160,a||null),u!==36053)throw new Error("Framebuffer ".concat(By(u)))},n.createDepthStencilTexture=function(o){return new wt(this.device,{id:"".concat(this.id,"-depth-stencil"),format:o,width:this.width,height:this.height})},n.resizeAttachments=function(o,a){if(this.handle===null)return this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;o===void 0&&(o=this.gl.drawingBufferWidth),a===void 0&&(a=this.gl.drawingBufferHeight);var u=_y(this.colorAttachments),c;try{for(u.s();!(c=u.n()).done;){var p=c.value;p.resize({width:o,height:a})}}catch(b){u.e(b)}finally{u.f()}return this.depthStencilAttachment&&this.depthStencilAttachment.resize({width:o,height:a}),this},n._attachOne=function(o,a){if(a instanceof wt)return this._attachWEBGLRenderbuffer(o,a),a;if(Array.isArray(a)){var u=by(a,3),c=u[0],p=u[1],b=p===void 0?0:p,g=u[2],v=g===void 0?0:g;return this._attachTexture(o,c,b,v),c}else if(a instanceof se)return this._attachTexture(o,a,0,0),a;throw new Error("attach")},n._attachWEBGLRenderbuffer=function(o,a){this.gl.framebufferRenderbuffer(36160,o,36161,a.handle)},n._attachTexture=function(o,a,u,c){var p=this.device,b=p.gl,g=p.gl2;switch(b.bindTexture(a.target,a.handle),a.target){case 35866:case 32879:this.device.assertWebGL2(),g?.framebufferTextureLayer(36160,o,a.target,c,u);break;case 34067:var v=Gy(u);b.framebufferTexture2D(36160,o,v,a.handle,c);break;case 3553:b.framebufferTexture2D(36160,o,3553,a.handle,c);break;default:M(!1,"Illegal texture type")}b.bindTexture(a.target,null)},Sy(r,[{key:"texture",get:function(){return this.colorAttachments[0]}}]),r}(nt);function Gy(e){return e<34069?e+34069:e}function By(e){switch(e){case 36053:return"success";case 36054:return"Mismatched attachments";case 36055:return"No attachments";case 36057:return"Height/width mismatch";case 36061:return"Unsupported or split attachments";case 36182:return"Samples mismatch";default:return"".concat(e)}}function St(e){return St=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},St(e)}function yf(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Fy(n.key),n)}}function Iy(e,t,r){return t&&yf(e.prototype,t),r&&yf(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Fy(e){var t=Dy(e,"string");return St(t)==="symbol"?t:String(t)}function Dy(e,t){if(St(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(St(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Cy(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Wy(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Do(e,t)}function Do(e,t){return Do=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Do(e,t)}function My(e){var t=Vy();return function(){var n=vn(e),i;if(t){var o=vn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Ny(this,i)}}function Ny(e,t){if(t&&(St(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ky(e)}function ky(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Vy(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function vn(e){return vn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},vn(e)}var wn=function(e){Wy(r,e);var t=My(r);function r(i,o){var a;return Cy(this,r),a=t.call(this,o),a.device=void 0,a.presentationSize=void 0,a._framebuffer=null,a.device=i,a.presentationSize=[-1,-1],a._setAutoCreatedCanvasId("".concat(a.device.id,"-canvas")),a.update(),a}var n=r.prototype;return n.getCurrentFramebuffer=function(){return this.update(),this._framebuffer=this._framebuffer||new Te(this.device,{handle:null}),this._framebuffer},n.update=function(){var o=this.getPixelSize(),a=o[0]!==this.presentationSize[0]||o[1]!==this.presentationSize[1];a&&(this.presentationSize=o)},n.resize=function(o){if(this.canvas){var a=this.getDevicePixelRatio(o?.useDevicePixels);this.setDevicePixelRatio(a,o);return}var u=this.device.gl.getExtension("STACKGL_resize_drawingbuffer");u&&o&&"width"in o&&"height"in o&&u.resize(o.width,o.height)},n.commit=function(){},Iy(r)}(Qe);function Pt(e){return Pt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Pt(e)}function Co(){"use strict";Co=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(l,f,s){l[f]=s.value},i=typeof Symbol=="function"?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function c(l,f,s){return Object.defineProperty(l,f,{value:s,enumerable:!0,configurable:!0,writable:!0}),l[f]}try{c({},"")}catch{c=function(s,d,m){return s[d]=m}}function p(l,f,s,d){var m=f&&f.prototype instanceof v?f:v,h=Object.create(m.prototype),_=new V(d||[]);return n(h,"_invoke",{value:k(l,s,_)}),h}function b(l,f,s){try{return{type:"normal",arg:l.call(f,s)}}catch(d){return{type:"throw",arg:d}}}e.wrap=p;var g={};function v(){}function O(){}function w(){}var P={};c(P,o,function(){return this});var A=Object.getPrototypeOf,x=A&&A(A(W([])));x&&x!==t&&r.call(x,o)&&(P=x);var T=w.prototype=v.prototype=Object.create(P);function R(l){["next","throw","return"].forEach(function(f){c(l,f,function(s){return this._invoke(f,s)})})}function j(l,f){function s(m,h,_,S){var E=b(l[m],l,h);if(E.type!=="throw"){var D=E.arg,I=D.value;return I&&Pt(I)=="object"&&r.call(I,"__await")?f.resolve(I.__await).then(function(C){s("next",C,_,S)},function(C){s("throw",C,_,S)}):f.resolve(I).then(function(C){D.value=C,_(D)},function(C){return s("throw",C,_,S)})}S(E.arg)}var d;n(this,"_invoke",{value:function(h,_){function S(){return new f(function(E,D){s(h,_,E,D)})}return d=d?d.then(S,S):S()}})}function k(l,f,s){var d="suspendedStart";return function(m,h){if(d==="executing")throw new Error("Generator is already running");if(d==="completed"){if(m==="throw")throw h;return H()}for(s.method=m,s.arg=h;;){var _=s.delegate;if(_){var S=F(_,s);if(S){if(S===g)continue;return S}}if(s.method==="next")s.sent=s._sent=s.arg;else if(s.method==="throw"){if(d==="suspendedStart")throw d="completed",s.arg;s.dispatchException(s.arg)}else s.method==="return"&&s.abrupt("return",s.arg);d="executing";var E=b(l,f,s);if(E.type==="normal"){if(d=s.done?"completed":"suspendedYield",E.arg===g)continue;return{value:E.arg,done:s.done}}E.type==="throw"&&(d="completed",s.method="throw",s.arg=E.arg)}}}function F(l,f){var s=f.method,d=l.iterator[s];if(d===void 0)return f.delegate=null,s==="throw"&&l.iterator.return&&(f.method="return",f.arg=void 0,F(l,f),f.method==="throw")||s!=="return"&&(f.method="throw",f.arg=new TypeError("The iterator does not provide a '"+s+"' method")),g;var m=b(d,l.iterator,f.arg);if(m.type==="throw")return f.method="throw",f.arg=m.arg,f.delegate=null,g;var h=m.arg;return h?h.done?(f[l.resultName]=h.value,f.next=l.nextLoc,f.method!=="return"&&(f.method="next",f.arg=void 0),f.delegate=null,g):h:(f.method="throw",f.arg=new TypeError("iterator result is not an object"),f.delegate=null,g)}function X(l){var f={tryLoc:l[0]};1 in l&&(f.catchLoc=l[1]),2 in l&&(f.finallyLoc=l[2],f.afterLoc=l[3]),this.tryEntries.push(f)}function N(l){var f=l.completion||{};f.type="normal",delete f.arg,l.completion=f}function V(l){this.tryEntries=[{tryLoc:"root"}],l.forEach(X,this),this.reset(!0)}function W(l){if(l){var f=l[o];if(f)return f.call(l);if(typeof l.next=="function")return l;if(!isNaN(l.length)){var s=-1,d=function m(){for(;++s<l.length;)if(r.call(l,s))return m.value=l[s],m.done=!1,m;return m.value=void 0,m.done=!0,m};return d.next=d}}return{next:H}}function H(){return{value:void 0,done:!0}}return O.prototype=w,n(T,"constructor",{value:w,configurable:!0}),n(w,"constructor",{value:O,configurable:!0}),O.displayName=c(w,u,"GeneratorFunction"),e.isGeneratorFunction=function(l){var f=typeof l=="function"&&l.constructor;return!!f&&(f===O||(f.displayName||f.name)==="GeneratorFunction")},e.mark=function(l){return Object.setPrototypeOf?Object.setPrototypeOf(l,w):(l.__proto__=w,c(l,u,"GeneratorFunction")),l.prototype=Object.create(T),l},e.awrap=function(l){return{__await:l}},R(j.prototype),c(j.prototype,a,function(){return this}),e.AsyncIterator=j,e.async=function(l,f,s,d,m){m===void 0&&(m=Promise);var h=new j(p(l,f,s,d),m);return e.isGeneratorFunction(f)?h:h.next().then(function(_){return _.done?_.value:h.next()})},R(T),c(T,u,"Generator"),c(T,o,function(){return this}),c(T,"toString",function(){return"[object Generator]"}),e.keys=function(l){var f=Object(l),s=[];for(var d in f)s.push(d);return s.reverse(),function m(){for(;s.length;){var h=s.pop();if(h in f)return m.value=h,m.done=!1,m}return m.done=!0,m}},e.values=W,V.prototype={constructor:V,reset:function(f){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(N),!f)for(var s in this)s.charAt(0)==="t"&&r.call(this,s)&&!isNaN(+s.slice(1))&&(this[s]=void 0)},stop:function(){this.done=!0;var f=this.tryEntries[0].completion;if(f.type==="throw")throw f.arg;return this.rval},dispatchException:function(f){if(this.done)throw f;var s=this;function d(D,I){return _.type="throw",_.arg=f,s.next=D,I&&(s.method="next",s.arg=void 0),!!I}for(var m=this.tryEntries.length-1;m>=0;--m){var h=this.tryEntries[m],_=h.completion;if(h.tryLoc==="root")return d("end");if(h.tryLoc<=this.prev){var S=r.call(h,"catchLoc"),E=r.call(h,"finallyLoc");if(S&&E){if(this.prev<h.catchLoc)return d(h.catchLoc,!0);if(this.prev<h.finallyLoc)return d(h.finallyLoc)}else if(S){if(this.prev<h.catchLoc)return d(h.catchLoc,!0)}else{if(!E)throw new Error("try statement without catch or finally");if(this.prev<h.finallyLoc)return d(h.finallyLoc)}}}},abrupt:function(f,s){for(var d=this.tryEntries.length-1;d>=0;--d){var m=this.tryEntries[d];if(m.tryLoc<=this.prev&&r.call(m,"finallyLoc")&&this.prev<m.finallyLoc){var h=m;break}}h&&(f==="break"||f==="continue")&&h.tryLoc<=s&&s<=h.finallyLoc&&(h=null);var _=h?h.completion:{};return _.type=f,_.arg=s,h?(this.method="next",this.next=h.finallyLoc,g):this.complete(_)},complete:function(f,s){if(f.type==="throw")throw f.arg;return f.type==="break"||f.type==="continue"?this.next=f.arg:f.type==="return"?(this.rval=this.arg=f.arg,this.method="return",this.next="end"):f.type==="normal"&&s&&(this.next=s),g},finish:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.finallyLoc===f)return this.complete(d.completion,d.afterLoc),N(d),g}},catch:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.tryLoc===f){var m=d.completion;if(m.type==="throw"){var h=m.arg;N(d)}return h}}throw new Error("illegal catch attempt")},delegateYield:function(f,s,d){return this.delegate={iterator:W(f),resultName:s,nextLoc:d},this.method==="next"&&(this.arg=void 0),g}},e}function bf(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function gf(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?bf(Object(r),!0).forEach(function(n){Uy(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):bf(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Uy(e,t,r){return t=zy(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function zy(e){var t=Hy(e,"string");return Pt(t)==="symbol"?t:String(t)}function Hy(e,t){if(Pt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Pt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function vf(e,t,r,n,i,o,a){try{var u=e[o](a),c=u.value}catch(p){r(p);return}u.done?t(c):Promise.resolve(c).then(n,i)}function $y(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(c){vf(o,n,i,a,u,"next",c)}function u(c){vf(o,n,i,a,u,"throw",c)}a(void 0)})}}var Xy={spector:B.get("spector")||B.get("inspect")},Ky="https://spectorcdn.babylonjs.com/spector.bundle.js",Yy=1,de=null,wf=!1;function _f(e){return Wo.apply(this,arguments)}function Wo(){return Wo=$y(Co().mark(function e(t){return Co().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(globalThis.SPECTOR){n.next=9;break}return n.prev=1,n.next=4,zt(Ky);case 4:n.next=9;break;case 6:n.prev=6,n.t0=n.catch(1),B.warn(String(n.t0));case 9:case"end":return n.stop()}},e,null,[[1,6]])})),Wo.apply(this,arguments)}function Of(e){var t,r;if(e=gf(gf({},Xy),e),!((t=e)!==null&&t!==void 0&&t.spector)||(!de&&globalThis.SPECTOR&&(B.probe(Yy,"SPECTOR found and initialized")(),de=new globalThis.SPECTOR.Spector,globalThis.luma&&(globalThis.luma.spector=de)),!de))return null;if(!wf){var n,i;wf=!0,de.spyCanvases(),(n=de)===null||n===void 0||n.onCaptureStarted.add(function(u){return B.info("Spector capture started:",u)()}),(i=de)===null||i===void 0||i.onCapture.add(function(u){var c,p,b;B.info("Spector capture complete:",u)(),(c=de)===null||c===void 0||c.getResultUI(),(p=de)===null||p===void 0||p.resultView.display(),(b=de)===null||b===void 0||b.resultView.addCapture(u)})}if((r=e)!==null&&r!==void 0&&r.canvas){var o,a;if(typeof e.spector=="string"&&e.spector!==e.canvas.id)return de;(o=de)===null||o===void 0||o.startCapture((a=e)===null||a===void 0?void 0:a.canvas,500),new Promise(function(u){return setTimeout(u,2e3)}).then(function(u){var c;B.info("Spector capture stopped after 2 seconds")(),(c=de)===null||c===void 0||c.stopCapture()})}return de}function xt(e){return xt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},xt(e)}function No(){"use strict";No=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(l,f,s){l[f]=s.value},i=typeof Symbol=="function"?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function c(l,f,s){return Object.defineProperty(l,f,{value:s,enumerable:!0,configurable:!0,writable:!0}),l[f]}try{c({},"")}catch{c=function(s,d,m){return s[d]=m}}function p(l,f,s,d){var m=f&&f.prototype instanceof v?f:v,h=Object.create(m.prototype),_=new V(d||[]);return n(h,"_invoke",{value:k(l,s,_)}),h}function b(l,f,s){try{return{type:"normal",arg:l.call(f,s)}}catch(d){return{type:"throw",arg:d}}}e.wrap=p;var g={};function v(){}function O(){}function w(){}var P={};c(P,o,function(){return this});var A=Object.getPrototypeOf,x=A&&A(A(W([])));x&&x!==t&&r.call(x,o)&&(P=x);var T=w.prototype=v.prototype=Object.create(P);function R(l){["next","throw","return"].forEach(function(f){c(l,f,function(s){return this._invoke(f,s)})})}function j(l,f){function s(m,h,_,S){var E=b(l[m],l,h);if(E.type!=="throw"){var D=E.arg,I=D.value;return I&&xt(I)=="object"&&r.call(I,"__await")?f.resolve(I.__await).then(function(C){s("next",C,_,S)},function(C){s("throw",C,_,S)}):f.resolve(I).then(function(C){D.value=C,_(D)},function(C){return s("throw",C,_,S)})}S(E.arg)}var d;n(this,"_invoke",{value:function(h,_){function S(){return new f(function(E,D){s(h,_,E,D)})}return d=d?d.then(S,S):S()}})}function k(l,f,s){var d="suspendedStart";return function(m,h){if(d==="executing")throw new Error("Generator is already running");if(d==="completed"){if(m==="throw")throw h;return H()}for(s.method=m,s.arg=h;;){var _=s.delegate;if(_){var S=F(_,s);if(S){if(S===g)continue;return S}}if(s.method==="next")s.sent=s._sent=s.arg;else if(s.method==="throw"){if(d==="suspendedStart")throw d="completed",s.arg;s.dispatchException(s.arg)}else s.method==="return"&&s.abrupt("return",s.arg);d="executing";var E=b(l,f,s);if(E.type==="normal"){if(d=s.done?"completed":"suspendedYield",E.arg===g)continue;return{value:E.arg,done:s.done}}E.type==="throw"&&(d="completed",s.method="throw",s.arg=E.arg)}}}function F(l,f){var s=f.method,d=l.iterator[s];if(d===void 0)return f.delegate=null,s==="throw"&&l.iterator.return&&(f.method="return",f.arg=void 0,F(l,f),f.method==="throw")||s!=="return"&&(f.method="throw",f.arg=new TypeError("The iterator does not provide a '"+s+"' method")),g;var m=b(d,l.iterator,f.arg);if(m.type==="throw")return f.method="throw",f.arg=m.arg,f.delegate=null,g;var h=m.arg;return h?h.done?(f[l.resultName]=h.value,f.next=l.nextLoc,f.method!=="return"&&(f.method="next",f.arg=void 0),f.delegate=null,g):h:(f.method="throw",f.arg=new TypeError("iterator result is not an object"),f.delegate=null,g)}function X(l){var f={tryLoc:l[0]};1 in l&&(f.catchLoc=l[1]),2 in l&&(f.finallyLoc=l[2],f.afterLoc=l[3]),this.tryEntries.push(f)}function N(l){var f=l.completion||{};f.type="normal",delete f.arg,l.completion=f}function V(l){this.tryEntries=[{tryLoc:"root"}],l.forEach(X,this),this.reset(!0)}function W(l){if(l){var f=l[o];if(f)return f.call(l);if(typeof l.next=="function")return l;if(!isNaN(l.length)){var s=-1,d=function m(){for(;++s<l.length;)if(r.call(l,s))return m.value=l[s],m.done=!1,m;return m.value=void 0,m.done=!0,m};return d.next=d}}return{next:H}}function H(){return{value:void 0,done:!0}}return O.prototype=w,n(T,"constructor",{value:w,configurable:!0}),n(w,"constructor",{value:O,configurable:!0}),O.displayName=c(w,u,"GeneratorFunction"),e.isGeneratorFunction=function(l){var f=typeof l=="function"&&l.constructor;return!!f&&(f===O||(f.displayName||f.name)==="GeneratorFunction")},e.mark=function(l){return Object.setPrototypeOf?Object.setPrototypeOf(l,w):(l.__proto__=w,c(l,u,"GeneratorFunction")),l.prototype=Object.create(T),l},e.awrap=function(l){return{__await:l}},R(j.prototype),c(j.prototype,a,function(){return this}),e.AsyncIterator=j,e.async=function(l,f,s,d,m){m===void 0&&(m=Promise);var h=new j(p(l,f,s,d),m);return e.isGeneratorFunction(f)?h:h.next().then(function(_){return _.done?_.value:h.next()})},R(T),c(T,u,"Generator"),c(T,o,function(){return this}),c(T,"toString",function(){return"[object Generator]"}),e.keys=function(l){var f=Object(l),s=[];for(var d in f)s.push(d);return s.reverse(),function m(){for(;s.length;){var h=s.pop();if(h in f)return m.value=h,m.done=!1,m}return m.done=!0,m}},e.values=W,V.prototype={constructor:V,reset:function(f){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(N),!f)for(var s in this)s.charAt(0)==="t"&&r.call(this,s)&&!isNaN(+s.slice(1))&&(this[s]=void 0)},stop:function(){this.done=!0;var f=this.tryEntries[0].completion;if(f.type==="throw")throw f.arg;return this.rval},dispatchException:function(f){if(this.done)throw f;var s=this;function d(D,I){return _.type="throw",_.arg=f,s.next=D,I&&(s.method="next",s.arg=void 0),!!I}for(var m=this.tryEntries.length-1;m>=0;--m){var h=this.tryEntries[m],_=h.completion;if(h.tryLoc==="root")return d("end");if(h.tryLoc<=this.prev){var S=r.call(h,"catchLoc"),E=r.call(h,"finallyLoc");if(S&&E){if(this.prev<h.catchLoc)return d(h.catchLoc,!0);if(this.prev<h.finallyLoc)return d(h.finallyLoc)}else if(S){if(this.prev<h.catchLoc)return d(h.catchLoc,!0)}else{if(!E)throw new Error("try statement without catch or finally");if(this.prev<h.finallyLoc)return d(h.finallyLoc)}}}},abrupt:function(f,s){for(var d=this.tryEntries.length-1;d>=0;--d){var m=this.tryEntries[d];if(m.tryLoc<=this.prev&&r.call(m,"finallyLoc")&&this.prev<m.finallyLoc){var h=m;break}}h&&(f==="break"||f==="continue")&&h.tryLoc<=s&&s<=h.finallyLoc&&(h=null);var _=h?h.completion:{};return _.type=f,_.arg=s,h?(this.method="next",this.next=h.finallyLoc,g):this.complete(_)},complete:function(f,s){if(f.type==="throw")throw f.arg;return f.type==="break"||f.type==="continue"?this.next=f.arg:f.type==="return"?(this.rval=this.arg=f.arg,this.method="return",this.next="end"):f.type==="normal"&&s&&(this.next=s),g},finish:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.finallyLoc===f)return this.complete(d.completion,d.afterLoc),N(d),g}},catch:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.tryLoc===f){var m=d.completion;if(m.type==="throw"){var h=m.arg;N(d)}return h}}throw new Error("illegal catch attempt")},delegateYield:function(f,s,d){return this.delegate={iterator:W(f),resultName:s,nextLoc:d},this.method==="next"&&(this.arg=void 0),g}},e}function qy(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Qy(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
36
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,u;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,u=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw u}}}}function Qy(e,t){if(e){if(typeof e=="string")return Sf(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Sf(e,t)}}function Sf(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Pf(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Af(n.key),n)}}function Zy(e,t,r){return t&&Pf(e.prototype,t),r&&Pf(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Jy(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function xf(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ef(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?xf(Object(r),!0).forEach(function(n){eb(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):xf(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function eb(e,t,r){return t=Af(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Af(e){var t=tb(e,"string");return xt(t)==="symbol"?t:String(t)}function tb(e,t){if(xt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(xt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Tf(e,t,r,n,i,o,a){try{var u=e[o](a),c=u.value}catch(p){r(p);return}u.done?t(c):Promise.resolve(c).then(n,i)}function rb(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(c){Tf(o,n,i,a,u,"next",c)}function u(c){Tf(o,n,i,a,u,"throw",c)}a(void 0)})}}var nb="https://unpkg.com/webgl-debug@2.0.1/index.js";function Lf(e){return e.luma=e.luma||{},e.luma}function jf(){return ko.apply(this,arguments)}function ko(){return ko=rb(No().mark(function e(){return No().wrap(function(r){for(;;)switch(r.prev=r.next){case 0:if(!(J()&&!globalThis.WebGLDebugUtils)){r.next=5;break}return globalThis.global=globalThis.global||globalThis,globalThis.global.module={},r.next=5,zt(nb);case 5:case"end":return r.stop()}},e)})),ko.apply(this,arguments)}function Rf(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e?t.debug?ib(e,t):ob(e):null}function ob(e){var t=Lf(e);return t.realContext?t.realContext:e}function ib(e,t){if(!globalThis.WebGLDebugUtils)return B.warn("webgl-debug not loaded")(),e;var r=Lf(e);if(r.debugContext)return r.debugContext;globalThis.WebGLDebugUtils.init(Ef(Ef({},GL),e));var n=globalThis.WebGLDebugUtils.makeDebugContext(e,ab.bind(null,t),ub.bind(null,t));for(var i in GL)!(i in n)&&typeof GL[i]=="number"&&(n[i]=GL[i]);var o=Zy(function u(){Jy(this,u)});Object.setPrototypeOf(n,Object.getPrototypeOf(e)),Object.setPrototypeOf(o,n);var a=Object.create(o);return r.realContext=e,r.debugContext=a,a.debug=!0,a}function Mo(e,t){t=Array.from(t).map(function(n){return n===void 0?"undefined":n});var r=globalThis.WebGLDebugUtils.glFunctionArgsToString(e,t);return r="".concat(r.slice(0,100)).concat(r.length>100?"...":""),"gl.".concat(e,"(").concat(r,")")}function ab(e,t,r,n){n=Array.from(n).map(function(c){return c===void 0?"undefined":c});var i=globalThis.WebGLDebugUtils.glEnumToString(t),o=globalThis.WebGLDebugUtils.glFunctionArgsToString(r,n),a=e.webgl2?"gl2":"gl1",u="".concat(i," in ").concat(a,".").concat(r,"(").concat(o,")");B.error(u)();debugger;if(e.throwOnError)throw new Error(u)}function ub(e,t,r){var n="";if(B.level>=1&&(n=Mo(t,r),B.log(1,n)()),e.break&&e.break.length>0){n=n||Mo(t,r);var i=e.break.every(function(c){return n.indexOf(c)!==-1});if(i)debugger}var o=qy(r),a;try{for(o.s();!(a=o.n()).done;){var u=a.value;if(u===void 0){if(n=n||Mo(t,r),e.throwOnError)throw new Error("Undefined argument: ".concat(n));B.error("Undefined argument: ".concat(n))();debugger}}}catch(c){o.e(c)}finally{o.f()}}function Vo(e,t){return{name:fb(e,t),language:"glsl",version:cb(e)}}function fb(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"unnamed",r=/#define[\s*]SHADER_NAME[\s*]([A-Za-z0-9_-]+)[\s*]/,n=r.exec(e);return n?n[1]:t}function cb(e){var t=100,r=e.match(/[^\s]+/g);if(r&&r.length>=2&&r[0]==="#version"){var n=parseInt(r[1],10);Number.isFinite(n)&&(t=n)}return t}function sb(e){return Ff(e)||lb(e)||Uo(e)||If()}function lb(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function pb(e,t){return Ff(e)||db(e,t)||Uo(e,t)||If()}function If(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
37
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function db(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function Ff(e){if(Array.isArray(e))return e}function hb(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Uo(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
38
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,u;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,u=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw u}}}}function Uo(e,t){if(e){if(typeof e=="string")return Gf(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Gf(e,t)}}function Gf(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function zo(e){var t=e.split(/\r?\n/),r=[],n=hb(t),i;try{for(n.s();!(i=n.n()).done;){var o=i.value;if(!(o.length<=1)){var a=o.split(":");if(a.length===2){var u=pb(a,2),c=u[0],p=u[1];r.push({message:p.trim(),type:Bf(c),lineNum:0,linePos:0});continue}var b=sb(a),g=b[0],v=b[1],O=b[2],w=b.slice(3),P=parseInt(O,10);isNaN(P)&&(P=0);var A=parseInt(v,10);isNaN(A)&&(A=0),r.push({message:w.join(":").trim(),type:Bf(g),lineNum:P,linePos:A})}}}catch(x){n.e(x)}finally{n.f()}return r}function Bf(e){var t=["warning","error","info"],r=e.toLowerCase();return t.includes(r)?r:"info"}function Ve(e){return Ve=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ve(e)}function Ho(){"use strict";Ho=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(l,f,s){l[f]=s.value},i=typeof Symbol=="function"?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function c(l,f,s){return Object.defineProperty(l,f,{value:s,enumerable:!0,configurable:!0,writable:!0}),l[f]}try{c({},"")}catch{c=function(s,d,m){return s[d]=m}}function p(l,f,s,d){var m=f&&f.prototype instanceof v?f:v,h=Object.create(m.prototype),_=new V(d||[]);return n(h,"_invoke",{value:k(l,s,_)}),h}function b(l,f,s){try{return{type:"normal",arg:l.call(f,s)}}catch(d){return{type:"throw",arg:d}}}e.wrap=p;var g={};function v(){}function O(){}function w(){}var P={};c(P,o,function(){return this});var A=Object.getPrototypeOf,x=A&&A(A(W([])));x&&x!==t&&r.call(x,o)&&(P=x);var T=w.prototype=v.prototype=Object.create(P);function R(l){["next","throw","return"].forEach(function(f){c(l,f,function(s){return this._invoke(f,s)})})}function j(l,f){function s(m,h,_,S){var E=b(l[m],l,h);if(E.type!=="throw"){var D=E.arg,I=D.value;return I&&Ve(I)=="object"&&r.call(I,"__await")?f.resolve(I.__await).then(function(C){s("next",C,_,S)},function(C){s("throw",C,_,S)}):f.resolve(I).then(function(C){D.value=C,_(D)},function(C){return s("throw",C,_,S)})}S(E.arg)}var d;n(this,"_invoke",{value:function(h,_){function S(){return new f(function(E,D){s(h,_,E,D)})}return d=d?d.then(S,S):S()}})}function k(l,f,s){var d="suspendedStart";return function(m,h){if(d==="executing")throw new Error("Generator is already running");if(d==="completed"){if(m==="throw")throw h;return H()}for(s.method=m,s.arg=h;;){var _=s.delegate;if(_){var S=F(_,s);if(S){if(S===g)continue;return S}}if(s.method==="next")s.sent=s._sent=s.arg;else if(s.method==="throw"){if(d==="suspendedStart")throw d="completed",s.arg;s.dispatchException(s.arg)}else s.method==="return"&&s.abrupt("return",s.arg);d="executing";var E=b(l,f,s);if(E.type==="normal"){if(d=s.done?"completed":"suspendedYield",E.arg===g)continue;return{value:E.arg,done:s.done}}E.type==="throw"&&(d="completed",s.method="throw",s.arg=E.arg)}}}function F(l,f){var s=f.method,d=l.iterator[s];if(d===void 0)return f.delegate=null,s==="throw"&&l.iterator.return&&(f.method="return",f.arg=void 0,F(l,f),f.method==="throw")||s!=="return"&&(f.method="throw",f.arg=new TypeError("The iterator does not provide a '"+s+"' method")),g;var m=b(d,l.iterator,f.arg);if(m.type==="throw")return f.method="throw",f.arg=m.arg,f.delegate=null,g;var h=m.arg;return h?h.done?(f[l.resultName]=h.value,f.next=l.nextLoc,f.method!=="return"&&(f.method="next",f.arg=void 0),f.delegate=null,g):h:(f.method="throw",f.arg=new TypeError("iterator result is not an object"),f.delegate=null,g)}function X(l){var f={tryLoc:l[0]};1 in l&&(f.catchLoc=l[1]),2 in l&&(f.finallyLoc=l[2],f.afterLoc=l[3]),this.tryEntries.push(f)}function N(l){var f=l.completion||{};f.type="normal",delete f.arg,l.completion=f}function V(l){this.tryEntries=[{tryLoc:"root"}],l.forEach(X,this),this.reset(!0)}function W(l){if(l){var f=l[o];if(f)return f.call(l);if(typeof l.next=="function")return l;if(!isNaN(l.length)){var s=-1,d=function m(){for(;++s<l.length;)if(r.call(l,s))return m.value=l[s],m.done=!1,m;return m.value=void 0,m.done=!0,m};return d.next=d}}return{next:H}}function H(){return{value:void 0,done:!0}}return O.prototype=w,n(T,"constructor",{value:w,configurable:!0}),n(w,"constructor",{value:O,configurable:!0}),O.displayName=c(w,u,"GeneratorFunction"),e.isGeneratorFunction=function(l){var f=typeof l=="function"&&l.constructor;return!!f&&(f===O||(f.displayName||f.name)==="GeneratorFunction")},e.mark=function(l){return Object.setPrototypeOf?Object.setPrototypeOf(l,w):(l.__proto__=w,c(l,u,"GeneratorFunction")),l.prototype=Object.create(T),l},e.awrap=function(l){return{__await:l}},R(j.prototype),c(j.prototype,a,function(){return this}),e.AsyncIterator=j,e.async=function(l,f,s,d,m){m===void 0&&(m=Promise);var h=new j(p(l,f,s,d),m);return e.isGeneratorFunction(f)?h:h.next().then(function(_){return _.done?_.value:h.next()})},R(T),c(T,u,"Generator"),c(T,o,function(){return this}),c(T,"toString",function(){return"[object Generator]"}),e.keys=function(l){var f=Object(l),s=[];for(var d in f)s.push(d);return s.reverse(),function m(){for(;s.length;){var h=s.pop();if(h in f)return m.value=h,m.done=!1,m}return m.done=!0,m}},e.values=W,V.prototype={constructor:V,reset:function(f){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(N),!f)for(var s in this)s.charAt(0)==="t"&&r.call(this,s)&&!isNaN(+s.slice(1))&&(this[s]=void 0)},stop:function(){this.done=!0;var f=this.tryEntries[0].completion;if(f.type==="throw")throw f.arg;return this.rval},dispatchException:function(f){if(this.done)throw f;var s=this;function d(D,I){return _.type="throw",_.arg=f,s.next=D,I&&(s.method="next",s.arg=void 0),!!I}for(var m=this.tryEntries.length-1;m>=0;--m){var h=this.tryEntries[m],_=h.completion;if(h.tryLoc==="root")return d("end");if(h.tryLoc<=this.prev){var S=r.call(h,"catchLoc"),E=r.call(h,"finallyLoc");if(S&&E){if(this.prev<h.catchLoc)return d(h.catchLoc,!0);if(this.prev<h.finallyLoc)return d(h.finallyLoc)}else if(S){if(this.prev<h.catchLoc)return d(h.catchLoc,!0)}else{if(!E)throw new Error("try statement without catch or finally");if(this.prev<h.finallyLoc)return d(h.finallyLoc)}}}},abrupt:function(f,s){for(var d=this.tryEntries.length-1;d>=0;--d){var m=this.tryEntries[d];if(m.tryLoc<=this.prev&&r.call(m,"finallyLoc")&&this.prev<m.finallyLoc){var h=m;break}}h&&(f==="break"||f==="continue")&&h.tryLoc<=s&&s<=h.finallyLoc&&(h=null);var _=h?h.completion:{};return _.type=f,_.arg=s,h?(this.method="next",this.next=h.finallyLoc,g):this.complete(_)},complete:function(f,s){if(f.type==="throw")throw f.arg;return f.type==="break"||f.type==="continue"?this.next=f.arg:f.type==="return"?(this.rval=this.arg=f.arg,this.method="return",this.next="end"):f.type==="normal"&&s&&(this.next=s),g},finish:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.finallyLoc===f)return this.complete(d.completion,d.afterLoc),N(d),g}},catch:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.tryLoc===f){var m=d.completion;if(m.type==="throw"){var h=m.arg;N(d)}return h}}throw new Error("illegal catch attempt")},delegateYield:function(f,s,d){return this.delegate={iterator:W(f),resultName:s,nextLoc:d},this.method==="next"&&(this.arg=void 0),g}},e}function Df(e,t,r,n,i,o,a){try{var u=e[o](a),c=u.value}catch(p){r(p);return}u.done?t(c):Promise.resolve(c).then(n,i)}function mb(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(c){Df(o,n,i,a,u,"next",c)}function u(c){Df(o,n,i,a,u,"throw",c)}a(void 0)})}}function Cf(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function yb(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Cf(Object(r),!0).forEach(function(n){bb(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Cf(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function bb(e,t,r){return t=Mf(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Wf(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Mf(n.key),n)}}function gb(e,t,r){return t&&Wf(e.prototype,t),r&&Wf(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Mf(e){var t=vb(e,"string");return Ve(t)==="symbol"?t:String(t)}function vb(e,t){if(Ve(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Ve(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function wb(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _b(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&$o(e,t)}function $o(e,t){return $o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},$o(e,t)}function Ob(e){var t=xb();return function(){var n=_n(e),i;if(t){var o=_n(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Sb(this,i)}}function Sb(e,t){if(t&&(Ve(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Pb(e)}function Pb(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function xb(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function _n(e){return _n=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},_n(e)}var On=function(e){_b(r,e);var t=Ob(r);function r(i,o){var a;switch(wb(this,r),a=t.call(this,i,yb({id:Eb(o)},o)),a.device=void 0,a.handle=void 0,a.device=i,a.props.stage){case"vertex":a.handle=a.props.handle||a.device.gl.createShader(35633);break;case"fragment":a.handle=a.props.handle||a.device.gl.createShader(35632);break;default:throw new Error(a.props.stage)}return a._compile(a.source),a}var n=r.prototype;return n.destroy=function(){this.handle&&(this.removeStats(),this.device.gl.deleteShader(this.handle),this.destroyed=!0)},n.compilationInfo=function(){var i=mb(Ho().mark(function a(){var u;return Ho().wrap(function(p){for(;;)switch(p.prev=p.next){case 0:return u=this.device.gl.getShaderInfoLog(this.handle),p.abrupt("return",u?zo(u):[]);case 2:case"end":return p.stop()}},a,this)}));function o(){return i.apply(this,arguments)}return o}(),n._compile=function(o){var a=function(A){return A.startsWith("#version ")?A:`#version 100
39
- `.concat(A)};o=a(o);var u=this.device.gl;u.shaderSource(this.handle,o),u.compileShader(this.handle);var c=u.getShaderParameter(this.handle,35713);if(!c){var p=u.getShaderInfoLog(this.handle),b=p?zo(p):[],g=b.filter(function(P){return P.type==="error"}),v=ao(g,o,{showSourceCode:!0}),O=Vo(o).name,w="".concat(this.stage," shader ").concat(O);throw B.error("GLSL compilation errors in ".concat(w,`
40
- `).concat(v))(),new Error("GLSL compilation errors in ".concat(O))}},gb(r)}(Gr);function Eb(e){return Vo(e.source).name||e.id||we("unnamed ".concat(e.stage,"-shader"))}function Et(e){return Et=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Et(e)}function Nf(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Tb(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Nf(Object(r),!0).forEach(function(n){Ab(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Nf(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Ab(e,t,r){return t=Vf(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function kf(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Vf(n.key),n)}}function Lb(e,t,r){return t&&kf(e.prototype,t),r&&kf(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Vf(e){var t=jb(e,"string");return Et(t)==="symbol"?t:String(t)}function jb(e,t){if(Et(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Et(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Rb(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Gb(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ko(e,t)}function Ko(e,t){return Ko=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Ko(e,t)}function Bb(e){var t=Db();return function(){var n=Sn(e),i;if(t){var o=Sn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Ib(this,i)}}function Ib(e,t){if(t&&(Et(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Fb(e)}function Fb(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Db(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Sn(e){return Sn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Sn(e)}var Cb=256,Wb=1024,Mb=16384,Xo=6144,Pn=function(e){Gb(r,e);var t=Bb(r);function r(i,o){var a;return Rb(this,r),a=t.call(this,i,o),a.device=void 0,a.glParameters=void 0,a.device=i,_e(a.device.gl),a.setParameters(a.props.parameters),a.clear(),a}var n=r.prototype;return n.end=function(){ge(this.device.gl),this.props.framebuffer&&be(this.device,{framebuffer:null})},n.pushDebugGroup=function(o){},n.popDebugGroup=function(){},n.insertDebugMarker=function(o){},n.setParameters=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a={};this.props.framebuffer&&(a.framebuffer=this.props.framebuffer),this.props.depthReadOnly&&(a.depthMask=!this.props.depthReadOnly),a.stencilMask=this.props.stencilReadOnly?0:1,a[35977]=this.props.discard,o.viewport&&(o.viewport.length>=6?(a.viewport=o.viewport.slice(0,4),a.depthRange=[o.viewport[4],o.viewport[5]]):a.viewport=o.viewport),a.scissorTest=Boolean(o.scissorRect),o.scissorRect&&(a.scissor=o.scissorRect),o.blendConstant&&(a.blendColor=o.blendConstant),o.stencilReference&&(console.warn("RenderPassParameters.stencilReference not yet implemented in WebGL"),o[2967]=o.stencilReference),this.glParameters=a,be(this.device,a)},n.clear=function(){var o=this,a=Tb({},this.glParameters),u=0;this.props.clearColor!==!1&&(u|=Mb,a.clearColor=this.props.clearColor),this.props.clearDepth!==!1&&(u|=Cb,a.clearDepth=this.props.clearDepth),this.props.clearStencil!==!1&&(u|=Wb,a.clearStencil=this.props.clearStencil),u!==0&&ve(this.device,a,function(){o.device.gl.clear(u)})},n.clearColorBuffer=function(){var o=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0,0,0,0];ve(this.device.gl2,{framebuffer:this.props.framebuffer},function(){switch(u.constructor){case Int32Array:o.device.gl2.clearBufferiv(Xo,a,u);break;case Uint32Array:o.device.gl2.clearBufferuiv(Xo,a,u);break;case Float32Array:default:o.device.gl2.clearBufferfv(Xo,a,u);break}})},Lb(r)}(Mr);var Nb="Failed to deduce GL constant from typed array";function Uf(e){var t=ArrayBuffer.isView(e)?e.constructor:e;switch(t){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:return 5121;case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error(Nb)}}function dr(e,t){var r=t||{},n=r.clamped,i=n===void 0?!0:n;switch(e){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return i?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function hr(e){return hr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},hr(e)}function xn(e,t,r){return kb()?xn=Reflect.construct.bind():xn=function(i,o,a){var u=[null];u.push.apply(u,o);var c=Function.bind.apply(i,u),p=new c;return a&&Yo(p,a.prototype),p},xn.apply(null,arguments)}function kb(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Yo(e,t){return Yo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Yo(e,t)}function Vb(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function zf(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,zb(n.key),n)}}function Ub(e,t,r){return t&&zf(e.prototype,t),r&&zf(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function zb(e){var t=Hb(e,"string");return hr(t)==="symbol"?t:String(t)}function Hb(e,t){if(hr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(hr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var $b={offset:0,stride:0,type:5126,size:1,divisor:0,normalized:!1,integer:!1},Xb={deprecatedProps:{instanced:"divisor",isInstanced:"divisor"}},En=function(){e.getBytesPerElement=function(n){var i=dr(n.type||5126);return i.BYTES_PER_ELEMENT},e.getBytesPerVertex=function(n){M(n.size);var i=dr(n.type||5126);return i.BYTES_PER_ELEMENT*n.size},e.resolve=function(){for(var n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];return xn(e,[$b].concat(i))};function e(){var r=this;Vb(this,e),this.offset=void 0,this.stride=void 0,this.type=void 0,this.size=void 0,this.divisor=void 0,this.normalized=void 0,this.integer=void 0,this.buffer=void 0,this.index=void 0;for(var n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];i.forEach(function(a){return r._assign(a)}),Object.freeze(this)}var t=e.prototype;return t.toString=function(){return JSON.stringify(this)},t._assign=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return n=co("Accessor",n,Xb),n.type!==void 0&&(this.type=n.type,(n.type===5124||n.type===5125)&&(this.integer=!0)),n.size!==void 0&&(this.size=n.size),n.offset!==void 0&&(this.offset=n.offset),n.stride!==void 0&&(this.stride=n.stride),n.normalize!==void 0&&(this.normalized=n.normalize),n.normalized!==void 0&&(this.normalized=n.normalized),n.integer!==void 0&&(this.integer=n.integer),n.divisor!==void 0&&(this.divisor=n.divisor),n.buffer!==void 0&&(this.buffer=n.buffer),n.index!==void 0&&(typeof n.index=="boolean"?this.index=n.index?1:0:this.index=n.index),n.instanced!==void 0&&(this.divisor=n.instanced?1:0),n.isInstanced!==void 0&&(this.divisor=n.isInstanced?1:0),this.offset===void 0&&delete this.offset,this.stride===void 0&&delete this.stride,this.type===void 0&&delete this.type,this.size===void 0&&delete this.size,this.divisor===void 0&&delete this.divisor,this.normalized===void 0&&delete this.normalized,this.integer===void 0&&delete this.integer,this.buffer===void 0&&delete this.buffer,this.index===void 0&&delete this.index,this},Ub(e,[{key:"BYTES_PER_ELEMENT",get:function(){return e.getBytesPerElement(this)}},{key:"BYTES_PER_VERTEX",get:function(){return e.getBytesPerVertex(this)}}]),e}();var Q;function mr(e){return mr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},mr(e)}function $f(e,t){return Qb(e)||qb(e,t)||Yb(e,t)||Kb()}function Kb(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
41
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Yb(e,t){if(e){if(typeof e=="string")return Hf(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Hf(e,t)}}function Hf(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function qb(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function Qb(e){if(Array.isArray(e))return e}function ee(e,t,r){return t=Zb(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Zb(e){var t=Jb(e,"string");return mr(t)==="symbol"?t:String(t)}function Jb(e,t){if(mr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(mr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Xf(e){return eg.includes(e)}var eg=[35678,35680,35679,35682,36289,36292,36293,36298,36299,36300,36303,36306,36307,36308,36311],Kf=(Q={},ee(Q,5126,[5126,1,"float","f32","float32"]),ee(Q,35664,[5126,2,"vec2","vec2<f32>","float32x2"]),ee(Q,35665,[5126,3,"vec3","vec3<f32>","float32x3"]),ee(Q,35666,[5126,4,"vec4","vec4<f32>","float32x4"]),ee(Q,5124,[5124,1,"int","i32","sint32"]),ee(Q,35667,[5124,2,"ivec2","vec2<i32>","sint32x2"]),ee(Q,35668,[5124,3,"ivec3","vec3<i32>","sint32x3"]),ee(Q,35669,[5124,4,"ivec4","vec4<i32>","sint32x4"]),ee(Q,5125,[5125,1,"uint","u32","uint32"]),ee(Q,36294,[5125,2,"uvec2","vec2<u32>","uint32x2"]),ee(Q,36295,[5125,3,"uvec3","vec3<u32>","uint32x3"]),ee(Q,36296,[5125,4,"uvec4","vec4<u32>","uint32x4"]),ee(Q,35670,[5126,1,"bool","f32","float32"]),ee(Q,35671,[5126,2,"bvec2","vec2<f32>","float32x2"]),ee(Q,35672,[5126,3,"bvec3","vec3<f32>","float32x3"]),ee(Q,35673,[5126,4,"bvec4","vec4<f32>","float32x4"]),ee(Q,35674,[5126,8,"mat2","mat2x2<f32>"]),ee(Q,35685,[5126,8,"mat2x3","mat2x3<f32>"]),ee(Q,35686,[5126,8,"mat2x4","mat2x4<f32>"]),ee(Q,35687,[5126,12,"mat3x2","mat3x2<f32>"]),ee(Q,35675,[5126,12,"mat3","mat3x3<f32>"]),ee(Q,35688,[5126,12,"mat3x4","mat3x4<f32>"]),ee(Q,35689,[5126,16,"mat4x2","mat4x2<f32>"]),ee(Q,35690,[5126,16,"mat4x3","mat4x3<f32>"]),ee(Q,35676,[5126,16,"mat4","mat4x4<f32>"]),Q);function qo(e){var t=Kf[e];if(!t)throw new Error("uniform");var r=$f(t,4),n=r[0],i=r[1],o=r[3];return{format:o,components:i,glType:n}}function Yf(e){var t=Kf[e];if(!t)throw new Error("attribute");var r=$f(t,5),n=r[1],i=r[3],o=r[4],a=i;return{attributeType:a,vertexFormat:o,components:n}}var ie;function yr(e){return yr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},yr(e)}function tg(e,t){return ig(e)||og(e,t)||ng(e,t)||rg()}function rg(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
42
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ng(e,t){if(e){if(typeof e=="string")return qf(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return qf(e,t)}}function qf(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function og(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function ig(e){if(Array.isArray(e))return e}function Qf(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Zf(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Qf(Object(r),!0).forEach(function(n){fe(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Qf(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function fe(e,t,r){return t=ag(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ag(e){var t=ug(e,"string");return yr(t)==="symbol"?t:String(t)}function ug(e,t){if(yr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(yr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Tn(e,t){var r={attributes:[],bindings:[]};r.attributes=fg(e,t);for(var n=lg(e,t),i=0,o=n;i<o.length;i++){var a=o[i],u=a.uniforms.map(function(x){return{name:x.name,format:x.format,byteOffset:x.byteOffset,byteStride:x.byteStride,arrayLength:x.arrayLength}});r.bindings.push({type:"uniform",name:a.name,location:a.location,visibility:(a.vertex?1:0)&(a.fragment?2:0),minBindingSize:a.byteLength,uniforms:u})}for(var c=sg(e,t),p=0,b=0,g=c;b<g.length;b++){var v=g[b];if(Xf(v.type)){var O=dg(v.type),w=O.viewDimension,P=O.sampleType;r.bindings.push({type:"texture",name:v.name,location:p,viewDimension:w,sampleType:P}),v.textureUnit=p,p+=1}}c.length&&(r.uniforms=c);var A=cg(e,t);return A!=null&&A.length&&(r.varyings=A),r}function fg(e,t){for(var r=[],n=e.getProgramParameter(t,35721),i=0;i<n;i++){var o=e.getActiveAttrib(t,i);if(!o)throw new Error("activeInfo");var a=o.name,u=o.type,c=e.getAttribLocation(t,a);if(c>=0){var p=Yf(u),b=p.attributeType,g=/instance/i.test(a)?"instance":"vertex";r.push({name:a,location:c,stepMode:g,type:b})}}return r.sort(function(v,O){return v.location-O.location}),r}function cg(e,t){if(!z(e))return[];for(var r=e,n=[],i=e.getProgramParameter(t,35971),o=0;o<i;o++){var a=r.getTransformFeedbackVarying(t,o);if(!a)throw new Error("activeInfo");var u=a.name,c=a.type,p=a.size,b=qo(c),g=b.glType,v=b.components,O=new En({type:g,size:p*v}),w={location:o,name:u,accessor:O};n.push(w)}return n.sort(function(P,A){return P.location-A.location}),n}function sg(e,t){for(var r=[],n=e.getProgramParameter(t,35718),i=0;i<n;i++){var o=e.getActiveUniform(t,i);if(!o)throw new Error("activeInfo");var a=o.name,u=o.size,c=o.type,p=hg(a),b=p.name,g=p.isArray,v=e.getUniformLocation(t,b),O={location:v,name:b,size:u,type:c,isArray:g};if(r.push(O),O.size>1)for(var w=0;w<O.size;w++){var P="".concat(b,"[").concat(w,"]");v=e.getUniformLocation(t,P);var A=Zf(Zf({},O),{},{name:P,location:v});r.push(A)}}return r}function lg(e,t){if(!z(e))return[];for(var r=e,n=function(A,x){return r.getActiveUniformBlockParameter(t,A,x)},i=[],o=r.getProgramParameter(t,35382),a=0;a<o;a++){for(var u={name:r.getActiveUniformBlockName(t,a)||"",location:n(a,35391),byteLength:n(a,35392),vertex:n(a,35396),fragment:n(a,35398),uniformCount:n(a,35394),uniforms:[]},c=n(a,35395)||[],p=r.getActiveUniforms(t,c,35383),b=r.getActiveUniforms(t,c,35384),g=r.getActiveUniforms(t,c,35387),v=r.getActiveUniforms(t,c,35388),O=0;O<u.uniformCount;++O){var w=r.getActiveUniform(t,c[O]);if(!w)throw new Error("activeInfo");u.uniforms.push({name:w.name,format:qo(p[O]).format,type:p[O],arrayLength:b[O],byteOffset:g[O],byteStride:v[O]})}i.push(u)}return i.sort(function(P,A){return P.location-A.location}),i}var pg=(ie={},fe(ie,35678,["2d","float"]),fe(ie,35680,["cube","float"]),fe(ie,35679,["3d","float"]),fe(ie,35682,["3d","depth"]),fe(ie,36289,["2d-array","float"]),fe(ie,36292,["2d-array","depth"]),fe(ie,36293,["cube","float"]),fe(ie,36298,["2d","sint"]),fe(ie,36299,["3d","sint"]),fe(ie,36300,["cube","sint"]),fe(ie,36303,["2d-array","uint"]),fe(ie,36306,["2d","uint"]),fe(ie,36307,["3d","uint"]),fe(ie,36308,["cube","uint"]),fe(ie,36311,["2d-array","uint"]),ie);function dg(e){var t=pg[e];if(!t)throw new Error("sampler");var r=tg(t,2),n=r[0],i=r[1];return{viewDimension:n,sampleType:i}}function hg(e){if(e[e.length-1]!=="]")return{name:e,length:1,isArray:!1};var t=/([^[]*)(\[[0-9]+\])?/,r=t.exec(e);if(!r||r.length<2)throw new Error("Failed to parse GLSL uniform name ".concat(e));return{name:r[1],length:r[2]?1:0,isArray:Boolean(r[2])}}function Jf(e,t,r,n){var i=e,o=n;o===!0&&(o=1),o===!1&&(o=0);var a=typeof o=="number"?[o]:o;switch(r){case 35678:case 35680:case 35679:case 35682:case 36289:case 36292:case 36293:case 36298:case 36299:case 36300:case 36303:case 36306:case 36307:case 36308:case 36311:if(typeof n!="number")throw new Error("samplers must be set to integers");return e.uniform1i(t,n);case 5126:return e.uniform1fv(t,a);case 35664:return e.uniform2fv(t,a);case 35665:return e.uniform3fv(t,a);case 35666:return e.uniform4fv(t,a);case 5124:return e.uniform1iv(t,a);case 35667:return e.uniform2iv(t,a);case 35668:return e.uniform3iv(t,a);case 35669:return e.uniform4iv(t,a);case 35670:return e.uniform1iv(t,a);case 35671:return e.uniform2iv(t,a);case 35672:return e.uniform3iv(t,a);case 35673:return e.uniform4iv(t,a);case 5125:return i.uniform1uiv(t,a,1);case 36294:return i.uniform2uiv(t,a,2);case 36295:return i.uniform3uiv(t,a,3);case 36296:return i.uniform4uiv(t,a,4);case 35674:return e.uniformMatrix2fv(t,!1,a);case 35675:return e.uniformMatrix3fv(t,!1,a);case 35676:return e.uniformMatrix4fv(t,!1,a);case 35685:return i.uniformMatrix2x3fv(t,!1,a);case 35686:return i.uniformMatrix2x4fv(t,!1,a);case 35687:return i.uniformMatrix3x2fv(t,!1,a);case 35688:return i.uniformMatrix3x4fv(t,!1,a);case 35689:return i.uniformMatrix4x2fv(t,!1,a);case 35690:return i.uniformMatrix4x3fv(t,!1,a)}throw new Error("Illegal uniform")}function ec(e){switch(e){case"point-list":return 0;case"line-list":return 1;case"line-strip":return 3;case"line-loop-webgl":return 2;case"triangle-list":return 4;case"triangle-strip":return 5;case"triangle-fan-webgl":return 6;default:throw new Error(e)}}function tc(e){switch(e){case"point-list":return 0;case"line-list":return 1;case"line-strip":return 1;case"line-loop-webgl":return 1;case"triangle-list":return 4;case"triangle-strip":return 4;case"triangle-fan-webgl":return 4;default:throw new Error(e)}}function Tt(e){return Tt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Tt(e)}function rc(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=uc(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
43
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,u;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,u=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw u}}}}function nc(e,t){return bg(e)||yg(e,t)||uc(e,t)||mg()}function mg(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
44
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function uc(e,t){if(e){if(typeof e=="string")return oc(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return oc(e,t)}}function oc(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function yg(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function bg(e){if(Array.isArray(e))return e}function ic(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,vg(n.key),n)}}function gg(e,t,r){return t&&ic(e.prototype,t),r&&ic(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function vg(e){var t=wg(e,"string");return Tt(t)==="symbol"?t:String(t)}function wg(e,t){if(Tt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Tt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function _g(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Og(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Qo(e,t)}function Qo(e,t){return Qo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Qo(e,t)}function Sg(e){var t=Eg();return function(){var n=An(e),i;if(t){var o=An(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Pg(this,i)}}function Pg(e,t){if(t&&(Tt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return xg(e)}function xg(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Eg(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function An(e){return An=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},An(e)}var ac=4,Ln=function(e){Og(r,e);var t=Sg(r);function r(i,o){var a;_g(this,r),a=t.call(this,i,o),a.device=void 0,a.handle=void 0,a.vs=void 0,a.fs=void 0,a.introspectedLayout=void 0,a.uniforms={},a.bindings={},a.varyings=null,a._uniformCount=0,a._uniformSetters={},a.device=i,a.handle=a.props.handle||a.device.gl.createProgram(),a.device.setSpectorMetadata(a.handle,{id:a.props.id}),a.vs=o.vs,a.fs=o.fs;var u=o.varyings,c=o.bufferMode,p=c===void 0?35981:c;if(u&&u.length>0){var b;a.device.assertWebGL2(),a.varyings=u,(b=a.device.gl2)===null||b===void 0||b.transformFeedbackVaryings(a.handle,u,p)}return a._compileAndLink(),a.introspectedLayout=Tn(a.device.gl,a.handle),a.shaderLayout=to(a.introspectedLayout,o.shaderLayout),a}var n=r.prototype;return n.destroy=function(){this.handle&&(this.device.gl.deleteProgram(this.handle),this.destroyed=!0)},n.setBindings=function(o){for(var a=this,u=function(){var v=nc(p[c],2),O=v[0],w=v[1],P=a.shaderLayout.bindings.find(function(x){return x.name===O})||a.shaderLayout.bindings.find(function(x){return x.name==="".concat(O,"Uniforms")});if(!P){var A=a.shaderLayout.bindings.map(function(x){return'"'.concat(x.name,'"')}).join(", ");return B.warn('Unknown binding "'.concat(O,'" in render pipeline "').concat(a.id,'", expected one of ').concat(A))(),"continue"}switch(w||B.warn('Unsetting binding "'.concat(O,'" in render pipeline "').concat(a.id,'"'))(),P.type){case"uniform":if(!(w instanceof pe)&&!(w.buffer instanceof pe))throw new Error("buffer value");break;case"texture":if(!(w instanceof se||w instanceof Te))throw new Error("texture value");break;case"sampler":B.warn("Ignoring sampler ".concat(O))();break;default:throw new Error(P.type)}a.bindings[O]=w},c=0,p=Object.entries(o);c<p.length;c++)var b=u()},n.setUniforms=function(o){var a=uo(o),u=a.bindings;Object.keys(u).forEach(function(c){B.warn('Unsupported value "'.concat(JSON.stringify(u[c]),'" used in setUniforms() for key ').concat(c,". Use setBindings() instead?"))()}),Object.assign(this.uniforms,o)},n.draw=function(o){var a,u=this,c=o.renderPass,p=o.vertexArray,b=o.vertexCount,g=o.instanceCount,v=o.firstVertex,O=v===void 0?0:v,w=o.transformFeedback,P=ec(this.props.topology),A=Boolean(p.indexBuffer),x=(a=p.indexBuffer)===null||a===void 0?void 0:a.glIndexType,T=Number(g)>0;if(!this._areTexturesRenderable()||b===0)return!1;this.device.gl.useProgram(this.handle),p.bindBeforeRender(c),w&&w.begin(this.props.topology),this._applyBindings(),this._applyUniforms();var R=c;return Mu(this.device,this.props.parameters,R.glParameters,function(){if(A&&T){var j;(j=u.device.gl2)===null||j===void 0||j.drawElementsInstanced(P,b||0,x,O,g||0)}else if(A)u.device.gl.drawElements(P,b||0,x,O);else if(T){var k;(k=u.device.gl2)===null||k===void 0||k.drawArraysInstanced(P,O,b||0,g||0)}else u.device.gl.drawArrays(P,O,b||0);w&&w.end()}),p.unbindAfterRender(c),!0},n._compileAndLink=function(){var o=this.device.gl;o.attachShader(this.handle,this.vs.handle),o.attachShader(this.handle,this.fs.handle),B.time(ac,"linkProgram for ".concat(this.id))(),o.linkProgram(this.handle),B.timeEnd(ac,"linkProgram for ".concat(this.id))(),!o.debug&&B.level;var a=o.getProgramParameter(this.handle,35714);if(!a)throw new Error("Error linking: ".concat(o.getProgramInfoLog(this.handle)));o.validateProgram(this.handle);var u=o.getProgramParameter(this.handle,35715);if(!u)throw new Error("Error validating: ".concat(o.getProgramInfoLog(this.handle)))},n._areTexturesRenderable=function(){for(var o=!0,a=0,u=Object.entries(this.bindings);a<u.length;a++){var c=nc(u[a],2),p=c[1];p instanceof se&&(p.update(),o=o&&p.loaded)}return o},n._applyBindings=function(){this.device.gl.useProgram(this.handle);var o=this.device.gl2;if(!o)throw new Error("bindings");var a=0,u=0,c=rc(this.shaderLayout.bindings),p;try{for(c.s();!(p=c.n()).done;){var b=p.value,g=this.bindings[b.name]||this.bindings[b.name.replace(/Uniforms$/,"")];if(!g)throw new Error("No value for binding ".concat(b.name," in ").concat(this.id));switch(b.type){case"uniform":var v=b.name,O=o.getUniformBlockIndex(this.handle,v);if(O===4294967295)throw new Error("Invalid uniform block name ".concat(v));o.uniformBlockBinding(this.handle,u,O),g instanceof pe?o.bindBufferBase(35345,u,g.handle):o.bindBufferRange(35345,u,g.buffer.handle,g.offset||0,g.size||g.buffer.byteLength-g.offset),u+=1;break;case"texture":if(!(g instanceof se||g instanceof Te))throw new Error("texture");var w=void 0;if(g instanceof se)w=g;else if(g instanceof Te&&g.colorAttachments[0]instanceof se)B.warn("Passing framebuffer in texture binding may be deprecated. Use fbo.colorAttachments[0] instead")(),w=g.colorAttachments[0];else throw new Error("No texture");o.activeTexture(33984+a),o.bindTexture(w.target,w.handle),a+=1;break;case"sampler":break;case"storage":case"read-only-storage":throw new Error("binding type '".concat(b.type,"' not supported in WebGL"))}}}catch(P){c.e(P)}finally{c.f()}},n._applyUniforms=function(){var o=rc(this.shaderLayout.uniforms||[]),a;try{for(o.s();!(a=o.n()).done;){var u,c=a.value,p=c.name,b=c.location,g=c.type,v=c.textureUnit,O=(u=this.uniforms[p])!==null&&u!==void 0?u:v;O!==void 0&&Jf(this.device.gl,b,g,O)}}catch(w){o.e(w)}finally{o.f()}},gg(r)}(Cr);function At(e){return At=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},At(e)}function Tg(e,t){return jg(e)||Lg(e,t)||sc(e,t)||Ag()}function Ag(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
45
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Lg(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function jg(e){if(Array.isArray(e))return e}function Rg(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=sc(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
46
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,u;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,u=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw u}}}}function sc(e,t){if(e){if(typeof e=="string")return fc(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return fc(e,t)}}function fc(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function cc(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Bg(n.key),n)}}function Gg(e,t,r){return t&&cc(e.prototype,t),r&&cc(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Bg(e){var t=Ig(e,"string");return At(t)==="symbol"?t:String(t)}function Ig(e,t){if(At(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(At(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Fg(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Dg(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Zo(e,t)}function Zo(e,t){return Zo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Zo(e,t)}function Cg(e){var t=Ng();return function(){var n=jn(e),i;if(t){var o=jn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Wg(this,i)}}function Wg(e,t){if(t&&(At(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Mg(e)}function Mg(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ng(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function jn(e){return jn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},jn(e)}var lc=function(e){Dg(r,e);var t=Cg(r);function r(i){var o;return Fg(this,r),o=t.call(this,i,{}),o.device=void 0,o.commands=[],o.device=i,o}var n=r.prototype;return n.submitCommands=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.commands,a=Rg(o),u;try{for(a.s();!(u=a.n()).done;){var c=u.value;switch(c.name){case"copy-buffer-to-buffer":kg(this.device,c.options);break;case"copy-buffer-to-texture":Vg(this.device,c.options);break;case"copy-texture-to-buffer":Ug(this.device,c.options);break;case"copy-texture-to-texture":zg(this.device,c.options);break}}}catch(p){a.e(p)}finally{a.f()}},Gg(r)}(Ur);function kg(e,t){var r=t.source,n=t.destination,i=e.assertWebGL2();if(i){var o,a;i.bindBuffer(36662,r.handle),i.bindBuffer(36663,n.handle),i.copyBufferSubData(36662,36663,(o=t.sourceOffset)!==null&&o!==void 0?o:0,(a=t.destinationOffset)!==null&&a!==void 0?a:0,t.size),i.bindBuffer(36662,null),i.bindBuffer(36663,null)}else throw new Error("copyBufferToBuffer not implemented in WebGL1")}function Vg(e,t){throw new Error("Not implemented")}function Ug(e,t){var r=t.source,n=t.mipLevel,i=n===void 0?0:n,o=t.aspect,a=o===void 0?"all":o,u=t.width,c=u===void 0?t.source.width:u,p=t.height,b=p===void 0?t.source.height:p,g=t.depthOrArrayLayers,v=g===void 0?0:g,O=t.origin,w=O===void 0?[0,0]:O,P=t.destination,A=t.byteOffset,x=A===void 0?0:A,T=t.bytesPerRow,R=t.rowsPerImage;if(a!=="all")throw new Error("not supported");if(i!==0||v!==0||T||R)throw new Error("not implemented");var j=e.assertWebGL2(),k=pc(r),F=k.framebuffer,X=k.destroyFramebuffer;try{var N=P,V=c||F.width,W=b||F.height,H=mt(F.texture.format,!0),l=H.dataFormat,f=H.type;j.bindBuffer(35051,N.handle),j.bindFramebuffer(36160,F.handle),j.readPixels(w[0],w[1],V,W,l,f,x)}finally{j.bindBuffer(35051,null),j.bindFramebuffer(36160,null),X&&F.destroy()}}function zg(e,t){var r=t.source,n=t.origin,i=n===void 0?[0,0]:n,o=t.destination,a=t.width,u=a===void 0?t.destination.width:a,c=t.height,p=c===void 0?t.destination.width:c,b=0,g=6408,v=pc(r),O=v.framebuffer,w=v.destroyFramebuffer,P=Tg(i,2),A=P[0],x=P[1],T=!1;e.gl.bindFramebuffer(36160,O.handle);var R=null,j;if(o instanceof se)R=o,u=Number.isFinite(u)?u:R.width,p=Number.isFinite(p)?p:R.height,R.bind(0),j=R.destination;else throw new Error("whoops");return T||e.gl.copyTexImage2D(j,b,g,A,x,u,p,0),R&&R.unbind(),w&&O.destroy(),R}function pc(e){if(e instanceof ae){var t=e.width,r=e.height,n=e.id,i=e.device.createFramebuffer({id:"framebuffer-for-".concat(n),width:t,height:r,colorAttachments:[e]});return{framebuffer:i,destroyFramebuffer:!0}}return{framebuffer:e,destroyFramebuffer:!1}}function Lt(e){return Lt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Lt(e)}function dc(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,$g(n.key),n)}}function Hg(e,t,r){return t&&dc(e.prototype,t),r&&dc(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function $g(e){var t=Xg(e,"string");return Lt(t)==="symbol"?t:String(t)}function Xg(e,t){if(Lt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Lt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Kg(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Yg(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Jo(e,t)}function Jo(e,t){return Jo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Jo(e,t)}function qg(e){var t=Jg();return function(){var n=Rn(e),i;if(t){var o=Rn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Qg(this,i)}}function Qg(e,t){if(t&&(Lt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Zg(e)}function Zg(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Jg(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Rn(e){return Rn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Rn(e)}var Gn=function(e){Yg(r,e);var t=qg(r);function r(i,o){var a;return Kg(this,r),a=t.call(this,i,o),a.device=void 0,a.commandBuffer=void 0,a.device=i,a.commandBuffer=new lc(i),a}var n=r.prototype;return n.destroy=function(){},n.finish=function(){this.commandBuffer.submitCommands()},n.copyBufferToBuffer=function(o){this.commandBuffer.commands.push({name:"copy-buffer-to-buffer",options:o})},n.copyBufferToTexture=function(o){this.commandBuffer.commands.push({name:"copy-buffer-to-texture",options:o})},n.copyTextureToBuffer=function(o){this.commandBuffer.commands.push({name:"copy-texture-to-buffer",options:o})},n.copyTextureToTexture=function(o){this.commandBuffer.commands.push({name:"copy-texture-to-texture",options:o})},n.pushDebugGroup=function(o){},n.popDebugGroup=function(){},n.insertDebugMarker=function(o){},Hg(r)}(kr);function jt(e){return jt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},jt(e)}var mc;function ev(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function hc(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,rv(n.key),n)}}function tv(e,t,r){return t&&hc(e.prototype,t),r&&hc(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function rv(e){var t=nv(e,"string");return jt(t)==="symbol"?t:String(t)}function nv(e,t){if(jt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(jt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Bn(){return typeof Reflect<"u"&&Reflect.get?Bn=Reflect.get.bind():Bn=function(t,r,n){var i=ov(t,r);if(i){var o=Object.getOwnPropertyDescriptor(i,r);return o.get?o.get.call(arguments.length<3?t:n):o.value}},Bn.apply(this,arguments)}function ov(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&(e=Rt(e),e!==null););return e}function iv(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ei(e,t)}function ei(e,t){return ei=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},ei(e,t)}function av(e){var t=cv();return function(){var n=Rt(e),i;if(t){var o=Rt(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return uv(this,i)}}function uv(e,t){if(t&&(jt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return fv(e)}function fv(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function cv(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Rt(e){return Rt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Rt(e)}mc=Symbol.toStringTag;var In=function(e){iv(r,e);var t=av(r);r.isConstantAttributeZeroSupported=function(o){return o.info.type==="webgl2"||_r()==="Chrome"};function r(i,o){var a;return ev(this,r),a=t.call(this,i,o),a.device=void 0,a.handle=void 0,a.buffer=null,a.bufferValue=null,a.init=!1,a.device=i,a.handle=a.device.gl2.createVertexArray(),a}var n=r.prototype;return n.destroy=function(){if(Bn(Rt(r.prototype),"destroy",this).call(this),this.buffer){var o;(o=this.buffer)===null||o===void 0||o.destroy()}this.handle&&(this.device.gl2.deleteVertexArray(this.handle),this.handle=void 0)},n.setIndexBuffer=function(o){var a=o;if(a&&a.glTarget!==34963)throw new Error("Use .setBuffer()");this.device.gl2.bindVertexArray(this.handle),this.device.gl2.bindBuffer(34963,a?a.handle:null),this.indexBuffer=a},n.setBuffer=function(o,a){var u=a;if(u.glTarget===34963)throw new Error("Use .setIndexBuffer()");var c=this._getAccessor(o),p=c.size,b=c.type,g=c.stride,v=c.offset,O=c.normalized,w=c.integer,P=c.divisor;this.device.gl2.bindVertexArray(this.handle),this.device.gl.bindBuffer(34962,u.handle),w?(this.device.assertWebGL2(),this.device.gl2.vertexAttribIPointer(o,p,b,g,v)):this.device.gl.vertexAttribPointer(o,p,b,O,g,v),this.device.gl.enableVertexAttribArray(o),this.device.gl2.vertexAttribDivisor(o,P||0),this.attributes[o]=u},n.setConstant=function(o,a){this._enable(o,!1),this.attributes[o]=a},n.bindBeforeRender=function(){if(this.device.gl2.bindVertexArray(this.handle),!this.init){var o=this.indexBuffer;this.device.gl2.bindBuffer(34963,o?.handle||null),this.init=!0}this._applyConstantAttributes()},n.unbindAfterRender=function(){this.device.gl2.bindVertexArray(null)},n._applyConstantAttributes=function(){for(var o=0;o<this.maxVertexAttributes;++o){var a=this.attributes[o];ArrayBuffer.isView(a)&&this.device.setConstantAttribute(o,a)}},n._getAccessor=function(o){var a=this.attributeInfos[o];if(!a)throw new Error("Unknown attribute location ".concat(o));var u=rn(a.bufferDataType);return{size:a.bufferComponents,type:u,stride:a.byteStride,offset:a.byteOffset,normalized:a.normalized,integer:a.integer,divisor:a.stepMode==="instance"?1:0}},n._enable=function(o){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,u=r.isConstantAttributeZeroSupported(this.device),c=u||o!==0;(a||c)&&(o=Number(o),this.device.gl2.bindVertexArray(this.handle),a?this.device.gl.enableVertexAttribArray(o):this.device.gl.disableVertexAttribArray(o),this.device.gl2.bindVertexArray(null))},n.getConstantBuffer=function(o,a){var u=sv(a),c=u.byteLength*o,p=u.length*o;if(this.buffer&&c!==this.buffer.byteLength)throw new Error("Buffer size is immutable, byte length ".concat(c," !== ").concat(this.buffer.byteLength,"."));var b=!this.buffer;if(this.buffer=this.buffer||this.device.createBuffer({byteLength:c}),b=b||!lv(u,this.bufferValue),b){var g=oo(a.constructor,p);io({target:g,source:u,start:0,count:p}),this.buffer.write(g),this.bufferValue=a}return this.buffer},tv(r,[{key:mc,get:function(){return"VertexArray"}}]),r}($r);function sv(e){return Array.isArray(e)?new Float32Array(e):e}function lv(e,t){if(!e||!t||e.length!==t.length||e.constructor!==t.constructor)return!1;for(var r=0;r<e.length;++r)if(e[r]!==t[r])return!1;return!0}function Gt(e){return Gt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Gt(e)}function pv(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=dv(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
47
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,u;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,u=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw u}}}}function dv(e,t){if(e){if(typeof e=="string")return yc(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return yc(e,t)}}function yc(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function bc(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,mv(n.key),n)}}function hv(e,t,r){return t&&bc(e.prototype,t),r&&bc(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function mv(e){var t=yv(e,"string");return Gt(t)==="symbol"?t:String(t)}function yv(e,t){if(Gt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Gt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function bv(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Fn(){return typeof Reflect<"u"&&Reflect.get?Fn=Reflect.get.bind():Fn=function(t,r,n){var i=gv(t,r);if(i){var o=Object.getOwnPropertyDescriptor(i,r);return o.get?o.get.call(arguments.length<3?t:n):o.value}},Fn.apply(this,arguments)}function gv(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&(e=Bt(e),e!==null););return e}function vv(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ti(e,t)}function ti(e,t){return ti=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},ti(e,t)}function wv(e){var t=Ov();return function(){var n=Bt(e),i;if(t){var o=Bt(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return _v(this,i)}}function _v(e,t){if(t&&(Gt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return vc(e)}function vc(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ov(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Bt(e){return Bt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Bt(e)}var Dn=function(e){vv(r,e);var t=wv(r);function r(i,o){var a;return bv(this,r),a=t.call(this,i,o),a.device=void 0,a.gl2=void 0,a.handle=void 0,a.layout=void 0,a.buffers={},a.unusedBuffers={},a.bindOnUse=!0,a._bound=!1,i.assertWebGL2(),a.device=i,a.gl2=i.gl2,a.handle=a.props.handle||a.gl2.createTransformFeedback(),a.layout=a.props.layout,o.buffers&&a.setBuffers(o.buffers),Object.seal(vc(a)),a}var n=r.prototype;return n.destroy=function(){this.gl2.deleteTransformFeedback(this.handle),Fn(Bt(r.prototype),"destroy",this).call(this)},n.begin=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"point-list";this.gl2.bindTransformFeedback(36386,this.handle),this.bindOnUse&&this._bindBuffers(),this.gl2.beginTransformFeedback(tc(o))},n.end=function(){this.gl2.endTransformFeedback(),this.bindOnUse||this._unbindBuffers(),this.gl2.bindTransformFeedback(36386,null)},n.setBuffers=function(o){var a=this;this.buffers={},this.unusedBuffers={},this.bind(function(){for(var u in o)a.setBuffer(u,o[u])})},n.setBuffer=function(o,a){var u=this._getVaryingIndex(o),c=this._getBufferRange(a),p=c.buffer,b=c.byteLength,g=c.byteOffset;if(u<0){this.unusedBuffers[o]=p,B.warn("".concat(this.id," unusedBuffers varying buffer ").concat(o))();return}this.buffers[u]={buffer:p,byteLength:b,byteOffset:g},this.bindOnUse||this._bindBuffer(u,p,g,b)},n.getBuffer=function(o){if(gc(o))return this.buffers[o]||null;var a=this._getVaryingIndex(o);return a>=0?this.buffers[a]:null},n.bind=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.handle;if(typeof o!="function")return this.gl2.bindTransformFeedback(36386,o),this;var a;return this._bound?a=o():(this.gl2.bindTransformFeedback(36386,this.handle),this._bound=!0,a=o(),this._bound=!1,this.gl2.bindTransformFeedback(36386,null)),a},n.unbind=function(){this.bind(null)},n._getBufferRange=function(o){if(o instanceof pe)return{buffer:o,byteOffset:0,byteLength:o.byteLength};var a=o.buffer,u=o.byteOffset,c=u===void 0?0:u,p=o.byteLength,b=p===void 0?o.buffer.byteLength:p;return{buffer:a,byteOffset:c,byteLength:b}},n._getVaryingIndex=function(o){if(gc(o))return Number(o);var a=pv(this.layout.varyings),u;try{for(a.s();!(u=a.n()).done;){var c=u.value;if(o===c.name)return c.location}}catch(p){a.e(p)}finally{a.f()}return-1},n._bindBuffers=function(){for(var o in this.buffers){var a=this._getBufferRange(this.buffers[o]),u=a.buffer,c=a.byteLength,p=a.byteOffset;this._bindBuffer(Number(o),u,p,c)}},n._unbindBuffers=function(){for(var o in this.buffers)this.gl2.bindBufferBase(35982,Number(o),null)},n._bindBuffer=function(o,a){var u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,c=arguments.length>3?arguments[3]:void 0,p=a&&a.handle;!p||c===void 0?this.gl2.bindBufferBase(35982,o,p):this.gl2.bindBufferRange(35982,o,p,u,c)},hv(r)}(Kr);function gc(e){return typeof e=="number"?Number.isInteger(e):/^\d+$/.test(e)}function Ue(e){return Ue=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ue(e)}function wc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ae(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?wc(Object(r),!0).forEach(function(n){Sv(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):wc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Sv(e,t,r){return t=Sc(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ri(){"use strict";ri=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(l,f,s){l[f]=s.value},i=typeof Symbol=="function"?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function c(l,f,s){return Object.defineProperty(l,f,{value:s,enumerable:!0,configurable:!0,writable:!0}),l[f]}try{c({},"")}catch{c=function(s,d,m){return s[d]=m}}function p(l,f,s,d){var m=f&&f.prototype instanceof v?f:v,h=Object.create(m.prototype),_=new V(d||[]);return n(h,"_invoke",{value:k(l,s,_)}),h}function b(l,f,s){try{return{type:"normal",arg:l.call(f,s)}}catch(d){return{type:"throw",arg:d}}}e.wrap=p;var g={};function v(){}function O(){}function w(){}var P={};c(P,o,function(){return this});var A=Object.getPrototypeOf,x=A&&A(A(W([])));x&&x!==t&&r.call(x,o)&&(P=x);var T=w.prototype=v.prototype=Object.create(P);function R(l){["next","throw","return"].forEach(function(f){c(l,f,function(s){return this._invoke(f,s)})})}function j(l,f){function s(m,h,_,S){var E=b(l[m],l,h);if(E.type!=="throw"){var D=E.arg,I=D.value;return I&&Ue(I)=="object"&&r.call(I,"__await")?f.resolve(I.__await).then(function(C){s("next",C,_,S)},function(C){s("throw",C,_,S)}):f.resolve(I).then(function(C){D.value=C,_(D)},function(C){return s("throw",C,_,S)})}S(E.arg)}var d;n(this,"_invoke",{value:function(h,_){function S(){return new f(function(E,D){s(h,_,E,D)})}return d=d?d.then(S,S):S()}})}function k(l,f,s){var d="suspendedStart";return function(m,h){if(d==="executing")throw new Error("Generator is already running");if(d==="completed"){if(m==="throw")throw h;return H()}for(s.method=m,s.arg=h;;){var _=s.delegate;if(_){var S=F(_,s);if(S){if(S===g)continue;return S}}if(s.method==="next")s.sent=s._sent=s.arg;else if(s.method==="throw"){if(d==="suspendedStart")throw d="completed",s.arg;s.dispatchException(s.arg)}else s.method==="return"&&s.abrupt("return",s.arg);d="executing";var E=b(l,f,s);if(E.type==="normal"){if(d=s.done?"completed":"suspendedYield",E.arg===g)continue;return{value:E.arg,done:s.done}}E.type==="throw"&&(d="completed",s.method="throw",s.arg=E.arg)}}}function F(l,f){var s=f.method,d=l.iterator[s];if(d===void 0)return f.delegate=null,s==="throw"&&l.iterator.return&&(f.method="return",f.arg=void 0,F(l,f),f.method==="throw")||s!=="return"&&(f.method="throw",f.arg=new TypeError("The iterator does not provide a '"+s+"' method")),g;var m=b(d,l.iterator,f.arg);if(m.type==="throw")return f.method="throw",f.arg=m.arg,f.delegate=null,g;var h=m.arg;return h?h.done?(f[l.resultName]=h.value,f.next=l.nextLoc,f.method!=="return"&&(f.method="next",f.arg=void 0),f.delegate=null,g):h:(f.method="throw",f.arg=new TypeError("iterator result is not an object"),f.delegate=null,g)}function X(l){var f={tryLoc:l[0]};1 in l&&(f.catchLoc=l[1]),2 in l&&(f.finallyLoc=l[2],f.afterLoc=l[3]),this.tryEntries.push(f)}function N(l){var f=l.completion||{};f.type="normal",delete f.arg,l.completion=f}function V(l){this.tryEntries=[{tryLoc:"root"}],l.forEach(X,this),this.reset(!0)}function W(l){if(l){var f=l[o];if(f)return f.call(l);if(typeof l.next=="function")return l;if(!isNaN(l.length)){var s=-1,d=function m(){for(;++s<l.length;)if(r.call(l,s))return m.value=l[s],m.done=!1,m;return m.value=void 0,m.done=!0,m};return d.next=d}}return{next:H}}function H(){return{value:void 0,done:!0}}return O.prototype=w,n(T,"constructor",{value:w,configurable:!0}),n(w,"constructor",{value:O,configurable:!0}),O.displayName=c(w,u,"GeneratorFunction"),e.isGeneratorFunction=function(l){var f=typeof l=="function"&&l.constructor;return!!f&&(f===O||(f.displayName||f.name)==="GeneratorFunction")},e.mark=function(l){return Object.setPrototypeOf?Object.setPrototypeOf(l,w):(l.__proto__=w,c(l,u,"GeneratorFunction")),l.prototype=Object.create(T),l},e.awrap=function(l){return{__await:l}},R(j.prototype),c(j.prototype,a,function(){return this}),e.AsyncIterator=j,e.async=function(l,f,s,d,m){m===void 0&&(m=Promise);var h=new j(p(l,f,s,d),m);return e.isGeneratorFunction(f)?h:h.next().then(function(_){return _.done?_.value:h.next()})},R(T),c(T,u,"Generator"),c(T,o,function(){return this}),c(T,"toString",function(){return"[object Generator]"}),e.keys=function(l){var f=Object(l),s=[];for(var d in f)s.push(d);return s.reverse(),function m(){for(;s.length;){var h=s.pop();if(h in f)return m.value=h,m.done=!1,m}return m.done=!0,m}},e.values=W,V.prototype={constructor:V,reset:function(f){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(N),!f)for(var s in this)s.charAt(0)==="t"&&r.call(this,s)&&!isNaN(+s.slice(1))&&(this[s]=void 0)},stop:function(){this.done=!0;var f=this.tryEntries[0].completion;if(f.type==="throw")throw f.arg;return this.rval},dispatchException:function(f){if(this.done)throw f;var s=this;function d(D,I){return _.type="throw",_.arg=f,s.next=D,I&&(s.method="next",s.arg=void 0),!!I}for(var m=this.tryEntries.length-1;m>=0;--m){var h=this.tryEntries[m],_=h.completion;if(h.tryLoc==="root")return d("end");if(h.tryLoc<=this.prev){var S=r.call(h,"catchLoc"),E=r.call(h,"finallyLoc");if(S&&E){if(this.prev<h.catchLoc)return d(h.catchLoc,!0);if(this.prev<h.finallyLoc)return d(h.finallyLoc)}else if(S){if(this.prev<h.catchLoc)return d(h.catchLoc,!0)}else{if(!E)throw new Error("try statement without catch or finally");if(this.prev<h.finallyLoc)return d(h.finallyLoc)}}}},abrupt:function(f,s){for(var d=this.tryEntries.length-1;d>=0;--d){var m=this.tryEntries[d];if(m.tryLoc<=this.prev&&r.call(m,"finallyLoc")&&this.prev<m.finallyLoc){var h=m;break}}h&&(f==="break"||f==="continue")&&h.tryLoc<=s&&s<=h.finallyLoc&&(h=null);var _=h?h.completion:{};return _.type=f,_.arg=s,h?(this.method="next",this.next=h.finallyLoc,g):this.complete(_)},complete:function(f,s){if(f.type==="throw")throw f.arg;return f.type==="break"||f.type==="continue"?this.next=f.arg:f.type==="return"?(this.rval=this.arg=f.arg,this.method="return",this.next="end"):f.type==="normal"&&s&&(this.next=s),g},finish:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.finallyLoc===f)return this.complete(d.completion,d.afterLoc),N(d),g}},catch:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.tryLoc===f){var m=d.completion;if(m.type==="throw"){var h=m.arg;N(d)}return h}}throw new Error("illegal catch attempt")},delegateYield:function(f,s,d){return this.delegate={iterator:W(f),resultName:s,nextLoc:d},this.method==="next"&&(this.arg=void 0),g}},e}function _c(e,t,r,n,i,o,a){try{var u=e[o](a),c=u.value}catch(p){r(p);return}u.done?t(c):Promise.resolve(c).then(n,i)}function Pv(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(c){_c(o,n,i,a,u,"next",c)}function u(c){_c(o,n,i,a,u,"throw",c)}a(void 0)})}}function xv(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Oc(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Sc(n.key),n)}}function Ev(e,t,r){return t&&Oc(e.prototype,t),r&&Oc(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Sc(e){var t=Tv(e,"string");return Ue(t)==="symbol"?t:String(t)}function Tv(e,t){if(Ue(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Ue(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Av(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ni(e,t)}function ni(e,t){return ni=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},ni(e,t)}function Lv(e){var t=Rv();return function(){var n=Wn(e),i;if(t){var o=Wn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return jv(this,i)}}function jv(e,t){if(t&&(Ue(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return oi(e)}function oi(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Rv(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Wn(e){return Wn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Wn(e)}var Cn=1,le=function(e){Av(r,e);var t=Lv(r);r.isSupported=function(){return typeof WebGLRenderingContext<"u"||si()},r.attach=function(o){if(o instanceof r)return o;if(o?.device instanceof qe)return o.device;if(!Gv(o))throw new Error("Invalid WebGLRenderingContext");return new r({gl:o})},r.create=function(){var i=Pv(ri().mark(function a(){var u,c,p=arguments;return ri().wrap(function(g){for(;;)switch(g.prev=g.next){case 0:if(u=p.length>0&&p[0]!==void 0?p[0]:{},B.groupCollapsed(Cn,"WebGLDevice created"),typeof u.canvas!="string"){g.next=5;break}return g.next=5,Qe.pageLoaded;case 5:if(!(B.get("debug")||u.debug)){g.next=8;break}return g.next=8,jf();case 8:if(c=u.spector,!(B.get("spector")||c)){g.next=12;break}return g.next=12,_f();case 12:if(B.probe(Cn+1,"DOM is loaded")(),!(u.gl&&u.gl.device)){g.next=15;break}return g.abrupt("return",r.attach(u.gl));case 15:return g.abrupt("return",new r(u));case 16:case"end":return g.stop()}},a)}));function o(){return i.apply(this,arguments)}return o}();function r(i){var o,a;xv(this,r),a=t.call(this,Ae(Ae({},i),{},{id:i.id||we("webgl-device")})),a.info=void 0,a.canvasContext=void 0,a.handle=void 0,a.lost=void 0,a._resolveContextLost=void 0,a._features=void 0,a._limits=void 0,a.renderPass=null,a.gl=void 0,a.gl2=null,a.debug=!1,a.isWebGL1=void 0,a.isWebGL2=void 0,a._canvasSizeInfo={clientWidth:0,clientHeight:0,devicePixelRatio:1},a._extensions={},a._polyfilled=!1,a.spector=void 0,a._webglLimits=void 0,a._constants=void 0;var u=(o=i.gl)===null||o===void 0?void 0:o.device;if(u)throw new Error("WebGL context already attached to device ".concat(u.id));a.canvasContext=new wn(oi(a),i),a.lost=new Promise(function(A){a._resolveContextLost=A});var c=function(x){var T,R;return(T=(R=a)._resolveContextLost)===null||T===void 0?void 0:T.call(R,{reason:"destroyed",message:"Computer entered sleep mode, or too many apps or browser tabs are using the GPU."})},p=i.gl||null;if(p=p||(J()?Ou(a.canvasContext.canvas,Ae(Ae({},i),{},{onContextLost:c})):null),p=p||(J()?null:li(Ae(Ae({},i),{},{onContextLost:c}))),!p)throw new Error("WebGL context creation failed");a.handle=p,a.gl=a.handle,a.gl2=a.gl,a.isWebGL2=Bv(a.gl),a.isWebGL1=!a.isWebGL2,a.info=Su(a.gl),a.gl.device=oi(a),a.gl._version=a.isWebGL2?2:1,en(a.gl);var b=i.enable,g=b===void 0?!0:b,v=i.copyState,O=v===void 0?!1:v;if(er(a.gl,{enable:g,copyState:O,log:function(){for(var x=arguments.length,T=new Array(x),R=0;R<x;R++)T[R]=arguments[R];return B.log.apply(B,[1].concat(T))()}}),J()&&i.debug&&(a.gl=Rf(a.gl,Ae(Ae({},i),{},{webgl2:a.isWebGL2,throwOnError:!0})),a.gl2=a.gl,a.debug=!0,B.level=Math.max(B.level,1),B.warn("WebGL debug mode activated. Performance reduced.")()),J()&&i.spector){var w=a.handle.canvas||i.canvas;a.spector=Of(Ae(Ae({},a.props),{},{canvas:w}))}var P="Created ".concat(a.info.type).concat(a.debug?" debug":""," context: ").concat(a.info.vendor,", ").concat(a.info.renderer," for canvas: ").concat(a.canvasContext.id);return B.probe(Cn,P)(),B.groupEnd(Cn)(),a}var n=r.prototype;return n.destroy=function(){var o=this.gl.getExtension("STACKGL_destroy_context");o&&o.destroy()},n.getSize=function(){return[this.gl.drawingBufferWidth,this.gl.drawingBufferHeight]},n.isTextureFormatSupported=function(o){return ar(this.gl,o)},n.isTextureFormatFilterable=function(o){return Lu(this.gl,o)},n.isTextureFormatRenderable=function(o){return ju(this.gl,o)},n.assertWebGL2=function(){if(!this.gl2)throw new Error("Requires WebGL2");return this.gl2},n.createCanvasContext=function(o){throw new Error("WebGL only supports a single canvas")},n.createBuffer=function(o){var a=this._getBufferProps(o);return new pe(this,a)},n._createTexture=function(o){return new se(this,o)},n.createExternalTexture=function(o){throw new Error("createExternalTexture() not implemented")},n.createSampler=function(o){return new ke(this,o)},n.createShader=function(o){return new On(this,o)},n.createFramebuffer=function(o){return new Te(this,o)},n.createRenderPipeline=function(o){return new Ln(this,o)},n.createVertexArray=function(o){return new In(this,o)},n.beginRenderPass=function(o){return new Pn(this,o)},n.createComputePipeline=function(o){throw new Error("ComputePipeline not supported in WebGL")},n.beginComputePass=function(o){throw new Error("ComputePass not supported in WebGL")},n.createTransformFeedback=function(o){return new Dn(this,o)},n.getDefaultRenderPass=function(){return this.renderPass=this.renderPass||this.beginRenderPass({framebuffer:this.canvasContext.getCurrentFramebuffer()}),this.renderPass},n.createCommandEncoder=function(o){return new Gn(this,o)},n.submit=function(){var o;(o=this.renderPass)===null||o===void 0||o.end(),this.renderPass=null},n.loseDevice=function(){var o,a=!1,u=this.gl.getExtension("WEBGL_lose_context");return u&&(a=!0,u.loseContext()),(o=this._resolveContextLost)===null||o===void 0||o.call(this,{reason:"destroyed",message:"Application triggered context loss"}),a},n.pushState=function(){_e(this.gl)},n.popState=function(){ge(this.gl)},n.setSpectorMetadata=function(o,a){o.__SPECTOR_Metadata=a},n.getGLKey=function(o,a){a=a||this.gl2||this.gl;var u=Number(o);for(var c in a)if(a[c]===u)return"GL.".concat(c);return String(o)},n.setConstantAttribute=function(o,a){this._constants=this._constants||new Array(this.limits.maxVertexAttributes).fill(null);var u=this._constants[o];switch(u&&Cv(u,a)&&B.info(1,"setConstantAttribute(".concat(o,") could have been skipped, value unchanged"))(),this._constants[o]=a,a.constructor){case Float32Array:Iv(this,o,a);break;case Int32Array:Fv(this,o,a);break;case Uint32Array:Dv(this,o,a);break;default:M(!1)}},Ev(r,[{key:"features",get:function(){return this._features=this._features||Iu(this.gl),this._features}},{key:"limits",get:function(){return this._limits=this._limits||Du(this.gl),this._limits}},{key:"isLost",get:function(){return this.gl.isContextLost()}},{key:"webglLimits",get:function(){return this._webglLimits=this._webglLimits||Cu(this.gl),this._webglLimits}}]),r}(qe);le.type="webgl";function Gv(e){return typeof WebGLRenderingContext<"u"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&Number.isFinite(e._version))}function Bv(e){return typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&e._version===2)}function Iv(e,t,r){switch(r.length){case 1:e.gl.vertexAttrib1fv(t,r);break;case 2:e.gl.vertexAttrib2fv(t,r);break;case 3:e.gl.vertexAttrib3fv(t,r);break;case 4:e.gl.vertexAttrib4fv(t,r);break;default:M(!1)}}function Fv(e,t,r){var n;e.assertWebGL2(),(n=e.gl2)===null||n===void 0||n.vertexAttribI4iv(t,r)}function Dv(e,t,r){var n;e.assertWebGL2(),(n=e.gl2)===null||n===void 0||n.vertexAttribI4uiv(t,r)}function Cv(e,t){if(!e||!t||e.length!==t.length||e.constructor!==t.constructor)return!1;for(var r=0;r<e.length;++r)if(e[r]!==t[r])return!1;return!0}var Wv=256,Mv=1024,Nv=16384;var kv="clear: bad arguments";function Pc(e,t){var r=le.attach(e),n=t||{},i=n.framebuffer,o=i===void 0?null:i,a=n.color,u=a===void 0?null:a,c=n.depth,p=c===void 0?null:c,b=n.stencil,g=b===void 0?null:b,v={};o&&(v.framebuffer=o);var O=0;u&&(O|=Nv,u!==!0&&(v.clearColor=u)),p&&(O|=Wv,p!==!0&&(v.clearDepth=p)),g&&(O|=Mv,p!==!0&&(v.clearStencil=p)),M(O!==0,kv),ve(r.gl,v,function(){r.gl.clear(O)})}function ii(e){switch(e){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return M(!1),0}}function xc(e){switch(e){case 5121:return 1;case 33635:case 32819:case 32820:return 2;case 5126:return 4;default:return M(!1),0}}function br(e){return br=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},br(e)}function Ec(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Tc(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ec(Object(r),!0).forEach(function(n){Vv(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ec(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Vv(e,t,r){return t=Uv(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Uv(e){var t=zv(e,"string");return br(t)==="symbol"?t:String(t)}function zv(e,t){if(br(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(br(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ac(e,t){var r,n=t||{},i=n.sourceX,o=i===void 0?0:i,a=n.sourceY,u=a===void 0?0:a,c=n.sourceFormat,p=c===void 0?6408:c,b=n.sourceAttachment,g=b===void 0?36064:b,v=t||{},O=v.target,w=O===void 0?null:O,P=v.sourceWidth,A=v.sourceHeight,x=v.sourceType,T=ai(e),R=T.framebuffer,j=T.deleteFramebuffer;M(R);var k=R,F=k.gl,X=k.handle;P=P||R.width,A=A||R.height;var N=g-36064;x=x||((r=R.colorAttachments[N])===null||r===void 0?void 0:r.type)||5121,w=$v(w,x,p,P,A),x=x||Uf(w);var V=F.bindFramebuffer(36160,X);return F.readPixels(o,u,P,A,p,x,w),F.bindFramebuffer(36160,V||null),j&&R.destroy(),w}function Lc(e,t){var r=t||{},n=r.sourceX,i=n===void 0?0:n,o=r.sourceY,a=o===void 0?0:o,u=r.sourceFormat,c=u===void 0?6408:u,p=r.targetByteOffset,b=p===void 0?0:p,g=t||{},v=g.target,O=g.sourceWidth,w=g.sourceHeight,P=g.sourceType,A=ai(e),x=A.framebuffer,T=A.deleteFramebuffer;M(x),O=O||x.width,w=w||x.height;var R=x;if(P=P||5121,!v){var j=ii(c),k=xc(P),F=b+O*w*j*k;v=R.device.createBuffer({byteLength:F})}var X=e.device.createCommandEncoder();return X.copyTextureToBuffer({source:e,width:O,height:w,origin:[i,a],destination:v,byteOffset:b}),X.destroy(),T&&x.destroy(),v}function jc(e,t,r){var n=r||{},i=n.sourceX,o=i===void 0?0:i,a=n.sourceY,u=a===void 0?0:a,c=n.targetMipmaplevel,p=c===void 0?0:c,b=n.targetInternalFormat,g=b===void 0?6408:b,v=r||{},O=v.targetX,w=v.targetY,P=v.targetZ,A=v.width,x=v.height,T=ai(e),R=T.framebuffer,j=T.deleteFramebuffer;M(R);var k=R,F=k.device,X=k.handle,N=typeof O<"u"||typeof w<"u"||typeof P<"u";O=O||0,w=w||0,P=P||0;var V=F.gl.bindFramebuffer(36160,X);M(t);var W=null,H;if(t instanceof ae?(W=t,A=Number.isFinite(A)?A:W.width,x=Number.isFinite(x)?x:W.height,W.bind(0),H=W.target):H=t,!N)F.gl.copyTexImage2D(H,p,g,o,u,A,x,0);else switch(H){case 3553:case 34067:F.gl.copyTexSubImage2D(H,p,O,w,o,u,A,x);break;case 35866:case 32879:F.assertWebGL2(),F.gl2.copyTexSubImage3D(H,p,O,w,P,o,u,A,x);break;default:}return W&&W.unbind(),F.gl.bindFramebuffer(36160,V||null),j&&R.destroy(),W}function ai(e){return e instanceof nt?{framebuffer:e,deleteFramebuffer:!1}:{framebuffer:Hv(e),deleteFramebuffer:!0}}function Hv(e,t){var r=e.device,n=e.width,i=e.height,o=e.id,a=r.createFramebuffer(Tc(Tc({},t),{},{id:"framebuffer-for-".concat(o),width:n,height:i,colorAttachments:[e]}));return a}function $v(e,t,r,n,i){if(e)return e;t=t||5121;var o=dr(t,{clamped:!1}),a=ii(r);return new o(n*i*a)}return Wc(Xv);})();
14
+ `)}return n!=null&&n.html?`<div class='luma-compiler-log-error' style="color:red;"><b> `.concat(e.type.toUpperCase(),": ").concat(e.message,"</b></div>"):"".concat(e.type.toUpperCase(),": ").concat(e.message)}function ul(e,t,r){for(var n="",i=t-2;i<=t;i++){var o=e[i-1];o!==void 0&&(n+=ta(o,t,r))}return n}function ta(e,t,r){return"".concat(fl(String(t),4),": ").concat(e).concat(r!=null&&r.html?"<br/>":`
15
+ `)}function fl(e,t){for(var r="",n=e.length;n<t;++n)r+=" ";return r+e}function Xn(e,t){return{name:cl(e,t),language:"glsl",version:sl(e)}}function cl(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"unnamed",r=/#define[\s*]SHADER_NAME[\s*]([A-Za-z0-9_-]+)[\s*]/,n=r.exec(e);return n?n[1]:t}function sl(e){var t=100,r=e.match(/[^\s]+/g);if(r&&r.length>=2&&r[0]==="#version"){var n=parseInt(r[1],10);Number.isFinite(n)&&(t=n)}return t}function De(e){return De=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},De(e)}var ia;function Kn(){"use strict";Kn=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(l,u,s){l[u]=s.value},i=typeof Symbol=="function"?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function f(l,u,s){return Object.defineProperty(l,u,{value:s,enumerable:!0,configurable:!0,writable:!0}),l[u]}try{f({},"")}catch{f=function(s,d,m){return s[d]=m}}function p(l,u,s,d){var m=u&&u.prototype instanceof v?u:v,h=Object.create(m.prototype),w=new V(d||[]);return n(h,"_invoke",{value:M(l,s,w)}),h}function b(l,u,s){try{return{type:"normal",arg:l.call(u,s)}}catch(d){return{type:"throw",arg:d}}}e.wrap=p;var g={};function v(){}function S(){}function _(){}var E={};f(E,o,function(){return this});var A=Object.getPrototypeOf,x=A&&A(A(W([])));x&&x!==t&&r.call(x,o)&&(E=x);var T=_.prototype=v.prototype=Object.create(E);function R(l){["next","throw","return"].forEach(function(u){f(l,u,function(s){return this._invoke(u,s)})})}function j(l,u){function s(m,h,w,O){var P=b(l[m],l,h);if(P.type!=="throw"){var I=P.arg,G=I.value;return G&&De(G)=="object"&&r.call(G,"__await")?u.resolve(G.__await).then(function(C){s("next",C,w,O)},function(C){s("throw",C,w,O)}):u.resolve(G).then(function(C){I.value=C,w(I)},function(C){return s("throw",C,w,O)})}O(P.arg)}var d;n(this,"_invoke",{value:function(h,w){function O(){return new u(function(P,I){s(h,w,P,I)})}return d=d?d.then(O,O):O()}})}function M(l,u,s){var d="suspendedStart";return function(m,h){if(d==="executing")throw new Error("Generator is already running");if(d==="completed"){if(m==="throw")throw h;return z()}for(s.method=m,s.arg=h;;){var w=s.delegate;if(w){var O=D(w,s);if(O){if(O===g)continue;return O}}if(s.method==="next")s.sent=s._sent=s.arg;else if(s.method==="throw"){if(d==="suspendedStart")throw d="completed",s.arg;s.dispatchException(s.arg)}else s.method==="return"&&s.abrupt("return",s.arg);d="executing";var P=b(l,u,s);if(P.type==="normal"){if(d=s.done?"completed":"suspendedYield",P.arg===g)continue;return{value:P.arg,done:s.done}}P.type==="throw"&&(d="completed",s.method="throw",s.arg=P.arg)}}}function D(l,u){var s=u.method,d=l.iterator[s];if(d===void 0)return u.delegate=null,s==="throw"&&l.iterator.return&&(u.method="return",u.arg=void 0,D(l,u),u.method==="throw")||s!=="return"&&(u.method="throw",u.arg=new TypeError("The iterator does not provide a '"+s+"' method")),g;var m=b(d,l.iterator,u.arg);if(m.type==="throw")return u.method="throw",u.arg=m.arg,u.delegate=null,g;var h=m.arg;return h?h.done?(u[l.resultName]=h.value,u.next=l.nextLoc,u.method!=="return"&&(u.method="next",u.arg=void 0),u.delegate=null,g):h:(u.method="throw",u.arg=new TypeError("iterator result is not an object"),u.delegate=null,g)}function H(l){var u={tryLoc:l[0]};1 in l&&(u.catchLoc=l[1]),2 in l&&(u.finallyLoc=l[2],u.afterLoc=l[3]),this.tryEntries.push(u)}function N(l){var u=l.completion||{};u.type="normal",delete u.arg,l.completion=u}function V(l){this.tryEntries=[{tryLoc:"root"}],l.forEach(H,this),this.reset(!0)}function W(l){if(l){var u=l[o];if(u)return u.call(l);if(typeof l.next=="function")return l;if(!isNaN(l.length)){var s=-1,d=function m(){for(;++s<l.length;)if(r.call(l,s))return m.value=l[s],m.done=!1,m;return m.value=void 0,m.done=!0,m};return d.next=d}}return{next:z}}function z(){return{value:void 0,done:!0}}return S.prototype=_,n(T,"constructor",{value:_,configurable:!0}),n(_,"constructor",{value:S,configurable:!0}),S.displayName=f(_,c,"GeneratorFunction"),e.isGeneratorFunction=function(l){var u=typeof l=="function"&&l.constructor;return!!u&&(u===S||(u.displayName||u.name)==="GeneratorFunction")},e.mark=function(l){return Object.setPrototypeOf?Object.setPrototypeOf(l,_):(l.__proto__=_,f(l,c,"GeneratorFunction")),l.prototype=Object.create(T),l},e.awrap=function(l){return{__await:l}},R(j.prototype),f(j.prototype,a,function(){return this}),e.AsyncIterator=j,e.async=function(l,u,s,d,m){m===void 0&&(m=Promise);var h=new j(p(l,u,s,d),m);return e.isGeneratorFunction(u)?h:h.next().then(function(w){return w.done?w.value:h.next()})},R(T),f(T,c,"Generator"),f(T,o,function(){return this}),f(T,"toString",function(){return"[object Generator]"}),e.keys=function(l){var u=Object(l),s=[];for(var d in u)s.push(d);return s.reverse(),function m(){for(;s.length;){var h=s.pop();if(h in u)return m.value=h,m.done=!1,m}return m.done=!0,m}},e.values=W,V.prototype={constructor:V,reset:function(u){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(N),!u)for(var s in this)s.charAt(0)==="t"&&r.call(this,s)&&!isNaN(+s.slice(1))&&(this[s]=void 0)},stop:function(){this.done=!0;var u=this.tryEntries[0].completion;if(u.type==="throw")throw u.arg;return this.rval},dispatchException:function(u){if(this.done)throw u;var s=this;function d(I,G){return w.type="throw",w.arg=u,s.next=I,G&&(s.method="next",s.arg=void 0),!!G}for(var m=this.tryEntries.length-1;m>=0;--m){var h=this.tryEntries[m],w=h.completion;if(h.tryLoc==="root")return d("end");if(h.tryLoc<=this.prev){var O=r.call(h,"catchLoc"),P=r.call(h,"finallyLoc");if(O&&P){if(this.prev<h.catchLoc)return d(h.catchLoc,!0);if(this.prev<h.finallyLoc)return d(h.finallyLoc)}else if(O){if(this.prev<h.catchLoc)return d(h.catchLoc,!0)}else{if(!P)throw new Error("try statement without catch or finally");if(this.prev<h.finallyLoc)return d(h.finallyLoc)}}}},abrupt:function(u,s){for(var d=this.tryEntries.length-1;d>=0;--d){var m=this.tryEntries[d];if(m.tryLoc<=this.prev&&r.call(m,"finallyLoc")&&this.prev<m.finallyLoc){var h=m;break}}h&&(u==="break"||u==="continue")&&h.tryLoc<=s&&s<=h.finallyLoc&&(h=null);var w=h?h.completion:{};return w.type=u,w.arg=s,h?(this.method="next",this.next=h.finallyLoc,g):this.complete(w)},complete:function(u,s){if(u.type==="throw")throw u.arg;return u.type==="break"||u.type==="continue"?this.next=u.arg:u.type==="return"?(this.rval=this.arg=u.arg,this.method="return",this.next="end"):u.type==="normal"&&s&&(this.next=s),g},finish:function(u){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.finallyLoc===u)return this.complete(d.completion,d.afterLoc),N(d),g}},catch:function(u){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.tryLoc===u){var m=d.completion;if(m.type==="throw"){var h=m.arg;N(d)}return h}}throw new Error("illegal catch attempt")},delegateYield:function(u,s,d){return this.delegate={iterator:W(u),resultName:s,nextLoc:d},this.method==="next"&&(this.arg=void 0),g}},e}function ra(e,t,r,n,i,o,a){try{var c=e[o](a),f=c.value}catch(p){r(p);return}c.done?t(f):Promise.resolve(f).then(n,i)}function ll(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(f){ra(o,n,i,a,c,"next",f)}function c(f){ra(o,n,i,a,c,"throw",f)}a(void 0)})}}function na(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Yn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?na(Object(r),!0).forEach(function(n){pl(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):na(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function pl(e,t,r){return t=aa(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function dl(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function oa(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,aa(n.key),n)}}function hl(e,t,r){return t&&oa(e.prototype,t),r&&oa(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function aa(e){var t=ml(e,"string");return De(t)==="symbol"?t:String(t)}function ml(e,t){if(De(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(De(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function yl(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&qn(e,t)}function qn(e,t){return qn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},qn(e,t)}function bl(e){var t=wl();return function(){var n=Gr(e),i;if(t){var o=Gr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return gl(this,i)}}function gl(e,t){if(t&&(De(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return vl(e)}function vl(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function wl(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Gr(e){return Gr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Gr(e)}ia=Symbol.toStringTag;var Br=function(e){yl(r,e);var t=bl(r);function r(i,o){var a;return dl(this,r),a=t.call(this,i,Yn({id:_l(o)},o),r.defaultProps),a.stage=void 0,a.source=void 0,a.compilationStatus="pending",a.stage=a.props.stage,a.source=a.props.source,a}var n=r.prototype;return n.getCompilationInfoSync=function(){return null},n.debugShader=function(){var i=ll(Kn().mark(function a(){var c;return Kn().wrap(function(p){for(;;)switch(p.prev=p.next){case 0:p.t0=this.props.debug,p.next=p.t0==="never"?3:p.t0==="errors"?4:p.t0==="warnings"||p.t0==="always"?7:8;break;case 3:return p.abrupt("return");case 4:if(this.compilationStatus!=="success"){p.next=6;break}return p.abrupt("return");case 6:return p.abrupt("break",8);case 7:return p.abrupt("break",8);case 8:return p.next=10,this.getCompilationInfo();case 10:if(c=p.sent,!(this.props.debug==="warnings"&&c?.length===0)){p.next=13;break}return p.abrupt("return");case 13:this._displayShaderLog(c);case 14:case"end":return p.stop()}},a,this)}));function o(){return i.apply(this,arguments)}return o}(),n._displayShaderLog=function(o){var a,c,f=this;if(!(typeof document>"u"||!((a=document)!==null&&a!==void 0&&a.createElement))){var p=Xn(this.source).name,b="".concat(this.stage," ").concat(p),g=ea(o,this.source,{showSourceCode:"all",html:!0}),v=document.createElement("Button");v.innerHTML=`
16
+ <h1>Shader Compilation Error in `.concat(b,`</h1><br /><br />
17
+ <code style="user-select:text;"><pre>
18
+ `).concat(g,`
19
+ </pre></code>`),v.style.top="10px",v.style.left="10px",v.style.position="absolute",v.style.zIndex="9999",v.style.width="100%",v.style.textAlign="left",document.body.appendChild(v),(c=document.getElementsByClassName("luma-compiler-log-error")[0])===null||c===void 0||c.scrollIntoView(),v.onclick=function(){var S="data:text/plain,".concat(encodeURIComponent(f.source));navigator.clipboard.writeText(S)}}},hl(r,[{key:ia,get:function(){return"Shader"}}]),r}(K);Br.defaultProps=Yn(Yn({},K.defaultProps),{},{language:"auto",stage:"vertex",source:"",sourceMap:null,entryPoint:"main",debug:"errors"});function _l(e){return Xn(e.source).name||e.id||we("unnamed ".concat(e.stage,"-shader"))}function et(e){return et=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},et(e)}var sa;function ua(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function fa(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ua(Object(r),!0).forEach(function(n){Sl(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ua(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Sl(e,t,r){return t=la(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ol(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ca(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,la(n.key),n)}}function Pl(e,t,r){return t&&ca(e.prototype,t),r&&ca(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function la(e){var t=xl(e,"string");return et(t)==="symbol"?t:String(t)}function xl(e,t){if(et(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(et(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function El(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Qn(e,t)}function Qn(e,t){return Qn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Qn(e,t)}function Tl(e){var t=jl();return function(){var n=Ir(e),i;if(t){var o=Ir(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Al(this,i)}}function Al(e,t){if(t&&(et(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Ll(e)}function Ll(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function jl(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Ir(e){return Ir=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Ir(e)}sa=Symbol.toStringTag;var Fr=function(e){El(r,e);var t=Tl(r);function r(n,i){return Ol(this,r),t.call(this,n,i,r.defaultProps)}return Pl(r,[{key:sa,get:function(){return"Sampler"}}]),r}(K);Fr.defaultProps=fa(fa({},K.defaultProps),{},{type:"color-sampler",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge",addressModeW:"clamp-to-edge",magFilter:"nearest",minFilter:"nearest",mipmapFilter:"nearest",lodMinClamp:0,lodMaxClamp:32,compare:"less-equal",maxAnisotropy:1});function rt(e){return rt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},rt(e)}var ma;function pa(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function tt(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?pa(Object(r),!0).forEach(function(n){Rl(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):pa(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Rl(e,t,r){return t=ya(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Gl(e,t){return Dl(e)||Fl(e,t)||Il(e,t)||Bl()}function Bl(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
20
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Il(e,t){if(e){if(typeof e=="string")return da(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return da(e,t)}}function da(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Fl(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,c=[],f=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=o.call(r)).done)&&(c.push(n.value),c.length!==t);f=!0);}catch(b){p=!0,i=b}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return c}}function Dl(e){if(Array.isArray(e))return e}function Cl(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ha(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,ya(n.key),n)}}function Wl(e,t,r){return t&&ha(e.prototype,t),r&&ha(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function ya(e){var t=Nl(e,"string");return rt(t)==="symbol"?t:String(t)}function Nl(e,t){if(rt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(rt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function kl(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Zn(e,t)}function Zn(e,t){return Zn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Zn(e,t)}function Ml(e){var t=zl();return function(){var n=Dr(e),i;if(t){var o=Dr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Vl(this,i)}}function Vl(e,t){if(t&&(rt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Ul(e)}function Ul(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function zl(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Dr(e){return Dr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Dr(e)}ma=Symbol.toStringTag;var nt=function(e){kl(r,e);var t=Ml(r);function r(i){var o,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Cl(this,r),o=t.call(this,i,a,r.defaultProps),o.width=void 0,o.height=void 0,o.colorAttachments=[],o.depthStencilAttachment=null,o.width=o.props.width,o.height=o.props.height,o}var n=r.prototype;return n.resize=function(o){var a=!o;if(o){var c=Array.isArray(o)?o:[o.width,o.height],f=Gl(c,2),p=f[0],b=f[1];a=a||b!==this.height||p!==this.width,this.width=p,this.height=b}a&&(F.log(2,"Resizing framebuffer ".concat(this.id," to ").concat(this.width,"x").concat(this.height))(),this.resizeAttachments(this.width,this.height))},n.autoCreateAttachmentTextures=function(){var o=this;if(this.colorAttachments=this.props.colorAttachments.map(function(c){if(typeof c=="string"){var f=o.createColorTexture(c);return o.attachResource(f),f}return c}),this.props.depthStencilAttachment)if(typeof this.props.depthStencilAttachment=="string"){var a=this.createDepthStencilTexture(this.props.depthStencilAttachment);this.attachResource(a),this.depthStencilAttachment=a}else this.depthStencilAttachment=this.props.depthStencilAttachment},n.createColorTexture=function(o){return this.device.createTexture({id:"color-attachment",usage:ae.RENDER_ATTACHMENT,format:o,width:this.width,height:this.height})},n.createDepthStencilTexture=function(o){return this.device.createTexture({id:"depth-stencil-attachment",usage:ae.RENDER_ATTACHMENT,format:o,width:this.width,height:this.height})},n.resizeAttachments=function(o,a){for(var c=0;c<this.colorAttachments.length;++c)if(this.colorAttachments[c]){var f=this.device._createTexture(tt(tt({},this.colorAttachments[c].props),{},{width:o,height:a}));this.destroyAttachedResource(this.colorAttachments[c]),this.colorAttachments[c]=f,this.attachResource(f)}if(this.depthStencilAttachment){var p=this.device._createTexture(tt(tt({},this.depthStencilAttachment.props),{},{width:o,height:a}));this.destroyAttachedResource(this.depthStencilAttachment),this.depthStencilAttachment=p,this.attachResource(p)}},Wl(r,[{key:ma,get:function(){return"Framebuffer"}}]),r}(K);nt.defaultProps=tt(tt({},K.defaultProps),{},{width:1,height:1,colorAttachments:[],depthStencilAttachment:null});function ot(e){return ot=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ot(e)}var wa;function ba(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ga(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ba(Object(r),!0).forEach(function(n){Hl(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ba(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Hl(e,t,r){return t=_a(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function $l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function va(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,_a(n.key),n)}}function Xl(e,t,r){return t&&va(e.prototype,t),r&&va(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function _a(e){var t=Kl(e,"string");return ot(t)==="symbol"?t:String(t)}function Kl(e,t){if(ot(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(ot(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Yl(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Jn(e,t)}function Jn(e,t){return Jn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Jn(e,t)}function ql(e){var t=Jl();return function(){var n=Cr(e),i;if(t){var o=Cr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Ql(this,i)}}function Ql(e,t){if(t&&(ot(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Zl(e)}function Zl(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Jl(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Cr(e){return Cr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Cr(e)}wa=Symbol.toStringTag;var Wr=function(e){Yl(r,e);var t=ql(r);function r(n,i){var o;return $l(this,r),o=t.call(this,n,i,r.defaultProps),o.hash="",o.vs=void 0,o.fs=void 0,o.shaderLayout=void 0,o.bufferLayout=void 0,o.shaderLayout=o.props.shaderLayout,o.bufferLayout=o.props.bufferLayout||[],o}return Xl(r,[{key:wa,get:function(){return"RenderPipeline"}}]),r}(K);Wr.defaultProps=ga(ga({},K.defaultProps),{},{vs:null,vsEntryPoint:"",vsConstants:{},fs:null,fsEntryPoint:"",fsConstants:{},shaderLayout:null,bufferLayout:[],topology:"triangle-list",parameters:{},vertexCount:0,instanceCount:0,bindings:{},uniforms:{}});function it(e){return it=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},it(e)}var xa;function Sa(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Oa(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Sa(Object(r),!0).forEach(function(n){ep(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Sa(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function ep(e,t,r){return t=Ea(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function tp(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Pa(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Ea(n.key),n)}}function rp(e,t,r){return t&&Pa(e.prototype,t),r&&Pa(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ea(e){var t=np(e,"string");return it(t)==="symbol"?t:String(t)}function np(e,t){if(it(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(it(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function op(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&eo(e,t)}function eo(e,t){return eo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},eo(e,t)}function ip(e){var t=fp();return function(){var n=Nr(e),i;if(t){var o=Nr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return ap(this,i)}}function ap(e,t){if(t&&(it(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return up(e)}function up(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function fp(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Nr(e){return Nr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Nr(e)}xa=Symbol.toStringTag;var kr=function(e){op(r,e);var t=ip(r);function r(n,i){return tp(this,r),t.call(this,n,i,r.defaultProps)}return rp(r,[{key:xa,get:function(){return"RenderPass"}}]),r}(K);kr.defaultProps=Oa(Oa({},K.defaultProps),{},{framebuffer:null,parameters:void 0,clearColor:[0,0,0,0],clearDepth:1,clearStencil:0,depthReadOnly:!1,stencilReadOnly:!1,discard:!1});function at(e){return at=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},at(e)}var ja;function Ta(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Aa(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ta(Object(r),!0).forEach(function(n){cp(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ta(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function cp(e,t,r){return t=Ra(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function sp(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function La(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Ra(n.key),n)}}function lp(e,t,r){return t&&La(e.prototype,t),r&&La(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ra(e){var t=pp(e,"string");return at(t)==="symbol"?t:String(t)}function pp(e,t){if(at(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(at(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function dp(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&to(e,t)}function to(e,t){return to=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},to(e,t)}function hp(e){var t=bp();return function(){var n=Mr(e),i;if(t){var o=Mr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return mp(this,i)}}function mp(e,t){if(t&&(at(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return yp(e)}function yp(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function bp(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Mr(e){return Mr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Mr(e)}ja=Symbol.toStringTag;var Vr=function(e){dp(r,e);var t=hp(r);function r(i,o){return sp(this,r),t.call(this,i,o,r.defaultProps)}var n=r.prototype;return n.pushDebugGroup=function(o){},n.popDebugGroup=function(){},n.insertDebugMarker=function(o){},lp(r,[{key:ja,get:function(){return"CommandEncoder"}}]),r}(K);Vr.defaultProps=Aa(Aa({},K.defaultProps),{},{measureExecutionTime:void 0});function ut(e){return ut=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ut(e)}var Ia;function Ga(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function gp(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ga(Object(r),!0).forEach(function(n){vp(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ga(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function vp(e,t,r){return t=Fa(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function wp(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ba(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Fa(n.key),n)}}function _p(e,t,r){return t&&Ba(e.prototype,t),r&&Ba(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Fa(e){var t=Sp(e,"string");return ut(t)==="symbol"?t:String(t)}function Sp(e,t){if(ut(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(ut(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Op(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ro(e,t)}function ro(e,t){return ro=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},ro(e,t)}function Pp(e){var t=Tp();return function(){var n=Ur(e),i;if(t){var o=Ur(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return xp(this,i)}}function xp(e,t){if(t&&(ut(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Ep(e)}function Ep(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Tp(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Ur(e){return Ur=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Ur(e)}Ia=Symbol.toStringTag;var zr=function(e){Op(r,e);var t=Pp(r);function r(n,i){return wp(this,r),t.call(this,n,i,r.defaultProps)}return _p(r,[{key:Ia,get:function(){return"CommandBuffer"}}]),r}(K);zr.defaultProps=gp({},K.defaultProps);function Ap(e,t){return Gp(e)||Rp(e,t)||jp(e,t)||Lp()}function Lp(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
21
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function jp(e,t){if(e){if(typeof e=="string")return Da(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Da(e,t)}}function Da(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Rp(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,c=[],f=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=o.call(r)).done)&&(c.push(n.value),c.length!==t);f=!0);}catch(b){p=!0,i=b}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return c}}function Gp(e){if(Array.isArray(e))return e}function Ca(e){var t=Ap(Ip[e],2),r=t[0],n=t[1],i=r==="i32"||r==="u32",o=r!=="u32",a=Fp[r]*n,c=Bp(r,n);return{dataType:r,components:n,defaultVertexFormat:c,byteLength:a,integer:i,signed:o}}function Bp(e,t){var r;switch(e){case"f32":r="float32";break;case"i32":r="sint32";break;case"u32":r="uint32";break;case"f16":return t<=2?"float16x2":"float16x4"}return t===1?r:"".concat(r,"x").concat(t)}var Ip={f32:["f32",1],"vec2<f32>":["f32",2],"vec3<f32>":["f32",3],"vec4<f32>":["f32",4],f16:["f16",1],"vec2<f16>":["f16",2],"vec3<f16>":["f16",3],"vec4<f16>":["f16",4],i32:["i32",1],"vec2<i32>":["i32",2],"vec3<i32>":["i32",3],"vec4<i32>":["i32",4],u32:["u32",1],"vec2<u32>":["u32",2],"vec3<u32>":["u32",3],"vec4<u32>":["u32",4]},Fp={f32:4,f16:2,i32:4,u32:4};function Hr(e){var t=Wa[e],r=Dp(t),n=e.includes("norm"),i=!n&&!e.startsWith("float"),o=e.startsWith("s");return{dataType:Wa[e],byteLength:r,integer:i,signed:o,normalized:n}}function Dp(e){var t=Cp[e];return t}var Wa={uint8:"uint8",sint8:"sint8",unorm8:"uint8",snorm8:"sint8",uint16:"uint16",sint16:"sint16",unorm16:"uint16",snorm16:"sint16",float16:"float16",float32:"float32",uint32:"uint32",sint32:"sint32"},Cp={uint8:1,sint8:1,uint16:2,sint16:2,float16:2,float32:4,uint32:4,sint32:4};function Wp(e,t){return Vp(e)||Mp(e,t)||kp(e,t)||Np()}function Np(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
22
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function kp(e,t){if(e){if(typeof e=="string")return Na(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Na(e,t)}}function Na(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Mp(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,c=[],f=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=o.call(r)).done)&&(c.push(n.value),c.length!==t);f=!0);}catch(b){p=!0,i=b}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return c}}function Vp(e){if(Array.isArray(e))return e}function no(e){var t;e.endsWith("-webgl")&&(e.replace("-webgl",""),t=!0);var r=e.split("x"),n=Wp(r,2),i=n[0],o=n[1],a=i,c=o?parseInt(o):1,f=Hr(a),p={type:a,components:c,byteLength:f.byteLength*c,integer:f.integer,signed:f.signed,normalized:f.normalized};return t&&(p.webglOnly=!0),p}function Vt(e){return Vt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Vt(e)}function ka(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function oo(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ka(Object(r),!0).forEach(function(n){Up(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ka(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Up(e,t,r){return t=zp(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function zp(e){var t=Hp(e,"string");return Vt(t)==="symbol"?t:String(t)}function Hp(e,t){if(Vt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Vt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ft(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=$p(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
23
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,c;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,c=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw c}}}}function $p(e,t){if(e){if(typeof e=="string")return Ma(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ma(e,t)}}function Ma(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Va(e,t){var r={},n=ft(e.attributes),i;try{for(n.s();!(i=n.n()).done;){var o=i.value;r[o.name]=Xp(e,t,o.name)}}catch(a){n.e(a)}finally{n.f()}return r}function Ua(e,t){for(var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:16,n=Va(e,t),i=new Array(r).fill(null),o=0,a=Object.values(n);o<a.length;o++){var c=a[o];i[c.location]=c}return i}function Xp(e,t,r){var n=Kp(e,r),i=Yp(t,r);if(!n)return null;var o=Ca(n.type),a=i?.vertexFormat||o.defaultVertexFormat,c=no(a);return{attributeName:i?.attributeName||n.name,bufferName:i?.bufferName||n.name,location:n.location,shaderType:n.type,shaderDataType:o.dataType,shaderComponents:o.components,vertexFormat:a,bufferDataType:c.type,bufferComponents:c.components,normalized:c.normalized,integer:o.integer,stepMode:i?.stepMode||n.stepMode,byteOffset:i?.byteOffset||0,byteStride:i?.byteStride||0}}function Kp(e,t){var r=e.attributes.find(function(n){return n.name===t});return r||F.warn('shader layout attribute "'.concat(t,'" not present in shader')),r||null}function Yp(e,t){qp(e);var r=Qp(e,t);return r||(r=Zp(e,t),r)?r:(F.warn('layout for attribute "'.concat(t,'" not present in buffer layout')),null)}function qp(e){var t=ft(e),r;try{for(t.s();!(r=t.n()).done;){var n=r.value;(n.attributes&&n.format||!n.attributes&&!n.format)&&F.warn("BufferLayout ".concat(name," must have either 'attributes' or 'format' field"))}}catch(i){t.e(i)}finally{t.f()}}function Qp(e,t){var r=ft(e),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;if(i.format&&i.name===t)return{attributeName:i.name,bufferName:t,stepMode:i.stepMode,vertexFormat:i.format,byteOffset:0,byteStride:i.byteStride||0}}}catch(o){r.e(o)}finally{r.f()}return null}function Zp(e,t){var r=ft(e),n;try{for(r.s();!(n=r.n()).done;){var i,o=n.value,a=o.byteStride;if(typeof o.byteStride!="number"){var c=ft(o.attributes||[]),f;try{for(c.s();!(f=c.n()).done;){var p=f.value,b=no(p.format);a+=b.byteLength}}catch(v){c.e(v)}finally{c.f()}}var g=(i=o.attributes)===null||i===void 0?void 0:i.find(function(v){return v.attribute===t});if(g)return{attributeName:g.attribute,bufferName:o.name,stepMode:o.stepMode,vertexFormat:g.format,byteOffset:g.byteOffset,byteStride:a}}}catch(v){r.e(v)}finally{r.f()}return null}function io(e,t){var r=oo(oo({},e),{},{attributes:e.attributes.map(function(a){return oo({},a)})}),n=ft(t?.attributes||[]),i;try{var o=function(){var c=i.value,f=r.attributes.find(function(p){return p.name===c.name});f?(f.type=c.type||f.type,f.stepMode=c.stepMode||f.stepMode):F.warn("shader layout attribute ".concat(c.name," not present in shader"))};for(n.s();!(i=n.n()).done;)o()}catch(a){n.e(a)}finally{n.f()}return r}function ct(e){return ct=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ct(e)}var Xa;function za(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ha(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?za(Object(r),!0).forEach(function(n){Jp(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):za(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Jp(e,t,r){return t=Ka(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ed(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function $a(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Ka(n.key),n)}}function td(e,t,r){return t&&$a(e.prototype,t),r&&$a(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ka(e){var t=rd(e,"string");return ct(t)==="symbol"?t:String(t)}function rd(e,t){if(ct(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(ct(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function nd(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ao(e,t)}function ao(e,t){return ao=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},ao(e,t)}function od(e){var t=ud();return function(){var n=$r(e),i;if(t){var o=$r(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return id(this,i)}}function id(e,t){if(t&&(ct(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ad(e)}function ad(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ud(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function $r(e){return $r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},$r(e)}Xa=Symbol.toStringTag;var Xr=function(e){nd(r,e);var t=od(r);function r(n,i){var o;return ed(this,r),o=t.call(this,n,i,r.defaultProps),o.maxVertexAttributes=void 0,o.attributeInfos=void 0,o.indexBuffer=null,o.attributes=void 0,o.maxVertexAttributes=n.limits.maxVertexAttributes,o.attributes=new Array(o.maxVertexAttributes).fill(null),o.attributeInfos=Ua(i.renderPipeline.shaderLayout,i.renderPipeline.bufferLayout,o.maxVertexAttributes),o}return td(r,[{key:Xa,get:function(){return"VertexArray"}}]),r}(K);Xr.defaultProps=Ha(Ha({},K.defaultProps),{},{renderPipeline:null});function st(e){return st=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},st(e)}var Za;function Ya(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function qa(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ya(Object(r),!0).forEach(function(n){fd(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ya(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function fd(e,t,r){return t=Ja(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function cd(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Qa(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Ja(n.key),n)}}function sd(e,t,r){return t&&Qa(e.prototype,t),r&&Qa(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ja(e){var t=ld(e,"string");return st(t)==="symbol"?t:String(t)}function ld(e,t){if(st(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(st(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function pd(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&uo(e,t)}function uo(e,t){return uo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},uo(e,t)}function dd(e){var t=yd();return function(){var n=Kr(e),i;if(t){var o=Kr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return hd(this,i)}}function hd(e,t){if(t&&(st(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return md(e)}function md(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function yd(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Kr(e){return Kr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Kr(e)}Za=Symbol.toStringTag;var Yr=function(e){pd(r,e);var t=dd(r);function r(n,i){return cd(this,r),t.call(this,n,i,r.defaultProps)}return sd(r,[{key:Za,get:function(){return"TransformFeedback"}}]),r}(K);Yr.defaultProps=qa(qa({},K.defaultProps),{},{layout:void 0,buffers:{}});function k(e,t){if(!e)throw new Error(t||"luma.gl: assertion failed.")}var qr;function eu(e){return(!qr||qr.byteLength<e)&&(qr=new ArrayBuffer(e)),qr}function fo(e,t){var r=eu(e.BYTES_PER_ELEMENT*t);return new e(r,0,t)}function co(e){for(var t=e.target,r=e.source,n=e.start,i=n===void 0?0:n,o=e.count,a=o===void 0?1:o,c=r.length,f=a*c,p=0,b=i;p<c;p++)t[b++]=r[p];for(;p<f;)p<f-p?(t.copyWithin(i+p,i,i+p),p*=2):(t.copyWithin(i+p,i,i+f-p),p=f);return e.target}function Ut(e){return Ut=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ut(e)}function tu(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function bd(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?tu(Object(r),!0).forEach(function(n){gd(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):tu(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function gd(e,t,r){return t=vd(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function vd(e){var t=wd(e,"string");return Ut(t)==="symbol"?t:String(t)}function wd(e,t){if(Ut(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Ut(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function _d(e,t){return xd(e)||Pd(e,t)||Od(e,t)||Sd()}function Sd(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
24
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Od(e,t){if(e){if(typeof e=="string")return ru(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ru(e,t)}}function ru(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Pd(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,c=[],f=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=o.call(r)).done)&&(c.push(n.value),c.length!==t);f=!0);}catch(b){p=!0,i=b}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return c}}function xd(e){if(Array.isArray(e))return e}var Ed=/^(rg?b?a?)([0-9]*)([a-z]*)(-srgb)?(-webgl|-unsized)?$/;function Qr(e){var t=Ed.exec(e);if(t){var r=_d(t,6),n=r[1],i=r[2],o=r[3],a=r[4],c=r[5];if(n){var f="".concat(o).concat(i),p=Hr(f);return bd({format:n,components:n.length,srgb:a==="-srgb",unsized:c==="-unsized",webgl:c==="-webgl"},p)}}return Ad(e)}var Td={"rgba4unorm-webgl":{format:"rgba",bpp:2},"rgb565unorm-webgl":{format:"rgb",bpp:2},"rgb5a1unorm-webgl":{format:"rgba",bbp:2},rgb9e5ufloat:{format:"rgb",bbp:4},rg11b10ufloat:{format:"rgb",bbp:4},rgb10a2unorm:{format:"rgba",bbp:4},"rgb10a2unorm-webgl":{format:"rgba",bbp:4},stencil8:{components:1,bpp:1,a:"stencil"},depth16unorm:{components:1,bpp:2,a:"depth"},depth24plus:{components:1,bpp:3,a:"depth"},depth32float:{components:1,bpp:4,a:"depth"},"depth24plus-stencil8":{components:2,bpp:4,a:"depth-stencil"},"depth24unorm-stencil8":{components:2,bpp:4,a:"depth-stencil"},"depth32float-stencil8":{components:2,bpp:4,a:"depth-stencil"}};function Ad(e){var t,r=Td[e];if(!r)throw new Error("Unknown format ".concat(e));return{format:r.format||"",components:r.components||((t=r.format)===null||t===void 0?void 0:t.length)||1,byteLength:r.bpp||1,srgb:!1,unsized:!1}}function nu(e){return xi(e)!==null||typeof e=="number"||typeof e=="boolean"}function so(e){var t={bindings:{},uniforms:{}};return Object.keys(e).forEach(function(r){var n=e[r];nu(n)?t.uniforms[r]=n:t.bindings[r]=n}),t}function lo(e,t,r,n){var i="See luma.gl ".concat(r," Upgrade Guide at https://luma.gl/docs/upgrade-guide"),o=Object.getPrototypeOf(e);n.forEach(function(a){o.methodName||(o[a]=function(){throw F.removed("Calling removed method ".concat(t,".").concat(a,": "),i)(),new Error(a)})})}function Ld(e,t){return Bd(e)||Gd(e,t)||Rd(e,t)||jd()}function jd(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
25
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Rd(e,t){if(e){if(typeof e=="string")return ou(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ou(e,t)}}function ou(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Gd(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,c=[],f=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=o.call(r)).done)&&(c.push(n.value),c.length!==t);f=!0);}catch(b){p=!0,i=b}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return c}}function Bd(e){if(Array.isArray(e))return e}function po(e,t,r){var n=r.removedProps,i=n===void 0?{}:n,o=r.deprecatedProps,a=o===void 0?{}:o,c=r.replacedProps,f=c===void 0?{}:c;for(var p in i)if(p in t){var b=i[p],g=b?"".concat(e,".").concat(i[p]):"N/A";F.removed("".concat(e,".").concat(p),g)()}for(var v in a)if(v in t){var S=a[v];F.deprecated("".concat(e,".").concat(v),"".concat(e,".").concat(S))()}for(var _=null,E=0,A=Object.entries(f);E<A.length;E++){var x=Ld(A[E],2),T=x[0],R=x[1];T in t&&(F.deprecated("".concat(e,".").concat(T),"".concat(e,".").concat(R))(),_=_||Object.assign({},t),_[R]=t[T],delete _[T])}return _||t}function ho(e){return ho=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ho(e)}function zt(){"use strict";zt=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(l,u,s){l[u]=s.value},i=typeof Symbol=="function"?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function f(l,u,s){return Object.defineProperty(l,u,{value:s,enumerable:!0,configurable:!0,writable:!0}),l[u]}try{f({},"")}catch{f=function(s,d,m){return s[d]=m}}function p(l,u,s,d){var m=u&&u.prototype instanceof v?u:v,h=Object.create(m.prototype),w=new V(d||[]);return n(h,"_invoke",{value:M(l,s,w)}),h}function b(l,u,s){try{return{type:"normal",arg:l.call(u,s)}}catch(d){return{type:"throw",arg:d}}}e.wrap=p;var g={};function v(){}function S(){}function _(){}var E={};f(E,o,function(){return this});var A=Object.getPrototypeOf,x=A&&A(A(W([])));x&&x!==t&&r.call(x,o)&&(E=x);var T=_.prototype=v.prototype=Object.create(E);function R(l){["next","throw","return"].forEach(function(u){f(l,u,function(s){return this._invoke(u,s)})})}function j(l,u){function s(m,h,w,O){var P=b(l[m],l,h);if(P.type!=="throw"){var I=P.arg,G=I.value;return G&&ho(G)=="object"&&r.call(G,"__await")?u.resolve(G.__await).then(function(C){s("next",C,w,O)},function(C){s("throw",C,w,O)}):u.resolve(G).then(function(C){I.value=C,w(I)},function(C){return s("throw",C,w,O)})}O(P.arg)}var d;n(this,"_invoke",{value:function(h,w){function O(){return new u(function(P,I){s(h,w,P,I)})}return d=d?d.then(O,O):O()}})}function M(l,u,s){var d="suspendedStart";return function(m,h){if(d==="executing")throw new Error("Generator is already running");if(d==="completed"){if(m==="throw")throw h;return z()}for(s.method=m,s.arg=h;;){var w=s.delegate;if(w){var O=D(w,s);if(O){if(O===g)continue;return O}}if(s.method==="next")s.sent=s._sent=s.arg;else if(s.method==="throw"){if(d==="suspendedStart")throw d="completed",s.arg;s.dispatchException(s.arg)}else s.method==="return"&&s.abrupt("return",s.arg);d="executing";var P=b(l,u,s);if(P.type==="normal"){if(d=s.done?"completed":"suspendedYield",P.arg===g)continue;return{value:P.arg,done:s.done}}P.type==="throw"&&(d="completed",s.method="throw",s.arg=P.arg)}}}function D(l,u){var s=u.method,d=l.iterator[s];if(d===void 0)return u.delegate=null,s==="throw"&&l.iterator.return&&(u.method="return",u.arg=void 0,D(l,u),u.method==="throw")||s!=="return"&&(u.method="throw",u.arg=new TypeError("The iterator does not provide a '"+s+"' method")),g;var m=b(d,l.iterator,u.arg);if(m.type==="throw")return u.method="throw",u.arg=m.arg,u.delegate=null,g;var h=m.arg;return h?h.done?(u[l.resultName]=h.value,u.next=l.nextLoc,u.method!=="return"&&(u.method="next",u.arg=void 0),u.delegate=null,g):h:(u.method="throw",u.arg=new TypeError("iterator result is not an object"),u.delegate=null,g)}function H(l){var u={tryLoc:l[0]};1 in l&&(u.catchLoc=l[1]),2 in l&&(u.finallyLoc=l[2],u.afterLoc=l[3]),this.tryEntries.push(u)}function N(l){var u=l.completion||{};u.type="normal",delete u.arg,l.completion=u}function V(l){this.tryEntries=[{tryLoc:"root"}],l.forEach(H,this),this.reset(!0)}function W(l){if(l){var u=l[o];if(u)return u.call(l);if(typeof l.next=="function")return l;if(!isNaN(l.length)){var s=-1,d=function m(){for(;++s<l.length;)if(r.call(l,s))return m.value=l[s],m.done=!1,m;return m.value=void 0,m.done=!0,m};return d.next=d}}return{next:z}}function z(){return{value:void 0,done:!0}}return S.prototype=_,n(T,"constructor",{value:_,configurable:!0}),n(_,"constructor",{value:S,configurable:!0}),S.displayName=f(_,c,"GeneratorFunction"),e.isGeneratorFunction=function(l){var u=typeof l=="function"&&l.constructor;return!!u&&(u===S||(u.displayName||u.name)==="GeneratorFunction")},e.mark=function(l){return Object.setPrototypeOf?Object.setPrototypeOf(l,_):(l.__proto__=_,f(l,c,"GeneratorFunction")),l.prototype=Object.create(T),l},e.awrap=function(l){return{__await:l}},R(j.prototype),f(j.prototype,a,function(){return this}),e.AsyncIterator=j,e.async=function(l,u,s,d,m){m===void 0&&(m=Promise);var h=new j(p(l,u,s,d),m);return e.isGeneratorFunction(u)?h:h.next().then(function(w){return w.done?w.value:h.next()})},R(T),f(T,c,"Generator"),f(T,o,function(){return this}),f(T,"toString",function(){return"[object Generator]"}),e.keys=function(l){var u=Object(l),s=[];for(var d in u)s.push(d);return s.reverse(),function m(){for(;s.length;){var h=s.pop();if(h in u)return m.value=h,m.done=!1,m}return m.done=!0,m}},e.values=W,V.prototype={constructor:V,reset:function(u){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(N),!u)for(var s in this)s.charAt(0)==="t"&&r.call(this,s)&&!isNaN(+s.slice(1))&&(this[s]=void 0)},stop:function(){this.done=!0;var u=this.tryEntries[0].completion;if(u.type==="throw")throw u.arg;return this.rval},dispatchException:function(u){if(this.done)throw u;var s=this;function d(I,G){return w.type="throw",w.arg=u,s.next=I,G&&(s.method="next",s.arg=void 0),!!G}for(var m=this.tryEntries.length-1;m>=0;--m){var h=this.tryEntries[m],w=h.completion;if(h.tryLoc==="root")return d("end");if(h.tryLoc<=this.prev){var O=r.call(h,"catchLoc"),P=r.call(h,"finallyLoc");if(O&&P){if(this.prev<h.catchLoc)return d(h.catchLoc,!0);if(this.prev<h.finallyLoc)return d(h.finallyLoc)}else if(O){if(this.prev<h.catchLoc)return d(h.catchLoc,!0)}else{if(!P)throw new Error("try statement without catch or finally");if(this.prev<h.finallyLoc)return d(h.finallyLoc)}}}},abrupt:function(u,s){for(var d=this.tryEntries.length-1;d>=0;--d){var m=this.tryEntries[d];if(m.tryLoc<=this.prev&&r.call(m,"finallyLoc")&&this.prev<m.finallyLoc){var h=m;break}}h&&(u==="break"||u==="continue")&&h.tryLoc<=s&&s<=h.finallyLoc&&(h=null);var w=h?h.completion:{};return w.type=u,w.arg=s,h?(this.method="next",this.next=h.finallyLoc,g):this.complete(w)},complete:function(u,s){if(u.type==="throw")throw u.arg;return u.type==="break"||u.type==="continue"?this.next=u.arg:u.type==="return"?(this.rval=this.arg=u.arg,this.method="return",this.next="end"):u.type==="normal"&&s&&(this.next=s),g},finish:function(u){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.finallyLoc===u)return this.complete(d.completion,d.afterLoc),N(d),g}},catch:function(u){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.tryLoc===u){var m=d.completion;if(m.type==="throw"){var h=m.arg;N(d)}return h}}throw new Error("illegal catch attempt")},delegateYield:function(u,s,d){return this.delegate={iterator:W(u),resultName:s,nextLoc:d},this.method==="next"&&(this.arg=void 0),g}},e}function iu(e,t,r,n,i,o,a){try{var c=e[o](a),f=c.value}catch(p){r(p);return}c.done?t(f):Promise.resolve(f).then(n,i)}function au(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(f){iu(o,n,i,a,c,"next",f)}function c(f){iu(o,n,i,a,c,"throw",f)}a(void 0)})}}var Id="";function bo(e,t){return mo.apply(this,arguments)}function mo(){return mo=au(zt().mark(function e(t,r){return zt().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.abrupt("return",new Promise(function(o,a){try{var c=new Image;c.onload=function(){return o(c)},c.onerror=function(){return a(new Error("Could not load image ".concat(t,".")))},c.crossOrigin=r?.crossOrigin||"anonymous",c.src=t.startsWith("http")?t:Id+t}catch(f){a(f)}}));case 1:case"end":return i.stop()}},e)})),mo.apply(this,arguments)}function Ht(e,t){return yo.apply(this,arguments)}function yo(){return yo=au(zt().mark(function e(t,r){var n,i;return zt().wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(n=document.getElementsByTagName("head")[0],n){a.next=3;break}throw new Error("loadScript");case 3:return i=document.createElement("script"),i.setAttribute("type","text/javascript"),i.setAttribute("src",t),r&&(i.id=r),a.abrupt("return",new Promise(function(c,f){i.onload=c,i.onerror=function(p){return f(new Error("Unable to load script '".concat(t,"': ").concat(p)))},n.appendChild(i)}));case 8:case"end":return a.stop()}},e)})),yo.apply(this,arguments)}var $t={};function Fd(e){globalThis.console&&globalThis.console.error&&globalThis.console.error(e)}function Dd(e){globalThis.console&&globalThis.console.log&&globalThis.console.log(e)}function Cd(e,t){$t[e]=!0,t!==void 0&&Fd(t)}function Wd(e){var t=e.getError;e.getError=function(){var n;do n=t.apply(e),n!==0&&($t[n]=!0);while(n!==0);for(n in $t)if($t[n])return delete $t[n],parseInt(n,10);return 0}}var Xt=function e(t){var r=t.gl;this.ext=t,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(t.maxVertexAttribs);for(var n=0;n<this.attribs.length;n++){var i=new e.VertexAttrib(r);this.attribs[n]=i}this.maxAttrib=0};Xt.VertexAttrib=function(t){this.enabled=!1,this.buffer=null,this.size=4,this.type=5126,this.normalized=!1,this.stride=16,this.offset=0,this.cached="",this.recache()};Xt.VertexAttrib.prototype.recache=function(){this.cached=[this.size,this.type,this.normalized,this.stride,this.offset].join(":")};var Ce=function(t){var r=this;this.gl=t,Wd(t);var n=this.original={getParameter:t.getParameter,enableVertexAttribArray:t.enableVertexAttribArray,disableVertexAttribArray:t.disableVertexAttribArray,bindBuffer:t.bindBuffer,getVertexAttrib:t.getVertexAttrib,vertexAttribPointer:t.vertexAttribPointer};t.getParameter=function(o){return o===r.VERTEX_ARRAY_BINDING_OES?r.currentVertexArrayObject===r.defaultVertexArrayObject?null:r.currentVertexArrayObject:n.getParameter.apply(this,arguments)},t.enableVertexAttribArray=function(o){var a=r.currentVertexArrayObject;a.maxAttrib=Math.max(a.maxAttrib,o);var c=a.attribs[o];return c.enabled=!0,n.enableVertexAttribArray.apply(this,arguments)},t.disableVertexAttribArray=function(o){var a=r.currentVertexArrayObject;a.maxAttrib=Math.max(a.maxAttrib,o);var c=a.attribs[o];return c.enabled=!1,n.disableVertexAttribArray.apply(this,arguments)},t.bindBuffer=function(o,a){switch(o){case 34962:r.currentArrayBuffer=a;break;case 34963:r.currentVertexArrayObject.elementArrayBuffer=a;break;default:}return n.bindBuffer.apply(this,arguments)},t.getVertexAttrib=function(o,a){var c=r.currentVertexArrayObject,f=c.attribs[o];switch(a){case 34975:return f.buffer;case 34338:return f.enabled;case 34339:return f.size;case 34340:return f.stride;case 34341:return f.type;case 34922:return f.normalized;default:return n.getVertexAttrib.apply(this,arguments)}},t.vertexAttribPointer=function(o,a,c,f,p,b){var g=r.currentVertexArrayObject;g.maxAttrib=Math.max(g.maxAttrib,o);var v=g.attribs[o];return v.buffer=r.currentArrayBuffer,v.size=a,v.type=c,v.normalized=f,v.stride=p,v.offset=b,v.recache(),n.vertexAttribPointer.apply(this,arguments)},t.instrumentExtension&&t.instrumentExtension(this,"OES_vertex_array_object"),t.canvas&&t.canvas.addEventListener("webglcontextrestored",function(){Dd("OESVertexArrayObject emulation library context restored"),r.reset_()},!0),this.reset_()};Ce.prototype.VERTEX_ARRAY_BINDING_OES=34229;Ce.prototype.reset_=function(){var t=this.vertexArrayObjects!==void 0;if(t)for(var r=0;r<this.vertexArrayObjects.length;++r)this.vertexArrayObjects.isAlive=!1;var n=this.gl;this.maxVertexAttribs=n.getParameter(34921),this.defaultVertexArrayObject=new Xt(this),this.currentVertexArrayObject=null,this.currentArrayBuffer=null,this.vertexArrayObjects=[this.defaultVertexArrayObject],this.bindVertexArrayOES(null)};Ce.prototype.createVertexArrayOES=function(){var t=new Xt(this);return this.vertexArrayObjects.push(t),t};Ce.prototype.deleteVertexArrayOES=function(t){t.isAlive=!1,this.vertexArrayObjects.splice(this.vertexArrayObjects.indexOf(t),1),this.currentVertexArrayObject===t&&this.bindVertexArrayOES(null)};Ce.prototype.isVertexArrayOES=function(t){return!!(t&&t instanceof Xt&&t.hasBeenBound&&t.ext===this)};Ce.prototype.bindVertexArrayOES=function(t){var r=this.gl;if(t&&!t.isAlive){Cd(1282,"bindVertexArrayOES: attempt to bind deleted arrayObject");return}var n=this.original,i=this.currentVertexArrayObject;this.currentVertexArrayObject=t||this.defaultVertexArrayObject,this.currentVertexArrayObject.hasBeenBound=!0;var o=this.currentVertexArrayObject;if(i!==o){(!i||o.elementArrayBuffer!==i.elementArrayBuffer)&&n.bindBuffer.call(r,34963,o.elementArrayBuffer);for(var a=this.currentArrayBuffer,c=Math.max(i?i.maxAttrib:0,o.maxAttrib),f=0;f<=c;f++){var p=o.attribs[f],b=i?i.attribs[f]:null;if((!i||p.enabled!==b.enabled)&&(p.enabled?n.enableVertexAttribArray.call(r,f):n.disableVertexAttribArray.call(r,f)),p.enabled){var g=!1;(!i||p.buffer!==b.buffer)&&(a!==p.buffer&&(n.bindBuffer.call(r,34962,p.buffer),a=p.buffer),g=!0),(g||p.cached!==b.cached)&&n.vertexAttribPointer.call(r,f,p.size,p.type,p.normalized,p.stride,p.offset)}}this.currentArrayBuffer!==a&&n.bindBuffer.call(r,34962,this.currentArrayBuffer)}};function uu(e){if(typeof e.createVertexArray!="function"){var t=e.getSupportedExtensions;e.getSupportedExtensions=function(){var i=t.call(this)||[];return i.indexOf("OES_vertex_array_object")<0&&i.push("OES_vertex_array_object"),i};var r=e.getExtension;e.getExtension=function(i){var o=r.call(this,i);return o||(i!=="OES_vertex_array_object"?null:(e.__OESVertexArrayObject||(this.__OESVertexArrayObject=new Ce(this)),this.__OESVertexArrayObject))}}}var Nd="Invalid WebGLRenderingContext";var kd="Requires WebGL2";function go(e){return typeof WebGLRenderingContext<"u"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&Number.isFinite(e._version))}function $(e){return typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&e._version===2)}function Kt(e){return $(e)?e:null}function Zr(e){return k(go(e),Nd),e}function fu(e){return k($(e),kd),e}var X;function Yt(e){return Yt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Yt(e)}function Y(e,t,r){return t=Md(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Md(e){var t=Vd(e,"string");return Yt(t)==="symbol"?t:String(t)}function Vd(e,t){if(Yt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Yt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var cu="OES_element_index",su="WEBGL_draw_buffers",Ud="EXT_disjoint_timer_query",zd="EXT_disjoint_timer_query_webgl2",Hd="EXT_texture_filter_anisotropic",lu="WEBGL_debug_renderer_info",$d=35723,Xd=4352,Kd=36795,Yd=34047,qd=37445,Qd=37446,Z=function(t){return $(t)?void 0:0},Zd=(X={},Y(X,3074,function(e){return $(e)?void 0:36064}),Y(X,$d,function(e){return $(e)?void 0:Xd}),Y(X,35977,Z),Y(X,32937,Z),Y(X,Kd,function(e,t){var r=$(e)?e.getExtension(zd):e.getExtension(Ud);return r&&r.GPU_DISJOINT_EXT?t(r.GPU_DISJOINT_EXT):0}),Y(X,qd,function(e,t){var r=e.getExtension(lu);return t(r&&r.UNMASKED_VENDOR_WEBGL||7936)}),Y(X,Qd,function(e,t){var r=e.getExtension(lu);return t(r&&r.UNMASKED_RENDERER_WEBGL||7937)}),Y(X,Yd,function(e,t){var r,n=((r=e.luma)===null||r===void 0||(r=r.extensions)===null||r===void 0?void 0:r[Hd])||e.getExtension("EXT_texture_filter_anisotropic");return n?t(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1}),Y(X,32883,Z),Y(X,35071,Z),Y(X,37447,Z),Y(X,36063,function(e,t){if(!$(e)){var r=e.getExtension(su);return r?t(r.MAX_COLOR_ATTACHMENTS_WEBGL):0}}),Y(X,35379,Z),Y(X,35374,Z),Y(X,35377,Z),Y(X,34852,function(e){if(!$(e)){var t=e.getExtension(su);return t?t.MAX_DRAW_BUFFERS_WEBGL:0}}),Y(X,36203,function(e){return e.getExtension(cu)?2147483647:65535}),Y(X,33001,function(e){return e.getExtension(cu)?16777216:65535}),Y(X,33e3,function(e){return 16777216}),Y(X,37157,Z),Y(X,35373,Z),Y(X,35657,Z),Y(X,36183,Z),Y(X,37137,Z),Y(X,34045,Z),Y(X,35978,Z),Y(X,35979,Z),Y(X,35968,Z),Y(X,35376,Z),Y(X,35375,Z),Y(X,35659,Z),Y(X,37154,Z),Y(X,35371,Z),Y(X,35658,Z),Y(X,35076,Z),Y(X,35077,Z),Y(X,35380,Z),X);function pu(e,t,r){var n=Zd[r],i=typeof n=="function"?n(e,t,r):n,o=i!==void 0?i:t(r);return o}function lt(e){var t=e.luma;if(!t){var r={_polyfilled:!1,_extensions:{}};e.luma=r}return e.luma}var pt;function qt(e){return qt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},qt(e)}function Jr(e,t,r){return t=Jd(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Jd(e){var t=eh(e,"string");return qt(t)==="symbol"?t:String(t)}function eh(e,t){if(qt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(qt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var th="OES_vertex_array_object",du="ANGLE_instanced_arrays",rh="WEBGL_draw_buffers",nh="EXT_disjoint_timer_query",oh="EXT_texture_filter_anisotropic",ih="VertexArray requires WebGL2 or OES_vertex_array_object extension";function ah(e,t){return{webgl2:$(e),ext:e.getExtension(t)}}var vo=(pt={},Jr(pt,th,{meta:{suffix:"OES"},createVertexArray:function(){k(!1,ih)},deleteVertexArray:function(){},bindVertexArray:function(){},isVertexArray:function(){return!1}}),Jr(pt,du,{meta:{suffix:"ANGLE"},vertexAttribDivisor:function(t,r){k(r===0,"WebGL instanced rendering not supported")},drawElementsInstanced:function(){},drawArraysInstanced:function(){}}),Jr(pt,rh,{meta:{suffix:"WEBGL"},drawBuffers:function(){k(!1)}}),Jr(pt,nh,{meta:{suffix:"EXT"},createQuery:function(){k(!1)},deleteQuery:function(){k(!1)},beginQuery:function(){k(!1)},endQuery:function(){},getQuery:function(t,r){return this.getQueryObject(t,r)},getQueryParameter:function(t,r){return this.getQueryObject(t,r)},getQueryObject:function(t,r){}}),pt),en={readBuffer:function(t,r,n){$(t)&&r(n)},getVertexAttrib:function(t,r,n,i){var o=ah(t,du),a=o.webgl2,c=o.ext,f;switch(i){case 35069:f=a?void 0:!1;break;case 35070:f=!a&&!c?0:void 0;break;default:}return f!==void 0?f:r(n,i)},getProgramParameter:function(t,r,n,i){if(!$(t))switch(i){case 35967:return 35981;case 35971:return 0;case 35382:return 0;default:}return r(n,i)},getInternalformatParameter:function(t,r,n,i,o){if(!$(t))switch(o){case 32937:return new Int32Array([0]);default:}var a=t;return a.getInternalformatParameter(n,i,o)},getTexParameter:function(t,r,n,i){switch(i){case 34046:var o=lt(t),a=o._extensions,c=a[oh];i=c&&c.TEXTURE_MAX_ANISOTROPY_EXT||34046;break;default:}return r(n,i)},getParameter:pu,hint:function(t,r,n,i){return r(n,i)}};function mu(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=uh(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
26
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,c;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,c=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw c}}}}function uh(e,t){if(e){if(typeof e=="string")return hu(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return hu(e,t)}}function hu(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function tn(e){var t=lt(e);return t._polyfilled||(uu(e),fh(e),ch(e,vo),lh(e,{target:t,target2:e}),t._polyfilled=!0),e}function fh(e){var t=lt(e),r=e.getSupportedExtensions()||[],n=mu(r),i;try{for(n.s();!(i=n.n()).done;){var o=i.value,a=e.getExtension(o);t._extensions[o]=a}}catch(c){n.e(c)}finally{n.f()}}function ch(e,t){var r=lt(e),n=mu(Object.getOwnPropertyNames(t)),i;try{for(n.s();!(i=n.n()).done;){var o=i.value;o!=="overrides"&&sh(e,{extension:o,target:r,target2:e})}}catch(a){n.e(a)}finally{n.f()}}function sh(e,t){var r=t.extension,n=t.target,i=t.target2,o=vo[r];k(o);for(var a=o.meta,c=a===void 0?{}:a,f=c.suffix,p=f===void 0?"":f,b=e.getExtension(r),g=function(){var E=S[v],A="".concat(E).concat(p),x=null;E==="meta"||typeof e[E]=="function"||(b&&typeof b[A]=="function"?x=function(){return b[A].apply(b,arguments)}:typeof o[E]=="function"&&(x=o[E].bind(n))),x&&(n[E]=x,i[E]=x)},v=0,S=Object.keys(o);v<S.length;v++)g()}function lh(e,t){var r=t.target,n=t.target2;Object.keys(en).forEach(function(i){if(typeof en[i]=="function"){var o=e[i]?e[i].bind(e):function(){},a=en[i].bind(null,e,o);r[i]=a,n[i]=a}})}var B,L,ye;function Zt(e){return Zt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Zt(e)}function wo(e,t){return hh(e)||dh(e,t)||gu(e,t)||ph()}function ph(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
27
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function dh(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,c=[],f=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=o.call(r)).done)&&(c.push(n.value),c.length!==t);f=!0);}catch(b){p=!0,i=b}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return c}}function hh(e){if(Array.isArray(e))return e}function re(e){return bh(e)||yh(e)||gu(e)||mh()}function mh(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
28
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function gu(e,t){if(e){if(typeof e=="string")return So(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return So(e,t)}}function yh(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function bh(e){if(Array.isArray(e))return So(e)}function So(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function y(e,t,r){return t=gh(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function gh(e){var t=vh(e,"string");return Zt(t)==="symbol"?t:String(t)}function vh(e,t){if(Zt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Zt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Jt=(B={},y(B,3042,!1),y(B,32773,new Float32Array([0,0,0,0])),y(B,32777,32774),y(B,34877,32774),y(B,32969,1),y(B,32968,0),y(B,32971,1),y(B,32970,0),y(B,3106,new Float32Array([0,0,0,0])),y(B,3107,[!0,!0,!0,!0]),y(B,2884,!1),y(B,2885,1029),y(B,2929,!1),y(B,2931,1),y(B,2932,513),y(B,2928,new Float32Array([0,1])),y(B,2930,!0),y(B,3024,!0),y(B,35725,null),y(B,36006,null),y(B,36007,null),y(B,34229,null),y(B,34964,null),y(B,2886,2305),y(B,33170,4352),y(B,2849,1),y(B,32823,!1),y(B,32824,0),y(B,10752,0),y(B,32926,!1),y(B,32928,!1),y(B,32938,1),y(B,32939,!1),y(B,3089,!1),y(B,3088,new Int32Array([0,0,1024,1024])),y(B,2960,!1),y(B,2961,0),y(B,2968,4294967295),y(B,36005,4294967295),y(B,2962,519),y(B,2967,0),y(B,2963,4294967295),y(B,34816,519),y(B,36003,0),y(B,36004,4294967295),y(B,2964,7680),y(B,2965,7680),y(B,2966,7680),y(B,34817,7680),y(B,34818,7680),y(B,34819,7680),y(B,2978,[0,0,1024,1024]),y(B,3333,4),y(B,3317,4),y(B,37440,!1),y(B,37441,!1),y(B,37443,37444),y(B,36389,null),y(B,36662,null),y(B,36663,null),y(B,35053,null),y(B,35055,null),y(B,35723,4352),y(B,36010,null),y(B,35977,!1),y(B,3330,0),y(B,3332,0),y(B,3331,0),y(B,3314,0),y(B,32878,0),y(B,3316,0),y(B,3315,0),y(B,32877,0),B),Oe=function(t,r,n){return r?t.enable(n):t.disable(n)},yu=function(t,r,n){return t.hint(n,r)},he=function(t,r,n){return t.pixelStorei(n,r)},bu=function(t,r,n){var i;return n===36006?i=$(t)?36009:36160:i=36008,t.bindFramebuffer(i,r)},Qt=function(t,r,n){var i,o=(i={},y(i,34964,34962),y(i,36662,36662),y(i,36663,36663),y(i,35053,35051),y(i,35055,35052),i),a=o[n];t.bindBuffer(a,r)};function _o(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}var vu=(L={},y(L,3042,Oe),y(L,32773,function(e,t){return e.blendColor.apply(e,re(t))}),y(L,32777,"blendEquation"),y(L,34877,"blendEquation"),y(L,32969,"blendFunc"),y(L,32968,"blendFunc"),y(L,32971,"blendFunc"),y(L,32970,"blendFunc"),y(L,3106,function(e,t){return e.clearColor.apply(e,re(t))}),y(L,3107,function(e,t){return e.colorMask.apply(e,re(t))}),y(L,2884,Oe),y(L,2885,function(e,t){return e.cullFace(t)}),y(L,2929,Oe),y(L,2931,function(e,t){return e.clearDepth(t)}),y(L,2932,function(e,t){return e.depthFunc(t)}),y(L,2928,function(e,t){return e.depthRange.apply(e,re(t))}),y(L,2930,function(e,t){return e.depthMask(t)}),y(L,3024,Oe),y(L,35723,yu),y(L,35725,function(e,t){return e.useProgram(t)}),y(L,36007,function(e,t){return e.bindRenderbuffer(36161,t)}),y(L,36389,function(e,t){var r,n;return(r=(n=e).bindTransformFeedback)===null||r===void 0?void 0:r.call(n,36386,t)}),y(L,34229,function(e,t){return e.bindVertexArray(t)}),y(L,36006,bu),y(L,36010,bu),y(L,34964,Qt),y(L,36662,Qt),y(L,36663,Qt),y(L,35053,Qt),y(L,35055,Qt),y(L,2886,function(e,t){return e.frontFace(t)}),y(L,33170,yu),y(L,2849,function(e,t){return e.lineWidth(t)}),y(L,32823,Oe),y(L,32824,"polygonOffset"),y(L,10752,"polygonOffset"),y(L,35977,Oe),y(L,32926,Oe),y(L,32928,Oe),y(L,32938,"sampleCoverage"),y(L,32939,"sampleCoverage"),y(L,3089,Oe),y(L,3088,function(e,t){return e.scissor.apply(e,re(t))}),y(L,2960,Oe),y(L,2961,function(e,t){return e.clearStencil(t)}),y(L,2968,function(e,t){return e.stencilMaskSeparate(1028,t)}),y(L,36005,function(e,t){return e.stencilMaskSeparate(1029,t)}),y(L,2962,"stencilFuncFront"),y(L,2967,"stencilFuncFront"),y(L,2963,"stencilFuncFront"),y(L,34816,"stencilFuncBack"),y(L,36003,"stencilFuncBack"),y(L,36004,"stencilFuncBack"),y(L,2964,"stencilOpFront"),y(L,2965,"stencilOpFront"),y(L,2966,"stencilOpFront"),y(L,34817,"stencilOpBack"),y(L,34818,"stencilOpBack"),y(L,34819,"stencilOpBack"),y(L,2978,function(e,t){return e.viewport.apply(e,re(t))}),y(L,3333,he),y(L,3317,he),y(L,37440,he),y(L,37441,he),y(L,37443,he),y(L,3330,he),y(L,3332,he),y(L,3331,he),y(L,3314,he),y(L,32878,he),y(L,3316,he),y(L,3315,he),y(L,32877,he),y(L,"framebuffer",function(t,r){var n=r&&"handle"in r?r.handle:r;return t.bindFramebuffer(36160,n)}),y(L,"blend",function(t,r){return r?t.enable(3042):t.disable(3042)}),y(L,"blendColor",function(t,r){return t.blendColor.apply(t,re(r))}),y(L,"blendEquation",function(t,r){var n=typeof r=="number"?[r,r]:r;t.blendEquationSeparate.apply(t,re(n))}),y(L,"blendFunc",function(t,r){var n=r?.length===2?[].concat(re(r),re(r)):r;t.blendFuncSeparate.apply(t,re(n))}),y(L,"clearColor",function(t,r){return t.clearColor.apply(t,re(r))}),y(L,"clearDepth",function(t,r){return t.clearDepth(r)}),y(L,"clearStencil",function(t,r){return t.clearStencil(r)}),y(L,"colorMask",function(t,r){return t.colorMask.apply(t,re(r))}),y(L,"cull",function(t,r){return r?t.enable(2884):t.disable(2884)}),y(L,"cullFace",function(t,r){return t.cullFace(r)}),y(L,"depthTest",function(t,r){return r?t.enable(2929):t.disable(2929)}),y(L,"depthFunc",function(t,r){return t.depthFunc(r)}),y(L,"depthMask",function(t,r){return t.depthMask(r)}),y(L,"depthRange",function(t,r){return t.depthRange.apply(t,re(r))}),y(L,"dither",function(t,r){return r?t.enable(3024):t.disable(3024)}),y(L,"derivativeHint",function(t,r){t.hint(35723,r)}),y(L,"frontFace",function(t,r){return t.frontFace(r)}),y(L,"mipmapHint",function(t,r){return t.hint(33170,r)}),y(L,"lineWidth",function(t,r){return t.lineWidth(r)}),y(L,"polygonOffsetFill",function(t,r){return r?t.enable(32823):t.disable(32823)}),y(L,"polygonOffset",function(t,r){return t.polygonOffset.apply(t,re(r))}),y(L,"sampleCoverage",function(t,r){return t.sampleCoverage.apply(t,re(r))}),y(L,"scissorTest",function(t,r){return r?t.enable(3089):t.disable(3089)}),y(L,"scissor",function(t,r){return t.scissor.apply(t,re(r))}),y(L,"stencilTest",function(t,r){return r?t.enable(2960):t.disable(2960)}),y(L,"stencilMask",function(t,r){r=_o(r)?r:[r,r];var n=r,i=wo(n,2),o=i[0],a=i[1];t.stencilMaskSeparate(1028,o),t.stencilMaskSeparate(1029,a)}),y(L,"stencilFunc",function(t,r){r=_o(r)&&r.length===3?[].concat(re(r),re(r)):r;var n=r,i=wo(n,6),o=i[0],a=i[1],c=i[2],f=i[3],p=i[4],b=i[5];t.stencilFuncSeparate(1028,o,a,c),t.stencilFuncSeparate(1029,f,p,b)}),y(L,"stencilOp",function(t,r){r=_o(r)&&r.length===3?[].concat(re(r),re(r)):r;var n=r,i=wo(n,6),o=i[0],a=i[1],c=i[2],f=i[3],p=i[4],b=i[5];t.stencilOpSeparate(1028,o,a,c),t.stencilOpSeparate(1029,f,p,b)}),y(L,"viewport",function(t,r){return t.viewport.apply(t,re(r))}),L);function ne(e,t,r){return t[e]!==void 0?t[e]:r[e]}var wu={blendEquation:function(t,r,n){return t.blendEquationSeparate(ne(32777,r,n),ne(34877,r,n))},blendFunc:function(t,r,n){return t.blendFuncSeparate(ne(32969,r,n),ne(32968,r,n),ne(32971,r,n),ne(32970,r,n))},polygonOffset:function(t,r,n){return t.polygonOffset(ne(32824,r,n),ne(10752,r,n))},sampleCoverage:function(t,r,n){return t.sampleCoverage(ne(32938,r,n),ne(32939,r,n))},stencilFuncFront:function(t,r,n){return t.stencilFuncSeparate(1028,ne(2962,r,n),ne(2967,r,n),ne(2963,r,n))},stencilFuncBack:function(t,r,n){return t.stencilFuncSeparate(1029,ne(34816,r,n),ne(36003,r,n),ne(36004,r,n))},stencilOpFront:function(t,r,n){return t.stencilOpSeparate(1028,ne(2964,r,n),ne(2965,r,n),ne(2966,r,n))},stencilOpBack:function(t,r,n){return t.stencilOpSeparate(1029,ne(34817,r,n),ne(34818,r,n),ne(34819,r,n))}},Oo={enable:function(t,r){return t(y({},r,!0))},disable:function(t,r){return t(y({},r,!1))},pixelStorei:function(t,r,n){return t(y({},r,n))},hint:function(t,r,n){return t(y({},r,n))},useProgram:function(t,r){return t(y({},35725,r))},bindRenderbuffer:function(t,r,n){return t(y({},36007,n))},bindTransformFeedback:function(t,r,n){return t(y({},36389,n))},bindVertexArray:function(t,r){return t(y({},34229,r))},bindFramebuffer:function(t,r,n){var i;switch(r){case 36160:return t((i={},y(i,36006,n),y(i,36010,n),i));case 36009:return t(y({},36006,n));case 36008:return t(y({},36010,n));default:return null}},bindBuffer:function(t,r,n){var i,o=(i={},y(i,34962,[34964]),y(i,36662,[36662]),y(i,36663,[36663]),y(i,35051,[35053]),y(i,35052,[35055]),i)[r];return o?t(y({},o,n)):{valueChanged:!0}},blendColor:function(t,r,n,i,o){return t(y({},32773,new Float32Array([r,n,i,o])))},blendEquation:function(t,r){var n;return t((n={},y(n,32777,r),y(n,34877,r),n))},blendEquationSeparate:function(t,r,n){var i;return t((i={},y(i,32777,r),y(i,34877,n),i))},blendFunc:function(t,r,n){var i;return t((i={},y(i,32969,r),y(i,32968,n),y(i,32971,r),y(i,32970,n),i))},blendFuncSeparate:function(t,r,n,i,o){var a;return t((a={},y(a,32969,r),y(a,32968,n),y(a,32971,i),y(a,32970,o),a))},clearColor:function(t,r,n,i,o){return t(y({},3106,new Float32Array([r,n,i,o])))},clearDepth:function(t,r){return t(y({},2931,r))},clearStencil:function(t,r){return t(y({},2961,r))},colorMask:function(t,r,n,i,o){return t(y({},3107,[r,n,i,o]))},cullFace:function(t,r){return t(y({},2885,r))},depthFunc:function(t,r){return t(y({},2932,r))},depthRange:function(t,r,n){return t(y({},2928,new Float32Array([r,n])))},depthMask:function(t,r){return t(y({},2930,r))},frontFace:function(t,r){return t(y({},2886,r))},lineWidth:function(t,r){return t(y({},2849,r))},polygonOffset:function(t,r,n){var i;return t((i={},y(i,32824,r),y(i,10752,n),i))},sampleCoverage:function(t,r,n){var i;return t((i={},y(i,32938,r),y(i,32939,n),i))},scissor:function(t,r,n,i,o){return t(y({},3088,new Int32Array([r,n,i,o])))},stencilMask:function(t,r){var n;return t((n={},y(n,2968,r),y(n,36005,r),n))},stencilMaskSeparate:function(t,r,n){return t(y({},r===1028?2968:36005,n))},stencilFunc:function(t,r,n,i){var o;return t((o={},y(o,2962,r),y(o,2967,n),y(o,2963,i),y(o,34816,r),y(o,36003,n),y(o,36004,i),o))},stencilFuncSeparate:function(t,r,n,i,o){var a;return t((a={},y(a,r===1028?2962:34816,n),y(a,r===1028?2967:36003,i),y(a,r===1028?2963:36004,o),a))},stencilOp:function(t,r,n,i){var o;return t((o={},y(o,2964,r),y(o,2965,n),y(o,2966,i),y(o,34817,r),y(o,34818,n),y(o,34819,i),o))},stencilOpSeparate:function(t,r,n,i,o){var a;return t((a={},y(a,r===1028?2964:34817,n),y(a,r===1028?2965:34818,i),y(a,r===1028?2966:34819,o),a))},viewport:function(t,r,n,i,o){return t(y({},2978,[r,n,i,o]))}},Pe=function(t,r){return t.isEnabled(r)},Po=(ye={},y(ye,3042,Pe),y(ye,2884,Pe),y(ye,2929,Pe),y(ye,3024,Pe),y(ye,32823,Pe),y(ye,32926,Pe),y(ye,32928,Pe),y(ye,3089,Pe),y(ye,2960,Pe),y(ye,35977,Pe),ye),_u=new Set([34016,36388,36387,35983,35368,34965,35739,35738,3074,34853,34854,34855,34856,34857,34858,34859,34860,34861,34862,34863,34864,34865,34866,34867,34868,35097,32873,35869,32874,34068]);function wh(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=_h(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
29
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,c;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,c=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw c}}}}function _h(e,t){if(e){if(typeof e=="string")return Su(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Su(e,t)}}function Su(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function be(e,t){var r=le.attach(e),n=r.gl;if(!Sh(t)){var i={};for(var o in t){var a=Number(o),c=vu[o];c&&(typeof c=="string"?i[c]=!0:c(n,t[o],a))}var f=n.state&&n.state.cache;if(f)for(var p in i){var b=wu[p];b(n,t,f)}}}function rn(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Jt,r=le.attach(e),n=r.gl;if(typeof t=="number"){var i=t,o=Po[i];return o?o(n,i):n.getParameter(i)}var a=Array.isArray(t)?t:Object.keys(t),c={},f=wh(a),p;try{for(f.s();!(p=f.n()).done;){var b=p.value,g=Po[b];c[b]=g?g(n,Number(b)):n.getParameter(Number(b))}}catch(v){f.e(v)}finally{f.f()}return c}function Ou(e){be(e,Jt)}function Sh(e){for(var t in e)return!1;return!0}function Pu(e,t){if(e===t)return!0;var r=Array.isArray(e)||ArrayBuffer.isView(e),n=Array.isArray(t)||ArrayBuffer.isView(t);if(r&&n&&e.length===t.length){for(var i=0;i<e.length;++i)if(e[i]!==t[i])return!1;return!0}return!1}function er(e){return er=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},er(e)}function xu(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Ph(n.key),n)}}function Oh(e,t,r){return t&&xu(e.prototype,t),r&&xu(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ph(e){var t=xh(e,"string");return er(t)==="symbol"?t:String(t)}function xh(e,t){if(er(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(er(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Eh(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var Th=function(){function e(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=n.copyState,o=i===void 0?!1:i,a=n.log,c=a===void 0?function(){}:a;Eh(this,e),this.gl=void 0,this.program=null,this.stateStack=[],this.enable=!0,this.cache=void 0,this.log=void 0,this.gl=r,this.cache=o?rn(r):Object.assign({},Jt),this.log=c,this._updateCache=this._updateCache.bind(this),Object.seal(this)}var t=e.prototype;return t.push=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.stateStack.push({})},t.pop=function(){k(this.stateStack.length>0);var n=this.stateStack[this.stateStack.length-1];be(this.gl,n),this.stateStack.pop()},t._updateCache=function(n){var i=!1,o,a=this.stateStack.length>0?this.stateStack[this.stateStack.length-1]:null;for(var c in n){k(c!==void 0);var f=n[c],p=this.cache[c];Pu(f,p)||(i=!0,o=p,a&&!(c in a)&&(a[c]=p),this.cache[c]=f)}return{valueChanged:i,oldValue:o}},Oh(e)}();function We(e){return e.state}function tr(e,t){var r=t.enable,n=r===void 0?!0:r,i=t.copyState;if(k(i!==void 0),!e.state){e.state=new Th(e,{copyState:i}),Lh(e);for(var o in Oo){var a=Oo[o];Ah(e,o,a)}Eu(e,"getParameter"),Eu(e,"isEnabled")}var c=We(e);return c.enable=n,e}function _e(e){var t=We(e);t||(tr(e,{copyState:!1}),t=We(e)),t.push()}function ge(e){var t=We(e);k(t),t.pop()}function Eu(e,t){var r=e[t].bind(e);e[t]=function(i){if(i===void 0||_u.has(i))return r(i);var o=We(e);return i in o.cache||(o.cache[i]=r(i)),o.enable?o.cache[i]:r(i)},Object.defineProperty(e[t],"name",{value:"".concat(t,"-from-cache"),configurable:!1})}function Ah(e,t,r){if(e[t]){var n=e[t].bind(e);e[t]=function(){for(var o=We(e),a=arguments.length,c=new Array(a),f=0;f<a;f++)c[f]=arguments[f];var p=r.apply(void 0,[o._updateCache].concat(c)),b=p.valueChanged,g=p.oldValue;return b&&n.apply(void 0,c),g},Object.defineProperty(e[t],"name",{value:"".concat(t,"-to-cache"),configurable:!1})}}function Lh(e){var t=e.useProgram.bind(e);e.useProgram=function(n){var i=We(e);i.program!==n&&(t(n),i.program=n)}}function rr(e){return rr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},rr(e)}function Tu(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function dt(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Tu(Object(r),!0).forEach(function(n){jh(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Tu(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function jh(e,t,r){return t=Rh(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Rh(e){var t=Gh(e,"string");return rr(t)==="symbol"?t:String(t)}function Gh(e,t){if(rr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(rr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Bh={webgl2:!0,webgl1:!0,powerPreference:"high-performance",onContextLost:function(){return console.error("WebGL context lost")},onContextRestored:function(){return console.info("WebGL context restored")}};function Au(e,t){t=dt(dt({},Bh),t);var r=null,n=function(b){return r=b.statusMessage||r};e.addEventListener("webglcontextcreationerror",n,!1);var i=null;if(t.type==="webgl2"&&(t=dt(dt({},t),{},{webgl1:!1})),t.type==="webgl1"&&(t=dt(dt({},t),{},{webgl2:!1})),!i&&t.webgl2&&(i=e.getContext("webgl2",t)),!i&&t.webgl1&&(i=e.getContext("webgl",t)),e.removeEventListener("webglcontextcreationerror",n,!1),!i)throw new Error("Failed to create ".concat(t.webgl2&&!t.webgl1?"WebGL2":"WebGL"," context: ").concat(r||"Unknown error"));if(t.onContextLost){var o=t,a=o.onContextLost;e.addEventListener("webglcontextlost",function(p){return a(p)},!1)}if(t.onContextRestored){var c=t,f=c.onContextRestored;e.addEventListener("webglcontextrestored",function(p){return f(p)},!1)}return i}function Lu(e){var t=e.getParameter(7936),r=e.getParameter(7937),n=e.getExtension("WEBGL_debug_renderer_info"),i=e.getParameter(n?n.UNMASKED_VENDOR_WEBGL:7936),o=e.getParameter(n?n.UNMASKED_RENDERER_WEBGL:7937),a=i||t,c=o||r,f=e.getParameter(7938),p=Ih(a,c),b=Fh(a,c),g="glsl",v=$(e)?300:100;return{type:$(e)?"webgl2":"webgl",gpu:p,gpuBackend:b,vendor:a,renderer:c,version:f,shadingLanguage:g,shadingLanguageVersion:v}}function Ih(e,t){return/NVIDIA/i.exec(e)||/NVIDIA/i.exec(t)?"nvidia":/INTEL/i.exec(e)||/INTEL/i.exec(t)?"intel":/Apple/i.exec(e)||/Apple/i.exec(t)?"apple":/AMD/i.exec(e)||/AMD/i.exec(t)||/ATI/i.exec(e)||/ATI/i.exec(t)?"amd":/SwiftShader/i.exec(e)||/SwiftShader/i.exec(t)?"software":"unknown"}function Fh(e,t){return/ANGLE/i.exec(e)||/ANGLE/i.exec(t)?"angle":/Metal/i.exec(e)||/Metal/i.exec(t)?"metal":"unknown"}function ju(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=typeof window<"u"?window.navigator||{}:{},r=e.userAgent||t.userAgent||"",n=r.indexOf("MSIE ")!==-1,i=r.indexOf("Trident/")!==-1;return n||i}function nn(e){switch(e){case"uint8":return 5121;case"sint8":return 5120;case"unorm8":return 5121;case"snorm8":return 5120;case"uint16":return 5123;case"sint16":return 5122;case"unorm16":return 5123;case"snorm16":return 5122;case"uint32":return 5125;case"sint32":return 5124;case"float16":return 5131;case"float32":return 5126}throw new Error(String(e))}var ce,xe;function ar(e){return ar=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ar(e)}function Dh(e,t){return kh(e)||Nh(e,t)||Wh(e,t)||Ch()}function Ch(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
30
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Wh(e,t){if(e){if(typeof e=="string")return Ru(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ru(e,t)}}function Ru(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Nh(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,c=[],f=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=o.call(r)).done)&&(c.push(n.value),c.length!==t);f=!0);}catch(b){p=!0,i=b}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return c}}function kh(e){if(Array.isArray(e))return e}function oe(e,t,r){return t=Mh(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Mh(e){var t=Vh(e,"string");return ar(t)==="symbol"?t:String(t)}function Vh(e,t){if(ar(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(ar(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var ue="texture-compression-bc",q="texture-compression-astc",Ee="texture-compression-etc2",Uh="texture-compression-etc1-webgl",on="texture-compression-pvrtc-webgl",xo="texture-compression-atc-webgl",nr="WEBGL_compressed_texture_s3tc",or="WEBGL_compressed_texture_s3tc_srgb",ht="EXT_texture_compression_rgtc",ir="EXT_texture_compression_bptc",zh="WEBGL_compressed_texture_etc",Hh="WEBGL_compressed_texture_astc",$h="WEBGL_compressed_texture_etc1",Xh="WEBGL_compressed_texture_pvrtc",Kh="WEBGL_compressed_texture_atc",Gu="EXT_sRGB",Le="EXT_texture_norm16",Yh="WEBGL_color_buffer_float",qh="EXT_color_buffer_float",Se=function(t,r){return t.getExtension(r)},Ne=function(t,r){return r.every(function(n){return t.getExtension(n)})},Eo={"texture-blend-float-webgl1":function(t){return $(t)?!0:Se(t,"EXT_float_blend")},"texture-formats-srgb-webgl1":function(t){return $(t)?!0:Se(t,Gu)},"texture-formats-depth-webgl1":function(t){return $(t)?!0:Se(t,"WEBGL_depth_texture")},"texture-formats-float32-webgl1":function(t){return $(t)?!0:Se(t,"OES_texture_float")},"texture-formats-float16-webgl1":function(t){return $(t)?!0:Se(t,"OES_texture_half_float")},"texture-formats-norm16-webgl":function(t){return $(t)?Se(t,Le):!1},"texture-filter-linear-float32-webgl":function(t){return Se(t,"OES_texture_float_linear")},"texture-filter-linear-float16-webgl":function(t){return Se(t,"OES_texture_half_float_linear")},"texture-filter-anisotropic-webgl":function(t){return Se(t,"EXT_texture_filter_anisotropic")},"texture-renderable-float32-webgl":function(t){return Se(t,"EXT_color_buffer_float")},"texture-renderable-float16-webgl":function(t){return Se(t,"EXT_color_buffer_half_float")},"texture-compression-bc":function(t){return Ne(t,[nr,or,ht,ir])},"texture-compression-bc5-webgl":function(t){return Ne(t,[ht])},"texture-compression-etc2":function(t){return Ne(t,[zh])},"texture-compression-astc":function(t){return Ne(t,[Hh])},"texture-compression-etc1-webgl":function(t){return Ne(t,[$h])},"texture-compression-pvrtc-webgl":function(t){return Ne(t,[Xh])},"texture-compression-atc-webgl":function(t){return Ne(t,[Kh])}};function Qh(e,t){var r;return((r=Eo[t])===null||r===void 0?void 0:r.call(Eo,e))||!1}function Bu(e){var t=Object.keys(Eo);return t.filter(function(r){return Qh(e,r)})}var ke={"rgb8unorm-unsized":{gl:6407,gl1:6407,b:4,c:2,bpp:4,dataFormat:6407,types:[5121,33635]},"rgba8unorm-unsized":{gl:6408,gl1:6408,b:4,c:2,bpp:4,dataFormat:6408,types:[5121,32819,32820]},r8unorm:{gl:33321,b:1,c:1,renderbuffer:!0},r8snorm:{gl:36756,b:1,c:1},r8uint:{gl:33330,b:1,c:1,renderbuffer:!0},r8sint:{gl:33329,b:1,c:1,renderbuffer:!0},rg8unorm:{gl:33323,b:2,c:2,renderbuffer:!0},rg8snorm:{gl:36757,b:2,c:2},rg8uint:{gl:33336,b:2,c:2,renderbuffer:!0},rg8sint:{gl:33335,b:2,c:2,renderbuffer:!0},r16uint:{gl:33332,b:2,c:1,renderbuffer:!0},r16sint:{gl:33331,b:2,c:1,renderbuffer:!0},r16float:{gl:33325,b:2,c:1,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl",renderbuffer:!0},"r16unorm-webgl":{gl:33322,b:2,c:1,f:"texture-formats-norm16-webgl",renderbuffer:!0,x:Le},"r16snorm-webgl":{gl:36760,b:2,c:1,f:"texture-formats-norm16-webgl",x:Le},"rgba4unorm-webgl":{gl:32854,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb565unorm-webgl":{gl:36194,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb5a1unorm-webgl":{gl:32855,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb8unorm-webgl":{gl:32849,b:3,c:3,wgpu:!1},"rgb8snorm-webgl":{gl:36758,b:3,c:3,wgpu:!1},rgba8unorm:{gl:32856,gl1:6408,b:4,c:2,bpp:4},"rgba8unorm-srgb":{gl:35907,gl1:35906,b:4,c:4,gl1ext:Gu,bpp:4},rgba8snorm:{gl:36759,b:4,c:4},rgba8uint:{gl:36220,b:4,c:4,bpp:4},rgba8sint:{gl:36238,b:4,c:4,bpp:4},bgra8unorm:{b:4,c:4},"bgra8unorm-srgb":{b:4,c:4},rg16uint:{gl:33338,b:4,c:1,bpp:4},rg16sint:{gl:33337,b:4,c:2,bpp:4},rg16float:{gl:33327,bpp:4,b:4,c:2,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl",renderbuffer:!0},"rg16unorm-webgl":{gl:33324,b:2,c:2,f:"texture-formats-norm16-webgl",x:Le},"rg16snorm-webgl":{gl:36761,b:2,c:2,f:"texture-formats-norm16-webgl",x:Le},r32uint:{gl:33334,b:4,c:1,bpp:4,renderbuffer:!0},r32sint:{gl:33333,b:4,c:1,bpp:4,renderbuffer:!0},r32float:{gl:33326,bpp:4,b:4,c:1,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl"},rgb9e5ufloat:{gl:35901,b:4,c:3,p:1,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},rg11b10ufloat:{gl:35898,b:4,c:3,p:1,render:"texture-renderable-float32-webgl",renderbuffer:!0},rgb10a2unorm:{gl:32857,b:4,c:4,p:1,renderbuffer:!0},"rgb10a2unorm-webgl":{b:4,c:4,gl:36975,p:1,wgpu:!1,bpp:4,renderbuffer:!0},"rgb16unorm-webgl":{gl:32852,b:2,c:3,f:"texture-formats-norm16-webgl",x:Le},"rgb16snorm-webgl":{gl:36762,b:2,c:3,f:"texture-formats-norm16-webgl",x:Le},rg32uint:{gl:33340,b:8,c:2,renderbuffer:!0},rg32sint:{gl:33339,b:8,c:2,renderbuffer:!0},rg32float:{gl:33328,b:8,c:2,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",renderbuffer:!0},rgba16uint:{gl:36214,b:8,c:4,renderbuffer:!0},rgba16sint:{gl:36232,b:8,c:4,renderbuffer:!0},rgba16float:{gl:34842,gl1:6408,b:8,c:4,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},"rgba16unorm-webgl":{gl:32859,b:2,c:4,f:"texture-formats-norm16-webgl",renderbuffer:!0,x:Le},"rgba16snorm-webgl":{gl:36763,b:2,c:4,f:"texture-formats-norm16-webgl",x:Le},"rgb32float-webgl":{gl:34837,gl1:6407,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",gl2ext:qh,gl1ext:Yh,dataFormat:6407,types:[5126]},rgba32uint:{gl:36208,b:16,c:4,renderbuffer:!0},rgba32sint:{gl:36226,b:16,c:4,renderbuffer:!0},rgba32float:{gl:34836,b:16,c:4,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",renderbuffer:!0},stencil8:{gl:36168,gl1:36168,b:1,c:1,attachment:36128,renderbuffer:!0},depth16unorm:{gl:33189,gl1:33189,b:2,c:1,attachment:36096,renderbuffer:!0},depth24plus:{gl:33190,b:3,c:1,attachment:36096},depth32float:{gl:36012,b:4,c:1,attachment:36096,renderbuffer:!0},"depth24plus-stencil8":{gl:34041,gl1:34041,b:4,c:2,p:1,attachment:33306,renderbuffer:!0,depthTexture:!0},"depth24unorm-stencil8":{gl:35056,b:4,c:2,p:1,attachment:33306,renderbuffer:!0},"depth32float-stencil8":{gl:36013,b:5,c:2,p:1,attachment:33306,renderbuffer:!0},"bc1-rgb-unorm-webgl":{gl:33776,x:nr,f:ue},"bc1-rgb-unorm-srgb-webgl":{gl:35916,x:or,f:ue},"bc1-rgba-unorm":{gl:33777,x:nr,f:ue},"bc1-rgba-unorm-srgb":{gl:35916,x:or,f:ue},"bc2-rgba-unorm":{gl:33778,x:nr,f:ue},"bc2-rgba-unorm-srgb":{gl:35918,x:or,f:ue},"bc3-rgba-unorm":{gl:33779,x:nr,f:ue},"bc3-rgba-unorm-srgb":{gl:35919,x:or,f:ue},"bc4-r-unorm":{gl:36283,x:ht,f:ue},"bc4-r-snorm":{gl:36284,x:ht,f:ue},"bc5-rg-unorm":{gl:36285,x:ht,f:ue},"bc5-rg-snorm":{gl:36286,x:ht,f:ue},"bc6h-rgb-ufloat":{gl:36495,x:ir,f:ue},"bc6h-rgb-float":{gl:36494,x:ir,f:ue},"bc7-rgba-unorm":{gl:36492,x:ir,f:ue},"bc7-rgba-unorm-srgb":{gl:36493,x:ir,f:ue},"etc2-rgb8unorm":{gl:37492,f:Ee},"etc2-rgb8unorm-srgb":{gl:37494,f:Ee},"etc2-rgb8a1unorm":{gl:37496,f:Ee},"etc2-rgb8a1unorm-srgb":{gl:37497,f:Ee},"etc2-rgba8unorm":{gl:37493,f:Ee},"etc2-rgba8unorm-srgb":{gl:37495,f:Ee},"eac-r11unorm":{gl:37488,f:Ee},"eac-r11snorm":{gl:37489,f:Ee},"eac-rg11unorm":{gl:37490,f:Ee},"eac-rg11snorm":{gl:37491,f:Ee},"astc-4x4-unorm":{gl:37808,f:q},"astc-4x4-unorm-srgb":{gl:37840,f:q},"astc-5x4-unorm":{gl:37809,f:q},"astc-5x4-unorm-srgb":{gl:37841,f:q},"astc-5x5-unorm":{gl:37810,f:q},"astc-5x5-unorm-srgb":{gl:37842,f:q},"astc-6x5-unorm":{gl:37811,f:q},"astc-6x5-unorm-srgb":{gl:37843,f:q},"astc-6x6-unorm":{gl:37812,f:q},"astc-6x6-unorm-srgb":{gl:37844,f:q},"astc-8x5-unorm":{gl:37813,f:q},"astc-8x5-unorm-srgb":{gl:37845,f:q},"astc-8x6-unorm":{gl:37814,f:q},"astc-8x6-unorm-srgb":{gl:37846,f:q},"astc-8x8-unorm":{gl:37815,f:q},"astc-8x8-unorm-srgb":{gl:37847,f:q},"astc-10x5-unorm":{gl:37819,f:q},"astc-10x5-unorm-srgb":{gl:37851,f:q},"astc-10x6-unorm":{gl:37817,f:q},"astc-10x6-unorm-srgb":{gl:37849,f:q},"astc-10x8-unorm":{gl:37818,f:q},"astc-10x8-unorm-srgb":{gl:37850,f:q},"astc-10x10-unorm":{gl:37819,f:q},"astc-10x10-unorm-srgb":{gl:37851,f:q},"astc-12x10-unorm":{gl:37820,f:q},"astc-12x10-unorm-srgb":{gl:37852,f:q},"astc-12x12-unorm":{gl:37821,f:q},"astc-12x12-unorm-srgb":{gl:37853,f:q},"pvrtc-rgb4unorm-webgl":{gl:35840,f:on},"pvrtc-rgba4unorm-webgl":{gl:35842,f:on},"pvrtc-rbg2unorm-webgl":{gl:35841,f:on},"pvrtc-rgba2unorm-webgl":{gl:35843,f:on},"etc1-rbg-unorm-webgl":{gl:36196,f:Uh},"atc-rgb-unorm-webgl":{gl:35986,f:xo},"atc-rgba-unorm-webgl":{gl:35986,f:xo},"atc-rgbai-unorm-webgl":{gl:34798,f:xo}},Zh=(ce={},oe(ce,6403,1),oe(ce,36244,1),oe(ce,33319,2),oe(ce,33320,2),oe(ce,6407,3),oe(ce,36248,3),oe(ce,6408,4),oe(ce,36249,4),oe(ce,6402,1),oe(ce,34041,1),oe(ce,6406,1),oe(ce,6409,1),oe(ce,6410,2),ce),Jh=(xe={},oe(xe,5126,4),oe(xe,5125,4),oe(xe,5124,4),oe(xe,5123,2),oe(xe,5122,2),oe(xe,5131,2),oe(xe,5120,1),oe(xe,5121,1),xe);function ur(e,t){var r=Me(t),n=ke[r];if(!n||($(e)?n.gl===void 0:n.gl1===void 0))return!1;var i=n.x||$(e)&&n.gl2ext||n.gl1ext;return i?Boolean(e.getExtension(i)):!0}function Iu(e,t){var r;return ur(e,t)&&((r=ke[t])===null||r===void 0?void 0:r.renderbuffer)}function Me(e){if(typeof e=="string")return e;var t=Object.entries(ke).find(function(r){var n=Dh(r,2),i=n[1];return i.gl===e||i.gl1===e});if(!t)throw new Error("Unknown texture format ".concat(e));return t[0]}function fr(e,t){var r=ke[e],n=t?r?.gl:r?.gl1;if(n===void 0)throw new Error("Unsupported texture format ".concat(e));return n}function Fu(e,t){var r=Me(t);if(!ur(e,r))return!1;try{var n=Qr(r);if(n.signed)return!1}catch{return!1}return r.endsWith("32float")?Boolean(e.getExtension("OES_texture_float_linear")):r.endsWith("16float")?Boolean(e.getExtension("OES_texture_half_float_linear")):!0}function Du(e,t){var r=Me(t);return!(!ur(e,r)||typeof r=="number")}function mt(e,t){var r=Me(e),n=fr(r,t),i=Qr(r);return{format:n,dataFormat:em(i.format,i.integer,i.normalized,n),type:i.dataType?nn(i.dataType):5121,compressed:i.compressed}}function Cu(e){var t=ke[e];if(!(t!=null&&t.attachment))throw new Error("".concat(e," is not a depth stencil format"));return t.attachment}function an(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6408,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:6408,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:5121,i=null,o=null;try{i=e.createTexture(),e.bindTexture(3553,i);var a=0,c=1,f=1,p=0,b=new Uint8Array([0,0,255,255]);e.texImage2D(3553,a,t,c,f,p,r,n,b),o=e.createFramebuffer(),e.bindFramebuffer(36160,o),e.framebufferTexture2D(36160,36064,3553,i,0);var g=e.checkFramebufferStatus(36160)===36053;return e.bindTexture(3553,null),g}finally{e.deleteTexture(i),e.deleteFramebuffer(o)}}function cr(e,t){var r=Me(e),n=mt(r,t),i=Zh[n.dataFormat]||4,o=Jh[n.type]||1;return i*o}function em(e,t,r,n){if(n===6408||n===6407)return n;switch(e){case"r":return t&&!r?36244:6403;case"rg":return t&&!r?33320:33319;case"rgb":return t&&!r?36248:6407;case"rgba":return t&&!r?36249:6408;default:return 6408}}function tm(e,t){return om(e)||nm(e,t)||Nu(e,t)||rm()}function rm(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
31
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function nm(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,c=[],f=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=o.call(r)).done)&&(c.push(n.value),c.length!==t);f=!0);}catch(b){p=!0,i=b}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return c}}function om(e){if(Array.isArray(e))return e}function im(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Nu(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
32
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,c;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,c=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw c}}}}function Nu(e,t){if(e){if(typeof e=="string")return Wu(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Wu(e,t)}}function Wu(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function ku(e){var t=am(e),r=im(Bu(e)),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;t.add(i)}}catch(o){r.e(o)}finally{r.f()}return t}function am(e){e.getExtension("EXT_color_buffer_float"),e.getExtension("WEBGL_color_buffer_float"),e.getExtension("EXT_float_blend");for(var t=new Set,r=0,n=Object.keys(Mu);r<n.length;r++){var i=n[r];um(e,i)&&t.add(i)}return t}function um(e,t){var r=Mu[t];if(!r)return!1;var n=r||[],i=tm(n,2),o=i[0],a=i[1],c=$(e)?a:o;if(typeof c=="boolean")return c;switch(t){case"texture-renderable-rgba32float-webgl":return $(e)?Boolean(e.getExtension(c)):an(e);case"glsl-derivatives":return Ao(e,c);case"glsl-frag-data":return Ao(e,c,{behavior:"require"});case"glsl-frag-depth":return Ao(e,c);default:return Boolean(e.getExtension(c))}}var To={};function Ao(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!ju(r))return!0;if(t in To)return To[t];var n=r.behavior||"enable",i="#extension GL_".concat(t," : ").concat(n,`
33
+ void main(void) {}`),o=e.createShader(35633);if(!o)throw new Error("shader");e.shaderSource(o,i),e.compileShader(o);var a=e.getShaderParameter(o,35713);return e.deleteShader(o),To[t]=a,a}var Mu={webgl:[!0,!0],webgl2:[!1,!0],"timer-query-webgl":["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],"transform-feedback-webgl2":[!1,!0],"vertex-array-object-webgl1":["OES_vertex_array_object",!0],"instanced-rendering-webgl1":["ANGLE_instanced_arrays",!0],"multiple-render-targets-webgl1":["WEBGL_draw_buffers",!0],"index-uint32-webgl1":["OES_element_index_uint",!0],"blend-minmax-webgl1":["EXT_blend_minmax",!0],"texture-blend-float-webgl1":["EXT_float_blend","EXT_float_blend"],"texture-formats-srgb-webgl1":["EXT_sRGB",!0],"texture-formats-depth-webgl1":["WEBGL_depth_texture",!0],"texture-formats-float32-webgl1":["OES_texture_float",!0],"texture-formats-float16-webgl1":["OES_texture_half_float",!0],"texture-filter-linear-float32-webgl":["OES_texture_float_linear","OES_texture_float_linear"],"texture-filter-linear-float16-webgl":["OES_texture_half_float_linear","OES_texture_half_float_linear"],"texture-filter-anisotropic-webgl":["EXT_texture_filter_anisotropic","EXT_texture_filter_anisotropic"],"texture-renderable-rgba32float-webgl":["WEBGL_color_buffer_float","EXT_color_buffer_float"],"texture-renderable-float32-webgl":[!1,"EXT_color_buffer_float"],"texture-renderable-float16-webgl":["EXT_color_buffer_half_float","EXT_color_buffer_half_float"],"glsl-frag-data":["WEBGL_draw_buffers",!0],"glsl-frag-depth":["EXT_frag_depth",!0],"glsl-derivatives":["OES_standard_derivatives",!0],"glsl-texture-lod":["EXT_shader_texture_lod",!0]};function sr(e){return sr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},sr(e)}function U(e,t,r){return t=fm(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function fm(e){var t=cm(e,"string");return sr(t)==="symbol"?t:String(t)}function cm(e,t){if(sr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(sr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Vu(e){var t=Kt(e);return{maxTextureDimension1D:0,maxTextureDimension2D:e.getParameter(3379),maxTextureDimension3D:t?t.getParameter(32883):0,maxTextureArrayLayers:t?t.getParameter(35071):0,maxBindGroups:1,maxDynamicUniformBuffersPerPipelineLayout:0,maxDynamicStorageBuffersPerPipelineLayout:0,maxSampledTexturesPerShaderStage:e.getParameter(35660),maxSamplersPerShaderStage:e.getParameter(35661),maxStorageBuffersPerShaderStage:0,maxStorageTexturesPerShaderStage:0,maxUniformBuffersPerShaderStage:t?t.getParameter(35375):0,maxUniformBufferBindingSize:t?t.getParameter(35376):0,maxStorageBufferBindingSize:0,minUniformBufferOffsetAlignment:t?t.getParameter(35380):0,minStorageBufferOffsetAlignment:0,maxVertexBuffers:0,maxVertexAttributes:e.getParameter(34921),maxVertexBufferArrayStride:2048,maxInterStageShaderComponents:t?t.getParameter(35659):0,maxComputeWorkgroupStorageSize:0,maxComputeInvocationsPerWorkgroup:0,maxComputeWorkgroupSizeX:0,maxComputeWorkgroupSizeY:0,maxComputeWorkgroupSizeZ:0,maxComputeWorkgroupsPerDimension:0}}function Uu(e){var t,r=Kt(e);function n(o){return e.getParameter(o)}function i(o,a){return r?r.getParameter(o):a||0}return t={},U(t,33902,n(33902)),U(t,33901,n(33901)),U(t,3379,n(3379)),U(t,34076,n(34076)),U(t,34930,n(34930)),U(t,35661,n(35661)),U(t,35660,n(35660)),U(t,34024,n(34024)),U(t,36348,n(36348)),U(t,34921,n(34921)),U(t,36347,n(36347)),U(t,36349,n(36349)),U(t,3386,n(3386)),U(t,34047,n(34047)),U(t,32883,i(32883)),U(t,35071,i(35071)),U(t,37447,i(37447)),U(t,36063,i(36063)),U(t,35379,i(35379)),U(t,35374,i(35374)),U(t,35377,i(35377)),U(t,34852,i(34852)),U(t,36203,i(36203)),U(t,33001,i(33001)),U(t,33e3,i(33e3)),U(t,37157,i(37157)),U(t,35373,i(35373)),U(t,35657,i(35657)),U(t,36183,i(36183)),U(t,37137,i(37137)),U(t,34045,i(34045)),U(t,35978,i(35978)),U(t,35979,i(35979)),U(t,35968,i(35968)),U(t,35376,i(35376)),U(t,35375,i(35375)),U(t,35659,i(35659)),U(t,37154,i(37154)),U(t,35371,i(35371)),U(t,35658,i(35658)),U(t,35076,i(35076)),U(t,35077,i(35077)),U(t,35380,i(35380)),t}function ve(e,t,r){var n=le.attach(e),i=n.gl;if(sm(t))return r(e);var o=t.nocatch,a=o===void 0?!0:o;_e(i),be(i,t);var c;if(a)c=r(i),ge(i);else try{c=r(i)}finally{ge(i)}return c}function sm(e){for(var t in e)return!1;return!0}function Hu(e,t,r,n){if(Ye(t))return n(e);_e(e.gl);try{return cn(e,t),be(e,r),n(e)}finally{ge(e.gl)}}function $u(e,t,r){if(Ye(t))return r(e);_e(e.gl);try{return cn(e,t),r(e)}finally{ge(e.gl)}}function cn(e,t){var r=le.attach(e),n=r.gl;if(t.cullMode)switch(t.cullMode){case"none":n.disable(2884);break;case"front":n.enable(2884),n.cullFace(1028);break;case"back":n.enable(2884),n.cullFace(1029);break}if(t.frontFace&&n.frontFace(lr("frontFace",t.frontFace,{ccw:2305,cw:2304})),t.depthBias!==void 0&&n.polygonOffset(t.depthBias,t.depthBiasSlopeScale||0),t.depthWriteEnabled!==void 0&&n.depthMask(pm("depthWriteEnabled",t.depthWriteEnabled)),t.depthCompare&&(t.depthCompare!=="always"?n.enable(2929):n.disable(2929),n.depthFunc(fn("depthCompare",t.depthCompare))),t.stencilWriteMask){var i=t.stencilWriteMask;n.stencilMaskSeparate(1028,i),n.stencilMaskSeparate(1029,i)}if(t.stencilReadMask&&F.warn("stencilReadMask not supported under WebGL"),t.stencilCompare){var o=t.stencilReadMask||4294967295,a=fn("depthCompare",t.stencilCompare);t.stencilCompare!=="always"?n.enable(2960):n.disable(2960),n.stencilFuncSeparate(1028,a,0,o),n.stencilFuncSeparate(1029,a,0,o)}if(t.stencilPassOperation&&t.stencilFailOperation&&t.stencilDepthFailOperation){var c=Lo("stencilPassOperation",t.stencilPassOperation),f=Lo("stencilFailOperation",t.stencilFailOperation),p=Lo("stencilDepthFailOperation",t.stencilDepthFailOperation);n.stencilOpSeparate(1028,f,p,c),n.stencilOpSeparate(1029,f,p,c)}if(t.blendColorOperation||t.blendAlphaOperation){n.enable(3042);var b=zu("blendColorOperation",t.blendColorOperation||"add"),g=zu("blendAlphaOperation",t.blendAlphaOperation||"add");n.blendEquationSeparate(b,g);var v=un("blendColorSrcFactor",t.blendColorSrcFactor||"one"),S=un("blendColorDstFactor",t.blendColorDstFactor||"zero"),_=un("blendAlphaSrcFactor",t.blendAlphaSrcFactor||"one"),E=un("blendAlphaDstFactor",t.blendAlphaDstFactor||"zero");n.blendFuncSeparate(v,S,_,E)}}function fn(e,t){return lr(e,t,{never:512,less:513,equal:514,"less-equal":515,greater:516,"not-equal":517,"greater-equal":518,always:519})}function Lo(e,t){return lr(e,t,{keep:7680,zero:0,replace:7681,invert:5386,"increment-clamp":7682,"decrement-clamp":7683,"increment-wrap":34055,"decrement-wrap":34056})}function zu(e,t){return lr(e,t,{add:32774,subtract:32778,"reverse-subtract":32779,min:32775,max:32776})}function un(e,t){return lr(e,t,{one:1,zero:0,"src-color":768,"one-minus-src-color":769,"dst-color":774,"one-minus-dst-color":775,"src-alpha":770,"one-minus-src-alpha":771,"dst-alpha":772,"one-minus-dst-alpha":773})}function lm(e,t){return"Illegal parameter ".concat(t," for ").concat(e)}function lr(e,t,r){if(!(t in r))throw new Error(lm(e,t));return r[t]}function pm(e,t){return t}function pr(e){return pr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},pr(e)}function Xu(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function dm(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Xu(Object(r),!0).forEach(function(n){hm(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Xu(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function hm(e,t,r){return t=mm(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function mm(e){var t=ym(e,"string");return pr(t)==="symbol"?t:String(t)}function ym(e,t){if(pr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(pr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function sn(e){var t={};return e.addressModeU&&(t[10242]=jo(e.addressModeU)),e.addressModeV&&(t[10243]=jo(e.addressModeV)),e.addressModeW&&(t[32882]=jo(e.addressModeW)),e.magFilter&&(t[10240]=Ku(e.magFilter)),(e.minFilter||e.mipmapFilter)&&(t[10241]=bm(e.minFilter||"linear",e.mipmapFilter)),e.lodMinClamp!==void 0&&(t[33082]=e.lodMinClamp),e.lodMaxClamp!==void 0&&(t[33083]=e.lodMaxClamp),e.type==="comparison-sampler"&&(t[34892]=34894),e.compare&&(t[34893]=fn("compare",e.compare)),e.maxAnisotropy&&(t[34046]=e.maxAnisotropy),t}function jo(e){switch(e){case"clamp-to-edge":return 33071;case"repeat":return 10497;case"mirror-repeat":return 33648}}function Ku(e){switch(e){case"nearest":return 9728;case"linear":return 9729}}function bm(e,t){if(!t)return Ku(e);switch(e){case"nearest":return t==="nearest"?9984:9986;case"linear":return t==="nearest"?9985:9987}}function Yu(e){var t=dm({},e);return e[10241]!==9728&&(t[10241]=9729),t[10242]=33071,t[10243]=33071,t}function Ro(){"use strict";Ro=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(l,u,s){l[u]=s.value},i=typeof Symbol=="function"?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function f(l,u,s){return Object.defineProperty(l,u,{value:s,enumerable:!0,configurable:!0,writable:!0}),l[u]}try{f({},"")}catch{f=function(s,d,m){return s[d]=m}}function p(l,u,s,d){var m=u&&u.prototype instanceof v?u:v,h=Object.create(m.prototype),w=new V(d||[]);return n(h,"_invoke",{value:M(l,s,w)}),h}function b(l,u,s){try{return{type:"normal",arg:l.call(u,s)}}catch(d){return{type:"throw",arg:d}}}e.wrap=p;var g={};function v(){}function S(){}function _(){}var E={};f(E,o,function(){return this});var A=Object.getPrototypeOf,x=A&&A(A(W([])));x&&x!==t&&r.call(x,o)&&(E=x);var T=_.prototype=v.prototype=Object.create(E);function R(l){["next","throw","return"].forEach(function(u){f(l,u,function(s){return this._invoke(u,s)})})}function j(l,u){function s(m,h,w,O){var P=b(l[m],l,h);if(P.type!=="throw"){var I=P.arg,G=I.value;return G&&je(G)=="object"&&r.call(G,"__await")?u.resolve(G.__await).then(function(C){s("next",C,w,O)},function(C){s("throw",C,w,O)}):u.resolve(G).then(function(C){I.value=C,w(I)},function(C){return s("throw",C,w,O)})}O(P.arg)}var d;n(this,"_invoke",{value:function(h,w){function O(){return new u(function(P,I){s(h,w,P,I)})}return d=d?d.then(O,O):O()}})}function M(l,u,s){var d="suspendedStart";return function(m,h){if(d==="executing")throw new Error("Generator is already running");if(d==="completed"){if(m==="throw")throw h;return z()}for(s.method=m,s.arg=h;;){var w=s.delegate;if(w){var O=D(w,s);if(O){if(O===g)continue;return O}}if(s.method==="next")s.sent=s._sent=s.arg;else if(s.method==="throw"){if(d==="suspendedStart")throw d="completed",s.arg;s.dispatchException(s.arg)}else s.method==="return"&&s.abrupt("return",s.arg);d="executing";var P=b(l,u,s);if(P.type==="normal"){if(d=s.done?"completed":"suspendedYield",P.arg===g)continue;return{value:P.arg,done:s.done}}P.type==="throw"&&(d="completed",s.method="throw",s.arg=P.arg)}}}function D(l,u){var s=u.method,d=l.iterator[s];if(d===void 0)return u.delegate=null,s==="throw"&&l.iterator.return&&(u.method="return",u.arg=void 0,D(l,u),u.method==="throw")||s!=="return"&&(u.method="throw",u.arg=new TypeError("The iterator does not provide a '"+s+"' method")),g;var m=b(d,l.iterator,u.arg);if(m.type==="throw")return u.method="throw",u.arg=m.arg,u.delegate=null,g;var h=m.arg;return h?h.done?(u[l.resultName]=h.value,u.next=l.nextLoc,u.method!=="return"&&(u.method="next",u.arg=void 0),u.delegate=null,g):h:(u.method="throw",u.arg=new TypeError("iterator result is not an object"),u.delegate=null,g)}function H(l){var u={tryLoc:l[0]};1 in l&&(u.catchLoc=l[1]),2 in l&&(u.finallyLoc=l[2],u.afterLoc=l[3]),this.tryEntries.push(u)}function N(l){var u=l.completion||{};u.type="normal",delete u.arg,l.completion=u}function V(l){this.tryEntries=[{tryLoc:"root"}],l.forEach(H,this),this.reset(!0)}function W(l){if(l){var u=l[o];if(u)return u.call(l);if(typeof l.next=="function")return l;if(!isNaN(l.length)){var s=-1,d=function m(){for(;++s<l.length;)if(r.call(l,s))return m.value=l[s],m.done=!1,m;return m.value=void 0,m.done=!0,m};return d.next=d}}return{next:z}}function z(){return{value:void 0,done:!0}}return S.prototype=_,n(T,"constructor",{value:_,configurable:!0}),n(_,"constructor",{value:S,configurable:!0}),S.displayName=f(_,c,"GeneratorFunction"),e.isGeneratorFunction=function(l){var u=typeof l=="function"&&l.constructor;return!!u&&(u===S||(u.displayName||u.name)==="GeneratorFunction")},e.mark=function(l){return Object.setPrototypeOf?Object.setPrototypeOf(l,_):(l.__proto__=_,f(l,c,"GeneratorFunction")),l.prototype=Object.create(T),l},e.awrap=function(l){return{__await:l}},R(j.prototype),f(j.prototype,a,function(){return this}),e.AsyncIterator=j,e.async=function(l,u,s,d,m){m===void 0&&(m=Promise);var h=new j(p(l,u,s,d),m);return e.isGeneratorFunction(u)?h:h.next().then(function(w){return w.done?w.value:h.next()})},R(T),f(T,c,"Generator"),f(T,o,function(){return this}),f(T,"toString",function(){return"[object Generator]"}),e.keys=function(l){var u=Object(l),s=[];for(var d in u)s.push(d);return s.reverse(),function m(){for(;s.length;){var h=s.pop();if(h in u)return m.value=h,m.done=!1,m}return m.done=!0,m}},e.values=W,V.prototype={constructor:V,reset:function(u){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(N),!u)for(var s in this)s.charAt(0)==="t"&&r.call(this,s)&&!isNaN(+s.slice(1))&&(this[s]=void 0)},stop:function(){this.done=!0;var u=this.tryEntries[0].completion;if(u.type==="throw")throw u.arg;return this.rval},dispatchException:function(u){if(this.done)throw u;var s=this;function d(I,G){return w.type="throw",w.arg=u,s.next=I,G&&(s.method="next",s.arg=void 0),!!G}for(var m=this.tryEntries.length-1;m>=0;--m){var h=this.tryEntries[m],w=h.completion;if(h.tryLoc==="root")return d("end");if(h.tryLoc<=this.prev){var O=r.call(h,"catchLoc"),P=r.call(h,"finallyLoc");if(O&&P){if(this.prev<h.catchLoc)return d(h.catchLoc,!0);if(this.prev<h.finallyLoc)return d(h.finallyLoc)}else if(O){if(this.prev<h.catchLoc)return d(h.catchLoc,!0)}else{if(!P)throw new Error("try statement without catch or finally");if(this.prev<h.finallyLoc)return d(h.finallyLoc)}}}},abrupt:function(u,s){for(var d=this.tryEntries.length-1;d>=0;--d){var m=this.tryEntries[d];if(m.tryLoc<=this.prev&&r.call(m,"finallyLoc")&&this.prev<m.finallyLoc){var h=m;break}}h&&(u==="break"||u==="continue")&&h.tryLoc<=s&&s<=h.finallyLoc&&(h=null);var w=h?h.completion:{};return w.type=u,w.arg=s,h?(this.method="next",this.next=h.finallyLoc,g):this.complete(w)},complete:function(u,s){if(u.type==="throw")throw u.arg;return u.type==="break"||u.type==="continue"?this.next=u.arg:u.type==="return"?(this.rval=this.arg=u.arg,this.method="return",this.next="end"):u.type==="normal"&&s&&(this.next=s),g},finish:function(u){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.finallyLoc===u)return this.complete(d.completion,d.afterLoc),N(d),g}},catch:function(u){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.tryLoc===u){var m=d.completion;if(m.type==="throw"){var h=m.arg;N(d)}return h}}throw new Error("illegal catch attempt")},delegateYield:function(u,s,d){return this.delegate={iterator:W(u),resultName:s,nextLoc:d},this.method==="next"&&(this.arg=void 0),g}},e}function qu(e,t,r,n,i,o,a){try{var c=e[o](a),f=c.value}catch(p){r(p);return}c.done?t(f):Promise.resolve(f).then(n,i)}function gm(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(f){qu(o,n,i,a,c,"next",f)}function c(f){qu(o,n,i,a,c,"throw",f)}a(void 0)})}}function Qu(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Zu(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Qu(Object(r),!0).forEach(function(n){vm(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Qu(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function vm(e,t,r){return t=ef(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function je(e){return je=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},je(e)}function Ju(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,ef(n.key),n)}}function wm(e,t,r){return t&&Ju(e.prototype,t),r&&Ju(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function ef(e){var t=_m(e,"string");return je(t)==="symbol"?t:String(t)}function _m(e,t){if(je(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(je(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Sm(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Om(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Go(e,t)}function Go(e,t){return Go=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Go(e,t)}function Pm(e){var t=Tm();return function(){var n=ln(e),i;if(t){var o=ln(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return xm(this,i)}}function xm(e,t){if(t&&(je(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Em(e)}function Em(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Tm(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function ln(e){return ln=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},ln(e)}var Am=10,pe=function(e){Om(r,e);var t=Pm(r);function r(i){var o,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Sm(this,r),o=t.call(this,i,a),o.device=void 0,o.gl=void 0,o.gl2=void 0,o.handle=void 0,o.glTarget=void 0,o.glUsage=void 0,o.glIndexType=5123,o.byteLength=void 0,o.bytesUsed=void 0,o.debugData=null,o.device=i,o.gl=o.device.gl,o.gl2=o.device.gl2;var c=je(a)==="object"?a.handle:void 0;return o.handle=c||o.gl.createBuffer(),i.setSpectorMetadata(o.handle,Zu(Zu({},o.props),{},{data:je(o.props.data)})),o.glTarget=Lm(o.props.usage),o.glUsage=jm(o.props.usage),o.glIndexType=o.props.indexType==="uint32"?5125:5123,o.debugData=null,a.data?o._initWithData(a.data,a.byteOffset,a.byteLength):o._initWithByteLength(a.byteLength||0),o}var n=r.prototype;return n._initWithData=function(o){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:o.byteLength+a;k(ArrayBuffer.isView(o));var f=this._getWriteTarget();return this.gl.bindBuffer(f,this.handle),this.gl.bufferData(f,c,this.glUsage),this.gl.bufferSubData(f,a,o),this.gl.bindBuffer(f,null),this.debugData=o.slice(0,Am),this.bytesUsed=c,this.byteLength=c,this.trackAllocatedMemory(c),this},n._initWithByteLength=function(o){k(o>=0);var a=o;o===0&&(a=new Float32Array(0));var c=this._getWriteTarget();return this.gl.bindBuffer(c,this.handle),this.gl.bufferData(c,a,this.glUsage),this.gl.bindBuffer(c,null),this.debugData=null,this.bytesUsed=o,this.byteLength=o,this},n.destroy=function(){!this.destroyed&&this.handle&&(this.removeStats(),this.trackDeallocatedMemory(),this.gl.deleteBuffer(this.handle),this.destroyed=!0,this.handle=null)},n.write=function(o){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,c=0,f=void 0,p=this.device.isWebGL2?36663:this.glTarget;this.gl.bindBuffer(p,this.handle),c!==0||f!==void 0?(this.device.assertWebGL2(),this.gl2.bufferSubData(p,a,o,c,f)):this.gl.bufferSubData(p,a,o),this.gl.bindBuffer(p,null)},n.readAsync=function(){var i=gm(Ro().mark(function a(){var c,f,p,b,g,v=arguments;return Ro().wrap(function(_){for(;;)switch(_.prev=_.next){case 0:return f=v.length>0&&v[0]!==void 0?v[0]:0,p=v.length>1?v[1]:void 0,this.device.assertWebGL2(),p=(c=p)!==null&&c!==void 0?c:this.byteLength,b=new Uint8Array(p),g=0,this.gl.bindBuffer(36662,this.handle),this.gl2.getBufferSubData(36662,f,b,g,p),this.gl.bindBuffer(36662,null),_.abrupt("return",b);case 10:case"end":return _.stop()}},a,this)}));function o(){return i.apply(this,arguments)}return o}(),n._invalidateDebugData=function(){this.debugData=null},n._getWriteTarget=function(){return this.glTarget},n._getReadTarget=function(){return this.glTarget},wm(r)}(te);function Lm(e){return e&te.INDEX?34963:e&te.VERTEX?34962:e&te.UNIFORM?35345:34962}function jm(e){return e&te.INDEX||e&te.VERTEX?35044:e&te.UNIFORM?35048:35044}function yt(e){return yt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},yt(e)}function Rm(e,t){return Fm(e)||Im(e,t)||Bm(e,t)||Gm()}function Gm(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
34
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Bm(e,t){if(e){if(typeof e=="string")return tf(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return tf(e,t)}}function tf(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Im(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,c=[],f=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=o.call(r)).done)&&(c.push(n.value),c.length!==t);f=!0);}catch(b){p=!0,i=b}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return c}}function Fm(e){if(Array.isArray(e))return e}function rf(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Cm(n.key),n)}}function Dm(e,t,r){return t&&rf(e.prototype,t),r&&rf(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Cm(e){var t=Wm(e,"string");return yt(t)==="symbol"?t:String(t)}function Wm(e,t){if(yt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(yt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Nm(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function km(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Bo(e,t)}function Bo(e,t){return Bo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Bo(e,t)}function Mm(e){var t=zm();return function(){var n=pn(e),i;if(t){var o=pn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Vm(this,i)}}function Vm(e,t){if(t&&(yt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Um(e)}function Um(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function zm(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function pn(e){return pn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},pn(e)}var Ve=function(e){km(r,e);var t=Mm(r);function r(i,o){var a;return Nm(this,r),a=t.call(this,i,o),a.device=void 0,a.handle=void 0,a.parameters=void 0,a.device=i,a.parameters=sn(o),a.device.isWebGL2&&(a.handle=a.handle||a.device.gl2.createSampler(),a._setSamplerParameters(a.parameters)),a}var n=r.prototype;return n.destroy=function(){this.handle&&(this.device.gl2.deleteSampler(this.handle),this.handle=void 0)},n.toString=function(){return"Sampler(".concat(this.id,",").concat(JSON.stringify(this.props),")")},n._setSamplerParameters=function(o){for(var a=0,c=Object.entries(o);a<c.length;a++){var f=Rm(c[a],2),p=f[0],b=f[1],g=Number(p);switch(g){case 33082:case 33083:this.device.gl2.samplerParameterf(this.handle,g,b);break;default:this.device.gl2.samplerParameteri(this.handle,g,b);break}}},Dm(r)}(Fr);function Io(){"use strict";Io=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(l,u,s){l[u]=s.value},i=typeof Symbol=="function"?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function f(l,u,s){return Object.defineProperty(l,u,{value:s,enumerable:!0,configurable:!0,writable:!0}),l[u]}try{f({},"")}catch{f=function(s,d,m){return s[d]=m}}function p(l,u,s,d){var m=u&&u.prototype instanceof v?u:v,h=Object.create(m.prototype),w=new V(d||[]);return n(h,"_invoke",{value:M(l,s,w)}),h}function b(l,u,s){try{return{type:"normal",arg:l.call(u,s)}}catch(d){return{type:"throw",arg:d}}}e.wrap=p;var g={};function v(){}function S(){}function _(){}var E={};f(E,o,function(){return this});var A=Object.getPrototypeOf,x=A&&A(A(W([])));x&&x!==t&&r.call(x,o)&&(E=x);var T=_.prototype=v.prototype=Object.create(E);function R(l){["next","throw","return"].forEach(function(u){f(l,u,function(s){return this._invoke(u,s)})})}function j(l,u){function s(m,h,w,O){var P=b(l[m],l,h);if(P.type!=="throw"){var I=P.arg,G=I.value;return G&&Ge(G)=="object"&&r.call(G,"__await")?u.resolve(G.__await).then(function(C){s("next",C,w,O)},function(C){s("throw",C,w,O)}):u.resolve(G).then(function(C){I.value=C,w(I)},function(C){return s("throw",C,w,O)})}O(P.arg)}var d;n(this,"_invoke",{value:function(h,w){function O(){return new u(function(P,I){s(h,w,P,I)})}return d=d?d.then(O,O):O()}})}function M(l,u,s){var d="suspendedStart";return function(m,h){if(d==="executing")throw new Error("Generator is already running");if(d==="completed"){if(m==="throw")throw h;return z()}for(s.method=m,s.arg=h;;){var w=s.delegate;if(w){var O=D(w,s);if(O){if(O===g)continue;return O}}if(s.method==="next")s.sent=s._sent=s.arg;else if(s.method==="throw"){if(d==="suspendedStart")throw d="completed",s.arg;s.dispatchException(s.arg)}else s.method==="return"&&s.abrupt("return",s.arg);d="executing";var P=b(l,u,s);if(P.type==="normal"){if(d=s.done?"completed":"suspendedYield",P.arg===g)continue;return{value:P.arg,done:s.done}}P.type==="throw"&&(d="completed",s.method="throw",s.arg=P.arg)}}}function D(l,u){var s=u.method,d=l.iterator[s];if(d===void 0)return u.delegate=null,s==="throw"&&l.iterator.return&&(u.method="return",u.arg=void 0,D(l,u),u.method==="throw")||s!=="return"&&(u.method="throw",u.arg=new TypeError("The iterator does not provide a '"+s+"' method")),g;var m=b(d,l.iterator,u.arg);if(m.type==="throw")return u.method="throw",u.arg=m.arg,u.delegate=null,g;var h=m.arg;return h?h.done?(u[l.resultName]=h.value,u.next=l.nextLoc,u.method!=="return"&&(u.method="next",u.arg=void 0),u.delegate=null,g):h:(u.method="throw",u.arg=new TypeError("iterator result is not an object"),u.delegate=null,g)}function H(l){var u={tryLoc:l[0]};1 in l&&(u.catchLoc=l[1]),2 in l&&(u.finallyLoc=l[2],u.afterLoc=l[3]),this.tryEntries.push(u)}function N(l){var u=l.completion||{};u.type="normal",delete u.arg,l.completion=u}function V(l){this.tryEntries=[{tryLoc:"root"}],l.forEach(H,this),this.reset(!0)}function W(l){if(l){var u=l[o];if(u)return u.call(l);if(typeof l.next=="function")return l;if(!isNaN(l.length)){var s=-1,d=function m(){for(;++s<l.length;)if(r.call(l,s))return m.value=l[s],m.done=!1,m;return m.value=void 0,m.done=!0,m};return d.next=d}}return{next:z}}function z(){return{value:void 0,done:!0}}return S.prototype=_,n(T,"constructor",{value:_,configurable:!0}),n(_,"constructor",{value:S,configurable:!0}),S.displayName=f(_,c,"GeneratorFunction"),e.isGeneratorFunction=function(l){var u=typeof l=="function"&&l.constructor;return!!u&&(u===S||(u.displayName||u.name)==="GeneratorFunction")},e.mark=function(l){return Object.setPrototypeOf?Object.setPrototypeOf(l,_):(l.__proto__=_,f(l,c,"GeneratorFunction")),l.prototype=Object.create(T),l},e.awrap=function(l){return{__await:l}},R(j.prototype),f(j.prototype,a,function(){return this}),e.AsyncIterator=j,e.async=function(l,u,s,d,m){m===void 0&&(m=Promise);var h=new j(p(l,u,s,d),m);return e.isGeneratorFunction(u)?h:h.next().then(function(w){return w.done?w.value:h.next()})},R(T),f(T,c,"Generator"),f(T,o,function(){return this}),f(T,"toString",function(){return"[object Generator]"}),e.keys=function(l){var u=Object(l),s=[];for(var d in u)s.push(d);return s.reverse(),function m(){for(;s.length;){var h=s.pop();if(h in u)return m.value=h,m.done=!1,m}return m.done=!0,m}},e.values=W,V.prototype={constructor:V,reset:function(u){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(N),!u)for(var s in this)s.charAt(0)==="t"&&r.call(this,s)&&!isNaN(+s.slice(1))&&(this[s]=void 0)},stop:function(){this.done=!0;var u=this.tryEntries[0].completion;if(u.type==="throw")throw u.arg;return this.rval},dispatchException:function(u){if(this.done)throw u;var s=this;function d(I,G){return w.type="throw",w.arg=u,s.next=I,G&&(s.method="next",s.arg=void 0),!!G}for(var m=this.tryEntries.length-1;m>=0;--m){var h=this.tryEntries[m],w=h.completion;if(h.tryLoc==="root")return d("end");if(h.tryLoc<=this.prev){var O=r.call(h,"catchLoc"),P=r.call(h,"finallyLoc");if(O&&P){if(this.prev<h.catchLoc)return d(h.catchLoc,!0);if(this.prev<h.finallyLoc)return d(h.finallyLoc)}else if(O){if(this.prev<h.catchLoc)return d(h.catchLoc,!0)}else{if(!P)throw new Error("try statement without catch or finally");if(this.prev<h.finallyLoc)return d(h.finallyLoc)}}}},abrupt:function(u,s){for(var d=this.tryEntries.length-1;d>=0;--d){var m=this.tryEntries[d];if(m.tryLoc<=this.prev&&r.call(m,"finallyLoc")&&this.prev<m.finallyLoc){var h=m;break}}h&&(u==="break"||u==="continue")&&h.tryLoc<=s&&s<=h.finallyLoc&&(h=null);var w=h?h.completion:{};return w.type=u,w.arg=s,h?(this.method="next",this.next=h.finallyLoc,g):this.complete(w)},complete:function(u,s){if(u.type==="throw")throw u.arg;return u.type==="break"||u.type==="continue"?this.next=u.arg:u.type==="return"?(this.rval=this.arg=u.arg,this.method="return",this.next="end"):u.type==="normal"&&s&&(this.next=s),g},finish:function(u){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.finallyLoc===u)return this.complete(d.completion,d.afterLoc),N(d),g}},catch:function(u){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.tryLoc===u){var m=d.completion;if(m.type==="throw"){var h=m.arg;N(d)}return h}}throw new Error("illegal catch attempt")},delegateYield:function(u,s,d){return this.delegate={iterator:W(u),resultName:s,nextLoc:d},this.method==="next"&&(this.arg=void 0),g}},e}function nf(e,t,r,n,i,o,a){try{var c=e[o](a),f=c.value}catch(p){r(p);return}c.done?t(f):Promise.resolve(f).then(n,i)}function $m(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(f){nf(o,n,i,a,c,"next",f)}function c(f){nf(o,n,i,a,c,"throw",f)}a(void 0)})}}function of(e,t){return Ym(e)||Km(e,t)||cf(e,t)||Xm()}function Xm(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
35
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Km(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,c=[],f=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=o.call(r)).done)&&(c.push(n.value),c.length!==t);f=!0);}catch(b){p=!0,i=b}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return c}}function Ym(e){if(Array.isArray(e))return e}function qm(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=cf(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
36
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,c;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,c=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw c}}}}function cf(e,t){if(e){if(typeof e=="string")return af(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return af(e,t)}}function af(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Ge(e){return Ge=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ge(e)}function uf(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function dn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?uf(Object(r),!0).forEach(function(n){Qm(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):uf(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Qm(e,t,r){return t=sf(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ff(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,sf(n.key),n)}}function Zm(e,t,r){return t&&ff(e.prototype,t),r&&ff(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function sf(e){var t=Jm(e,"string");return Ge(t)==="symbol"?t:String(t)}function Jm(e,t){if(Ge(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Ge(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ey(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ty(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Fo(e,t)}function Fo(e,t){return Fo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Fo(e,t)}function ry(e){var t=oy();return function(){var n=mn(e),i;if(t){var o=mn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return ny(this,i)}}function ny(e,t){if(t&&(Ge(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return lf(e)}function lf(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function oy(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function mn(e){return mn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},mn(e)}var iy={parameters:{},pixelStore:{},pixels:null,border:0,dataFormat:void 0,textureUnit:void 0,target:void 0},se=function(e){ty(r,e);var t=ry(r);function r(i,o){var a,c;return ey(this,r),c=t.call(this,i,dn(dn({},iy),{},{format:"rgba8unorm"},o)),c.MAX_ATTRIBUTES=void 0,c.device=void 0,c.gl=void 0,c.gl2=void 0,c.handle=void 0,c.sampler=void 0,c.glFormat=void 0,c.type=void 0,c.dataFormat=void 0,c.mipmaps=void 0,c.target=void 0,c.textureUnit=void 0,c.loaded=!1,c._video=void 0,c.device=i,c.gl=c.device.gl,c.gl2=c.device.gl2,c.handle=c.props.handle||c.gl.createTexture(),c.device.setSpectorMetadata(c.handle,dn(dn({},c.props),{},{data:Ge(c.props.data)})),c.glFormat=6408,c.target=ay(c.props),c.loaded=!1,typeof((a=c.props)===null||a===void 0?void 0:a.data)=="string"&&Object.assign(c.props,{data:bo(c.props.data)}),c.initialize(c.props),Object.seal(lf(c)),c}var n=r.prototype;return n.destroy=function(){this.handle&&(this.gl.deleteTexture(this.handle),this.removeStats(),this.trackDeallocatedMemory("Texture"),this.destroyed=!0)},n.toString=function(){return"Texture(".concat(this.id,",").concat(this.width,"x").concat(this.height,")")},n.initialize=function(){var o=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(this.props.dimension==="cube")return this.initializeCube(a);var c=a.data;if(c instanceof Promise)return c.then(function(u){return o.initialize(Object.assign({},a,{pixels:u,data:u}))}),this;var f=typeof HTMLVideoElement<"u"&&c instanceof HTMLVideoElement;if(f&&c.readyState<HTMLVideoElement.HAVE_METADATA)return this._video=null,c.addEventListener("loadeddata",function(){return o.initialize(a)}),this;var p=a.parameters,b=p===void 0?{}:p,g=a.pixels,v=g===void 0?null:g,S=a.pixelStore,_=S===void 0?{}:S,E=a.textureUnit,A=E===void 0?void 0:E;c||(c=v);var x=a.width,T=a.height,R=a.dataFormat,j=a.type,M=a.compressed,D=M===void 0?!1:M,H=a.mipmaps,N=H===void 0?!0:H,V=a.depth,W=V===void 0?0:V,z=fr(a.format,this.device.isWebGL2),l=this._deduceParameters({format:a.format,type:j,dataFormat:R,compressed:D,data:c,width:x,height:T});return x=l.width,T=l.height,D=l.compressed,R=l.dataFormat,j=l.type,this.width=x,this.height=T,this.glFormat=z,this.type=j,this.dataFormat=R,this.textureUnit=A,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),N&&this.device.isWebGL1&&hn(this.width,this.height)&&(F.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaps"))(),N=!1),this.mipmaps=N,this.setImageData({data:c,width:x,height:T,depth:W,format:z,type:j,dataFormat:R,parameters:_,compressed:D}),this.setSampler(a.sampler),this._setSamplerParameters(b),N&&this.generateMipmap(),f&&(this._video={video:c,parameters:b,lastTime:c.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?c.currentTime:-1}),this},n.initializeCube=function(o){var a=this,c=o.mipmaps,f=c===void 0?!0:c,p=o.parameters,b=p===void 0?{}:p;return this.setCubeMapImageData(o).then(function(){a.loaded=!0,f&&a.generateMipmap(o),a.setSampler(o.sampler),a._setSamplerParameters(b)}),this},n.setSampler=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a;o instanceof Ve?(this.sampler=o,a=o.props):(this.sampler=new Ve(this.device,o),a=o);var c=sn(a);return this._setSamplerParameters(c),this},n.resize=function(o){var a=o.height,c=o.width,f=o.mipmaps,p=f===void 0?!1:f;return c!==this.width||a!==this.height?this.initialize({width:c,height:a,format:this.format,type:this.type,dataFormat:this.dataFormat,mipmaps:p}):this},n.update=function(){if(this._video){var o=this._video,a=o.video,c=o.parameters,f=o.lastTime;if(f===a.currentTime||a.readyState<HTMLVideoElement.HAVE_CURRENT_DATA)return;this.setSubImageData({data:a,parameters:c}),this.mipmaps&&this.generateMipmap(),this._video.lastTime=a.currentTime}},n.generateMipmap=function(){var o=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.device.isWebGL1&&hn(this.width,this.height)?(F.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaping"))(),this):(this.mipmaps=!0,this.gl.bindTexture(this.target,this.handle),ve(this.gl,a,function(){o.gl.generateMipmap(o.target)}),this.gl.bindTexture(this.target,null),this)},n.setImageData=function(o){var a=this;if(this.props.dimension==="3d"||this.props.dimension==="2d-array")return this.setImageData3D(o);this.trackDeallocatedMemory("Texture");var c=o.target,f=c===void 0?this.target:c,p=o.pixels,b=p===void 0?null:p,g=o.level,v=g===void 0?0:g,S=o.glFormat,_=S===void 0?this.glFormat:S,E=o.offset,A=E===void 0?0:E,x=o.parameters,T=x===void 0?{}:x,R=o.data,j=R===void 0?null:R,M=o.type,D=M===void 0?this.type:M,H=o.width,N=H===void 0?this.width:H,V=o.height,W=V===void 0?this.height:V,z=o.dataFormat,l=z===void 0?this.dataFormat:z,u=o.compressed,s=u===void 0?!1:u;j||(j=b);var d=this._deduceParameters({format:this.props.format,type:D,dataFormat:l,compressed:s,data:j,width:N,height:W});D=d.type,l=d.dataFormat,s=d.compressed,N=d.width,W=d.height;var m=this.gl;m.bindTexture(this.target,this.handle);var h=null,w=this._getDataType({data:j,compressed:s});j=w.data,h=w.dataType;var O;if(ve(this.gl,T,function(){switch(h){case"null":m.texImage2D(f,v,_,N,W,0,l,D,j);break;case"typed-array":m.texImage2D(f,v,_,N,W,0,l,D,j,A);break;case"buffer":O=a.device.assertWebGL2(),O.bindBuffer(35052,j.handle||j),O.texImage2D(f,v,_,N,W,0,l,D,A),O.bindBuffer(35052,null);break;case"browser-object":a.device.isWebGL2?m.texImage2D(f,v,_,N,W,0,l,D,j):m.texImage2D(f,v,_,l,D,j);break;case"compressed":var I=qm(j.entries()),G;try{for(I.s();!(G=I.n()).done;){var C=of(G.value,2),Dc=C[0],vr=C[1];m.compressedTexImage2D(f,Dc,vr.format,vr.width,vr.height,0,vr.data)}}catch(Cc){I.e(Cc)}finally{I.f()}break;default:k(!1,"Unknown image data type")}}),j&&j.byteLength)this.trackAllocatedMemory(j.byteLength,"Texture");else{var P=cr(this.props.format,this.device.isWebGL2);this.trackAllocatedMemory(this.width*this.height*P,"Texture")}return this.loaded=!0,this},n.setSubImageData=function(o){var a=this,c=o.target,f=c===void 0?this.target:c,p=o.pixels,b=p===void 0?null:p,g=o.data,v=g===void 0?null:g,S=o.x,_=S===void 0?0:S,E=o.y,A=E===void 0?0:E,x=o.width,T=x===void 0?this.width:x,R=o.height,j=R===void 0?this.height:R,M=o.level,D=M===void 0?0:M,H=o.glFormat,N=H===void 0?this.glFormat:H,V=o.type,W=V===void 0?this.type:V,z=o.dataFormat,l=z===void 0?this.dataFormat:z,u=o.compressed,s=u===void 0?!1:u,d=o.offset,m=d===void 0?0:d,h=o.parameters,w=h===void 0?{}:h,O=this._deduceParameters({format:this.props.format,type:W,dataFormat:l,compressed:s,data:v,width:T,height:j});if(W=O.type,l=O.dataFormat,s=O.compressed,T=O.width,j=O.height,k(this.depth===1,"texSubImage not supported for 3D textures"),v||(v=b),v&&v.data){var P=v;v=P.data,T=P.shape[0],j=P.shape[1]}v instanceof pe&&(v=v.handle),this.gl.bindTexture(this.target,this.handle),ve(this.gl,w,function(){if(s)a.gl.compressedTexSubImage2D(f,D,_,A,T,j,N,v);else if(v===null)a.gl.texSubImage2D(f,D,_,A,T,j,l,W,null);else if(ArrayBuffer.isView(v))a.gl.texSubImage2D(f,D,_,A,T,j,l,W,v,m);else if(typeof WebGLBuffer<"u"&&v instanceof WebGLBuffer){var I=a.device.assertWebGL2();I.bindBuffer(35052,v),I.texSubImage2D(f,D,_,A,T,j,l,W,m),I.bindBuffer(35052,null)}else if(a.device.isWebGL2){var G=a.device.assertWebGL2();G.texSubImage2D(f,D,_,A,T,j,l,W,v)}else a.gl.texSubImage2D(f,D,_,A,l,W,v)}),this.gl.bindTexture(this.target,null)},n.copyFramebuffer=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return F.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null},n.getActiveUnit=function(){return this.gl.getParameter(34016)-33984},n.bind=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.textureUnit,a=this.gl;return o!==void 0&&(this.textureUnit=o,a.activeTexture(33984+o)),a.bindTexture(this.target,this.handle),o},n.unbind=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.textureUnit,a=this.gl;return o!==void 0&&(this.textureUnit=o,a.activeTexture(33984+o)),a.bindTexture(this.target,null),o},n._getDataType=function(o){var a=o.data,c=o.compressed,f=c===void 0?!1:c;return f?{data:a,dataType:"compressed"}:a===null?{data:a,dataType:"null"}:ArrayBuffer.isView(a)?{data:a,dataType:"typed-array"}:a instanceof pe?{data:a.handle,dataType:"buffer"}:typeof WebGLBuffer<"u"&&a instanceof WebGLBuffer?{data:a,dataType:"buffer"}:{data:a,dataType:"browser-object"}},n._deduceParameters=function(o){var a=o.format,c=o.data,f=o.width,p=o.height,b=o.dataFormat,g=o.type,v=o.compressed,S=mt(a,this.device.isWebGL2);b=b||S.dataFormat,g=g||S.type,v=v||S.compressed;var _=this._deduceImageSize(c,f,p);return f=_.width,p=_.height,{dataFormat:b,type:g,compressed:v,width:f,height:p,format:a,data:c}},n._deduceImageSize=function(o,a,c){var f;return typeof ImageData<"u"&&o instanceof ImageData?f={width:o.width,height:o.height}:typeof HTMLImageElement<"u"&&o instanceof HTMLImageElement?f={width:o.naturalWidth,height:o.naturalHeight}:typeof HTMLCanvasElement<"u"&&o instanceof HTMLCanvasElement?f={width:o.width,height:o.height}:typeof ImageBitmap<"u"&&o instanceof ImageBitmap?f={width:o.width,height:o.height}:typeof HTMLVideoElement<"u"&&o instanceof HTMLVideoElement?f={width:o.videoWidth,height:o.videoHeight}:o?f={width:a,height:c}:f={width:a>=0?a:1,height:c>=0?c:1},k(f,"Could not deduced texture size"),k(a===void 0||f.width===a,"Deduced texture width does not match supplied width"),k(c===void 0||f.height===c,"Deduced texture height does not match supplied height"),f},n.setCubeMapImageData=function(){var i=$m(Io().mark(function a(c){var f=this,p,b,g,v,S,_,E,A,x,T,R;return Io().wrap(function(M){for(;;)switch(M.prev=M.next){case 0:return p=this.gl,b=c.width,g=c.height,v=c.pixels,S=c.data,_=c.format,E=_===void 0?6408:_,A=c.type,x=A===void 0?5121:A,T=v||S,M.next=5,Promise.all(r.FACES.map(function(D){var H=T[D];return Promise.all(Array.isArray(H)?H:[H])}));case 5:R=M.sent,this.bind(),r.FACES.forEach(function(D,H){R[H].length>1&&f.props.mipmaps!==!1&&F.warn("".concat(f.id," has mipmap and multiple LODs."))(),R[H].forEach(function(N,V){b&&g?p.texImage2D(D,V,E,b,g,0,E,x,N):p.texImage2D(D,V,E,E,x,N)})}),this.unbind();case 9:case"end":return M.stop()}},a,this)}));function o(a){return i.apply(this,arguments)}return o}(),n.setImageDataForFace=function(o){var a=this,c=o.face,f=o.width,p=o.height,b=o.pixels,g=o.data,v=o.format,S=v===void 0?6408:v,_=o.type,E=_===void 0?5121:_,A=this.gl,x=b||g;return this.bind(),x instanceof Promise?x.then(function(T){return a.setImageDataForFace(Object.assign({},o,{face:c,data:T,pixels:T}))}):this.width||this.height?A.texImage2D(c,0,S,f,p,0,S,E,x):A.texImage2D(c,0,S,S,E,x),this},n.setImageData3D=function(o){var a=this,c=o.level,f=c===void 0?0:c,p=o.dataFormat,b=o.format,g=o.type,v=o.width,S=o.height,_=o.depth,E=_===void 0?1:_,A=o.offset,x=A===void 0?0:A,T=o.data,R=o.parameters,j=R===void 0?{}:R;this.trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle);var M=mt(b,this.device.isWebGL2);if(ve(this.gl,j,function(){ArrayBuffer.isView(T)&&a.gl.texImage3D(a.target,f,M.format,v,S,E,0,M.dataFormat,M.type,T),T instanceof pe&&(a.gl.bindBuffer(35052,T.handle),a.gl.texImage3D(a.target,f,p,v,S,E,0,b,g,x))}),T&&T.byteLength)this.trackAllocatedMemory(T.byteLength,"Texture");else{var D=cr(this.props.format,this.device.isWebGL2);this.trackAllocatedMemory(this.width*this.height*this.depth*D,"Texture")}return this.loaded=!0,this},n._setSamplerParameters=function(o){if(this.device.isWebGL1&&hn(this.width,this.height)&&(o=Yu(o)),!Ye(o)){uy(o),this.gl.bindTexture(this.target,this.handle);for(var a=0,c=Object.entries(o);a<c.length;a++){var f=of(c[a],2),p=f[0],b=f[1],g=Number(p),v=b;switch(g){case 33082:case 33083:this.gl.texParameterf(this.target,g,v);break;default:this.gl.texParameteri(this.target,g,v);break}}this.gl.bindTexture(this.target,null)}},n._getWebGL1NPOTParameterOverride=function(o,a){var c=this.device.isWebGL1&&hn(this.width,this.height);if(c)switch(o){case 10241:if(a!==9729&&a!==9728)return 9729;break;case 10242:case 10243:return 33071;default:break}return a},Zm(r)}(ae);se.FACES=[34069,34070,34071,34072,34073,34074];function ay(e){switch(e.dimension){case"2d":return 3553;case"cube":return 34067;case"2d-array":return 35866;case"3d":return 32879;case"1d":case"cube-array":default:throw new Error(e.dimension)}}function hn(e,t){return!e||!t?!1:!Tr(e)||!Tr(t)}function uy(e){F.log(1,"texture sampler parameters",e)()}function yn(e,t){if(typeof t!="string")return t;var r=Number(t);if(!isNaN(r))return r;t=t.replace(/^.*\./,"");var n=e[t];return k(n!==void 0,"Accessing undefined constant GL.".concat(t)),n}function gt(e){return gt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gt(e)}function fy(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=cy(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
37
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,c;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,c=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw c}}}}function cy(e,t){if(e){if(typeof e=="string")return pf(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return pf(e,t)}}function pf(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function sy(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function df(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,py(n.key),n)}}function ly(e,t,r){return t&&df(e.prototype,t),r&&df(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function py(e){var t=dy(e,"string");return gt(t)==="symbol"?t:String(t)}function dy(e,t){if(gt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(gt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function hy(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Do(e,t)}function Do(e,t){return Do=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Do(e,t)}function my(e){var t=gy();return function(){var n=bn(e),i;if(t){var o=bn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return yy(this,i)}}function yy(e,t){if(t&&(gt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return by(e)}function by(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function gy(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function bn(e){return bn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},bn(e)}var bt="Resource subclass must define virtual methods",dr=function(e){hy(r,e);var t=my(r);function r(i,o,a){var c;sy(this,r),c=t.call(this,i,o,a),c.device=void 0,c.gl=void 0,c.gl2=void 0,c._handle=void 0,c._bound=!1,c.byteLength=0,c.device=le.attach(i);var f=c.device.gl;Zr(f);var p=o||{},b=p.id;return c.gl=f,c.gl2=f,c.id=b||we(c.constructor.name),c._handle=o?.handle,c._handle===void 0&&(c._handle=c._createHandle()),c.byteLength=0,c}var n=r.prototype;return n.toString=function(){return"".concat(this.constructor.name,"(").concat(this.id,")")},n.delete=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=o.deleteChildren,c=a===void 0?!1:a,f=this._handle&&this._deleteHandle(this._handle);return this._handle&&this.removeStats(),this._handle=null,f&&c&&f.filter(Boolean).forEach(function(p){return p.destroy()}),this},n.bind=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.handle;if(typeof o!="function")return this._bindHandle(o),this;var a;return this._bound?a=o():(this._bindHandle(this.handle),this._bound=!0,a=o(),this._bound=!1,this._bindHandle(null)),a},n.unbind=function(){this.bind(null)},n.getParameter=function(o){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};o=yn(this.gl,o),k(o);var c=this.constructor.PARAMETERS||{},f=c[o];if(f){var p=$(this.gl),b=(!("webgl2"in f)||p)&&(!("extension"in f)||this.gl.getExtension(f.extension));if(!b){var g=f.webgl1,v="webgl2"in f?f.webgl2:f.webgl1,S=p?v:g;return S}}return this._getParameter(o,a)},n.getParameters=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=o.parameters,c=o.keys,f=this.constructor.PARAMETERS||{},p=$(this.gl),b={},g=a||Object.keys(f),v=fy(g),S;try{for(v.s();!(S=v.n()).done;){var _=S.value,E=f[_],A=E&&(!("webgl2"in E)||p)&&(!("extension"in E)||this.gl.getExtension(E.extension));if(A){var x=c?this.device.getGLKey(_):_;b[x]=this.getParameter(_,o),c&&E.type==="GLenum"&&(b[x]=this.device.getGLKey(b[x]))}}}catch(T){v.e(T)}finally{v.f()}return b},n.setParameter=function(o,a){o=yn(this.gl,o),k(o);var c=this.constructor.PARAMETERS||{},f=c[o];if(f){var p=$(this.gl),b=(!("webgl2"in f)||p)&&(!("extension"in f)||this.gl.getExtension(f.extension));if(!b)throw new Error("Parameter not available on this platform");f.type==="GLenum"&&(a=yn(a))}return this._setParameter(o,a),this},n.setParameters=function(o){for(var a in o)this.setParameter(a,o[a]);return this},n.stubRemovedMethods=function(o,a,c){return lo(this,o,a,c)},n.initialize=function(o){},n._createHandle=function(){throw new Error(bt)},n._deleteHandle=function(){throw new Error(bt)},n._bindHandle=function(o){throw new Error(bt)},n._getOptsFromHandle=function(){throw new Error(bt)},n._getParameter=function(o,a){throw new Error(bt)},n._setParameter=function(o,a){throw new Error(bt)},ly(r,[{key:"handle",get:function(){return this._handle}}]),r}(K);function vt(e){return vt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},vt(e)}var bf;function hf(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function mf(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?hf(Object(r),!0).forEach(function(n){vy(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):hf(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function vy(e,t,r){return t=gf(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function wy(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function yf(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,gf(n.key),n)}}function _y(e,t,r){return t&&yf(e.prototype,t),r&&yf(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function gf(e){var t=Sy(e,"string");return vt(t)==="symbol"?t:String(t)}function Sy(e,t){if(vt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(vt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Oy(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Co(e,t)}function Co(e,t){return Co=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Co(e,t)}function Py(e){var t=Ty();return function(){var n=gn(e),i;if(t){var o=gn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return xy(this,i)}}function xy(e,t){if(t&&(vt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Ey(e)}function Ey(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ty(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function gn(e){return gn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},gn(e)}bf=Symbol.toStringTag;var wt=function(e){Oy(r,e);var t=Py(r);r.isTextureFormatSupported=function(o,a){return Iu(o.gl,a)};function r(i,o){var a;if(wy(this,r),typeof o.format=="number")throw new Error("Renderbuffer");return a=t.call(this,i,o,r.defaultProps),a.glFormat=void 0,a.glFormat=fr(a.props.format,i.isWebGL2),a._initialize(a.props),a}var n=r.prototype;return n.resize=function(o){(o.width!==this.width||o.height!==this.height)&&(Object.assign(this.props,mf(mf({},o),{},{format:this.format,samples:this.samples})),this._initialize(this.props))},n._initialize=function(o){var a=o.format,c=o.width,f=o.height,p=o.samples;k(a,"Needs format"),this.trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),p!==0&&this.device.isWebGL2?this.gl2.renderbufferStorageMultisample(36161,p,this.glFormat,c,f):this.gl.renderbufferStorage(36161,this.glFormat,c,f),this.gl.bindRenderbuffer(36161,null),this.trackAllocatedMemory(c*f*(p||1)*cr(this.glFormat,this.device.isWebGL2))},n._createHandle=function(){return this.gl.createRenderbuffer()},n._deleteHandle=function(){this.gl.deleteRenderbuffer(this.handle),this.trackDeallocatedMemory()},n._bindHandle=function(o){this.gl.bindRenderbuffer(36161,o)},_y(r,[{key:bf,get:function(){return"Renderbuffer"}},{key:"width",get:function(){return this.props.width}},{key:"height",get:function(){return this.props.height}},{key:"format",get:function(){return this.props.format}},{key:"samples",get:function(){return this.props.samples}},{key:"attachment",get:function(){}}]),r}(dr);wt.defaultProps={id:void 0,handle:void 0,userData:void 0,format:void 0,width:1,height:1,samples:0};function _t(e){return _t=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_t(e)}function Ay(e,t){return Ry(e)||jy(e,t)||_f(e,t)||Ly()}function Ly(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
38
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function jy(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,c=[],f=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=o.call(r)).done)&&(c.push(n.value),c.length!==t);f=!0);}catch(b){p=!0,i=b}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return c}}function Ry(e){if(Array.isArray(e))return e}function Gy(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=_f(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
39
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,c;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,c=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw c}}}}function _f(e,t){if(e){if(typeof e=="string")return vf(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return vf(e,t)}}function vf(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function By(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function wf(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Fy(n.key),n)}}function Iy(e,t,r){return t&&wf(e.prototype,t),r&&wf(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Fy(e){var t=Dy(e,"string");return _t(t)==="symbol"?t:String(t)}function Dy(e,t){if(_t(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(_t(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function vn(){return typeof Reflect<"u"&&Reflect.get?vn=Reflect.get.bind():vn=function(t,r,n){var i=Cy(t,r);if(i){var o=Object.getOwnPropertyDescriptor(i,r);return o.get?o.get.call(arguments.length<3?t:n):o.value}},vn.apply(this,arguments)}function Cy(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&(e=St(e),e!==null););return e}function Wy(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Wo(e,t)}function Wo(e,t){return Wo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Wo(e,t)}function Ny(e){var t=Vy();return function(){var n=St(e),i;if(t){var o=St(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return ky(this,i)}}function ky(e,t){if(t&&(_t(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return My(e)}function My(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Vy(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function St(e){return St=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},St(e)}var Te=function(e){Wy(r,e);var t=Ny(r);function r(i,o){var a;By(this,r),a=t.call(this,i,o),a.device=void 0,a.gl=void 0,a.handle=void 0;var c=o.handle===null;if(a.device=i,a.gl=i.gl,a.handle=a.props.handle||c?a.props.handle:a.gl.createFramebuffer(),!c){i.setSpectorMetadata(a.handle,{id:a.props.id,props:a.props}),a.autoCreateAttachmentTextures(),a.gl.bindFramebuffer(36160,a.handle);for(var f=0;f<a.colorAttachments.length;++f){var p=a.colorAttachments[f],b=36064+f;p&&a._attachOne(b,p)}a.depthStencilAttachment&&a._attachOne(Cu(a.depthStencilAttachment.format),a.depthStencilAttachment),a.gl.bindFramebuffer(36160,null)}return o.check!==!1&&a._checkStatus(),a}var n=r.prototype;return n.destroy=function(){vn(St(r.prototype),"destroy",this).call(this),!this.destroyed&&this.handle!==null&&this.gl.deleteFramebuffer(this.handle)},n._checkStatus=function(){var o=this.gl,a=o.bindFramebuffer(36160,this.handle),c=o.checkFramebufferStatus(36160);if(o.bindFramebuffer(36160,a||null),c!==36053)throw new Error("Framebuffer ".concat(zy(c)))},n.createDepthStencilTexture=function(o){return new wt(this.device,{id:"".concat(this.id,"-depth-stencil"),format:o,width:this.width,height:this.height})},n.resizeAttachments=function(o,a){if(this.handle===null)return this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;o===void 0&&(o=this.gl.drawingBufferWidth),a===void 0&&(a=this.gl.drawingBufferHeight);var c=Gy(this.colorAttachments),f;try{for(c.s();!(f=c.n()).done;){var p=f.value;p.resize({width:o,height:a})}}catch(b){c.e(b)}finally{c.f()}return this.depthStencilAttachment&&this.depthStencilAttachment.resize({width:o,height:a}),this},n._attachOne=function(o,a){if(a instanceof wt)return this._attachWEBGLRenderbuffer(o,a),a;if(Array.isArray(a)){var c=Ay(a,3),f=c[0],p=c[1],b=p===void 0?0:p,g=c[2],v=g===void 0?0:g;return this._attachTexture(o,f,b,v),f}else if(a instanceof se)return this._attachTexture(o,a,0,0),a;throw new Error("attach")},n._attachWEBGLRenderbuffer=function(o,a){this.gl.framebufferRenderbuffer(36160,o,36161,a.handle)},n._attachTexture=function(o,a,c,f){var p=this.device,b=p.gl,g=p.gl2;switch(b.bindTexture(a.target,a.handle),a.target){case 35866:case 32879:this.device.assertWebGL2(),g?.framebufferTextureLayer(36160,o,a.target,f,c);break;case 34067:var v=Uy(c);b.framebufferTexture2D(36160,o,v,a.handle,f);break;case 3553:b.framebufferTexture2D(36160,o,3553,a.handle,f);break;default:k(!1,"Illegal texture type")}b.bindTexture(a.target,null)},Iy(r,[{key:"texture",get:function(){return this.colorAttachments[0]}}]),r}(nt);function Uy(e){return e<34069?e+34069:e}function zy(e){switch(e){case 36053:return"success";case 36054:return"Mismatched attachments";case 36055:return"No attachments";case 36057:return"Height/width mismatch";case 36061:return"Unsupported or split attachments";case 36182:return"Samples mismatch";default:return"".concat(e)}}function Ot(e){return Ot=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ot(e)}function Sf(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,$y(n.key),n)}}function Hy(e,t,r){return t&&Sf(e.prototype,t),r&&Sf(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function $y(e){var t=Xy(e,"string");return Ot(t)==="symbol"?t:String(t)}function Xy(e,t){if(Ot(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Ot(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ky(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Yy(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&No(e,t)}function No(e,t){return No=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},No(e,t)}function qy(e){var t=Jy();return function(){var n=wn(e),i;if(t){var o=wn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Qy(this,i)}}function Qy(e,t){if(t&&(Ot(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Zy(e)}function Zy(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Jy(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function wn(e){return wn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},wn(e)}var _n=function(e){Yy(r,e);var t=qy(r);function r(i,o){var a;return Ky(this,r),a=t.call(this,o),a.device=void 0,a.presentationSize=void 0,a._framebuffer=null,a.device=i,a.presentationSize=[-1,-1],a._setAutoCreatedCanvasId("".concat(a.device.id,"-canvas")),a.update(),a}var n=r.prototype;return n.getCurrentFramebuffer=function(){return this.update(),this._framebuffer=this._framebuffer||new Te(this.device,{handle:null}),this._framebuffer},n.update=function(){var o=this.getPixelSize(),a=o[0]!==this.presentationSize[0]||o[1]!==this.presentationSize[1];a&&(this.presentationSize=o)},n.resize=function(o){if(this.canvas){var a=this.getDevicePixelRatio(o?.useDevicePixels);this.setDevicePixelRatio(a,o);return}var c=this.device.gl.getExtension("STACKGL_resize_drawingbuffer");c&&o&&"width"in o&&"height"in o&&c.resize(o.width,o.height)},n.commit=function(){},Hy(r)}(Ze);function Pt(e){return Pt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Pt(e)}function ko(){"use strict";ko=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(l,u,s){l[u]=s.value},i=typeof Symbol=="function"?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function f(l,u,s){return Object.defineProperty(l,u,{value:s,enumerable:!0,configurable:!0,writable:!0}),l[u]}try{f({},"")}catch{f=function(s,d,m){return s[d]=m}}function p(l,u,s,d){var m=u&&u.prototype instanceof v?u:v,h=Object.create(m.prototype),w=new V(d||[]);return n(h,"_invoke",{value:M(l,s,w)}),h}function b(l,u,s){try{return{type:"normal",arg:l.call(u,s)}}catch(d){return{type:"throw",arg:d}}}e.wrap=p;var g={};function v(){}function S(){}function _(){}var E={};f(E,o,function(){return this});var A=Object.getPrototypeOf,x=A&&A(A(W([])));x&&x!==t&&r.call(x,o)&&(E=x);var T=_.prototype=v.prototype=Object.create(E);function R(l){["next","throw","return"].forEach(function(u){f(l,u,function(s){return this._invoke(u,s)})})}function j(l,u){function s(m,h,w,O){var P=b(l[m],l,h);if(P.type!=="throw"){var I=P.arg,G=I.value;return G&&Pt(G)=="object"&&r.call(G,"__await")?u.resolve(G.__await).then(function(C){s("next",C,w,O)},function(C){s("throw",C,w,O)}):u.resolve(G).then(function(C){I.value=C,w(I)},function(C){return s("throw",C,w,O)})}O(P.arg)}var d;n(this,"_invoke",{value:function(h,w){function O(){return new u(function(P,I){s(h,w,P,I)})}return d=d?d.then(O,O):O()}})}function M(l,u,s){var d="suspendedStart";return function(m,h){if(d==="executing")throw new Error("Generator is already running");if(d==="completed"){if(m==="throw")throw h;return z()}for(s.method=m,s.arg=h;;){var w=s.delegate;if(w){var O=D(w,s);if(O){if(O===g)continue;return O}}if(s.method==="next")s.sent=s._sent=s.arg;else if(s.method==="throw"){if(d==="suspendedStart")throw d="completed",s.arg;s.dispatchException(s.arg)}else s.method==="return"&&s.abrupt("return",s.arg);d="executing";var P=b(l,u,s);if(P.type==="normal"){if(d=s.done?"completed":"suspendedYield",P.arg===g)continue;return{value:P.arg,done:s.done}}P.type==="throw"&&(d="completed",s.method="throw",s.arg=P.arg)}}}function D(l,u){var s=u.method,d=l.iterator[s];if(d===void 0)return u.delegate=null,s==="throw"&&l.iterator.return&&(u.method="return",u.arg=void 0,D(l,u),u.method==="throw")||s!=="return"&&(u.method="throw",u.arg=new TypeError("The iterator does not provide a '"+s+"' method")),g;var m=b(d,l.iterator,u.arg);if(m.type==="throw")return u.method="throw",u.arg=m.arg,u.delegate=null,g;var h=m.arg;return h?h.done?(u[l.resultName]=h.value,u.next=l.nextLoc,u.method!=="return"&&(u.method="next",u.arg=void 0),u.delegate=null,g):h:(u.method="throw",u.arg=new TypeError("iterator result is not an object"),u.delegate=null,g)}function H(l){var u={tryLoc:l[0]};1 in l&&(u.catchLoc=l[1]),2 in l&&(u.finallyLoc=l[2],u.afterLoc=l[3]),this.tryEntries.push(u)}function N(l){var u=l.completion||{};u.type="normal",delete u.arg,l.completion=u}function V(l){this.tryEntries=[{tryLoc:"root"}],l.forEach(H,this),this.reset(!0)}function W(l){if(l){var u=l[o];if(u)return u.call(l);if(typeof l.next=="function")return l;if(!isNaN(l.length)){var s=-1,d=function m(){for(;++s<l.length;)if(r.call(l,s))return m.value=l[s],m.done=!1,m;return m.value=void 0,m.done=!0,m};return d.next=d}}return{next:z}}function z(){return{value:void 0,done:!0}}return S.prototype=_,n(T,"constructor",{value:_,configurable:!0}),n(_,"constructor",{value:S,configurable:!0}),S.displayName=f(_,c,"GeneratorFunction"),e.isGeneratorFunction=function(l){var u=typeof l=="function"&&l.constructor;return!!u&&(u===S||(u.displayName||u.name)==="GeneratorFunction")},e.mark=function(l){return Object.setPrototypeOf?Object.setPrototypeOf(l,_):(l.__proto__=_,f(l,c,"GeneratorFunction")),l.prototype=Object.create(T),l},e.awrap=function(l){return{__await:l}},R(j.prototype),f(j.prototype,a,function(){return this}),e.AsyncIterator=j,e.async=function(l,u,s,d,m){m===void 0&&(m=Promise);var h=new j(p(l,u,s,d),m);return e.isGeneratorFunction(u)?h:h.next().then(function(w){return w.done?w.value:h.next()})},R(T),f(T,c,"Generator"),f(T,o,function(){return this}),f(T,"toString",function(){return"[object Generator]"}),e.keys=function(l){var u=Object(l),s=[];for(var d in u)s.push(d);return s.reverse(),function m(){for(;s.length;){var h=s.pop();if(h in u)return m.value=h,m.done=!1,m}return m.done=!0,m}},e.values=W,V.prototype={constructor:V,reset:function(u){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(N),!u)for(var s in this)s.charAt(0)==="t"&&r.call(this,s)&&!isNaN(+s.slice(1))&&(this[s]=void 0)},stop:function(){this.done=!0;var u=this.tryEntries[0].completion;if(u.type==="throw")throw u.arg;return this.rval},dispatchException:function(u){if(this.done)throw u;var s=this;function d(I,G){return w.type="throw",w.arg=u,s.next=I,G&&(s.method="next",s.arg=void 0),!!G}for(var m=this.tryEntries.length-1;m>=0;--m){var h=this.tryEntries[m],w=h.completion;if(h.tryLoc==="root")return d("end");if(h.tryLoc<=this.prev){var O=r.call(h,"catchLoc"),P=r.call(h,"finallyLoc");if(O&&P){if(this.prev<h.catchLoc)return d(h.catchLoc,!0);if(this.prev<h.finallyLoc)return d(h.finallyLoc)}else if(O){if(this.prev<h.catchLoc)return d(h.catchLoc,!0)}else{if(!P)throw new Error("try statement without catch or finally");if(this.prev<h.finallyLoc)return d(h.finallyLoc)}}}},abrupt:function(u,s){for(var d=this.tryEntries.length-1;d>=0;--d){var m=this.tryEntries[d];if(m.tryLoc<=this.prev&&r.call(m,"finallyLoc")&&this.prev<m.finallyLoc){var h=m;break}}h&&(u==="break"||u==="continue")&&h.tryLoc<=s&&s<=h.finallyLoc&&(h=null);var w=h?h.completion:{};return w.type=u,w.arg=s,h?(this.method="next",this.next=h.finallyLoc,g):this.complete(w)},complete:function(u,s){if(u.type==="throw")throw u.arg;return u.type==="break"||u.type==="continue"?this.next=u.arg:u.type==="return"?(this.rval=this.arg=u.arg,this.method="return",this.next="end"):u.type==="normal"&&s&&(this.next=s),g},finish:function(u){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.finallyLoc===u)return this.complete(d.completion,d.afterLoc),N(d),g}},catch:function(u){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.tryLoc===u){var m=d.completion;if(m.type==="throw"){var h=m.arg;N(d)}return h}}throw new Error("illegal catch attempt")},delegateYield:function(u,s,d){return this.delegate={iterator:W(u),resultName:s,nextLoc:d},this.method==="next"&&(this.arg=void 0),g}},e}function Of(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Pf(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Of(Object(r),!0).forEach(function(n){eb(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Of(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function eb(e,t,r){return t=tb(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function tb(e){var t=rb(e,"string");return Pt(t)==="symbol"?t:String(t)}function rb(e,t){if(Pt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Pt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function xf(e,t,r,n,i,o,a){try{var c=e[o](a),f=c.value}catch(p){r(p);return}c.done?t(f):Promise.resolve(f).then(n,i)}function nb(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(f){xf(o,n,i,a,c,"next",f)}function c(f){xf(o,n,i,a,c,"throw",f)}a(void 0)})}}var ob={spector:F.get("spector")||F.get("inspect")},ib="https://spectorcdn.babylonjs.com/spector.bundle.js",ab=1,de=null,Ef=!1;function Tf(e){return Mo.apply(this,arguments)}function Mo(){return Mo=nb(ko().mark(function e(t){return ko().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(globalThis.SPECTOR){n.next=9;break}return n.prev=1,n.next=4,Ht(ib);case 4:n.next=9;break;case 6:n.prev=6,n.t0=n.catch(1),F.warn(String(n.t0));case 9:case"end":return n.stop()}},e,null,[[1,6]])})),Mo.apply(this,arguments)}function Af(e){var t,r;if(e=Pf(Pf({},ob),e),!((t=e)!==null&&t!==void 0&&t.spector)||(!de&&globalThis.SPECTOR&&(F.probe(ab,"SPECTOR found and initialized")(),de=new globalThis.SPECTOR.Spector,globalThis.luma&&(globalThis.luma.spector=de)),!de))return null;if(!Ef){var n,i;Ef=!0,de.spyCanvases(),(n=de)===null||n===void 0||n.onCaptureStarted.add(function(c){return F.info("Spector capture started:",c)()}),(i=de)===null||i===void 0||i.onCapture.add(function(c){var f,p,b;F.info("Spector capture complete:",c)(),(f=de)===null||f===void 0||f.getResultUI(),(p=de)===null||p===void 0||p.resultView.display(),(b=de)===null||b===void 0||b.resultView.addCapture(c)})}if((r=e)!==null&&r!==void 0&&r.canvas){var o,a;if(typeof e.spector=="string"&&e.spector!==e.canvas.id)return de;(o=de)===null||o===void 0||o.startCapture((a=e)===null||a===void 0?void 0:a.canvas,500),new Promise(function(c){return setTimeout(c,2e3)}).then(function(c){var f;F.info("Spector capture stopped after 2 seconds")(),(f=de)===null||f===void 0||f.stopCapture()})}return de}function xt(e){return xt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},xt(e)}function Uo(){"use strict";Uo=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(l,u,s){l[u]=s.value},i=typeof Symbol=="function"?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function f(l,u,s){return Object.defineProperty(l,u,{value:s,enumerable:!0,configurable:!0,writable:!0}),l[u]}try{f({},"")}catch{f=function(s,d,m){return s[d]=m}}function p(l,u,s,d){var m=u&&u.prototype instanceof v?u:v,h=Object.create(m.prototype),w=new V(d||[]);return n(h,"_invoke",{value:M(l,s,w)}),h}function b(l,u,s){try{return{type:"normal",arg:l.call(u,s)}}catch(d){return{type:"throw",arg:d}}}e.wrap=p;var g={};function v(){}function S(){}function _(){}var E={};f(E,o,function(){return this});var A=Object.getPrototypeOf,x=A&&A(A(W([])));x&&x!==t&&r.call(x,o)&&(E=x);var T=_.prototype=v.prototype=Object.create(E);function R(l){["next","throw","return"].forEach(function(u){f(l,u,function(s){return this._invoke(u,s)})})}function j(l,u){function s(m,h,w,O){var P=b(l[m],l,h);if(P.type!=="throw"){var I=P.arg,G=I.value;return G&&xt(G)=="object"&&r.call(G,"__await")?u.resolve(G.__await).then(function(C){s("next",C,w,O)},function(C){s("throw",C,w,O)}):u.resolve(G).then(function(C){I.value=C,w(I)},function(C){return s("throw",C,w,O)})}O(P.arg)}var d;n(this,"_invoke",{value:function(h,w){function O(){return new u(function(P,I){s(h,w,P,I)})}return d=d?d.then(O,O):O()}})}function M(l,u,s){var d="suspendedStart";return function(m,h){if(d==="executing")throw new Error("Generator is already running");if(d==="completed"){if(m==="throw")throw h;return z()}for(s.method=m,s.arg=h;;){var w=s.delegate;if(w){var O=D(w,s);if(O){if(O===g)continue;return O}}if(s.method==="next")s.sent=s._sent=s.arg;else if(s.method==="throw"){if(d==="suspendedStart")throw d="completed",s.arg;s.dispatchException(s.arg)}else s.method==="return"&&s.abrupt("return",s.arg);d="executing";var P=b(l,u,s);if(P.type==="normal"){if(d=s.done?"completed":"suspendedYield",P.arg===g)continue;return{value:P.arg,done:s.done}}P.type==="throw"&&(d="completed",s.method="throw",s.arg=P.arg)}}}function D(l,u){var s=u.method,d=l.iterator[s];if(d===void 0)return u.delegate=null,s==="throw"&&l.iterator.return&&(u.method="return",u.arg=void 0,D(l,u),u.method==="throw")||s!=="return"&&(u.method="throw",u.arg=new TypeError("The iterator does not provide a '"+s+"' method")),g;var m=b(d,l.iterator,u.arg);if(m.type==="throw")return u.method="throw",u.arg=m.arg,u.delegate=null,g;var h=m.arg;return h?h.done?(u[l.resultName]=h.value,u.next=l.nextLoc,u.method!=="return"&&(u.method="next",u.arg=void 0),u.delegate=null,g):h:(u.method="throw",u.arg=new TypeError("iterator result is not an object"),u.delegate=null,g)}function H(l){var u={tryLoc:l[0]};1 in l&&(u.catchLoc=l[1]),2 in l&&(u.finallyLoc=l[2],u.afterLoc=l[3]),this.tryEntries.push(u)}function N(l){var u=l.completion||{};u.type="normal",delete u.arg,l.completion=u}function V(l){this.tryEntries=[{tryLoc:"root"}],l.forEach(H,this),this.reset(!0)}function W(l){if(l){var u=l[o];if(u)return u.call(l);if(typeof l.next=="function")return l;if(!isNaN(l.length)){var s=-1,d=function m(){for(;++s<l.length;)if(r.call(l,s))return m.value=l[s],m.done=!1,m;return m.value=void 0,m.done=!0,m};return d.next=d}}return{next:z}}function z(){return{value:void 0,done:!0}}return S.prototype=_,n(T,"constructor",{value:_,configurable:!0}),n(_,"constructor",{value:S,configurable:!0}),S.displayName=f(_,c,"GeneratorFunction"),e.isGeneratorFunction=function(l){var u=typeof l=="function"&&l.constructor;return!!u&&(u===S||(u.displayName||u.name)==="GeneratorFunction")},e.mark=function(l){return Object.setPrototypeOf?Object.setPrototypeOf(l,_):(l.__proto__=_,f(l,c,"GeneratorFunction")),l.prototype=Object.create(T),l},e.awrap=function(l){return{__await:l}},R(j.prototype),f(j.prototype,a,function(){return this}),e.AsyncIterator=j,e.async=function(l,u,s,d,m){m===void 0&&(m=Promise);var h=new j(p(l,u,s,d),m);return e.isGeneratorFunction(u)?h:h.next().then(function(w){return w.done?w.value:h.next()})},R(T),f(T,c,"Generator"),f(T,o,function(){return this}),f(T,"toString",function(){return"[object Generator]"}),e.keys=function(l){var u=Object(l),s=[];for(var d in u)s.push(d);return s.reverse(),function m(){for(;s.length;){var h=s.pop();if(h in u)return m.value=h,m.done=!1,m}return m.done=!0,m}},e.values=W,V.prototype={constructor:V,reset:function(u){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(N),!u)for(var s in this)s.charAt(0)==="t"&&r.call(this,s)&&!isNaN(+s.slice(1))&&(this[s]=void 0)},stop:function(){this.done=!0;var u=this.tryEntries[0].completion;if(u.type==="throw")throw u.arg;return this.rval},dispatchException:function(u){if(this.done)throw u;var s=this;function d(I,G){return w.type="throw",w.arg=u,s.next=I,G&&(s.method="next",s.arg=void 0),!!G}for(var m=this.tryEntries.length-1;m>=0;--m){var h=this.tryEntries[m],w=h.completion;if(h.tryLoc==="root")return d("end");if(h.tryLoc<=this.prev){var O=r.call(h,"catchLoc"),P=r.call(h,"finallyLoc");if(O&&P){if(this.prev<h.catchLoc)return d(h.catchLoc,!0);if(this.prev<h.finallyLoc)return d(h.finallyLoc)}else if(O){if(this.prev<h.catchLoc)return d(h.catchLoc,!0)}else{if(!P)throw new Error("try statement without catch or finally");if(this.prev<h.finallyLoc)return d(h.finallyLoc)}}}},abrupt:function(u,s){for(var d=this.tryEntries.length-1;d>=0;--d){var m=this.tryEntries[d];if(m.tryLoc<=this.prev&&r.call(m,"finallyLoc")&&this.prev<m.finallyLoc){var h=m;break}}h&&(u==="break"||u==="continue")&&h.tryLoc<=s&&s<=h.finallyLoc&&(h=null);var w=h?h.completion:{};return w.type=u,w.arg=s,h?(this.method="next",this.next=h.finallyLoc,g):this.complete(w)},complete:function(u,s){if(u.type==="throw")throw u.arg;return u.type==="break"||u.type==="continue"?this.next=u.arg:u.type==="return"?(this.rval=this.arg=u.arg,this.method="return",this.next="end"):u.type==="normal"&&s&&(this.next=s),g},finish:function(u){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.finallyLoc===u)return this.complete(d.completion,d.afterLoc),N(d),g}},catch:function(u){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.tryLoc===u){var m=d.completion;if(m.type==="throw"){var h=m.arg;N(d)}return h}}throw new Error("illegal catch attempt")},delegateYield:function(u,s,d){return this.delegate={iterator:W(u),resultName:s,nextLoc:d},this.method==="next"&&(this.arg=void 0),g}},e}function ub(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=fb(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
40
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,c;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,c=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw c}}}}function fb(e,t){if(e){if(typeof e=="string")return Lf(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Lf(e,t)}}function Lf(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function jf(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,If(n.key),n)}}function cb(e,t,r){return t&&jf(e.prototype,t),r&&jf(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function sb(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Rf(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Gf(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Rf(Object(r),!0).forEach(function(n){lb(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Rf(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function lb(e,t,r){return t=If(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function If(e){var t=pb(e,"string");return xt(t)==="symbol"?t:String(t)}function pb(e,t){if(xt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(xt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Bf(e,t,r,n,i,o,a){try{var c=e[o](a),f=c.value}catch(p){r(p);return}c.done?t(f):Promise.resolve(f).then(n,i)}function db(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(f){Bf(o,n,i,a,c,"next",f)}function c(f){Bf(o,n,i,a,c,"throw",f)}a(void 0)})}}var hb="https://unpkg.com/webgl-debug@2.0.1/index.js";function Ff(e){return e.luma=e.luma||{},e.luma}function Df(){return zo.apply(this,arguments)}function zo(){return zo=db(Uo().mark(function e(){return Uo().wrap(function(r){for(;;)switch(r.prev=r.next){case 0:if(!(J()&&!globalThis.WebGLDebugUtils)){r.next=5;break}return globalThis.global=globalThis.global||globalThis,globalThis.global.module={},r.next=5,Ht(hb);case 5:case"end":return r.stop()}},e)})),zo.apply(this,arguments)}function Cf(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e?t.debug?yb(e,t):mb(e):null}function mb(e){var t=Ff(e);return t.realContext?t.realContext:e}function yb(e,t){if(!globalThis.WebGLDebugUtils)return F.warn("webgl-debug not loaded")(),e;var r=Ff(e);if(r.debugContext)return r.debugContext;globalThis.WebGLDebugUtils.init(Gf(Gf({},GL),e));var n=globalThis.WebGLDebugUtils.makeDebugContext(e,bb.bind(null,t),gb.bind(null,t));for(var i in GL)!(i in n)&&typeof GL[i]=="number"&&(n[i]=GL[i]);var o=cb(function c(){sb(this,c)});Object.setPrototypeOf(n,Object.getPrototypeOf(e)),Object.setPrototypeOf(o,n);var a=Object.create(o);return r.realContext=e,r.debugContext=a,a.debug=!0,a}function Vo(e,t){t=Array.from(t).map(function(n){return n===void 0?"undefined":n});var r=globalThis.WebGLDebugUtils.glFunctionArgsToString(e,t);return r="".concat(r.slice(0,100)).concat(r.length>100?"...":""),"gl.".concat(e,"(").concat(r,")")}function bb(e,t,r,n){n=Array.from(n).map(function(f){return f===void 0?"undefined":f});var i=globalThis.WebGLDebugUtils.glEnumToString(t),o=globalThis.WebGLDebugUtils.glFunctionArgsToString(r,n),a=e.webgl2?"gl2":"gl1",c="".concat(i," in ").concat(a,".").concat(r,"(").concat(o,")");F.error(c)();debugger;if(e.throwOnError)throw new Error(c)}function gb(e,t,r){var n="";if(F.level>=1&&(n=Vo(t,r),F.log(1,n)()),e.break&&e.break.length>0){n=n||Vo(t,r);var i=e.break.every(function(f){return n.indexOf(f)!==-1});if(i)debugger}var o=ub(r),a;try{for(o.s();!(a=o.n()).done;){var c=a.value;if(c===void 0){if(n=n||Vo(t,r),e.throwOnError)throw new Error("Undefined argument: ".concat(n));F.error("Undefined argument: ".concat(n))();debugger}}}catch(f){o.e(f)}finally{o.f()}}function vb(e){return Mf(e)||wb(e)||Ho(e)||kf()}function wb(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function _b(e,t){return Mf(e)||Sb(e,t)||Ho(e,t)||kf()}function kf(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
41
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Sb(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,c=[],f=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=o.call(r)).done)&&(c.push(n.value),c.length!==t);f=!0);}catch(b){p=!0,i=b}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return c}}function Mf(e){if(Array.isArray(e))return e}function Ob(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Ho(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
42
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,c;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,c=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw c}}}}function Ho(e,t){if(e){if(typeof e=="string")return Wf(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Wf(e,t)}}function Wf(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Vf(e){var t=e.split(/\r?\n/),r=[],n=Ob(t),i;try{for(n.s();!(i=n.n()).done;){var o=i.value;if(!(o.length<=1)){var a=o.split(":");if(a.length===2){var c=_b(a,2),f=c[0],p=c[1];r.push({message:p.trim(),type:Nf(f),lineNum:0,linePos:0});continue}var b=vb(a),g=b[0],v=b[1],S=b[2],_=b.slice(3),E=parseInt(S,10);isNaN(E)&&(E=0);var A=parseInt(v,10);isNaN(A)&&(A=0),r.push({message:_.join(":").trim(),type:Nf(g),lineNum:E,linePos:A})}}}catch(x){n.e(x)}finally{n.f()}return r}function Nf(e){var t=["warning","error","info"],r=e.toLowerCase();return t.includes(r)?r:"info"}function Ue(e){return Ue=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ue(e)}function $o(){"use strict";$o=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(l,u,s){l[u]=s.value},i=typeof Symbol=="function"?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function f(l,u,s){return Object.defineProperty(l,u,{value:s,enumerable:!0,configurable:!0,writable:!0}),l[u]}try{f({},"")}catch{f=function(s,d,m){return s[d]=m}}function p(l,u,s,d){var m=u&&u.prototype instanceof v?u:v,h=Object.create(m.prototype),w=new V(d||[]);return n(h,"_invoke",{value:M(l,s,w)}),h}function b(l,u,s){try{return{type:"normal",arg:l.call(u,s)}}catch(d){return{type:"throw",arg:d}}}e.wrap=p;var g={};function v(){}function S(){}function _(){}var E={};f(E,o,function(){return this});var A=Object.getPrototypeOf,x=A&&A(A(W([])));x&&x!==t&&r.call(x,o)&&(E=x);var T=_.prototype=v.prototype=Object.create(E);function R(l){["next","throw","return"].forEach(function(u){f(l,u,function(s){return this._invoke(u,s)})})}function j(l,u){function s(m,h,w,O){var P=b(l[m],l,h);if(P.type!=="throw"){var I=P.arg,G=I.value;return G&&Ue(G)=="object"&&r.call(G,"__await")?u.resolve(G.__await).then(function(C){s("next",C,w,O)},function(C){s("throw",C,w,O)}):u.resolve(G).then(function(C){I.value=C,w(I)},function(C){return s("throw",C,w,O)})}O(P.arg)}var d;n(this,"_invoke",{value:function(h,w){function O(){return new u(function(P,I){s(h,w,P,I)})}return d=d?d.then(O,O):O()}})}function M(l,u,s){var d="suspendedStart";return function(m,h){if(d==="executing")throw new Error("Generator is already running");if(d==="completed"){if(m==="throw")throw h;return z()}for(s.method=m,s.arg=h;;){var w=s.delegate;if(w){var O=D(w,s);if(O){if(O===g)continue;return O}}if(s.method==="next")s.sent=s._sent=s.arg;else if(s.method==="throw"){if(d==="suspendedStart")throw d="completed",s.arg;s.dispatchException(s.arg)}else s.method==="return"&&s.abrupt("return",s.arg);d="executing";var P=b(l,u,s);if(P.type==="normal"){if(d=s.done?"completed":"suspendedYield",P.arg===g)continue;return{value:P.arg,done:s.done}}P.type==="throw"&&(d="completed",s.method="throw",s.arg=P.arg)}}}function D(l,u){var s=u.method,d=l.iterator[s];if(d===void 0)return u.delegate=null,s==="throw"&&l.iterator.return&&(u.method="return",u.arg=void 0,D(l,u),u.method==="throw")||s!=="return"&&(u.method="throw",u.arg=new TypeError("The iterator does not provide a '"+s+"' method")),g;var m=b(d,l.iterator,u.arg);if(m.type==="throw")return u.method="throw",u.arg=m.arg,u.delegate=null,g;var h=m.arg;return h?h.done?(u[l.resultName]=h.value,u.next=l.nextLoc,u.method!=="return"&&(u.method="next",u.arg=void 0),u.delegate=null,g):h:(u.method="throw",u.arg=new TypeError("iterator result is not an object"),u.delegate=null,g)}function H(l){var u={tryLoc:l[0]};1 in l&&(u.catchLoc=l[1]),2 in l&&(u.finallyLoc=l[2],u.afterLoc=l[3]),this.tryEntries.push(u)}function N(l){var u=l.completion||{};u.type="normal",delete u.arg,l.completion=u}function V(l){this.tryEntries=[{tryLoc:"root"}],l.forEach(H,this),this.reset(!0)}function W(l){if(l){var u=l[o];if(u)return u.call(l);if(typeof l.next=="function")return l;if(!isNaN(l.length)){var s=-1,d=function m(){for(;++s<l.length;)if(r.call(l,s))return m.value=l[s],m.done=!1,m;return m.value=void 0,m.done=!0,m};return d.next=d}}return{next:z}}function z(){return{value:void 0,done:!0}}return S.prototype=_,n(T,"constructor",{value:_,configurable:!0}),n(_,"constructor",{value:S,configurable:!0}),S.displayName=f(_,c,"GeneratorFunction"),e.isGeneratorFunction=function(l){var u=typeof l=="function"&&l.constructor;return!!u&&(u===S||(u.displayName||u.name)==="GeneratorFunction")},e.mark=function(l){return Object.setPrototypeOf?Object.setPrototypeOf(l,_):(l.__proto__=_,f(l,c,"GeneratorFunction")),l.prototype=Object.create(T),l},e.awrap=function(l){return{__await:l}},R(j.prototype),f(j.prototype,a,function(){return this}),e.AsyncIterator=j,e.async=function(l,u,s,d,m){m===void 0&&(m=Promise);var h=new j(p(l,u,s,d),m);return e.isGeneratorFunction(u)?h:h.next().then(function(w){return w.done?w.value:h.next()})},R(T),f(T,c,"Generator"),f(T,o,function(){return this}),f(T,"toString",function(){return"[object Generator]"}),e.keys=function(l){var u=Object(l),s=[];for(var d in u)s.push(d);return s.reverse(),function m(){for(;s.length;){var h=s.pop();if(h in u)return m.value=h,m.done=!1,m}return m.done=!0,m}},e.values=W,V.prototype={constructor:V,reset:function(u){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(N),!u)for(var s in this)s.charAt(0)==="t"&&r.call(this,s)&&!isNaN(+s.slice(1))&&(this[s]=void 0)},stop:function(){this.done=!0;var u=this.tryEntries[0].completion;if(u.type==="throw")throw u.arg;return this.rval},dispatchException:function(u){if(this.done)throw u;var s=this;function d(I,G){return w.type="throw",w.arg=u,s.next=I,G&&(s.method="next",s.arg=void 0),!!G}for(var m=this.tryEntries.length-1;m>=0;--m){var h=this.tryEntries[m],w=h.completion;if(h.tryLoc==="root")return d("end");if(h.tryLoc<=this.prev){var O=r.call(h,"catchLoc"),P=r.call(h,"finallyLoc");if(O&&P){if(this.prev<h.catchLoc)return d(h.catchLoc,!0);if(this.prev<h.finallyLoc)return d(h.finallyLoc)}else if(O){if(this.prev<h.catchLoc)return d(h.catchLoc,!0)}else{if(!P)throw new Error("try statement without catch or finally");if(this.prev<h.finallyLoc)return d(h.finallyLoc)}}}},abrupt:function(u,s){for(var d=this.tryEntries.length-1;d>=0;--d){var m=this.tryEntries[d];if(m.tryLoc<=this.prev&&r.call(m,"finallyLoc")&&this.prev<m.finallyLoc){var h=m;break}}h&&(u==="break"||u==="continue")&&h.tryLoc<=s&&s<=h.finallyLoc&&(h=null);var w=h?h.completion:{};return w.type=u,w.arg=s,h?(this.method="next",this.next=h.finallyLoc,g):this.complete(w)},complete:function(u,s){if(u.type==="throw")throw u.arg;return u.type==="break"||u.type==="continue"?this.next=u.arg:u.type==="return"?(this.rval=this.arg=u.arg,this.method="return",this.next="end"):u.type==="normal"&&s&&(this.next=s),g},finish:function(u){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.finallyLoc===u)return this.complete(d.completion,d.afterLoc),N(d),g}},catch:function(u){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.tryLoc===u){var m=d.completion;if(m.type==="throw"){var h=m.arg;N(d)}return h}}throw new Error("illegal catch attempt")},delegateYield:function(u,s,d){return this.delegate={iterator:W(u),resultName:s,nextLoc:d},this.method==="next"&&(this.arg=void 0),g}},e}function Uf(e,t,r,n,i,o,a){try{var c=e[o](a),f=c.value}catch(p){r(p);return}c.done?t(f):Promise.resolve(f).then(n,i)}function Pb(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(f){Uf(o,n,i,a,c,"next",f)}function c(f){Uf(o,n,i,a,c,"throw",f)}a(void 0)})}}function zf(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Eb(n.key),n)}}function xb(e,t,r){return t&&zf(e.prototype,t),r&&zf(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Eb(e){var t=Tb(e,"string");return Ue(t)==="symbol"?t:String(t)}function Tb(e,t){if(Ue(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Ue(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ab(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Lb(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Xo(e,t)}function Xo(e,t){return Xo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Xo(e,t)}function jb(e){var t=Bb();return function(){var n=Sn(e),i;if(t){var o=Sn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Rb(this,i)}}function Rb(e,t){if(t&&(Ue(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Gb(e)}function Gb(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Bb(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Sn(e){return Sn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Sn(e)}var On=function(e){Lb(r,e);var t=jb(r);function r(i,o){var a;switch(Ab(this,r),a=t.call(this,i,o),a.device=void 0,a.handle=void 0,a.device=i,a.props.stage){case"vertex":a.handle=a.props.handle||a.device.gl.createShader(35633);break;case"fragment":a.handle=a.props.handle||a.device.gl.createShader(35632);break;default:throw new Error(a.props.stage)}return a._compile(a.source),a}var n=r.prototype;return n.destroy=function(){this.handle&&(this.removeStats(),this.device.gl.deleteShader(this.handle),this.destroyed=!0)},n.getCompilationInfo=function(){var i=Pb($o().mark(function a(){return $o().wrap(function(f){for(;;)switch(f.prev=f.next){case 0:return f.abrupt("return",this.getCompilationInfoSync());case 1:case"end":return f.stop()}},a,this)}));function o(){return i.apply(this,arguments)}return o}(),n.getCompilationInfoSync=function(){var o=this.device.gl.getShaderInfoLog(this.handle);return Vf(o)},n._compile=function(o){var a=function(p){return p.startsWith("#version ")?p:`#version 100
43
+ `.concat(p)};o=a(o);var c=this.device.gl;if(c.shaderSource(this.handle,o),c.compileShader(this.handle),this.compilationStatus=c.getShaderParameter(this.handle,35713)?"success":"error",this.debugShader(),this.compilationStatus==="error")throw new Error("GLSL compilation errors in ".concat(this.props.stage," shader ").concat(this.props.id))},xb(r)}(Br);function Et(e){return Et=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Et(e)}function Hf(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ib(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Hf(Object(r),!0).forEach(function(n){Fb(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Hf(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Fb(e,t,r){return t=Xf(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function $f(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Xf(n.key),n)}}function Db(e,t,r){return t&&$f(e.prototype,t),r&&$f(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Xf(e){var t=Cb(e,"string");return Et(t)==="symbol"?t:String(t)}function Cb(e,t){if(Et(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Et(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Wb(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Nb(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Yo(e,t)}function Yo(e,t){return Yo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Yo(e,t)}function kb(e){var t=Ub();return function(){var n=Pn(e),i;if(t){var o=Pn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Mb(this,i)}}function Mb(e,t){if(t&&(Et(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Vb(e)}function Vb(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ub(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Pn(e){return Pn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Pn(e)}var zb=256,Hb=1024,$b=16384,Ko=6144,xn=function(e){Nb(r,e);var t=kb(r);function r(i,o){var a;return Wb(this,r),a=t.call(this,i,o),a.device=void 0,a.glParameters=void 0,a.device=i,_e(a.device.gl),a.setParameters(a.props.parameters),a.clear(),a}var n=r.prototype;return n.end=function(){ge(this.device.gl),this.props.framebuffer&&be(this.device,{framebuffer:null})},n.pushDebugGroup=function(o){},n.popDebugGroup=function(){},n.insertDebugMarker=function(o){},n.setParameters=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a={};this.props.framebuffer&&(a.framebuffer=this.props.framebuffer),this.props.depthReadOnly&&(a.depthMask=!this.props.depthReadOnly),a.stencilMask=this.props.stencilReadOnly?0:1,a[35977]=this.props.discard,o.viewport&&(o.viewport.length>=6?(a.viewport=o.viewport.slice(0,4),a.depthRange=[o.viewport[4],o.viewport[5]]):a.viewport=o.viewport),a.scissorTest=Boolean(o.scissorRect),o.scissorRect&&(a.scissor=o.scissorRect),o.blendConstant&&(a.blendColor=o.blendConstant),o.stencilReference&&(console.warn("RenderPassParameters.stencilReference not yet implemented in WebGL"),o[2967]=o.stencilReference),this.glParameters=a,be(this.device,a)},n.clear=function(){var o=this,a=Ib({},this.glParameters),c=0;this.props.clearColor!==!1&&(c|=$b,a.clearColor=this.props.clearColor),this.props.clearDepth!==!1&&(c|=zb,a.clearDepth=this.props.clearDepth),this.props.clearStencil!==!1&&(c|=Hb,a.clearStencil=this.props.clearStencil),c!==0&&ve(this.device,a,function(){o.device.gl.clear(c)})},n.clearColorBuffer=function(){var o=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0,0,0,0];ve(this.device.gl2,{framebuffer:this.props.framebuffer},function(){switch(c.constructor){case Int32Array:o.device.gl2.clearBufferiv(Ko,a,c);break;case Uint32Array:o.device.gl2.clearBufferuiv(Ko,a,c);break;case Float32Array:default:o.device.gl2.clearBufferfv(Ko,a,c);break}})},Db(r)}(kr);var Xb="Failed to deduce GL constant from typed array";function Kf(e){var t=ArrayBuffer.isView(e)?e.constructor:e;switch(t){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:return 5121;case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error(Xb)}}function hr(e,t){var r=t||{},n=r.clamped,i=n===void 0?!0:n;switch(e){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return i?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function mr(e){return mr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},mr(e)}function En(e,t,r){return Kb()?En=Reflect.construct.bind():En=function(i,o,a){var c=[null];c.push.apply(c,o);var f=Function.bind.apply(i,c),p=new f;return a&&qo(p,a.prototype),p},En.apply(null,arguments)}function Kb(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function qo(e,t){return qo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},qo(e,t)}function Yb(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Yf(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Qb(n.key),n)}}function qb(e,t,r){return t&&Yf(e.prototype,t),r&&Yf(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Qb(e){var t=Zb(e,"string");return mr(t)==="symbol"?t:String(t)}function Zb(e,t){if(mr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(mr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Jb={offset:0,stride:0,type:5126,size:1,divisor:0,normalized:!1,integer:!1},eg={deprecatedProps:{instanced:"divisor",isInstanced:"divisor"}},Tn=function(){e.getBytesPerElement=function(n){var i=hr(n.type||5126);return i.BYTES_PER_ELEMENT},e.getBytesPerVertex=function(n){k(n.size);var i=hr(n.type||5126);return i.BYTES_PER_ELEMENT*n.size},e.resolve=function(){for(var n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];return En(e,[Jb].concat(i))};function e(){var r=this;Yb(this,e),this.offset=void 0,this.stride=void 0,this.type=void 0,this.size=void 0,this.divisor=void 0,this.normalized=void 0,this.integer=void 0,this.buffer=void 0,this.index=void 0;for(var n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];i.forEach(function(a){return r._assign(a)}),Object.freeze(this)}var t=e.prototype;return t.toString=function(){return JSON.stringify(this)},t._assign=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return n=po("Accessor",n,eg),n.type!==void 0&&(this.type=n.type,(n.type===5124||n.type===5125)&&(this.integer=!0)),n.size!==void 0&&(this.size=n.size),n.offset!==void 0&&(this.offset=n.offset),n.stride!==void 0&&(this.stride=n.stride),n.normalize!==void 0&&(this.normalized=n.normalize),n.normalized!==void 0&&(this.normalized=n.normalized),n.integer!==void 0&&(this.integer=n.integer),n.divisor!==void 0&&(this.divisor=n.divisor),n.buffer!==void 0&&(this.buffer=n.buffer),n.index!==void 0&&(typeof n.index=="boolean"?this.index=n.index?1:0:this.index=n.index),n.instanced!==void 0&&(this.divisor=n.instanced?1:0),n.isInstanced!==void 0&&(this.divisor=n.isInstanced?1:0),this.offset===void 0&&delete this.offset,this.stride===void 0&&delete this.stride,this.type===void 0&&delete this.type,this.size===void 0&&delete this.size,this.divisor===void 0&&delete this.divisor,this.normalized===void 0&&delete this.normalized,this.integer===void 0&&delete this.integer,this.buffer===void 0&&delete this.buffer,this.index===void 0&&delete this.index,this},qb(e,[{key:"BYTES_PER_ELEMENT",get:function(){return e.getBytesPerElement(this)}},{key:"BYTES_PER_VERTEX",get:function(){return e.getBytesPerVertex(this)}}]),e}();var Q;function yr(e){return yr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},yr(e)}function Qf(e,t){return og(e)||ng(e,t)||rg(e,t)||tg()}function tg(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
44
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function rg(e,t){if(e){if(typeof e=="string")return qf(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return qf(e,t)}}function qf(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function ng(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,c=[],f=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=o.call(r)).done)&&(c.push(n.value),c.length!==t);f=!0);}catch(b){p=!0,i=b}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return c}}function og(e){if(Array.isArray(e))return e}function ee(e,t,r){return t=ig(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ig(e){var t=ag(e,"string");return yr(t)==="symbol"?t:String(t)}function ag(e,t){if(yr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(yr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Zf(e){return ug.includes(e)}var ug=[35678,35680,35679,35682,36289,36292,36293,36298,36299,36300,36303,36306,36307,36308,36311],Jf=(Q={},ee(Q,5126,[5126,1,"float","f32","float32"]),ee(Q,35664,[5126,2,"vec2","vec2<f32>","float32x2"]),ee(Q,35665,[5126,3,"vec3","vec3<f32>","float32x3"]),ee(Q,35666,[5126,4,"vec4","vec4<f32>","float32x4"]),ee(Q,5124,[5124,1,"int","i32","sint32"]),ee(Q,35667,[5124,2,"ivec2","vec2<i32>","sint32x2"]),ee(Q,35668,[5124,3,"ivec3","vec3<i32>","sint32x3"]),ee(Q,35669,[5124,4,"ivec4","vec4<i32>","sint32x4"]),ee(Q,5125,[5125,1,"uint","u32","uint32"]),ee(Q,36294,[5125,2,"uvec2","vec2<u32>","uint32x2"]),ee(Q,36295,[5125,3,"uvec3","vec3<u32>","uint32x3"]),ee(Q,36296,[5125,4,"uvec4","vec4<u32>","uint32x4"]),ee(Q,35670,[5126,1,"bool","f32","float32"]),ee(Q,35671,[5126,2,"bvec2","vec2<f32>","float32x2"]),ee(Q,35672,[5126,3,"bvec3","vec3<f32>","float32x3"]),ee(Q,35673,[5126,4,"bvec4","vec4<f32>","float32x4"]),ee(Q,35674,[5126,8,"mat2","mat2x2<f32>"]),ee(Q,35685,[5126,8,"mat2x3","mat2x3<f32>"]),ee(Q,35686,[5126,8,"mat2x4","mat2x4<f32>"]),ee(Q,35687,[5126,12,"mat3x2","mat3x2<f32>"]),ee(Q,35675,[5126,12,"mat3","mat3x3<f32>"]),ee(Q,35688,[5126,12,"mat3x4","mat3x4<f32>"]),ee(Q,35689,[5126,16,"mat4x2","mat4x2<f32>"]),ee(Q,35690,[5126,16,"mat4x3","mat4x3<f32>"]),ee(Q,35676,[5126,16,"mat4","mat4x4<f32>"]),Q);function Qo(e){var t=Jf[e];if(!t)throw new Error("uniform");var r=Qf(t,4),n=r[0],i=r[1],o=r[3];return{format:o,components:i,glType:n}}function ec(e){var t=Jf[e];if(!t)throw new Error("attribute");var r=Qf(t,5),n=r[1],i=r[3],o=r[4],a=i;return{attributeType:a,vertexFormat:o,components:n}}var ie;function br(e){return br=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},br(e)}function fg(e,t){return pg(e)||lg(e,t)||sg(e,t)||cg()}function cg(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
45
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function sg(e,t){if(e){if(typeof e=="string")return tc(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return tc(e,t)}}function tc(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function lg(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,c=[],f=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=o.call(r)).done)&&(c.push(n.value),c.length!==t);f=!0);}catch(b){p=!0,i=b}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return c}}function pg(e){if(Array.isArray(e))return e}function rc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function nc(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?rc(Object(r),!0).forEach(function(n){fe(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):rc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function fe(e,t,r){return t=dg(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function dg(e){var t=hg(e,"string");return br(t)==="symbol"?t:String(t)}function hg(e,t){if(br(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(br(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function An(e,t){var r={attributes:[],bindings:[]};r.attributes=mg(e,t);for(var n=gg(e,t),i=0,o=n;i<o.length;i++){var a=o[i],c=a.uniforms.map(function(x){return{name:x.name,format:x.format,byteOffset:x.byteOffset,byteStride:x.byteStride,arrayLength:x.arrayLength}});r.bindings.push({type:"uniform",name:a.name,location:a.location,visibility:(a.vertex?1:0)&(a.fragment?2:0),minBindingSize:a.byteLength,uniforms:c})}for(var f=bg(e,t),p=0,b=0,g=f;b<g.length;b++){var v=g[b];if(Zf(v.type)){var S=wg(v.type),_=S.viewDimension,E=S.sampleType;r.bindings.push({type:"texture",name:v.name,location:p,viewDimension:_,sampleType:E}),v.textureUnit=p,p+=1}}f.length&&(r.uniforms=f);var A=yg(e,t);return A!=null&&A.length&&(r.varyings=A),r}function mg(e,t){for(var r=[],n=e.getProgramParameter(t,35721),i=0;i<n;i++){var o=e.getActiveAttrib(t,i);if(!o)throw new Error("activeInfo");var a=o.name,c=o.type,f=e.getAttribLocation(t,a);if(f>=0){var p=ec(c),b=p.attributeType,g=/instance/i.test(a)?"instance":"vertex";r.push({name:a,location:f,stepMode:g,type:b})}}return r.sort(function(v,S){return v.location-S.location}),r}function yg(e,t){if(!$(e))return[];for(var r=e,n=[],i=e.getProgramParameter(t,35971),o=0;o<i;o++){var a=r.getTransformFeedbackVarying(t,o);if(!a)throw new Error("activeInfo");var c=a.name,f=a.type,p=a.size,b=Qo(f),g=b.glType,v=b.components,S=new Tn({type:g,size:p*v}),_={location:o,name:c,accessor:S};n.push(_)}return n.sort(function(E,A){return E.location-A.location}),n}function bg(e,t){for(var r=[],n=e.getProgramParameter(t,35718),i=0;i<n;i++){var o=e.getActiveUniform(t,i);if(!o)throw new Error("activeInfo");var a=o.name,c=o.size,f=o.type,p=_g(a),b=p.name,g=p.isArray,v=e.getUniformLocation(t,b),S={location:v,name:b,size:c,type:f,isArray:g};if(r.push(S),S.size>1)for(var _=0;_<S.size;_++){var E="".concat(b,"[").concat(_,"]");v=e.getUniformLocation(t,E);var A=nc(nc({},S),{},{name:E,location:v});r.push(A)}}return r}function gg(e,t){if(!$(e))return[];for(var r=e,n=function(A,x){return r.getActiveUniformBlockParameter(t,A,x)},i=[],o=r.getProgramParameter(t,35382),a=0;a<o;a++){for(var c={name:r.getActiveUniformBlockName(t,a)||"",location:n(a,35391),byteLength:n(a,35392),vertex:n(a,35396),fragment:n(a,35398),uniformCount:n(a,35394),uniforms:[]},f=n(a,35395)||[],p=r.getActiveUniforms(t,f,35383),b=r.getActiveUniforms(t,f,35384),g=r.getActiveUniforms(t,f,35387),v=r.getActiveUniforms(t,f,35388),S=0;S<c.uniformCount;++S){var _=r.getActiveUniform(t,f[S]);if(!_)throw new Error("activeInfo");c.uniforms.push({name:_.name,format:Qo(p[S]).format,type:p[S],arrayLength:b[S],byteOffset:g[S],byteStride:v[S]})}i.push(c)}return i.sort(function(E,A){return E.location-A.location}),i}var vg=(ie={},fe(ie,35678,["2d","float"]),fe(ie,35680,["cube","float"]),fe(ie,35679,["3d","float"]),fe(ie,35682,["3d","depth"]),fe(ie,36289,["2d-array","float"]),fe(ie,36292,["2d-array","depth"]),fe(ie,36293,["cube","float"]),fe(ie,36298,["2d","sint"]),fe(ie,36299,["3d","sint"]),fe(ie,36300,["cube","sint"]),fe(ie,36303,["2d-array","uint"]),fe(ie,36306,["2d","uint"]),fe(ie,36307,["3d","uint"]),fe(ie,36308,["cube","uint"]),fe(ie,36311,["2d-array","uint"]),ie);function wg(e){var t=vg[e];if(!t)throw new Error("sampler");var r=fg(t,2),n=r[0],i=r[1];return{viewDimension:n,sampleType:i}}function _g(e){if(e[e.length-1]!=="]")return{name:e,length:1,isArray:!1};var t=/([^[]*)(\[[0-9]+\])?/,r=t.exec(e);if(!r||r.length<2)throw new Error("Failed to parse GLSL uniform name ".concat(e));return{name:r[1],length:r[2]?1:0,isArray:Boolean(r[2])}}function oc(e,t,r,n){var i=e,o=n;o===!0&&(o=1),o===!1&&(o=0);var a=typeof o=="number"?[o]:o;switch(r){case 35678:case 35680:case 35679:case 35682:case 36289:case 36292:case 36293:case 36298:case 36299:case 36300:case 36303:case 36306:case 36307:case 36308:case 36311:if(typeof n!="number")throw new Error("samplers must be set to integers");return e.uniform1i(t,n);case 5126:return e.uniform1fv(t,a);case 35664:return e.uniform2fv(t,a);case 35665:return e.uniform3fv(t,a);case 35666:return e.uniform4fv(t,a);case 5124:return e.uniform1iv(t,a);case 35667:return e.uniform2iv(t,a);case 35668:return e.uniform3iv(t,a);case 35669:return e.uniform4iv(t,a);case 35670:return e.uniform1iv(t,a);case 35671:return e.uniform2iv(t,a);case 35672:return e.uniform3iv(t,a);case 35673:return e.uniform4iv(t,a);case 5125:return i.uniform1uiv(t,a,1);case 36294:return i.uniform2uiv(t,a,2);case 36295:return i.uniform3uiv(t,a,3);case 36296:return i.uniform4uiv(t,a,4);case 35674:return e.uniformMatrix2fv(t,!1,a);case 35675:return e.uniformMatrix3fv(t,!1,a);case 35676:return e.uniformMatrix4fv(t,!1,a);case 35685:return i.uniformMatrix2x3fv(t,!1,a);case 35686:return i.uniformMatrix2x4fv(t,!1,a);case 35687:return i.uniformMatrix3x2fv(t,!1,a);case 35688:return i.uniformMatrix3x4fv(t,!1,a);case 35689:return i.uniformMatrix4x2fv(t,!1,a);case 35690:return i.uniformMatrix4x3fv(t,!1,a)}throw new Error("Illegal uniform")}function ic(e){switch(e){case"point-list":return 0;case"line-list":return 1;case"line-strip":return 3;case"line-loop-webgl":return 2;case"triangle-list":return 4;case"triangle-strip":return 5;case"triangle-fan-webgl":return 6;default:throw new Error(e)}}function ac(e){switch(e){case"point-list":return 0;case"line-list":return 1;case"line-strip":return 1;case"line-loop-webgl":return 1;case"triangle-list":return 4;case"triangle-strip":return 4;case"triangle-fan-webgl":return 4;default:throw new Error(e)}}function Tt(e){return Tt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Tt(e)}function uc(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=pc(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
46
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,c;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,c=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw c}}}}function fc(e,t){return Pg(e)||Og(e,t)||pc(e,t)||Sg()}function Sg(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
47
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function pc(e,t){if(e){if(typeof e=="string")return cc(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return cc(e,t)}}function cc(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Og(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,c=[],f=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=o.call(r)).done)&&(c.push(n.value),c.length!==t);f=!0);}catch(b){p=!0,i=b}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return c}}function Pg(e){if(Array.isArray(e))return e}function sc(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Eg(n.key),n)}}function xg(e,t,r){return t&&sc(e.prototype,t),r&&sc(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Eg(e){var t=Tg(e,"string");return Tt(t)==="symbol"?t:String(t)}function Tg(e,t){if(Tt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Tt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ag(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Lg(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Zo(e,t)}function Zo(e,t){return Zo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Zo(e,t)}function jg(e){var t=Bg();return function(){var n=Ln(e),i;if(t){var o=Ln(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Rg(this,i)}}function Rg(e,t){if(t&&(Tt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Gg(e)}function Gg(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Bg(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Ln(e){return Ln=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Ln(e)}var lc=4,jn=function(e){Lg(r,e);var t=jg(r);function r(i,o){var a;Ag(this,r),a=t.call(this,i,o),a.device=void 0,a.handle=void 0,a.vs=void 0,a.fs=void 0,a.introspectedLayout=void 0,a.uniforms={},a.bindings={},a.varyings=null,a._uniformCount=0,a._uniformSetters={},a.device=i,a.handle=a.props.handle||a.device.gl.createProgram(),a.device.setSpectorMetadata(a.handle,{id:a.props.id}),a.vs=o.vs,a.fs=o.fs;var c=o.varyings,f=o.bufferMode,p=f===void 0?35981:f;if(c&&c.length>0){var b;a.device.assertWebGL2(),a.varyings=c,(b=a.device.gl2)===null||b===void 0||b.transformFeedbackVaryings(a.handle,c,p)}return a._compileAndLink(),a.introspectedLayout=An(a.device.gl,a.handle),a.shaderLayout=io(a.introspectedLayout,o.shaderLayout),a}var n=r.prototype;return n.destroy=function(){this.handle&&(this.device.gl.deleteProgram(this.handle),this.destroyed=!0)},n.setBindings=function(o){for(var a=this,c=function(){var v=fc(p[f],2),S=v[0],_=v[1],E=a.shaderLayout.bindings.find(function(x){return x.name===S})||a.shaderLayout.bindings.find(function(x){return x.name==="".concat(S,"Uniforms")});if(!E){var A=a.shaderLayout.bindings.map(function(x){return'"'.concat(x.name,'"')}).join(", ");return F.warn('Unknown binding "'.concat(S,'" in render pipeline "').concat(a.id,'", expected one of ').concat(A))(),"continue"}switch(_||F.warn('Unsetting binding "'.concat(S,'" in render pipeline "').concat(a.id,'"'))(),E.type){case"uniform":if(!(_ instanceof pe)&&!(_.buffer instanceof pe))throw new Error("buffer value");break;case"texture":if(!(_ instanceof se||_ instanceof Te))throw new Error("texture value");break;case"sampler":F.warn("Ignoring sampler ".concat(S))();break;default:throw new Error(E.type)}a.bindings[S]=_},f=0,p=Object.entries(o);f<p.length;f++)var b=c()},n.setUniforms=function(o){var a=so(o),c=a.bindings;Object.keys(c).forEach(function(f){F.warn('Unsupported value "'.concat(JSON.stringify(c[f]),'" used in setUniforms() for key ').concat(f,". Use setBindings() instead?"))()}),Object.assign(this.uniforms,o)},n.draw=function(o){var a,c=this,f=o.renderPass,p=o.vertexArray,b=o.vertexCount,g=o.instanceCount,v=o.firstVertex,S=v===void 0?0:v,_=o.transformFeedback,E=ic(this.props.topology),A=Boolean(p.indexBuffer),x=(a=p.indexBuffer)===null||a===void 0?void 0:a.glIndexType,T=Number(g)>0;if(!this._areTexturesRenderable()||b===0)return!1;this.device.gl.useProgram(this.handle),p.bindBeforeRender(f),_&&_.begin(this.props.topology),this._applyBindings(),this._applyUniforms();var R=f;return Hu(this.device,this.props.parameters,R.glParameters,function(){if(A&&T){var j;(j=c.device.gl2)===null||j===void 0||j.drawElementsInstanced(E,b||0,x,S,g||0)}else if(A)c.device.gl.drawElements(E,b||0,x,S);else if(T){var M;(M=c.device.gl2)===null||M===void 0||M.drawArraysInstanced(E,S,b||0,g||0)}else c.device.gl.drawArrays(E,S,b||0);_&&_.end()}),p.unbindAfterRender(f),!0},n._compileAndLink=function(){var o=this.device.gl;o.attachShader(this.handle,this.vs.handle),o.attachShader(this.handle,this.fs.handle),F.time(lc,"linkProgram for ".concat(this.id))(),o.linkProgram(this.handle),F.timeEnd(lc,"linkProgram for ".concat(this.id))(),!o.debug&&F.level;var a=o.getProgramParameter(this.handle,35714);if(!a)throw new Error("Error linking: ".concat(o.getProgramInfoLog(this.handle)));o.validateProgram(this.handle);var c=o.getProgramParameter(this.handle,35715);if(!c)throw new Error("Error validating: ".concat(o.getProgramInfoLog(this.handle)))},n._areTexturesRenderable=function(){for(var o=!0,a=0,c=Object.entries(this.bindings);a<c.length;a++){var f=fc(c[a],2),p=f[1];p instanceof se&&(p.update(),o=o&&p.loaded)}return o},n._applyBindings=function(){this.device.gl.useProgram(this.handle);var o=this.device.gl2;if(!o)throw new Error("bindings");var a=0,c=0,f=uc(this.shaderLayout.bindings),p;try{for(f.s();!(p=f.n()).done;){var b=p.value,g=this.bindings[b.name]||this.bindings[b.name.replace(/Uniforms$/,"")];if(!g)throw new Error("No value for binding ".concat(b.name," in ").concat(this.id));switch(b.type){case"uniform":var v=b.name,S=o.getUniformBlockIndex(this.handle,v);if(S===4294967295)throw new Error("Invalid uniform block name ".concat(v));o.uniformBlockBinding(this.handle,c,S),g instanceof pe?o.bindBufferBase(35345,c,g.handle):o.bindBufferRange(35345,c,g.buffer.handle,g.offset||0,g.size||g.buffer.byteLength-g.offset),c+=1;break;case"texture":if(!(g instanceof se||g instanceof Te))throw new Error("texture");var _=void 0;if(g instanceof se)_=g;else if(g instanceof Te&&g.colorAttachments[0]instanceof se)F.warn("Passing framebuffer in texture binding may be deprecated. Use fbo.colorAttachments[0] instead")(),_=g.colorAttachments[0];else throw new Error("No texture");o.activeTexture(33984+a),o.bindTexture(_.target,_.handle),a+=1;break;case"sampler":break;case"storage":case"read-only-storage":throw new Error("binding type '".concat(b.type,"' not supported in WebGL"))}}}catch(E){f.e(E)}finally{f.f()}},n._applyUniforms=function(){var o=uc(this.shaderLayout.uniforms||[]),a;try{for(o.s();!(a=o.n()).done;){var c,f=a.value,p=f.name,b=f.location,g=f.type,v=f.textureUnit,S=(c=this.uniforms[p])!==null&&c!==void 0?c:v;S!==void 0&&oc(this.device.gl,b,g,S)}}catch(_){o.e(_)}finally{o.f()}},xg(r)}(Wr);function At(e){return At=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},At(e)}function Ig(e,t){return Cg(e)||Dg(e,t)||mc(e,t)||Fg()}function Fg(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
48
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Dg(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,c=[],f=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=o.call(r)).done)&&(c.push(n.value),c.length!==t);f=!0);}catch(b){p=!0,i=b}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return c}}function Cg(e){if(Array.isArray(e))return e}function Wg(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=mc(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
49
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,c;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,c=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw c}}}}function mc(e,t){if(e){if(typeof e=="string")return dc(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return dc(e,t)}}function dc(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function hc(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,kg(n.key),n)}}function Ng(e,t,r){return t&&hc(e.prototype,t),r&&hc(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function kg(e){var t=Mg(e,"string");return At(t)==="symbol"?t:String(t)}function Mg(e,t){if(At(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(At(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Vg(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ug(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Jo(e,t)}function Jo(e,t){return Jo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Jo(e,t)}function zg(e){var t=Xg();return function(){var n=Rn(e),i;if(t){var o=Rn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Hg(this,i)}}function Hg(e,t){if(t&&(At(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return $g(e)}function $g(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Xg(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Rn(e){return Rn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Rn(e)}var yc=function(e){Ug(r,e);var t=zg(r);function r(i){var o;return Vg(this,r),o=t.call(this,i,{}),o.device=void 0,o.commands=[],o.device=i,o}var n=r.prototype;return n.submitCommands=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.commands,a=Wg(o),c;try{for(a.s();!(c=a.n()).done;){var f=c.value;switch(f.name){case"copy-buffer-to-buffer":Kg(this.device,f.options);break;case"copy-buffer-to-texture":Yg(this.device,f.options);break;case"copy-texture-to-buffer":qg(this.device,f.options);break;case"copy-texture-to-texture":Qg(this.device,f.options);break}}}catch(p){a.e(p)}finally{a.f()}},Ng(r)}(zr);function Kg(e,t){var r=t.source,n=t.destination,i=e.assertWebGL2();if(i){var o,a;i.bindBuffer(36662,r.handle),i.bindBuffer(36663,n.handle),i.copyBufferSubData(36662,36663,(o=t.sourceOffset)!==null&&o!==void 0?o:0,(a=t.destinationOffset)!==null&&a!==void 0?a:0,t.size),i.bindBuffer(36662,null),i.bindBuffer(36663,null)}else throw new Error("copyBufferToBuffer not implemented in WebGL1")}function Yg(e,t){throw new Error("Not implemented")}function qg(e,t){var r=t.source,n=t.mipLevel,i=n===void 0?0:n,o=t.aspect,a=o===void 0?"all":o,c=t.width,f=c===void 0?t.source.width:c,p=t.height,b=p===void 0?t.source.height:p,g=t.depthOrArrayLayers,v=g===void 0?0:g,S=t.origin,_=S===void 0?[0,0]:S,E=t.destination,A=t.byteOffset,x=A===void 0?0:A,T=t.bytesPerRow,R=t.rowsPerImage;if(a!=="all")throw new Error("not supported");if(i!==0||v!==0||T||R)throw new Error("not implemented");var j=e.assertWebGL2(),M=bc(r),D=M.framebuffer,H=M.destroyFramebuffer;try{var N=E,V=f||D.width,W=b||D.height,z=mt(D.texture.format,!0),l=z.dataFormat,u=z.type;j.bindBuffer(35051,N.handle),j.bindFramebuffer(36160,D.handle),j.readPixels(_[0],_[1],V,W,l,u,x)}finally{j.bindBuffer(35051,null),j.bindFramebuffer(36160,null),H&&D.destroy()}}function Qg(e,t){var r=t.source,n=t.origin,i=n===void 0?[0,0]:n,o=t.destination,a=t.width,c=a===void 0?t.destination.width:a,f=t.height,p=f===void 0?t.destination.width:f,b=0,g=6408,v=bc(r),S=v.framebuffer,_=v.destroyFramebuffer,E=Ig(i,2),A=E[0],x=E[1],T=!1;e.gl.bindFramebuffer(36160,S.handle);var R=null,j;if(o instanceof se)R=o,c=Number.isFinite(c)?c:R.width,p=Number.isFinite(p)?p:R.height,R.bind(0),j=R.destination;else throw new Error("whoops");return T||e.gl.copyTexImage2D(j,b,g,A,x,c,p,0),R&&R.unbind(),_&&S.destroy(),R}function bc(e){if(e instanceof ae){var t=e.width,r=e.height,n=e.id,i=e.device.createFramebuffer({id:"framebuffer-for-".concat(n),width:t,height:r,colorAttachments:[e]});return{framebuffer:i,destroyFramebuffer:!0}}return{framebuffer:e,destroyFramebuffer:!1}}function Lt(e){return Lt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Lt(e)}function gc(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Jg(n.key),n)}}function Zg(e,t,r){return t&&gc(e.prototype,t),r&&gc(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Jg(e){var t=ev(e,"string");return Lt(t)==="symbol"?t:String(t)}function ev(e,t){if(Lt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Lt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function tv(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function rv(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ei(e,t)}function ei(e,t){return ei=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},ei(e,t)}function nv(e){var t=av();return function(){var n=Gn(e),i;if(t){var o=Gn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return ov(this,i)}}function ov(e,t){if(t&&(Lt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return iv(e)}function iv(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function av(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Gn(e){return Gn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Gn(e)}var Bn=function(e){rv(r,e);var t=nv(r);function r(i,o){var a;return tv(this,r),a=t.call(this,i,o),a.device=void 0,a.commandBuffer=void 0,a.device=i,a.commandBuffer=new yc(i),a}var n=r.prototype;return n.destroy=function(){},n.finish=function(){this.commandBuffer.submitCommands()},n.copyBufferToBuffer=function(o){this.commandBuffer.commands.push({name:"copy-buffer-to-buffer",options:o})},n.copyBufferToTexture=function(o){this.commandBuffer.commands.push({name:"copy-buffer-to-texture",options:o})},n.copyTextureToBuffer=function(o){this.commandBuffer.commands.push({name:"copy-texture-to-buffer",options:o})},n.copyTextureToTexture=function(o){this.commandBuffer.commands.push({name:"copy-texture-to-texture",options:o})},n.pushDebugGroup=function(o){},n.popDebugGroup=function(){},n.insertDebugMarker=function(o){},Zg(r)}(Vr);function jt(e){return jt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},jt(e)}var wc;function uv(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function vc(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,cv(n.key),n)}}function fv(e,t,r){return t&&vc(e.prototype,t),r&&vc(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function cv(e){var t=sv(e,"string");return jt(t)==="symbol"?t:String(t)}function sv(e,t){if(jt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(jt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function In(){return typeof Reflect<"u"&&Reflect.get?In=Reflect.get.bind():In=function(t,r,n){var i=lv(t,r);if(i){var o=Object.getOwnPropertyDescriptor(i,r);return o.get?o.get.call(arguments.length<3?t:n):o.value}},In.apply(this,arguments)}function lv(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&(e=Rt(e),e!==null););return e}function pv(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ti(e,t)}function ti(e,t){return ti=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},ti(e,t)}function dv(e){var t=yv();return function(){var n=Rt(e),i;if(t){var o=Rt(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return hv(this,i)}}function hv(e,t){if(t&&(jt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return mv(e)}function mv(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function yv(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Rt(e){return Rt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Rt(e)}wc=Symbol.toStringTag;var Fn=function(e){pv(r,e);var t=dv(r);r.isConstantAttributeZeroSupported=function(o){return o.info.type==="webgl2"||Sr()==="Chrome"};function r(i,o){var a;return uv(this,r),a=t.call(this,i,o),a.device=void 0,a.handle=void 0,a.buffer=null,a.bufferValue=null,a.init=!1,a.device=i,a.handle=a.device.gl2.createVertexArray(),a}var n=r.prototype;return n.destroy=function(){if(In(Rt(r.prototype),"destroy",this).call(this),this.buffer){var o;(o=this.buffer)===null||o===void 0||o.destroy()}this.handle&&(this.device.gl2.deleteVertexArray(this.handle),this.handle=void 0)},n.setIndexBuffer=function(o){var a=o;if(a&&a.glTarget!==34963)throw new Error("Use .setBuffer()");this.device.gl2.bindVertexArray(this.handle),this.device.gl2.bindBuffer(34963,a?a.handle:null),this.indexBuffer=a},n.setBuffer=function(o,a){var c=a;if(c.glTarget===34963)throw new Error("Use .setIndexBuffer()");var f=this._getAccessor(o),p=f.size,b=f.type,g=f.stride,v=f.offset,S=f.normalized,_=f.integer,E=f.divisor;this.device.gl2.bindVertexArray(this.handle),this.device.gl.bindBuffer(34962,c.handle),_?(this.device.assertWebGL2(),this.device.gl2.vertexAttribIPointer(o,p,b,g,v)):this.device.gl.vertexAttribPointer(o,p,b,S,g,v),this.device.gl.enableVertexAttribArray(o),this.device.gl2.vertexAttribDivisor(o,E||0),this.attributes[o]=c},n.setConstant=function(o,a){this._enable(o,!1),this.attributes[o]=a},n.bindBeforeRender=function(){if(this.device.gl2.bindVertexArray(this.handle),!this.init){var o=this.indexBuffer;this.device.gl2.bindBuffer(34963,o?.handle||null),this.init=!0}this._applyConstantAttributes()},n.unbindAfterRender=function(){this.device.gl2.bindVertexArray(null)},n._applyConstantAttributes=function(){for(var o=0;o<this.maxVertexAttributes;++o){var a=this.attributes[o];ArrayBuffer.isView(a)&&this.device.setConstantAttribute(o,a)}},n._getAccessor=function(o){var a=this.attributeInfos[o];if(!a)throw new Error("Unknown attribute location ".concat(o));var c=nn(a.bufferDataType);return{size:a.bufferComponents,type:c,stride:a.byteStride,offset:a.byteOffset,normalized:a.normalized,integer:a.integer,divisor:a.stepMode==="instance"?1:0}},n._enable=function(o){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,c=r.isConstantAttributeZeroSupported(this.device),f=c||o!==0;(a||f)&&(o=Number(o),this.device.gl2.bindVertexArray(this.handle),a?this.device.gl.enableVertexAttribArray(o):this.device.gl.disableVertexAttribArray(o),this.device.gl2.bindVertexArray(null))},n.getConstantBuffer=function(o,a){var c=bv(a),f=c.byteLength*o,p=c.length*o;if(this.buffer&&f!==this.buffer.byteLength)throw new Error("Buffer size is immutable, byte length ".concat(f," !== ").concat(this.buffer.byteLength,"."));var b=!this.buffer;if(this.buffer=this.buffer||this.device.createBuffer({byteLength:f}),b=b||!gv(c,this.bufferValue),b){var g=fo(a.constructor,p);co({target:g,source:c,start:0,count:p}),this.buffer.write(g),this.bufferValue=a}return this.buffer},fv(r,[{key:wc,get:function(){return"VertexArray"}}]),r}(Xr);function bv(e){return Array.isArray(e)?new Float32Array(e):e}function gv(e,t){if(!e||!t||e.length!==t.length||e.constructor!==t.constructor)return!1;for(var r=0;r<e.length;++r)if(e[r]!==t[r])return!1;return!0}function Gt(e){return Gt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Gt(e)}function vv(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=wv(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
50
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,c;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,c=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw c}}}}function wv(e,t){if(e){if(typeof e=="string")return _c(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _c(e,t)}}function _c(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Sc(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Sv(n.key),n)}}function _v(e,t,r){return t&&Sc(e.prototype,t),r&&Sc(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Sv(e){var t=Ov(e,"string");return Gt(t)==="symbol"?t:String(t)}function Ov(e,t){if(Gt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Gt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Pv(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Dn(){return typeof Reflect<"u"&&Reflect.get?Dn=Reflect.get.bind():Dn=function(t,r,n){var i=xv(t,r);if(i){var o=Object.getOwnPropertyDescriptor(i,r);return o.get?o.get.call(arguments.length<3?t:n):o.value}},Dn.apply(this,arguments)}function xv(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&(e=Bt(e),e!==null););return e}function Ev(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ri(e,t)}function ri(e,t){return ri=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},ri(e,t)}function Tv(e){var t=Lv();return function(){var n=Bt(e),i;if(t){var o=Bt(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Av(this,i)}}function Av(e,t){if(t&&(Gt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Pc(e)}function Pc(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Lv(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Bt(e){return Bt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Bt(e)}var Cn=function(e){Ev(r,e);var t=Tv(r);function r(i,o){var a;return Pv(this,r),a=t.call(this,i,o),a.device=void 0,a.gl2=void 0,a.handle=void 0,a.layout=void 0,a.buffers={},a.unusedBuffers={},a.bindOnUse=!0,a._bound=!1,i.assertWebGL2(),a.device=i,a.gl2=i.gl2,a.handle=a.props.handle||a.gl2.createTransformFeedback(),a.layout=a.props.layout,o.buffers&&a.setBuffers(o.buffers),Object.seal(Pc(a)),a}var n=r.prototype;return n.destroy=function(){this.gl2.deleteTransformFeedback(this.handle),Dn(Bt(r.prototype),"destroy",this).call(this)},n.begin=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"point-list";this.gl2.bindTransformFeedback(36386,this.handle),this.bindOnUse&&this._bindBuffers(),this.gl2.beginTransformFeedback(ac(o))},n.end=function(){this.gl2.endTransformFeedback(),this.bindOnUse||this._unbindBuffers(),this.gl2.bindTransformFeedback(36386,null)},n.setBuffers=function(o){var a=this;this.buffers={},this.unusedBuffers={},this.bind(function(){for(var c in o)a.setBuffer(c,o[c])})},n.setBuffer=function(o,a){var c=this._getVaryingIndex(o),f=this._getBufferRange(a),p=f.buffer,b=f.byteLength,g=f.byteOffset;if(c<0){this.unusedBuffers[o]=p,F.warn("".concat(this.id," unusedBuffers varying buffer ").concat(o))();return}this.buffers[c]={buffer:p,byteLength:b,byteOffset:g},this.bindOnUse||this._bindBuffer(c,p,g,b)},n.getBuffer=function(o){if(Oc(o))return this.buffers[o]||null;var a=this._getVaryingIndex(o);return a>=0?this.buffers[a]:null},n.bind=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.handle;if(typeof o!="function")return this.gl2.bindTransformFeedback(36386,o),this;var a;return this._bound?a=o():(this.gl2.bindTransformFeedback(36386,this.handle),this._bound=!0,a=o(),this._bound=!1,this.gl2.bindTransformFeedback(36386,null)),a},n.unbind=function(){this.bind(null)},n._getBufferRange=function(o){if(o instanceof pe)return{buffer:o,byteOffset:0,byteLength:o.byteLength};var a=o.buffer,c=o.byteOffset,f=c===void 0?0:c,p=o.byteLength,b=p===void 0?o.buffer.byteLength:p;return{buffer:a,byteOffset:f,byteLength:b}},n._getVaryingIndex=function(o){if(Oc(o))return Number(o);var a=vv(this.layout.varyings),c;try{for(a.s();!(c=a.n()).done;){var f=c.value;if(o===f.name)return f.location}}catch(p){a.e(p)}finally{a.f()}return-1},n._bindBuffers=function(){for(var o in this.buffers){var a=this._getBufferRange(this.buffers[o]),c=a.buffer,f=a.byteLength,p=a.byteOffset;this._bindBuffer(Number(o),c,p,f)}},n._unbindBuffers=function(){for(var o in this.buffers)this.gl2.bindBufferBase(35982,Number(o),null)},n._bindBuffer=function(o,a){var c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,f=arguments.length>3?arguments[3]:void 0,p=a&&a.handle;!p||f===void 0?this.gl2.bindBufferBase(35982,o,p):this.gl2.bindBufferRange(35982,o,p,c,f)},_v(r)}(Yr);function Oc(e){return typeof e=="number"?Number.isInteger(e):/^\d+$/.test(e)}function ze(e){return ze=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ze(e)}function xc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ae(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?xc(Object(r),!0).forEach(function(n){jv(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):xc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function jv(e,t,r){return t=Ac(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ni(){"use strict";ni=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(l,u,s){l[u]=s.value},i=typeof Symbol=="function"?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function f(l,u,s){return Object.defineProperty(l,u,{value:s,enumerable:!0,configurable:!0,writable:!0}),l[u]}try{f({},"")}catch{f=function(s,d,m){return s[d]=m}}function p(l,u,s,d){var m=u&&u.prototype instanceof v?u:v,h=Object.create(m.prototype),w=new V(d||[]);return n(h,"_invoke",{value:M(l,s,w)}),h}function b(l,u,s){try{return{type:"normal",arg:l.call(u,s)}}catch(d){return{type:"throw",arg:d}}}e.wrap=p;var g={};function v(){}function S(){}function _(){}var E={};f(E,o,function(){return this});var A=Object.getPrototypeOf,x=A&&A(A(W([])));x&&x!==t&&r.call(x,o)&&(E=x);var T=_.prototype=v.prototype=Object.create(E);function R(l){["next","throw","return"].forEach(function(u){f(l,u,function(s){return this._invoke(u,s)})})}function j(l,u){function s(m,h,w,O){var P=b(l[m],l,h);if(P.type!=="throw"){var I=P.arg,G=I.value;return G&&ze(G)=="object"&&r.call(G,"__await")?u.resolve(G.__await).then(function(C){s("next",C,w,O)},function(C){s("throw",C,w,O)}):u.resolve(G).then(function(C){I.value=C,w(I)},function(C){return s("throw",C,w,O)})}O(P.arg)}var d;n(this,"_invoke",{value:function(h,w){function O(){return new u(function(P,I){s(h,w,P,I)})}return d=d?d.then(O,O):O()}})}function M(l,u,s){var d="suspendedStart";return function(m,h){if(d==="executing")throw new Error("Generator is already running");if(d==="completed"){if(m==="throw")throw h;return z()}for(s.method=m,s.arg=h;;){var w=s.delegate;if(w){var O=D(w,s);if(O){if(O===g)continue;return O}}if(s.method==="next")s.sent=s._sent=s.arg;else if(s.method==="throw"){if(d==="suspendedStart")throw d="completed",s.arg;s.dispatchException(s.arg)}else s.method==="return"&&s.abrupt("return",s.arg);d="executing";var P=b(l,u,s);if(P.type==="normal"){if(d=s.done?"completed":"suspendedYield",P.arg===g)continue;return{value:P.arg,done:s.done}}P.type==="throw"&&(d="completed",s.method="throw",s.arg=P.arg)}}}function D(l,u){var s=u.method,d=l.iterator[s];if(d===void 0)return u.delegate=null,s==="throw"&&l.iterator.return&&(u.method="return",u.arg=void 0,D(l,u),u.method==="throw")||s!=="return"&&(u.method="throw",u.arg=new TypeError("The iterator does not provide a '"+s+"' method")),g;var m=b(d,l.iterator,u.arg);if(m.type==="throw")return u.method="throw",u.arg=m.arg,u.delegate=null,g;var h=m.arg;return h?h.done?(u[l.resultName]=h.value,u.next=l.nextLoc,u.method!=="return"&&(u.method="next",u.arg=void 0),u.delegate=null,g):h:(u.method="throw",u.arg=new TypeError("iterator result is not an object"),u.delegate=null,g)}function H(l){var u={tryLoc:l[0]};1 in l&&(u.catchLoc=l[1]),2 in l&&(u.finallyLoc=l[2],u.afterLoc=l[3]),this.tryEntries.push(u)}function N(l){var u=l.completion||{};u.type="normal",delete u.arg,l.completion=u}function V(l){this.tryEntries=[{tryLoc:"root"}],l.forEach(H,this),this.reset(!0)}function W(l){if(l){var u=l[o];if(u)return u.call(l);if(typeof l.next=="function")return l;if(!isNaN(l.length)){var s=-1,d=function m(){for(;++s<l.length;)if(r.call(l,s))return m.value=l[s],m.done=!1,m;return m.value=void 0,m.done=!0,m};return d.next=d}}return{next:z}}function z(){return{value:void 0,done:!0}}return S.prototype=_,n(T,"constructor",{value:_,configurable:!0}),n(_,"constructor",{value:S,configurable:!0}),S.displayName=f(_,c,"GeneratorFunction"),e.isGeneratorFunction=function(l){var u=typeof l=="function"&&l.constructor;return!!u&&(u===S||(u.displayName||u.name)==="GeneratorFunction")},e.mark=function(l){return Object.setPrototypeOf?Object.setPrototypeOf(l,_):(l.__proto__=_,f(l,c,"GeneratorFunction")),l.prototype=Object.create(T),l},e.awrap=function(l){return{__await:l}},R(j.prototype),f(j.prototype,a,function(){return this}),e.AsyncIterator=j,e.async=function(l,u,s,d,m){m===void 0&&(m=Promise);var h=new j(p(l,u,s,d),m);return e.isGeneratorFunction(u)?h:h.next().then(function(w){return w.done?w.value:h.next()})},R(T),f(T,c,"Generator"),f(T,o,function(){return this}),f(T,"toString",function(){return"[object Generator]"}),e.keys=function(l){var u=Object(l),s=[];for(var d in u)s.push(d);return s.reverse(),function m(){for(;s.length;){var h=s.pop();if(h in u)return m.value=h,m.done=!1,m}return m.done=!0,m}},e.values=W,V.prototype={constructor:V,reset:function(u){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(N),!u)for(var s in this)s.charAt(0)==="t"&&r.call(this,s)&&!isNaN(+s.slice(1))&&(this[s]=void 0)},stop:function(){this.done=!0;var u=this.tryEntries[0].completion;if(u.type==="throw")throw u.arg;return this.rval},dispatchException:function(u){if(this.done)throw u;var s=this;function d(I,G){return w.type="throw",w.arg=u,s.next=I,G&&(s.method="next",s.arg=void 0),!!G}for(var m=this.tryEntries.length-1;m>=0;--m){var h=this.tryEntries[m],w=h.completion;if(h.tryLoc==="root")return d("end");if(h.tryLoc<=this.prev){var O=r.call(h,"catchLoc"),P=r.call(h,"finallyLoc");if(O&&P){if(this.prev<h.catchLoc)return d(h.catchLoc,!0);if(this.prev<h.finallyLoc)return d(h.finallyLoc)}else if(O){if(this.prev<h.catchLoc)return d(h.catchLoc,!0)}else{if(!P)throw new Error("try statement without catch or finally");if(this.prev<h.finallyLoc)return d(h.finallyLoc)}}}},abrupt:function(u,s){for(var d=this.tryEntries.length-1;d>=0;--d){var m=this.tryEntries[d];if(m.tryLoc<=this.prev&&r.call(m,"finallyLoc")&&this.prev<m.finallyLoc){var h=m;break}}h&&(u==="break"||u==="continue")&&h.tryLoc<=s&&s<=h.finallyLoc&&(h=null);var w=h?h.completion:{};return w.type=u,w.arg=s,h?(this.method="next",this.next=h.finallyLoc,g):this.complete(w)},complete:function(u,s){if(u.type==="throw")throw u.arg;return u.type==="break"||u.type==="continue"?this.next=u.arg:u.type==="return"?(this.rval=this.arg=u.arg,this.method="return",this.next="end"):u.type==="normal"&&s&&(this.next=s),g},finish:function(u){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.finallyLoc===u)return this.complete(d.completion,d.afterLoc),N(d),g}},catch:function(u){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.tryLoc===u){var m=d.completion;if(m.type==="throw"){var h=m.arg;N(d)}return h}}throw new Error("illegal catch attempt")},delegateYield:function(u,s,d){return this.delegate={iterator:W(u),resultName:s,nextLoc:d},this.method==="next"&&(this.arg=void 0),g}},e}function Ec(e,t,r,n,i,o,a){try{var c=e[o](a),f=c.value}catch(p){r(p);return}c.done?t(f):Promise.resolve(f).then(n,i)}function Rv(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(f){Ec(o,n,i,a,c,"next",f)}function c(f){Ec(o,n,i,a,c,"throw",f)}a(void 0)})}}function Gv(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Tc(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Ac(n.key),n)}}function Bv(e,t,r){return t&&Tc(e.prototype,t),r&&Tc(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ac(e){var t=Iv(e,"string");return ze(t)==="symbol"?t:String(t)}function Iv(e,t){if(ze(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(ze(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Fv(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&oi(e,t)}function oi(e,t){return oi=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},oi(e,t)}function Dv(e){var t=Wv();return function(){var n=Nn(e),i;if(t){var o=Nn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Cv(this,i)}}function Cv(e,t){if(t&&(ze(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ii(e)}function ii(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Wv(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Nn(e){return Nn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Nn(e)}var Wn=1,le=function(e){Fv(r,e);var t=Dv(r);r.isSupported=function(){return typeof WebGLRenderingContext<"u"||li()},r.attach=function(o){if(o instanceof r)return o;if(o?.device instanceof Qe)return o.device;if(!Nv(o))throw new Error("Invalid WebGLRenderingContext");return new r({gl:o})},r.create=function(){var i=Rv(ni().mark(function a(){var c,f,p=arguments;return ni().wrap(function(g){for(;;)switch(g.prev=g.next){case 0:if(c=p.length>0&&p[0]!==void 0?p[0]:{},F.groupCollapsed(Wn,"WebGLDevice created"),typeof c.canvas!="string"){g.next=5;break}return g.next=5,Ze.pageLoaded;case 5:if(!(F.get("debug")||c.debug)){g.next=8;break}return g.next=8,Df();case 8:if(f=c.spector,!(F.get("spector")||f)){g.next=12;break}return g.next=12,Tf();case 12:if(F.probe(Wn+1,"DOM is loaded")(),!(c.gl&&c.gl.device)){g.next=15;break}return g.abrupt("return",r.attach(c.gl));case 15:return g.abrupt("return",new r(c));case 16:case"end":return g.stop()}},a)}));function o(){return i.apply(this,arguments)}return o}();function r(i){var o,a;Gv(this,r),a=t.call(this,Ae(Ae({},i),{},{id:i.id||we("webgl-device")})),a.info=void 0,a.canvasContext=void 0,a.handle=void 0,a.lost=void 0,a._resolveContextLost=void 0,a._features=void 0,a._limits=void 0,a.renderPass=null,a.gl=void 0,a.gl2=null,a.debug=!1,a.isWebGL1=void 0,a.isWebGL2=void 0,a._canvasSizeInfo={clientWidth:0,clientHeight:0,devicePixelRatio:1},a._extensions={},a._polyfilled=!1,a.spector=void 0,a._webglLimits=void 0,a._constants=void 0;var c=(o=i.gl)===null||o===void 0?void 0:o.device;if(c)throw new Error("WebGL context already attached to device ".concat(c.id));a.canvasContext=new _n(ii(a),i),a.lost=new Promise(function(A){a._resolveContextLost=A});var f=function(x){var T,R;return(T=(R=a)._resolveContextLost)===null||T===void 0?void 0:T.call(R,{reason:"destroyed",message:"Computer entered sleep mode, or too many apps or browser tabs are using the GPU."})},p=i.gl||null;if(p=p||(J()?Au(a.canvasContext.canvas,Ae(Ae({},i),{},{onContextLost:f})):null),p=p||(J()?null:pi(Ae(Ae({},i),{},{onContextLost:f}))),!p)throw new Error("WebGL context creation failed");a.handle=p,a.gl=a.handle,a.gl2=a.gl,a.isWebGL2=kv(a.gl),a.isWebGL1=!a.isWebGL2,a.info=Lu(a.gl),a.gl.device=ii(a),a.gl._version=a.isWebGL2?2:1,tn(a.gl);var b=i.enable,g=b===void 0?!0:b,v=i.copyState,S=v===void 0?!1:v;if(tr(a.gl,{enable:g,copyState:S,log:function(){for(var x=arguments.length,T=new Array(x),R=0;R<x;R++)T[R]=arguments[R];return F.log.apply(F,[1].concat(T))()}}),J()&&i.debug&&(a.gl=Cf(a.gl,Ae(Ae({},i),{},{webgl2:a.isWebGL2,throwOnError:!0})),a.gl2=a.gl,a.debug=!0,F.level=Math.max(F.level,1),F.warn("WebGL debug mode activated. Performance reduced.")()),J()&&i.spector){var _=a.handle.canvas||i.canvas;a.spector=Af(Ae(Ae({},a.props),{},{canvas:_}))}var E="Created ".concat(a.info.type).concat(a.debug?" debug":""," context: ").concat(a.info.vendor,", ").concat(a.info.renderer," for canvas: ").concat(a.canvasContext.id);return F.probe(Wn,E)(),F.groupEnd(Wn)(),a}var n=r.prototype;return n.destroy=function(){var o=this.gl.getExtension("STACKGL_destroy_context");o&&o.destroy()},n.getSize=function(){return[this.gl.drawingBufferWidth,this.gl.drawingBufferHeight]},n.isTextureFormatSupported=function(o){return ur(this.gl,o)},n.isTextureFormatFilterable=function(o){return Fu(this.gl,o)},n.isTextureFormatRenderable=function(o){return Du(this.gl,o)},n.assertWebGL2=function(){if(!this.gl2)throw new Error("Requires WebGL2");return this.gl2},n.createCanvasContext=function(o){throw new Error("WebGL only supports a single canvas")},n.createBuffer=function(o){var a=this._getBufferProps(o);return new pe(this,a)},n._createTexture=function(o){return new se(this,o)},n.createExternalTexture=function(o){throw new Error("createExternalTexture() not implemented")},n.createSampler=function(o){return new Ve(this,o)},n.createShader=function(o){return new On(this,o)},n.createFramebuffer=function(o){return new Te(this,o)},n.createRenderPipeline=function(o){return new jn(this,o)},n.createVertexArray=function(o){return new Fn(this,o)},n.beginRenderPass=function(o){return new xn(this,o)},n.createComputePipeline=function(o){throw new Error("ComputePipeline not supported in WebGL")},n.beginComputePass=function(o){throw new Error("ComputePass not supported in WebGL")},n.createTransformFeedback=function(o){return new Cn(this,o)},n.getDefaultRenderPass=function(){return this.renderPass=this.renderPass||this.beginRenderPass({framebuffer:this.canvasContext.getCurrentFramebuffer()}),this.renderPass},n.createCommandEncoder=function(o){return new Bn(this,o)},n.submit=function(){var o;(o=this.renderPass)===null||o===void 0||o.end(),this.renderPass=null},n.loseDevice=function(){var o,a=!1,c=this.gl.getExtension("WEBGL_lose_context");return c&&(a=!0,c.loseContext()),(o=this._resolveContextLost)===null||o===void 0||o.call(this,{reason:"destroyed",message:"Application triggered context loss"}),a},n.pushState=function(){_e(this.gl)},n.popState=function(){ge(this.gl)},n.setSpectorMetadata=function(o,a){o.__SPECTOR_Metadata=a},n.getGLKey=function(o,a){a=a||this.gl2||this.gl;var c=Number(o);for(var f in a)if(a[f]===c)return"GL.".concat(f);return String(o)},n.setConstantAttribute=function(o,a){this._constants=this._constants||new Array(this.limits.maxVertexAttributes).fill(null);var c=this._constants[o];switch(c&&zv(c,a)&&F.info(1,"setConstantAttribute(".concat(o,") could have been skipped, value unchanged"))(),this._constants[o]=a,a.constructor){case Float32Array:Mv(this,o,a);break;case Int32Array:Vv(this,o,a);break;case Uint32Array:Uv(this,o,a);break;default:k(!1)}},Bv(r,[{key:"features",get:function(){return this._features=this._features||ku(this.gl),this._features}},{key:"limits",get:function(){return this._limits=this._limits||Vu(this.gl),this._limits}},{key:"isLost",get:function(){return this.gl.isContextLost()}},{key:"webglLimits",get:function(){return this._webglLimits=this._webglLimits||Uu(this.gl),this._webglLimits}}]),r}(Qe);le.type="webgl";function Nv(e){return typeof WebGLRenderingContext<"u"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&Number.isFinite(e._version))}function kv(e){return typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&e._version===2)}function Mv(e,t,r){switch(r.length){case 1:e.gl.vertexAttrib1fv(t,r);break;case 2:e.gl.vertexAttrib2fv(t,r);break;case 3:e.gl.vertexAttrib3fv(t,r);break;case 4:e.gl.vertexAttrib4fv(t,r);break;default:k(!1)}}function Vv(e,t,r){var n;e.assertWebGL2(),(n=e.gl2)===null||n===void 0||n.vertexAttribI4iv(t,r)}function Uv(e,t,r){var n;e.assertWebGL2(),(n=e.gl2)===null||n===void 0||n.vertexAttribI4uiv(t,r)}function zv(e,t){if(!e||!t||e.length!==t.length||e.constructor!==t.constructor)return!1;for(var r=0;r<e.length;++r)if(e[r]!==t[r])return!1;return!0}var Hv=256,$v=1024,Xv=16384;var Kv="clear: bad arguments";function Lc(e,t){var r=le.attach(e),n=t||{},i=n.framebuffer,o=i===void 0?null:i,a=n.color,c=a===void 0?null:a,f=n.depth,p=f===void 0?null:f,b=n.stencil,g=b===void 0?null:b,v={};o&&(v.framebuffer=o);var S=0;c&&(S|=Xv,c!==!0&&(v.clearColor=c)),p&&(S|=Hv,p!==!0&&(v.clearDepth=p)),g&&(S|=$v,p!==!0&&(v.clearStencil=p)),k(S!==0,Kv),ve(r.gl,v,function(){r.gl.clear(S)})}function ai(e){switch(e){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return k(!1),0}}function jc(e){switch(e){case 5121:return 1;case 33635:case 32819:case 32820:return 2;case 5126:return 4;default:return k(!1),0}}function gr(e){return gr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gr(e)}function Rc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Gc(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Rc(Object(r),!0).forEach(function(n){Yv(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Rc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Yv(e,t,r){return t=qv(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function qv(e){var t=Qv(e,"string");return gr(t)==="symbol"?t:String(t)}function Qv(e,t){if(gr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(gr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Bc(e,t){var r,n=t||{},i=n.sourceX,o=i===void 0?0:i,a=n.sourceY,c=a===void 0?0:a,f=n.sourceFormat,p=f===void 0?6408:f,b=n.sourceAttachment,g=b===void 0?36064:b,v=t||{},S=v.target,_=S===void 0?null:S,E=v.sourceWidth,A=v.sourceHeight,x=v.sourceType,T=ui(e),R=T.framebuffer,j=T.deleteFramebuffer;k(R);var M=R,D=M.gl,H=M.handle;E=E||R.width,A=A||R.height;var N=g-36064;x=x||((r=R.colorAttachments[N])===null||r===void 0?void 0:r.type)||5121,_=Jv(_,x,p,E,A),x=x||Kf(_);var V=D.bindFramebuffer(36160,H);return D.readPixels(o,c,E,A,p,x,_),D.bindFramebuffer(36160,V||null),j&&R.destroy(),_}function Ic(e,t){var r=t||{},n=r.sourceX,i=n===void 0?0:n,o=r.sourceY,a=o===void 0?0:o,c=r.sourceFormat,f=c===void 0?6408:c,p=r.targetByteOffset,b=p===void 0?0:p,g=t||{},v=g.target,S=g.sourceWidth,_=g.sourceHeight,E=g.sourceType,A=ui(e),x=A.framebuffer,T=A.deleteFramebuffer;k(x),S=S||x.width,_=_||x.height;var R=x;if(E=E||5121,!v){var j=ai(f),M=jc(E),D=b+S*_*j*M;v=R.device.createBuffer({byteLength:D})}var H=e.device.createCommandEncoder();return H.copyTextureToBuffer({source:e,width:S,height:_,origin:[i,a],destination:v,byteOffset:b}),H.destroy(),T&&x.destroy(),v}function Fc(e,t,r){var n=r||{},i=n.sourceX,o=i===void 0?0:i,a=n.sourceY,c=a===void 0?0:a,f=n.targetMipmaplevel,p=f===void 0?0:f,b=n.targetInternalFormat,g=b===void 0?6408:b,v=r||{},S=v.targetX,_=v.targetY,E=v.targetZ,A=v.width,x=v.height,T=ui(e),R=T.framebuffer,j=T.deleteFramebuffer;k(R);var M=R,D=M.device,H=M.handle,N=typeof S<"u"||typeof _<"u"||typeof E<"u";S=S||0,_=_||0,E=E||0;var V=D.gl.bindFramebuffer(36160,H);k(t);var W=null,z;if(t instanceof ae?(W=t,A=Number.isFinite(A)?A:W.width,x=Number.isFinite(x)?x:W.height,W.bind(0),z=W.target):z=t,!N)D.gl.copyTexImage2D(z,p,g,o,c,A,x,0);else switch(z){case 3553:case 34067:D.gl.copyTexSubImage2D(z,p,S,_,o,c,A,x);break;case 35866:case 32879:D.assertWebGL2(),D.gl2.copyTexSubImage3D(z,p,S,_,E,o,c,A,x);break;default:}return W&&W.unbind(),D.gl.bindFramebuffer(36160,V||null),j&&R.destroy(),W}function ui(e){return e instanceof nt?{framebuffer:e,deleteFramebuffer:!1}:{framebuffer:Zv(e),deleteFramebuffer:!0}}function Zv(e,t){var r=e.device,n=e.width,i=e.height,o=e.id,a=r.createFramebuffer(Gc(Gc({},t),{},{id:"framebuffer-for-".concat(o),width:n,height:i,colorAttachments:[e]}));return a}function Jv(e,t,r,n,i){if(e)return e;t=t||5121;var o=hr(t,{clamped:!1}),a=ai(r);return new o(n*i*a)}return Uc(ew);})();
48
51
  return __exports__;
49
52
  });