@loaders.gl/tile-converter 4.4.0-alpha.11 → 4.4.0-alpha.13
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/converter.min.cjs +2 -2
- package/package.json +16 -16
package/dist/converter.min.cjs
CHANGED
|
@@ -151,13 +151,13 @@ Calls to async() callback can have unexpected results.`),l=!0,function(h,m){h?c(
|
|
|
151
151
|
|| ${o} === "boolean" || ${i} === null`).assign(s,(0,It._)`[${i}]`)}}}function zDt({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,It._)`${t} !== undefined`,()=>e.assign((0,It._)`${t}[${r}]`,n))}function QN(e,t,r,n=ov.Correct){let i=n===ov.Correct?It.operators.EQ:It.operators.NEQ,a;switch(e){case"null":return(0,It._)`${t} ${i} null`;case"array":a=(0,It._)`Array.isArray(${t})`;break;case"object":a=(0,It._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":a=o((0,It._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":a=o();break;default:return(0,It._)`typeof ${t} ${i} ${e}`}return n===ov.Correct?a:(0,It.not)(a);function o(s=It.nil){return(0,It.and)((0,It._)`typeof ${t} == "number"`,s,r?(0,It._)`isFinite(${t})`:It.nil)}}Yi.checkDataType=QN;function ZN(e,t,r,n){if(e.length===1)return QN(e[0],t,r,n);let i,a=(0,AEe.toHash)(e);if(a.array&&a.object){let o=(0,It._)`typeof ${t} != "object"`;i=a.null?o:(0,It._)`!${t} || ${o}`,delete a.null,delete a.array,delete a.object}else i=It.nil;a.number&&delete a.integer;for(let o in a)i=(0,It.and)(i,QN(o,t,r,n));return i}Yi.checkDataTypes=ZN;var HDt={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,It._)`{type: ${e}}`:(0,It._)`{type: ${t}}`};function eU(e){let t=VDt(e);(0,LDt.reportError)(t,HDt)}Yi.reportTypeError=eU;function VDt(e){let{gen:t,data:r,schema:n}=e,i=(0,AEe.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:i,schemaValue:i,parentSchema:n,params:{},it:e}}});var kEe=v(I4=>{"use strict";Object.defineProperty(I4,"__esModule",{value:!0});I4.assignDefaults=void 0;var sv=qt(),$Dt=lr();function WDt(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let i in r)SEe(e,i,r[i].default);else t==="array"&&Array.isArray(n)&&n.forEach((i,a)=>SEe(e,a,i.default))}I4.assignDefaults=WDt;function SEe(e,t,r){let{gen:n,compositeRule:i,data:a,opts:o}=e;if(r===void 0)return;let s=(0,sv._)`${a}${(0,sv.getProperty)(t)}`;if(i){(0,$Dt.checkStrictMode)(e,`default is ignored for: ${s}`);return}let u=(0,sv._)`${s} === undefined`;o.useDefaults==="empty"&&(u=(0,sv._)`${u} || ${s} === null || ${s} === ""`),n.if(u,(0,sv._)`${s} = ${(0,sv.stringify)(r)}`)}});var $o=v(kr=>{"use strict";Object.defineProperty(kr,"__esModule",{value:!0});kr.validateUnion=kr.validateArray=kr.usePattern=kr.callValidateCode=kr.schemaProperties=kr.allSchemaProperties=kr.noPropertyInData=kr.propertyInData=kr.isOwnProperty=kr.hasPropFunc=kr.reportMissingProp=kr.checkMissingProp=kr.checkReportMissingProp=void 0;var Yr=qt(),tU=lr(),id=ml(),KDt=lr();function JDt(e,t){let{gen:r,data:n,it:i}=e;r.if(nU(r,n,t,i.opts.ownProperties),()=>{e.setParams({missingProperty:(0,Yr._)`${t}`},!0),e.error()})}kr.checkReportMissingProp=JDt;function XDt({gen:e,data:t,it:{opts:r}},n,i){return(0,Yr.or)(...n.map(a=>(0,Yr.and)(nU(e,t,a,r.ownProperties),(0,Yr._)`${i} = ${a}`)))}kr.checkMissingProp=XDt;function YDt(e,t){e.setParams({missingProperty:t},!0),e.error()}kr.reportMissingProp=YDt;function CEe(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Yr._)`Object.prototype.hasOwnProperty`})}kr.hasPropFunc=CEe;function rU(e,t,r){return(0,Yr._)`${CEe(e)}.call(${t}, ${r})`}kr.isOwnProperty=rU;function QDt(e,t,r,n){let i=(0,Yr._)`${t}${(0,Yr.getProperty)(r)} !== undefined`;return n?(0,Yr._)`${i} && ${rU(e,t,r)}`:i}kr.propertyInData=QDt;function nU(e,t,r,n){let i=(0,Yr._)`${t}${(0,Yr.getProperty)(r)} === undefined`;return n?(0,Yr.or)(i,(0,Yr.not)(rU(e,t,r))):i}kr.noPropertyInData=nU;function DEe(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}kr.allSchemaProperties=DEe;function ZDt(e,t){return DEe(t).filter(r=>!(0,tU.alwaysValidSchema)(e,t[r]))}kr.schemaProperties=ZDt;function e5t({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:i,errorPath:a},it:o},s,u,c){let l=c?(0,Yr._)`${e}, ${t}, ${n}${i}`:t,f=[[id.default.instancePath,(0,Yr.strConcat)(id.default.instancePath,a)],[id.default.parentData,o.parentData],[id.default.parentDataProperty,o.parentDataProperty],[id.default.rootData,id.default.rootData]];o.opts.dynamicRef&&f.push([id.default.dynamicAnchors,id.default.dynamicAnchors]);let d=(0,Yr._)`${l}, ${r.object(...f)}`;return u!==Yr.nil?(0,Yr._)`${s}.call(${u}, ${d})`:(0,Yr._)`${s}(${d})`}kr.callValidateCode=e5t;var t5t=(0,Yr._)`new RegExp`;function r5t({gen:e,it:{opts:t}},r){let n=t.unicodeRegExp?"u":"",{regExp:i}=t.code,a=i(r,n);return e.scopeValue("pattern",{key:a.toString(),ref:a,code:(0,Yr._)`${i.code==="new RegExp"?t5t:(0,KDt.useFunc)(e,i)}(${r}, ${n})`})}kr.usePattern=r5t;function n5t(e){let{gen:t,data:r,keyword:n,it:i}=e,a=t.name("valid");if(i.allErrors){let s=t.let("valid",!0);return o(()=>t.assign(s,!1)),s}return t.var(a,!0),o(()=>t.break()),a;function o(s){let u=t.const("len",(0,Yr._)`${r}.length`);t.forRange("i",0,u,c=>{e.subschema({keyword:n,dataProp:c,dataPropType:tU.Type.Num},a),t.if((0,Yr.not)(a),s)})}}kr.validateArray=n5t;function i5t(e){let{gen:t,schema:r,keyword:n,it:i}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(u=>(0,tU.alwaysValidSchema)(i,u))&&!i.opts.unevaluated)return;let o=t.let("valid",!1),s=t.name("_valid");t.block(()=>r.forEach((u,c)=>{let l=e.subschema({keyword:n,schemaProp:c,compositeRule:!0},s);t.assign(o,(0,Yr._)`${o} || ${s}`),e.mergeValidEvaluated(l,s)||t.if((0,Yr.not)(o))})),e.result(o,()=>e.reset(),()=>e.error(!0))}kr.validateUnion=i5t});var OEe=v(Qu=>{"use strict";Object.defineProperty(Qu,"__esModule",{value:!0});Qu.validateKeywordUsage=Qu.validSchemaType=Qu.funcKeywordCode=Qu.macroKeywordCode=void 0;var pa=qt(),oh=ml(),a5t=$o(),o5t=H1();function s5t(e,t){let{gen:r,keyword:n,schema:i,parentSchema:a,it:o}=e,s=t.macro.call(o.self,i,a,o),u=FEe(r,n,s);o.opts.validateSchema!==!1&&o.self.validateSchema(s,!0);let c=r.name("valid");e.subschema({schema:s,schemaPath:pa.nil,errSchemaPath:`${o.errSchemaPath}/${n}`,topSchemaRef:u,compositeRule:!0},c),e.pass(c,()=>e.error(!0))}Qu.macroKeywordCode=s5t;function u5t(e,t){var r;let{gen:n,keyword:i,schema:a,parentSchema:o,$data:s,it:u}=e;l5t(u,t);let c=!s&&t.compile?t.compile.call(u.self,a,o,u):t.validate,l=FEe(n,i,c),f=n.let("valid");e.block$data(f,d),e.ok((r=t.valid)!==null&&r!==void 0?r:f);function d(){if(t.errors===!1)m(),t.modifying&&BEe(e),g(()=>e.error());else{let x=t.async?p():h();t.modifying&&BEe(e),g(()=>c5t(e,x))}}function p(){let x=n.let("ruleErrs",null);return n.try(()=>m((0,pa._)`await `),y=>n.assign(f,!1).if((0,pa._)`${y} instanceof ${u.ValidationError}`,()=>n.assign(x,(0,pa._)`${y}.errors`),()=>n.throw(y))),x}function h(){let x=(0,pa._)`${l}.errors`;return n.assign(x,null),m(pa.nil),x}function m(x=t.async?(0,pa._)`await `:pa.nil){let y=u.opts.passContext?oh.default.this:oh.default.self,w=!("compile"in t&&!s||t.schema===!1);n.assign(f,(0,pa._)`${x}${(0,a5t.callValidateCode)(e,l,y,w)}`,t.modifying)}function g(x){var y;n.if((0,pa.not)((y=t.valid)!==null&&y!==void 0?y:f),x)}}Qu.funcKeywordCode=u5t;function BEe(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,pa._)`${n.parentData}[${n.parentDataProperty}]`))}function c5t(e,t){let{gen:r}=e;r.if((0,pa._)`Array.isArray(${t})`,()=>{r.assign(oh.default.vErrors,(0,pa._)`${oh.default.vErrors} === null ? ${t} : ${oh.default.vErrors}.concat(${t})`).assign(oh.default.errors,(0,pa._)`${oh.default.vErrors}.length`),(0,o5t.extendErrors)(e)},()=>e.error())}function l5t({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function FEe(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,pa.stringify)(r)})}function f5t(e,t,r=!1){return!t.length||t.some(n=>n==="array"?Array.isArray(e):n==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==n||r&&typeof e>"u")}Qu.validSchemaType=f5t;function d5t({schema:e,opts:t,self:r,errSchemaPath:n},i,a){if(Array.isArray(i.keyword)?!i.keyword.includes(a):i.keyword!==a)throw new Error("ajv implementation error");let o=i.dependencies;if(o!=null&&o.some(s=>!Object.prototype.hasOwnProperty.call(e,s)))throw new Error(`parent schema must have dependencies of ${a}: ${o.join(",")}`);if(i.validateSchema&&!i.validateSchema(e[a])){let u=`keyword "${a}" value is invalid at path "${n}": `+r.errorsText(i.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(u);else throw new Error(u)}}Qu.validateKeywordUsage=d5t});var PEe=v(ad=>{"use strict";Object.defineProperty(ad,"__esModule",{value:!0});ad.extendSubschemaMode=ad.extendSubschemaData=ad.getSubschema=void 0;var Zu=qt(),IEe=lr();function p5t(e,{keyword:t,schemaProp:r,schema:n,schemaPath:i,errSchemaPath:a,topSchemaRef:o}){if(t!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let s=e.schema[t];return r===void 0?{schema:s,schemaPath:(0,Zu._)`${e.schemaPath}${(0,Zu.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:s[r],schemaPath:(0,Zu._)`${e.schemaPath}${(0,Zu.getProperty)(t)}${(0,Zu.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,IEe.escapeFragment)(r)}`}}if(n!==void 0){if(i===void 0||a===void 0||o===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:i,topSchemaRef:o,errSchemaPath:a}}throw new Error('either "keyword" or "schema" must be passed')}ad.getSubschema=p5t;function h5t(e,t,{dataProp:r,dataPropType:n,data:i,dataTypes:a,propertyName:o}){if(i!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:s}=t;if(r!==void 0){let{errorPath:c,dataPathArr:l,opts:f}=t,d=s.let("data",(0,Zu._)`${t.data}${(0,Zu.getProperty)(r)}`,!0);u(d),e.errorPath=(0,Zu.str)`${c}${(0,IEe.getErrorPath)(r,n,f.jsPropertySyntax)}`,e.parentDataProperty=(0,Zu._)`${r}`,e.dataPathArr=[...l,e.parentDataProperty]}if(i!==void 0){let c=i instanceof Zu.Name?i:s.let("data",i,!0);u(c),o!==void 0&&(e.propertyName=o)}a&&(e.dataTypes=a);function u(c){e.data=c,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,c]}}ad.extendSubschemaData=h5t;function m5t(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:i,allErrors:a}){n!==void 0&&(e.compositeRule=n),i!==void 0&&(e.createErrors=i),a!==void 0&&(e.allErrors=a),e.jtdDiscriminator=t,e.jtdMetadata=r}ad.extendSubschemaMode=m5t});var jEe=v((E0r,REe)=>{"use strict";var od=REe.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},i=r.post||function(){};P4(t,n,i,e,"",e)};od.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};od.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};od.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};od.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function P4(e,t,r,n,i,a,o,s,u,c){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,i,a,o,s,u,c);for(var l in n){var f=n[l];if(Array.isArray(f)){if(l in od.arrayKeywords)for(var d=0;d<f.length;d++)P4(e,t,r,f[d],i+"/"+l+"/"+d,a,i,l,n,d)}else if(l in od.propsKeywords){if(f&&typeof f=="object")for(var p in f)P4(e,t,r,f[p],i+"/"+l+"/"+g5t(p),a,i,l,n,p)}else(l in od.keywords||e.allKeys&&!(l in od.skipKeywords))&&P4(e,t,r,f,i+"/"+l,a,i,l,n)}r(n,i,a,o,s,u,c)}}function g5t(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var $1=v(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.getSchemaRefs=ja.resolveUrl=ja.normalizeId=ja._getFullPath=ja.getFullPath=ja.inlineRef=void 0;var v5t=lr(),b5t=e0(),x5t=jEe(),y5t=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function _5t(e,t=!0){return typeof e=="boolean"?!0:t===!0?!iU(e):t?MEe(e)<=t:!1}ja.inlineRef=_5t;var w5t=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function iU(e){for(let t in e){if(w5t.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(iU)||typeof r=="object"&&iU(r))return!0}return!1}function MEe(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!y5t.has(r)&&(typeof e[r]=="object"&&(0,v5t.eachItem)(e[r],n=>t+=MEe(n)),t===1/0))return 1/0}return t}function LEe(e,t="",r){r!==!1&&(t=uv(t));let n=e.parse(t);return qEe(e,n)}ja.getFullPath=LEe;function qEe(e,t){return e.serialize(t).split("#")[0]+"#"}ja._getFullPath=qEe;var A5t=/#\/?$/;function uv(e){return e?e.replace(A5t,""):""}ja.normalizeId=uv;function E5t(e,t,r){return r=uv(r),e.resolve(t,r)}ja.resolveUrl=E5t;var T5t=/^[a-z_][-a-z0-9._]*$/i;function S5t(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,i=uv(e[r]||t),a={"":i},o=LEe(n,i,!1),s={},u=new Set;return x5t(e,{allKeys:!0},(f,d,p,h)=>{if(h===void 0)return;let m=o+d,g=a[h];typeof f[r]=="string"&&(g=x.call(this,f[r])),y.call(this,f.$anchor),y.call(this,f.$dynamicAnchor),a[d]=g;function x(w){let T=this.opts.uriResolver.resolve;if(w=uv(g?T(g,w):w),u.has(w))throw l(w);u.add(w);let A=this.refs[w];return typeof A=="string"&&(A=this.refs[A]),typeof A=="object"?c(f,A.schema,w):w!==uv(m)&&(w[0]==="#"?(c(f,s[w],w),s[w]=f):this.refs[w]=m),w}function y(w){if(typeof w=="string"){if(!T5t.test(w))throw new Error(`invalid anchor "${w}"`);x.call(this,`#${w}`)}}}),s;function c(f,d,p){if(d!==void 0&&!b5t(f,d))throw l(p)}function l(f){return new Error(`reference "${f}" resolves to more than one schema`)}}ja.getSchemaRefs=S5t});var J1=v(sd=>{"use strict";Object.defineProperty(sd,"__esModule",{value:!0});sd.getData=sd.KeywordCxt=sd.validateFunctionCode=void 0;var HEe=yEe(),NEe=V1(),oU=YN(),R4=V1(),k5t=kEe(),K1=OEe(),aU=PEe(),at=qt(),wt=ml(),C5t=$1(),gl=lr(),W1=H1();function D5t(e){if(WEe(e)&&(KEe(e),$Ee(e))){O5t(e);return}VEe(e,()=>(0,HEe.topBoolOrEmptySchema)(e))}sd.validateFunctionCode=D5t;function VEe({gen:e,validateName:t,schema:r,schemaEnv:n,opts:i},a){i.code.es5?e.func(t,(0,at._)`${wt.default.data}, ${wt.default.valCxt}`,n.$async,()=>{e.code((0,at._)`"use strict"; ${UEe(r,i)}`),F5t(e,i),e.code(a)}):e.func(t,(0,at._)`${wt.default.data}, ${B5t(i)}`,n.$async,()=>e.code(UEe(r,i)).code(a))}function B5t(e){return(0,at._)`{${wt.default.instancePath}="", ${wt.default.parentData}, ${wt.default.parentDataProperty}, ${wt.default.rootData}=${wt.default.data}${e.dynamicRef?(0,at._)`, ${wt.default.dynamicAnchors}={}`:at.nil}}={}`}function F5t(e,t){e.if(wt.default.valCxt,()=>{e.var(wt.default.instancePath,(0,at._)`${wt.default.valCxt}.${wt.default.instancePath}`),e.var(wt.default.parentData,(0,at._)`${wt.default.valCxt}.${wt.default.parentData}`),e.var(wt.default.parentDataProperty,(0,at._)`${wt.default.valCxt}.${wt.default.parentDataProperty}`),e.var(wt.default.rootData,(0,at._)`${wt.default.valCxt}.${wt.default.rootData}`),t.dynamicRef&&e.var(wt.default.dynamicAnchors,(0,at._)`${wt.default.valCxt}.${wt.default.dynamicAnchors}`)},()=>{e.var(wt.default.instancePath,(0,at._)`""`),e.var(wt.default.parentData,(0,at._)`undefined`),e.var(wt.default.parentDataProperty,(0,at._)`undefined`),e.var(wt.default.rootData,wt.default.data),t.dynamicRef&&e.var(wt.default.dynamicAnchors,(0,at._)`{}`)})}function O5t(e){let{schema:t,opts:r,gen:n}=e;VEe(e,()=>{r.$comment&&t.$comment&&XEe(e),M5t(e),n.let(wt.default.vErrors,null),n.let(wt.default.errors,0),r.unevaluated&&I5t(e),JEe(e),N5t(e)})}function I5t(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,at._)`${r}.evaluated`),t.if((0,at._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,at._)`${e.evaluated}.props`,(0,at._)`undefined`)),t.if((0,at._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,at._)`${e.evaluated}.items`,(0,at._)`undefined`))}function UEe(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,at._)`/*# sourceURL=${r} */`:at.nil}function P5t(e,t){if(WEe(e)&&(KEe(e),$Ee(e))){R5t(e,t);return}(0,HEe.boolOrEmptySchema)(e,t)}function $Ee({schema:e,self:t}){if(typeof e=="boolean")return!e;for(let r in e)if(t.RULES.all[r])return!0;return!1}function WEe(e){return typeof e.schema!="boolean"}function R5t(e,t){let{schema:r,gen:n,opts:i}=e;i.$comment&&r.$comment&&XEe(e),L5t(e),q5t(e);let a=n.const("_errs",wt.default.errors);JEe(e,a),n.var(t,(0,at._)`${a} === ${wt.default.errors}`)}function KEe(e){(0,gl.checkUnknownRules)(e),j5t(e)}function JEe(e,t){if(e.opts.jtd)return GEe(e,[],!1,t);let r=(0,NEe.getSchemaTypes)(e.schema),n=(0,NEe.coerceAndCheckDataType)(e,r);GEe(e,r,!n,t)}function j5t(e){let{schema:t,errSchemaPath:r,opts:n,self:i}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,gl.schemaHasRulesButRef)(t,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function M5t(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,gl.checkStrictMode)(e,"default is ignored in the schema root")}function L5t(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,C5t.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function q5t(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function XEe({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:i}){let a=r.$comment;if(i.$comment===!0)e.code((0,at._)`${wt.default.self}.logger.log(${a})`);else if(typeof i.$comment=="function"){let o=(0,at.str)`${n}/$comment`,s=e.scopeValue("root",{ref:t.root});e.code((0,at._)`${wt.default.self}.opts.$comment(${a}, ${o}, ${s}.schema)`)}}function N5t(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:i,opts:a}=e;r.$async?t.if((0,at._)`${wt.default.errors} === 0`,()=>t.return(wt.default.data),()=>t.throw((0,at._)`new ${i}(${wt.default.vErrors})`)):(t.assign((0,at._)`${n}.errors`,wt.default.vErrors),a.unevaluated&&U5t(e),t.return((0,at._)`${wt.default.errors} === 0`))}function U5t({gen:e,evaluated:t,props:r,items:n}){r instanceof at.Name&&e.assign((0,at._)`${t}.props`,r),n instanceof at.Name&&e.assign((0,at._)`${t}.items`,n)}function GEe(e,t,r,n){let{gen:i,schema:a,data:o,allErrors:s,opts:u,self:c}=e,{RULES:l}=c;if(a.$ref&&(u.ignoreKeywordsWithRef||!(0,gl.schemaHasRulesButRef)(a,l))){i.block(()=>QEe(e,"$ref",l.all.$ref.definition));return}u.jtd||G5t(e,t),i.block(()=>{for(let d of l.rules)f(d);f(l.post)});function f(d){(0,oU.shouldUseGroup)(a,d)&&(d.type?(i.if((0,R4.checkDataType)(d.type,o,u.strictNumbers)),zEe(e,d),t.length===1&&t[0]===d.type&&r&&(i.else(),(0,R4.reportTypeError)(e)),i.endIf()):zEe(e,d),s||i.if((0,at._)`${wt.default.errors} === ${n||0}`))}}function zEe(e,t){let{gen:r,schema:n,opts:{useDefaults:i}}=e;i&&(0,k5t.assignDefaults)(e,t.type),r.block(()=>{for(let a of t.rules)(0,oU.shouldUseRule)(n,a)&&QEe(e,a.keyword,a.definition,t.type)})}function G5t(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(z5t(e,t),e.opts.allowUnionTypes||H5t(e,t),V5t(e,e.dataTypes))}function z5t(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{YEe(e.dataTypes,r)||sU(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),W5t(e,t)}}function H5t(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&sU(e,"use allowUnionTypes to allow union type keyword")}function V5t(e,t){let r=e.self.RULES.all;for(let n in r){let i=r[n];if(typeof i=="object"&&(0,oU.shouldUseRule)(e.schema,i)){let{type:a}=i.definition;a.length&&!a.some(o=>$5t(t,o))&&sU(e,`missing type "${a.join(",")}" for keyword "${n}"`)}}}function $5t(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function YEe(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function W5t(e,t){let r=[];for(let n of e.dataTypes)YEe(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function sU(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,gl.checkStrictMode)(e,t,e.opts.strictTypes)}var j4=class{constructor(t,r,n){if((0,K1.validateKeywordUsage)(t,r,n),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=n,this.data=t.data,this.schema=t.schema[n],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,gl.schemaRefOrVal)(t,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",ZEe(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,K1.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=t.gen.const("_errs",wt.default.errors))}result(t,r,n){this.failResult((0,at.not)(t),r,n)}failResult(t,r,n){this.gen.if(t),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,r){this.failResult((0,at.not)(t),void 0,r)}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(t),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(t){if(!this.$data)return this.fail(t);let{schemaCode:r}=this;this.fail((0,at._)`${r} !== undefined && (${(0,at.or)(this.invalid$data(),t)})`)}error(t,r,n){if(r){this.setParams(r),this._error(t,n),this.setParams({});return}this._error(t,n)}_error(t,r){(t?W1.reportExtraError:W1.reportError)(this,this.def.error,r)}$dataError(){(0,W1.reportError)(this,this.def.$dataError||W1.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,W1.resetErrorsCount)(this.gen,this.errsCount)}ok(t){this.allErrors||this.gen.if(t)}setParams(t,r){r?Object.assign(this.params,t):this.params=t}block$data(t,r,n=at.nil){this.gen.block(()=>{this.check$data(t,n),r()})}check$data(t=at.nil,r=at.nil){if(!this.$data)return;let{gen:n,schemaCode:i,schemaType:a,def:o}=this;n.if((0,at.or)((0,at._)`${i} === undefined`,r)),t!==at.nil&&n.assign(t,!0),(a.length||o.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==at.nil&&n.assign(t,!1)),n.else()}invalid$data(){let{gen:t,schemaCode:r,schemaType:n,def:i,it:a}=this;return(0,at.or)(o(),s());function o(){if(n.length){if(!(r instanceof at.Name))throw new Error("ajv implementation error");let u=Array.isArray(n)?n:[n];return(0,at._)`${(0,R4.checkDataTypes)(u,r,a.opts.strictNumbers,R4.DataType.Wrong)}`}return at.nil}function s(){if(i.validateSchema){let u=t.scopeValue("validate$data",{ref:i.validateSchema});return(0,at._)`!${u}(${r})`}return at.nil}}subschema(t,r){let n=(0,aU.getSubschema)(this.it,t);(0,aU.extendSubschemaData)(n,this.it,t),(0,aU.extendSubschemaMode)(n,t);let i={...this.it,...n,items:void 0,props:void 0};return P5t(i,r),i}mergeEvaluated(t,r){let{it:n,gen:i}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=gl.mergeEvaluated.props(i,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=gl.mergeEvaluated.items(i,t.items,n.items,r)))}mergeValidEvaluated(t,r){let{it:n,gen:i}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return i.if(r,()=>this.mergeEvaluated(t,at.Name)),!0}};sd.KeywordCxt=j4;function QEe(e,t,r,n){let i=new j4(e,r,t);"code"in r?r.code(i,n):i.$data&&r.validate?(0,K1.funcKeywordCode)(i,r):"macro"in r?(0,K1.macroKeywordCode)(i,r):(r.compile||r.validate)&&(0,K1.funcKeywordCode)(i,r)}var K5t=/^\/(?:[^~]|~0|~1)*$/,J5t=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function ZEe(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let i,a;if(e==="")return wt.default.rootData;if(e[0]==="/"){if(!K5t.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);i=e,a=wt.default.rootData}else{let c=J5t.exec(e);if(!c)throw new Error(`Invalid JSON-pointer: ${e}`);let l=+c[1];if(i=c[2],i==="#"){if(l>=t)throw new Error(u("property/index",l));return n[t-l]}if(l>t)throw new Error(u("data",l));if(a=r[t-l],!i)return a}let o=a,s=i.split("/");for(let c of s)c&&(a=(0,at._)`${a}${(0,at.getProperty)((0,gl.unescapeJsonPointer)(c))}`,o=(0,at._)`${o} && ${a}`);return o;function u(c,l){return`Cannot access ${c} ${l} levels up, current level is ${t}`}}sd.getData=ZEe});var M4=v(cU=>{"use strict";Object.defineProperty(cU,"__esModule",{value:!0});var uU=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};cU.default=uU});var X1=v(dU=>{"use strict";Object.defineProperty(dU,"__esModule",{value:!0});var lU=$1(),fU=class extends Error{constructor(t,r,n,i){super(i||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,lU.resolveUrl)(t,r,n),this.missingSchema=(0,lU.normalizeId)((0,lU.getFullPath)(t,this.missingRef))}};dU.default=fU});var q4=v(Wo=>{"use strict";Object.defineProperty(Wo,"__esModule",{value:!0});Wo.resolveSchema=Wo.getCompilingSchema=Wo.resolveRef=Wo.compileSchema=Wo.SchemaEnv=void 0;var Ls=qt(),X5t=M4(),sh=ml(),qs=$1(),eTe=lr(),Y5t=J1(),cv=class{constructor(t){var r;this.refs={},this.dynamicAnchors={};let n;typeof t.schema=="object"&&(n=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0,qs.normalizeId)(n==null?void 0:n[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n==null?void 0:n.$async,this.refs={}}};Wo.SchemaEnv=cv;function hU(e){let t=tTe.call(this,e);if(t)return t;let r=(0,qs.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:i}=this.opts.code,{ownProperties:a}=this.opts,o=new Ls.CodeGen(this.scope,{es5:n,lines:i,ownProperties:a}),s;e.$async&&(s=o.scopeValue("Error",{ref:X5t.default,code:(0,Ls._)`require("ajv/dist/runtime/validation_error").default`}));let u=o.scopeName("validate");e.validateName=u;let c={gen:o,allErrors:this.opts.allErrors,data:sh.default.data,parentData:sh.default.parentData,parentDataProperty:sh.default.parentDataProperty,dataNames:[sh.default.data],dataPathArr:[Ls.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,Ls.stringify)(e.schema)}:{ref:e.schema}),validateName:u,ValidationError:s,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:Ls.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Ls._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(e),(0,Y5t.validateFunctionCode)(c),o.optimize(this.opts.code.optimize);let f=o.toString();l=`${o.scopeRefs(sh.default.scope)}return ${f}`,this.opts.code.process&&(l=this.opts.code.process(l,e));let p=new Function(`${sh.default.self}`,`${sh.default.scope}`,l)(this,this.scope.get());if(this.scope.value(u,{ref:p}),p.errors=null,p.schema=e.schema,p.schemaEnv=e,e.$async&&(p.$async=!0),this.opts.code.source===!0&&(p.source={validateName:u,validateCode:f,scopeValues:o._values}),this.opts.unevaluated){let{props:h,items:m}=c;p.evaluated={props:h instanceof Ls.Name?void 0:h,items:m instanceof Ls.Name?void 0:m,dynamicProps:h instanceof Ls.Name,dynamicItems:m instanceof Ls.Name},p.source&&(p.source.evaluated=(0,Ls.stringify)(p.evaluated))}return e.validate=p,e}catch(f){throw delete e.validate,delete e.validateName,l&&this.logger.error("Error compiling schema, function code:",l),f}finally{this._compilations.delete(e)}}Wo.compileSchema=hU;function Q5t(e,t,r){var n;r=(0,qs.resolveUrl)(this.opts.uriResolver,t,r);let i=e.refs[r];if(i)return i;let a=tBt.call(this,e,r);if(a===void 0){let o=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:s}=this.opts;o&&(a=new cv({schema:o,schemaId:s,root:e,baseId:t}))}if(a!==void 0)return e.refs[r]=Z5t.call(this,a)}Wo.resolveRef=Q5t;function Z5t(e){return(0,qs.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:hU.call(this,e)}function tTe(e){for(let t of this._compilations)if(eBt(t,e))return t}Wo.getCompilingSchema=tTe;function eBt(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function tBt(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||L4.call(this,e,t)}function L4(e,t){let r=this.opts.uriResolver.parse(t),n=(0,qs._getFullPath)(this.opts.uriResolver,r),i=(0,qs.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===i)return pU.call(this,r,e);let a=(0,qs.normalizeId)(n),o=this.refs[a]||this.schemas[a];if(typeof o=="string"){let s=L4.call(this,e,o);return typeof(s==null?void 0:s.schema)!="object"?void 0:pU.call(this,r,s)}if(typeof(o==null?void 0:o.schema)=="object"){if(o.validate||hU.call(this,o),a===(0,qs.normalizeId)(t)){let{schema:s}=o,{schemaId:u}=this.opts,c=s[u];return c&&(i=(0,qs.resolveUrl)(this.opts.uriResolver,i,c)),new cv({schema:s,schemaId:u,root:e,baseId:i})}return pU.call(this,r,o)}}Wo.resolveSchema=L4;var rBt=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function pU(e,{baseId:t,schema:r,root:n}){var i;if(((i=e.fragment)===null||i===void 0?void 0:i[0])!=="/")return;for(let s of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let u=r[(0,eTe.unescapeFragment)(s)];if(u===void 0)return;r=u;let c=typeof r=="object"&&r[this.opts.schemaId];!rBt.has(s)&&c&&(t=(0,qs.resolveUrl)(this.opts.uriResolver,t,c))}let a;if(typeof r!="boolean"&&r.$ref&&!(0,eTe.schemaHasRulesButRef)(r,this.RULES)){let s=(0,qs.resolveUrl)(this.opts.uriResolver,t,r.$ref);a=L4.call(this,n,s)}let{schemaId:o}=this.opts;if(a=a||new cv({schema:r,schemaId:o,root:n,baseId:t}),a.schema!==a.root.schema)return a}});var rTe=v((B0r,nBt)=>{nBt.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var iTe=v((F0r,nTe)=>{"use strict";var iBt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};nTe.exports={HEX:iBt}});var dTe=v((O0r,fTe)=>{"use strict";var{HEX:aBt}=iTe();function uTe(e){if(lTe(e,".")<3)return{host:e,isIPV4:!1};let t=e.match(/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/u)||[],[r]=t;return r?{host:sBt(r,"."),isIPV4:!0}:{host:e,isIPV4:!1}}function mU(e,t=!1){let r="",n=!0;for(let i of e){if(aBt[i]===void 0)return;i!=="0"&&n===!0&&(n=!1),n||(r+=i)}return t&&r.length===0&&(r="0"),r}function oBt(e){let t=0,r={error:!1,address:"",zone:""},n=[],i=[],a=!1,o=!1,s=!1;function u(){if(i.length){if(a===!1){let c=mU(i);if(c!==void 0)n.push(c);else return r.error=!0,!1}i.length=0}return!0}for(let c=0;c<e.length;c++){let l=e[c];if(!(l==="["||l==="]"))if(l===":"){if(o===!0&&(s=!0),!u())break;if(t++,n.push(":"),t>7){r.error=!0;break}c-1>=0&&e[c-1]===":"&&(o=!0);continue}else if(l==="%"){if(!u())break;a=!0}else{i.push(l);continue}}return i.length&&(a?r.zone=i.join(""):s?n.push(i.join("")):n.push(mU(i))),r.address=n.join(""),r}function cTe(e,t={}){if(lTe(e,":")<2)return{host:e,isIPV6:!1};let r=oBt(e);if(r.error)return{host:e,isIPV6:!1};{let n=r.address,i=r.address;return r.zone&&(n+="%"+r.zone,i+="%25"+r.zone),{host:n,escapedHost:i,isIPV6:!0}}}function sBt(e,t){let r="",n=!0,i=e.length;for(let a=0;a<i;a++){let o=e[a];o==="0"&&n?(a+1<=i&&e[a+1]===t||a+1===i)&&(r+=o,n=!1):(o===t?n=!0:n=!1,r+=o)}return r}function lTe(e,t){let r=0;for(let n=0;n<e.length;n++)e[n]===t&&r++;return r}var aTe=/^\.\.?\//u,oTe=/^\/\.(?:\/|$)/u,sTe=/^\/\.\.(?:\/|$)/u,uBt=/^\/?(?:.|\n)*?(?=\/|$)/u;function cBt(e){let t=[];for(;e.length;)if(e.match(aTe))e=e.replace(aTe,"");else if(e.match(oTe))e=e.replace(oTe,"/");else if(e.match(sTe))e=e.replace(sTe,"/"),t.pop();else if(e==="."||e==="..")e="";else{let r=e.match(uBt);if(r){let n=r[0];e=e.slice(n.length),t.push(n)}else throw new Error("Unexpected dot segment condition")}return t.join("")}function lBt(e,t){let r=t!==!0?escape:unescape;return e.scheme!==void 0&&(e.scheme=r(e.scheme)),e.userinfo!==void 0&&(e.userinfo=r(e.userinfo)),e.host!==void 0&&(e.host=r(e.host)),e.path!==void 0&&(e.path=r(e.path)),e.query!==void 0&&(e.query=r(e.query)),e.fragment!==void 0&&(e.fragment=r(e.fragment)),e}function fBt(e,t){let r=[];if(e.userinfo!==void 0&&(r.push(e.userinfo),r.push("@")),e.host!==void 0){let n=unescape(e.host),i=uTe(n);if(i.isIPV4)n=i.host;else{let a=cTe(i.host,{isIPV4:!1});a.isIPV6===!0?n=`[${a.escapedHost}]`:n=e.host}r.push(n)}return(typeof e.port=="number"||typeof e.port=="string")&&(r.push(":"),r.push(String(e.port))),r.length?r.join(""):void 0}fTe.exports={recomposeAuthority:fBt,normalizeComponentEncoding:lBt,removeDotSegments:cBt,normalizeIPv4:uTe,normalizeIPv6:cTe,stringArrayToHexStripped:mU}});var bTe=v((I0r,vTe)=>{"use strict";var dBt=/^[\da-f]{8}\b-[\da-f]{4}\b-[\da-f]{4}\b-[\da-f]{4}\b-[\da-f]{12}$/iu,pBt=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;function pTe(e){return typeof e.secure=="boolean"?e.secure:String(e.scheme).toLowerCase()==="wss"}function hTe(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function mTe(e){let t=String(e.scheme).toLowerCase()==="https";return(e.port===(t?443:80)||e.port==="")&&(e.port=void 0),e.path||(e.path="/"),e}function hBt(e){return e.secure=pTe(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function mBt(e){if((e.port===(pTe(e)?443:80)||e.port==="")&&(e.port=void 0),typeof e.secure=="boolean"&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){let[t,r]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=r,e.resourceName=void 0}return e.fragment=void 0,e}function gBt(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(pBt);if(r){let n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let i=`${n}:${t.nid||e.nid}`,a=gU[i];e.path=void 0,a&&(e=a.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function vBt(e,t){let r=t.scheme||e.scheme||"urn",n=e.nid.toLowerCase(),i=`${r}:${t.nid||n}`,a=gU[i];a&&(e=a.serialize(e,t));let o=e,s=e.nss;return o.path=`${n||t.nid}:${s}`,t.skipEscape=!0,o}function bBt(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!dBt.test(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function xBt(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var gTe={scheme:"http",domainHost:!0,parse:hTe,serialize:mTe},yBt={scheme:"https",domainHost:gTe.domainHost,parse:hTe,serialize:mTe},N4={scheme:"ws",domainHost:!0,parse:hBt,serialize:mBt},_Bt={scheme:"wss",domainHost:N4.domainHost,parse:N4.parse,serialize:N4.serialize},wBt={scheme:"urn",parse:gBt,serialize:vBt,skipNormalize:!0},ABt={scheme:"urn:uuid",parse:bBt,serialize:xBt,skipNormalize:!0},gU={http:gTe,https:yBt,ws:N4,wss:_Bt,urn:wBt,"urn:uuid":ABt};vTe.exports=gU});var yTe=v((P0r,G4)=>{"use strict";var{normalizeIPv6:EBt,normalizeIPv4:TBt,removeDotSegments:Y1,recomposeAuthority:SBt,normalizeComponentEncoding:U4}=dTe(),vU=bTe();function kBt(e,t){return typeof e=="string"?e=ec(vl(e,t),t):typeof e=="object"&&(e=vl(ec(e,t),t)),e}function CBt(e,t,r){let n=Object.assign({scheme:"null"},r),i=xTe(vl(e,n),vl(t,n),n,!0);return ec(i,{...n,skipEscape:!0})}function xTe(e,t,r,n){let i={};return n||(e=vl(ec(e,r),r),t=vl(ec(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(i.scheme=t.scheme,i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=Y1(t.path||""),i.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=Y1(t.path||""),i.query=t.query):(t.path?(t.path.charAt(0)==="/"?i.path=Y1(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?i.path="/"+t.path:e.path?i.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:i.path=t.path,i.path=Y1(i.path)),i.query=t.query):(i.path=e.path,t.query!==void 0?i.query=t.query:i.query=e.query),i.userinfo=e.userinfo,i.host=e.host,i.port=e.port),i.scheme=e.scheme),i.fragment=t.fragment,i}function DBt(e,t,r){return typeof e=="string"?(e=unescape(e),e=ec(U4(vl(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=ec(U4(e,!0),{...r,skipEscape:!0})),typeof t=="string"?(t=unescape(t),t=ec(U4(vl(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=ec(U4(t,!0),{...r,skipEscape:!0})),e.toLowerCase()===t.toLowerCase()}function ec(e,t){let r={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""},n=Object.assign({},t),i=[],a=vU[(n.scheme||r.scheme||"").toLowerCase()];a&&a.serialize&&a.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&(i.push(r.scheme),i.push(":"));let o=SBt(r,n);if(o!==void 0&&(n.reference!=="suffix"&&i.push("//"),i.push(o),r.path&&r.path.charAt(0)!=="/"&&i.push("/")),r.path!==void 0){let s=r.path;!n.absolutePath&&(!a||!a.absolutePath)&&(s=Y1(s)),o===void 0&&(s=s.replace(/^\/\//u,"/%2F")),i.push(s)}return r.query!==void 0&&(i.push("?"),i.push(r.query)),r.fragment!==void 0&&(i.push("#"),i.push(r.fragment)),i.join("")}var BBt=Array.from({length:127},(e,t)=>/[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(t)));function FBt(e){let t=0;for(let r=0,n=e.length;r<n;++r)if(t=e.charCodeAt(r),t>126||BBt[t])return!0;return!1}var OBt=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function vl(e,t){let r=Object.assign({},t),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},i=e.indexOf("%")!==-1,a=!1;r.reference==="suffix"&&(e=(r.scheme?r.scheme+":":"")+"//"+e);let o=e.match(OBt);if(o){if(n.scheme=o[1],n.userinfo=o[3],n.host=o[4],n.port=parseInt(o[5],10),n.path=o[6]||"",n.query=o[7],n.fragment=o[8],isNaN(n.port)&&(n.port=o[5]),n.host){let u=TBt(n.host);if(u.isIPV4===!1){let c=EBt(u.host,{isIPV4:!1});n.host=c.host.toLowerCase(),a=c.isIPV6}else n.host=u.host,a=!0}n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&!n.path&&n.query===void 0?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let s=vU[(r.scheme||n.scheme||"").toLowerCase()];if(!r.unicodeSupport&&(!s||!s.unicodeSupport)&&n.host&&(r.domainHost||s&&s.domainHost)&&a===!1&&FBt(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(u){n.error=n.error||"Host's domain name can not be converted to ASCII: "+u}(!s||s&&!s.skipNormalize)&&(i&&n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),i&&n.userinfo!==void 0&&(n.userinfo=unescape(n.userinfo)),i&&n.host!==void 0&&(n.host=unescape(n.host)),n.path!==void 0&&n.path.length&&(n.path=escape(unescape(n.path))),n.fragment!==void 0&&n.fragment.length&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),s&&s.parse&&s.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var bU={SCHEMES:vU,normalize:kBt,resolve:CBt,resolveComponents:xTe,equal:DBt,serialize:ec,parse:vl};G4.exports=bU;G4.exports.default=bU;G4.exports.fastUri=bU});var wTe=v(xU=>{"use strict";Object.defineProperty(xU,"__esModule",{value:!0});var _Te=yTe();_Te.code='require("ajv/dist/runtime/uri").default';xU.default=_Te});var BTe=v(Bi=>{"use strict";Object.defineProperty(Bi,"__esModule",{value:!0});Bi.CodeGen=Bi.Name=Bi.nil=Bi.stringify=Bi.str=Bi._=Bi.KeywordCxt=void 0;var IBt=J1();Object.defineProperty(Bi,"KeywordCxt",{enumerable:!0,get:function(){return IBt.KeywordCxt}});var lv=qt();Object.defineProperty(Bi,"_",{enumerable:!0,get:function(){return lv._}});Object.defineProperty(Bi,"str",{enumerable:!0,get:function(){return lv.str}});Object.defineProperty(Bi,"stringify",{enumerable:!0,get:function(){return lv.stringify}});Object.defineProperty(Bi,"nil",{enumerable:!0,get:function(){return lv.nil}});Object.defineProperty(Bi,"Name",{enumerable:!0,get:function(){return lv.Name}});Object.defineProperty(Bi,"CodeGen",{enumerable:!0,get:function(){return lv.CodeGen}});var PBt=M4(),kTe=X1(),RBt=XN(),Q1=q4(),jBt=qt(),Z1=$1(),z4=V1(),_U=lr(),ATe=rTe(),MBt=wTe(),CTe=(e,t)=>new RegExp(e,t);CTe.code="new RegExp";var LBt=["removeAdditional","useDefaults","coerceTypes"],qBt=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),NBt={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},UBt={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},ETe=200;function GBt(e){var t,r,n,i,a,o,s,u,c,l,f,d,p,h,m,g,x,y,w,T,A,D,F,j,k;let I=e.strict,P=(t=e.code)===null||t===void 0?void 0:t.optimize,L=P===!0||P===void 0?1:P||0,G=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:CTe,V=(i=e.uriResolver)!==null&&i!==void 0?i:MBt.default;return{strictSchema:(o=(a=e.strictSchema)!==null&&a!==void 0?a:I)!==null&&o!==void 0?o:!0,strictNumbers:(u=(s=e.strictNumbers)!==null&&s!==void 0?s:I)!==null&&u!==void 0?u:!0,strictTypes:(l=(c=e.strictTypes)!==null&&c!==void 0?c:I)!==null&&l!==void 0?l:"log",strictTuples:(d=(f=e.strictTuples)!==null&&f!==void 0?f:I)!==null&&d!==void 0?d:"log",strictRequired:(h=(p=e.strictRequired)!==null&&p!==void 0?p:I)!==null&&h!==void 0?h:!1,code:e.code?{...e.code,optimize:L,regExp:G}:{optimize:L,regExp:G},loopRequired:(m=e.loopRequired)!==null&&m!==void 0?m:ETe,loopEnum:(g=e.loopEnum)!==null&&g!==void 0?g:ETe,meta:(x=e.meta)!==null&&x!==void 0?x:!0,messages:(y=e.messages)!==null&&y!==void 0?y:!0,inlineRefs:(w=e.inlineRefs)!==null&&w!==void 0?w:!0,schemaId:(T=e.schemaId)!==null&&T!==void 0?T:"$id",addUsedSchema:(A=e.addUsedSchema)!==null&&A!==void 0?A:!0,validateSchema:(D=e.validateSchema)!==null&&D!==void 0?D:!0,validateFormats:(F=e.validateFormats)!==null&&F!==void 0?F:!0,unicodeRegExp:(j=e.unicodeRegExp)!==null&&j!==void 0?j:!0,int32range:(k=e.int32range)!==null&&k!==void 0?k:!0,uriResolver:V}}var e_=class{constructor(t={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...GBt(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new jBt.ValueScope({scope:{},prefixes:qBt,es5:r,lines:n}),this.logger=KBt(t.logger);let i=t.validateFormats;t.validateFormats=!1,this.RULES=(0,RBt.getRules)(),TTe.call(this,NBt,t,"NOT SUPPORTED"),TTe.call(this,UBt,t,"DEPRECATED","warn"),this._metaOpts=$Bt.call(this),t.formats&&HBt.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&VBt.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),zBt.call(this),t.validateFormats=i}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,i=ATe;n==="id"&&(i={...ATe},i.id=i.$id,delete i.$id),r&&t&&this.addMetaSchema(i,i[n],!1)}defaultMeta(){let{meta:t,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof t=="object"?t[r]||t:void 0}validate(t,r){let n;if(typeof t=="string"){if(n=this.getSchema(t),!n)throw new Error(`no schema with key or ref "${t}"`)}else n=this.compile(t);let i=n(r);return"$async"in n||(this.errors=n.errors),i}compile(t,r){let n=this._addSchema(t,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(t,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return i.call(this,t,r);async function i(l,f){await a.call(this,l.$schema);let d=this._addSchema(l,f);return d.validate||o.call(this,d)}async function a(l){l&&!this.getSchema(l)&&await i.call(this,{$ref:l},!0)}async function o(l){try{return this._compileSchemaEnv(l)}catch(f){if(!(f instanceof kTe.default))throw f;return s.call(this,f),await u.call(this,f.missingSchema),o.call(this,l)}}function s({missingSchema:l,missingRef:f}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${f} cannot be resolved`)}async function u(l){let f=await c.call(this,l);this.refs[l]||await a.call(this,f.$schema),this.refs[l]||this.addSchema(f,l,r)}async function c(l){let f=this._loading[l];if(f)return f;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(t,r,n,i=this.opts.validateSchema){if(Array.isArray(t)){for(let o of t)this.addSchema(o,void 0,n,i);return this}let a;if(typeof t=="object"){let{schemaId:o}=this.opts;if(a=t[o],a!==void 0&&typeof a!="string")throw new Error(`schema ${o} must be string`)}return r=(0,Z1.normalizeId)(r||a),this._checkUnique(r),this.schemas[r]=this._addSchema(t,n,r,i,!0),this}addMetaSchema(t,r,n=this.opts.validateSchema){return this.addSchema(t,r,!0,n),this}validateSchema(t,r){if(typeof t=="boolean")return!0;let n;if(n=t.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let i=this.validate(n,t);if(!i&&r){let a="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(a);else throw new Error(a)}return i}getSchema(t){let r;for(;typeof(r=STe.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,i=new Q1.SchemaEnv({schema:{},schemaId:n});if(r=Q1.resolveSchema.call(this,i,t),!r)return;this.refs[t]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(t){if(t instanceof RegExp)return this._removeAllSchemas(this.schemas,t),this._removeAllSchemas(this.refs,t),this;switch(typeof t){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=STe.call(this,t);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[t],delete this.refs[t],this}case"object":{let r=t;this._cache.delete(r);let n=t[this.opts.schemaId];return n&&(n=(0,Z1.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(t){for(let r of t)this.addKeyword(r);return this}addKeyword(t,r){let n;if(typeof t=="string")n=t,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof t=="object"&&r===void 0){if(r=t,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(XBt.call(this,n,r),!r)return(0,_U.eachItem)(n,a=>yU.call(this,a)),this;QBt.call(this,r);let i={...r,type:(0,z4.getJSONTypes)(r.type),schemaType:(0,z4.getJSONTypes)(r.schemaType)};return(0,_U.eachItem)(n,i.type.length===0?a=>yU.call(this,a,i):a=>i.type.forEach(o=>yU.call(this,a,i,o))),this}getKeyword(t){let r=this.RULES.all[t];return typeof r=="object"?r.definition:!!r}removeKeyword(t){let{RULES:r}=this;delete r.keywords[t],delete r.all[t];for(let n of r.rules){let i=n.rules.findIndex(a=>a.keyword===t);i>=0&&n.rules.splice(i,1)}return this}addFormat(t,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[t]=r,this}errorsText(t=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!t||t.length===0?"No errors":t.map(i=>`${n}${i.instancePath} ${i.message}`).reduce((i,a)=>i+r+a)}$dataMetaSchema(t,r){let n=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let i of r){let a=i.split("/").slice(1),o=t;for(let s of a)o=o[s];for(let s in n){let u=n[s];if(typeof u!="object")continue;let{$data:c}=u.definition,l=o[s];c&&l&&(o[s]=DTe(l))}}return t}_removeAllSchemas(t,r){for(let n in t){let i=t[n];(!r||r.test(n))&&(typeof i=="string"?delete t[n]:i&&!i.meta&&(this._cache.delete(i.schema),delete t[n]))}}_addSchema(t,r,n,i=this.opts.validateSchema,a=this.opts.addUsedSchema){let o,{schemaId:s}=this.opts;if(typeof t=="object")o=t[s];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof t!="boolean")throw new Error("schema must be object or boolean")}let u=this._cache.get(t);if(u!==void 0)return u;n=(0,Z1.normalizeId)(o||n);let c=Z1.getSchemaRefs.call(this,t,n);return u=new Q1.SchemaEnv({schema:t,schemaId:s,meta:r,baseId:n,localRefs:c}),this._cache.set(u.schema,u),a&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=u),i&&this.validateSchema(t,!0),u}_checkUnique(t){if(this.schemas[t]||this.refs[t])throw new Error(`schema with key or id "${t}" already exists`)}_compileSchemaEnv(t){if(t.meta?this._compileMetaSchema(t):Q1.compileSchema.call(this,t),!t.validate)throw new Error("ajv implementation error");return t.validate}_compileMetaSchema(t){let r=this.opts;this.opts=this._metaOpts;try{Q1.compileSchema.call(this,t)}finally{this.opts=r}}};e_.ValidationError=PBt.default;e_.MissingRefError=kTe.default;Bi.default=e_;function TTe(e,t,r,n="error"){for(let i in e){let a=i;a in t&&this.logger[n](`${r}: option ${i}. ${e[a]}`)}}function STe(e){return e=(0,Z1.normalizeId)(e),this.schemas[e]||this.refs[e]}function zBt(){let e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(let t in e)this.addSchema(e[t],t)}function HBt(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function VBt(e){if(Array.isArray(e)){this.addVocabulary(e);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let t in e){let r=e[t];r.keyword||(r.keyword=t),this.addKeyword(r)}}function $Bt(){let e={...this.opts};for(let t of LBt)delete e[t];return e}var WBt={log(){},warn(){},error(){}};function KBt(e){if(e===!1)return WBt;if(e===void 0)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}var JBt=/^[a-z_$][a-z0-9_$:-]*$/i;function XBt(e,t){let{RULES:r}=this;if((0,_U.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!JBt.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!t&&t.$data&&!("code"in t||"validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function yU(e,t,r){var n;let i=t==null?void 0:t.post;if(r&&i)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:a}=this,o=i?a.post:a.rules.find(({type:u})=>u===r);if(o||(o={type:r,rules:[]},a.rules.push(o)),a.keywords[e]=!0,!t)return;let s={keyword:e,definition:{...t,type:(0,z4.getJSONTypes)(t.type),schemaType:(0,z4.getJSONTypes)(t.schemaType)}};t.before?YBt.call(this,o,s,t.before):o.rules.push(s),a.all[e]=s,(n=t.implements)===null||n===void 0||n.forEach(u=>this.addKeyword(u))}function YBt(e,t,r){let n=e.rules.findIndex(i=>i.keyword===r);n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`))}function QBt(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=DTe(t)),e.validateSchema=this.compile(t,!0))}var ZBt={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function DTe(e){return{anyOf:[e,ZBt]}}});var FTe=v(wU=>{"use strict";Object.defineProperty(wU,"__esModule",{value:!0});var eFt={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};wU.default=eFt});var RTe=v(uh=>{"use strict";Object.defineProperty(uh,"__esModule",{value:!0});uh.callRef=uh.getValidate=void 0;var tFt=X1(),OTe=$o(),Ma=qt(),fv=ml(),ITe=q4(),H4=lr(),rFt={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:n}=e,{baseId:i,schemaEnv:a,validateName:o,opts:s,self:u}=n,{root:c}=a;if((r==="#"||r==="#/")&&i===c.baseId)return f();let l=ITe.resolveRef.call(u,c,i,r);if(l===void 0)throw new tFt.default(n.opts.uriResolver,i,r);if(l instanceof ITe.SchemaEnv)return d(l);return p(l);function f(){if(a===c)return V4(e,o,a,a.$async);let h=t.scopeValue("root",{ref:c});return V4(e,(0,Ma._)`${h}.validate`,c,c.$async)}function d(h){let m=PTe(e,h);V4(e,m,h,h.$async)}function p(h){let m=t.scopeValue("schema",s.code.source===!0?{ref:h,code:(0,Ma.stringify)(h)}:{ref:h}),g=t.name("valid"),x=e.subschema({schema:h,dataTypes:[],schemaPath:Ma.nil,topSchemaRef:m,errSchemaPath:r},g);e.mergeEvaluated(x),e.ok(g)}}};function PTe(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,Ma._)`${r.scopeValue("wrapper",{ref:t})}.validate`}uh.getValidate=PTe;function V4(e,t,r,n){let{gen:i,it:a}=e,{allErrors:o,schemaEnv:s,opts:u}=a,c=u.passContext?fv.default.this:Ma.nil;n?l():f();function l(){if(!s.$async)throw new Error("async schema referenced by sync schema");let h=i.let("valid");i.try(()=>{i.code((0,Ma._)`await ${(0,OTe.callValidateCode)(e,t,c)}`),p(t),o||i.assign(h,!0)},m=>{i.if((0,Ma._)`!(${m} instanceof ${a.ValidationError})`,()=>i.throw(m)),d(m),o||i.assign(h,!1)}),e.ok(h)}function f(){e.result((0,OTe.callValidateCode)(e,t,c),()=>p(t),()=>d(t))}function d(h){let m=(0,Ma._)`${h}.errors`;i.assign(fv.default.vErrors,(0,Ma._)`${fv.default.vErrors} === null ? ${m} : ${fv.default.vErrors}.concat(${m})`),i.assign(fv.default.errors,(0,Ma._)`${fv.default.vErrors}.length`)}function p(h){var m;if(!a.opts.unevaluated)return;let g=(m=r==null?void 0:r.validate)===null||m===void 0?void 0:m.evaluated;if(a.props!==!0)if(g&&!g.dynamicProps)g.props!==void 0&&(a.props=H4.mergeEvaluated.props(i,g.props,a.props));else{let x=i.var("props",(0,Ma._)`${h}.evaluated.props`);a.props=H4.mergeEvaluated.props(i,x,a.props,Ma.Name)}if(a.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(a.items=H4.mergeEvaluated.items(i,g.items,a.items));else{let x=i.var("items",(0,Ma._)`${h}.evaluated.items`);a.items=H4.mergeEvaluated.items(i,x,a.items,Ma.Name)}}}uh.callRef=V4;uh.default=rFt});var jTe=v(AU=>{"use strict";Object.defineProperty(AU,"__esModule",{value:!0});var nFt=FTe(),iFt=RTe(),aFt=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",nFt.default,iFt.default];AU.default=aFt});var MTe=v(EU=>{"use strict";Object.defineProperty(EU,"__esModule",{value:!0});var $4=qt(),ud=$4.operators,W4={maximum:{okStr:"<=",ok:ud.LTE,fail:ud.GT},minimum:{okStr:">=",ok:ud.GTE,fail:ud.LT},exclusiveMaximum:{okStr:"<",ok:ud.LT,fail:ud.GTE},exclusiveMinimum:{okStr:">",ok:ud.GT,fail:ud.LTE}},oFt={message:({keyword:e,schemaCode:t})=>(0,$4.str)`must be ${W4[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,$4._)`{comparison: ${W4[e].okStr}, limit: ${t}}`},sFt={keyword:Object.keys(W4),type:"number",schemaType:"number",$data:!0,error:oFt,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,$4._)`${r} ${W4[t].fail} ${n} || isNaN(${r})`)}};EU.default=sFt});var LTe=v(TU=>{"use strict";Object.defineProperty(TU,"__esModule",{value:!0});var t_=qt(),uFt={message:({schemaCode:e})=>(0,t_.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,t_._)`{multipleOf: ${e}}`},cFt={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:uFt,code(e){let{gen:t,data:r,schemaCode:n,it:i}=e,a=i.opts.multipleOfPrecision,o=t.let("res"),s=a?(0,t_._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${a}`:(0,t_._)`${o} !== parseInt(${o})`;e.fail$data((0,t_._)`(${n} === 0 || (${o} = ${r}/${n}, ${s}))`)}};TU.default=cFt});var NTe=v(SU=>{"use strict";Object.defineProperty(SU,"__esModule",{value:!0});function qTe(e){let t=e.length,r=0,n=0,i;for(;n<t;)r++,i=e.charCodeAt(n++),i>=55296&&i<=56319&&n<t&&(i=e.charCodeAt(n),(i&64512)===56320&&n++);return r}SU.default=qTe;qTe.code='require("ajv/dist/runtime/ucs2length").default'});var UTe=v(kU=>{"use strict";Object.defineProperty(kU,"__esModule",{value:!0});var ch=qt(),lFt=lr(),fFt=NTe(),dFt={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return(0,ch.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0,ch._)`{limit: ${e}}`},pFt={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:dFt,code(e){let{keyword:t,data:r,schemaCode:n,it:i}=e,a=t==="maxLength"?ch.operators.GT:ch.operators.LT,o=i.opts.unicode===!1?(0,ch._)`${r}.length`:(0,ch._)`${(0,lFt.useFunc)(e.gen,fFt.default)}(${r})`;e.fail$data((0,ch._)`${o} ${a} ${n}`)}};kU.default=pFt});var GTe=v(CU=>{"use strict";Object.defineProperty(CU,"__esModule",{value:!0});var hFt=$o(),K4=qt(),mFt={message:({schemaCode:e})=>(0,K4.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,K4._)`{pattern: ${e}}`},gFt={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:mFt,code(e){let{data:t,$data:r,schema:n,schemaCode:i,it:a}=e,o=a.opts.unicodeRegExp?"u":"",s=r?(0,K4._)`(new RegExp(${i}, ${o}))`:(0,hFt.usePattern)(e,n);e.fail$data((0,K4._)`!${s}.test(${t})`)}};CU.default=gFt});var zTe=v(DU=>{"use strict";Object.defineProperty(DU,"__esModule",{value:!0});var r_=qt(),vFt={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return(0,r_.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,r_._)`{limit: ${e}}`},bFt={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:vFt,code(e){let{keyword:t,data:r,schemaCode:n}=e,i=t==="maxProperties"?r_.operators.GT:r_.operators.LT;e.fail$data((0,r_._)`Object.keys(${r}).length ${i} ${n}`)}};DU.default=bFt});var HTe=v(BU=>{"use strict";Object.defineProperty(BU,"__esModule",{value:!0});var n_=$o(),i_=qt(),xFt=lr(),yFt={message:({params:{missingProperty:e}})=>(0,i_.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,i_._)`{missingProperty: ${e}}`},_Ft={keyword:"required",type:"object",schemaType:"array",$data:!0,error:yFt,code(e){let{gen:t,schema:r,schemaCode:n,data:i,$data:a,it:o}=e,{opts:s}=o;if(!a&&r.length===0)return;let u=r.length>=s.loopRequired;if(o.allErrors?c():l(),s.strictRequired){let p=e.parentSchema.properties,{definedProperties:h}=e.it;for(let m of r)if((p==null?void 0:p[m])===void 0&&!h.has(m)){let g=o.schemaEnv.baseId+o.errSchemaPath,x=`required property "${m}" is not defined at "${g}" (strictRequired)`;(0,xFt.checkStrictMode)(o,x,o.opts.strictRequired)}}function c(){if(u||a)e.block$data(i_.nil,f);else for(let p of r)(0,n_.checkReportMissingProp)(e,p)}function l(){let p=t.let("missing");if(u||a){let h=t.let("valid",!0);e.block$data(h,()=>d(p,h)),e.ok(h)}else t.if((0,n_.checkMissingProp)(e,r,p)),(0,n_.reportMissingProp)(e,p),t.else()}function f(){t.forOf("prop",n,p=>{e.setParams({missingProperty:p}),t.if((0,n_.noPropertyInData)(t,i,p,s.ownProperties),()=>e.error())})}function d(p,h){e.setParams({missingProperty:p}),t.forOf(p,n,()=>{t.assign(h,(0,n_.propertyInData)(t,i,p,s.ownProperties)),t.if((0,i_.not)(h),()=>{e.error(),t.break()})},i_.nil)}}};BU.default=_Ft});var VTe=v(FU=>{"use strict";Object.defineProperty(FU,"__esModule",{value:!0});var a_=qt(),wFt={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return(0,a_.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,a_._)`{limit: ${e}}`},AFt={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:wFt,code(e){let{keyword:t,data:r,schemaCode:n}=e,i=t==="maxItems"?a_.operators.GT:a_.operators.LT;e.fail$data((0,a_._)`${r}.length ${i} ${n}`)}};FU.default=AFt});var J4=v(OU=>{"use strict";Object.defineProperty(OU,"__esModule",{value:!0});var $Te=e0();$Te.code='require("ajv/dist/runtime/equal").default';OU.default=$Te});var WTe=v(PU=>{"use strict";Object.defineProperty(PU,"__esModule",{value:!0});var IU=V1(),Fi=qt(),EFt=lr(),TFt=J4(),SFt={message:({params:{i:e,j:t}})=>(0,Fi.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,Fi._)`{i: ${e}, j: ${t}}`},kFt={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:SFt,code(e){let{gen:t,data:r,$data:n,schema:i,parentSchema:a,schemaCode:o,it:s}=e;if(!n&&!i)return;let u=t.let("valid"),c=a.items?(0,IU.getSchemaTypes)(a.items):[];e.block$data(u,l,(0,Fi._)`${o} === false`),e.ok(u);function l(){let h=t.let("i",(0,Fi._)`${r}.length`),m=t.let("j");e.setParams({i:h,j:m}),t.assign(u,!0),t.if((0,Fi._)`${h} > 1`,()=>(f()?d:p)(h,m))}function f(){return c.length>0&&!c.some(h=>h==="object"||h==="array")}function d(h,m){let g=t.name("item"),x=(0,IU.checkDataTypes)(c,g,s.opts.strictNumbers,IU.DataType.Wrong),y=t.const("indices",(0,Fi._)`{}`);t.for((0,Fi._)`;${h}--;`,()=>{t.let(g,(0,Fi._)`${r}[${h}]`),t.if(x,(0,Fi._)`continue`),c.length>1&&t.if((0,Fi._)`typeof ${g} == "string"`,(0,Fi._)`${g} += "_"`),t.if((0,Fi._)`typeof ${y}[${g}] == "number"`,()=>{t.assign(m,(0,Fi._)`${y}[${g}]`),e.error(),t.assign(u,!1).break()}).code((0,Fi._)`${y}[${g}] = ${h}`)})}function p(h,m){let g=(0,EFt.useFunc)(t,TFt.default),x=t.name("outer");t.label(x).for((0,Fi._)`;${h}--;`,()=>t.for((0,Fi._)`${m} = ${h}; ${m}--;`,()=>t.if((0,Fi._)`${g}(${r}[${h}], ${r}[${m}])`,()=>{e.error(),t.assign(u,!1).break(x)})))}}};PU.default=kFt});var KTe=v(jU=>{"use strict";Object.defineProperty(jU,"__esModule",{value:!0});var RU=qt(),CFt=lr(),DFt=J4(),BFt={message:"must be equal to constant",params:({schemaCode:e})=>(0,RU._)`{allowedValue: ${e}}`},FFt={keyword:"const",$data:!0,error:BFt,code(e){let{gen:t,data:r,$data:n,schemaCode:i,schema:a}=e;n||a&&typeof a=="object"?e.fail$data((0,RU._)`!${(0,CFt.useFunc)(t,DFt.default)}(${r}, ${i})`):e.fail((0,RU._)`${a} !== ${r}`)}};jU.default=FFt});var JTe=v(MU=>{"use strict";Object.defineProperty(MU,"__esModule",{value:!0});var o_=qt(),OFt=lr(),IFt=J4(),PFt={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,o_._)`{allowedValues: ${e}}`},RFt={keyword:"enum",schemaType:"array",$data:!0,error:PFt,code(e){let{gen:t,data:r,$data:n,schema:i,schemaCode:a,it:o}=e;if(!n&&i.length===0)throw new Error("enum must have non-empty array");let s=i.length>=o.opts.loopEnum,u,c=()=>u??(u=(0,OFt.useFunc)(t,IFt.default)),l;if(s||n)l=t.let("valid"),e.block$data(l,f);else{if(!Array.isArray(i))throw new Error("ajv implementation error");let p=t.const("vSchema",a);l=(0,o_.or)(...i.map((h,m)=>d(p,m)))}e.pass(l);function f(){t.assign(l,!1),t.forOf("v",a,p=>t.if((0,o_._)`${c()}(${r}, ${p})`,()=>t.assign(l,!0).break()))}function d(p,h){let m=i[h];return typeof m=="object"&&m!==null?(0,o_._)`${c()}(${r}, ${p}[${h}])`:(0,o_._)`${r} === ${m}`}}};MU.default=RFt});var XTe=v(LU=>{"use strict";Object.defineProperty(LU,"__esModule",{value:!0});var jFt=MTe(),MFt=LTe(),LFt=UTe(),qFt=GTe(),NFt=zTe(),UFt=HTe(),GFt=VTe(),zFt=WTe(),HFt=KTe(),VFt=JTe(),$Ft=[jFt.default,MFt.default,LFt.default,qFt.default,NFt.default,UFt.default,GFt.default,zFt.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},HFt.default,VFt.default];LU.default=$Ft});var NU=v(s_=>{"use strict";Object.defineProperty(s_,"__esModule",{value:!0});s_.validateAdditionalItems=void 0;var lh=qt(),qU=lr(),WFt={message:({params:{len:e}})=>(0,lh.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,lh._)`{limit: ${e}}`},KFt={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:WFt,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,qU.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}YTe(e,n)}};function YTe(e,t){let{gen:r,schema:n,data:i,keyword:a,it:o}=e;o.items=!0;let s=r.const("len",(0,lh._)`${i}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,lh._)`${s} <= ${t.length}`);else if(typeof n=="object"&&!(0,qU.alwaysValidSchema)(o,n)){let c=r.var("valid",(0,lh._)`${s} <= ${t.length}`);r.if((0,lh.not)(c),()=>u(c)),e.ok(c)}function u(c){r.forRange("i",t.length,s,l=>{e.subschema({keyword:a,dataProp:l,dataPropType:qU.Type.Num},c),o.allErrors||r.if((0,lh.not)(c),()=>r.break())})}}s_.validateAdditionalItems=YTe;s_.default=KFt});var UU=v(u_=>{"use strict";Object.defineProperty(u_,"__esModule",{value:!0});u_.validateTuple=void 0;var QTe=qt(),X4=lr(),JFt=$o(),XFt={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return ZTe(e,"additionalItems",t);r.items=!0,!(0,X4.alwaysValidSchema)(r,t)&&e.ok((0,JFt.validateArray)(e))}};function ZTe(e,t,r=e.schema){let{gen:n,parentSchema:i,data:a,keyword:o,it:s}=e;l(i),s.opts.unevaluated&&r.length&&s.items!==!0&&(s.items=X4.mergeEvaluated.items(n,r.length,s.items));let u=n.name("valid"),c=n.const("len",(0,QTe._)`${a}.length`);r.forEach((f,d)=>{(0,X4.alwaysValidSchema)(s,f)||(n.if((0,QTe._)`${c} > ${d}`,()=>e.subschema({keyword:o,schemaProp:d,dataProp:d},u)),e.ok(u))});function l(f){let{opts:d,errSchemaPath:p}=s,h=r.length,m=h===f.minItems&&(h===f.maxItems||f[t]===!1);if(d.strictTuples&&!m){let g=`"${o}" is ${h}-tuple, but minItems or maxItems/${t} are not specified or different at path "${p}"`;(0,X4.checkStrictMode)(s,g,d.strictTuples)}}}u_.validateTuple=ZTe;u_.default=XFt});var e6e=v(GU=>{"use strict";Object.defineProperty(GU,"__esModule",{value:!0});var YFt=UU(),QFt={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,YFt.validateTuple)(e,"items")};GU.default=QFt});var r6e=v(zU=>{"use strict";Object.defineProperty(zU,"__esModule",{value:!0});var t6e=qt(),ZFt=lr(),eOt=$o(),tOt=NU(),rOt={message:({params:{len:e}})=>(0,t6e.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,t6e._)`{limit: ${e}}`},nOt={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:rOt,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:i}=r;n.items=!0,!(0,ZFt.alwaysValidSchema)(n,t)&&(i?(0,tOt.validateAdditionalItems)(e,i):e.ok((0,eOt.validateArray)(e)))}};zU.default=nOt});var n6e=v(HU=>{"use strict";Object.defineProperty(HU,"__esModule",{value:!0});var Ko=qt(),Y4=lr(),iOt={message:({params:{min:e,max:t}})=>t===void 0?(0,Ko.str)`must contain at least ${e} valid item(s)`:(0,Ko.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,Ko._)`{minContains: ${e}}`:(0,Ko._)`{minContains: ${e}, maxContains: ${t}}`},aOt={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:iOt,code(e){let{gen:t,schema:r,parentSchema:n,data:i,it:a}=e,o,s,{minContains:u,maxContains:c}=n;a.opts.next?(o=u===void 0?1:u,s=c):o=1;let l=t.const("len",(0,Ko._)`${i}.length`);if(e.setParams({min:o,max:s}),s===void 0&&o===0){(0,Y4.checkStrictMode)(a,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(s!==void 0&&o>s){(0,Y4.checkStrictMode)(a,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,Y4.alwaysValidSchema)(a,r)){let m=(0,Ko._)`${l} >= ${o}`;s!==void 0&&(m=(0,Ko._)`${m} && ${l} <= ${s}`),e.pass(m);return}a.items=!0;let f=t.name("valid");s===void 0&&o===1?p(f,()=>t.if(f,()=>t.break())):o===0?(t.let(f,!0),s!==void 0&&t.if((0,Ko._)`${i}.length > 0`,d)):(t.let(f,!1),d()),e.result(f,()=>e.reset());function d(){let m=t.name("_valid"),g=t.let("count",0);p(m,()=>t.if(m,()=>h(g)))}function p(m,g){t.forRange("i",0,l,x=>{e.subschema({keyword:"contains",dataProp:x,dataPropType:Y4.Type.Num,compositeRule:!0},m),g()})}function h(m){t.code((0,Ko._)`${m}++`),s===void 0?t.if((0,Ko._)`${m} >= ${o}`,()=>t.assign(f,!0).break()):(t.if((0,Ko._)`${m} > ${s}`,()=>t.assign(f,!1).break()),o===1?t.assign(f,!0):t.if((0,Ko._)`${m} >= ${o}`,()=>t.assign(f,!0)))}}};HU.default=aOt});var o6e=v(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});tc.validateSchemaDeps=tc.validatePropertyDeps=tc.error=void 0;var VU=qt(),oOt=lr(),c_=$o();tc.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return(0,VU.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0,VU._)`{property: ${e},
|
|
152
152
|
missingProperty: ${n},
|
|
153
153
|
depsCount: ${t},
|
|
154
|
-
deps: ${r}}`};var sOt={keyword:"dependencies",type:"object",schemaType:"object",error:tc.error,code(e){let[t,r]=uOt(e);i6e(e,t),a6e(e,r)}};function uOt({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let i=Array.isArray(e[n])?t:r;i[n]=e[n]}return[t,r]}function i6e(e,t=e.schema){let{gen:r,data:n,it:i}=e;if(Object.keys(t).length===0)return;let a=r.let("missing");for(let o in t){let s=t[o];if(s.length===0)continue;let u=(0,c_.propertyInData)(r,n,o,i.opts.ownProperties);e.setParams({property:o,depsCount:s.length,deps:s.join(", ")}),i.allErrors?r.if(u,()=>{for(let c of s)(0,c_.checkReportMissingProp)(e,c)}):(r.if((0,VU._)`${u} && (${(0,c_.checkMissingProp)(e,s,a)})`),(0,c_.reportMissingProp)(e,a),r.else())}}tc.validatePropertyDeps=i6e;function a6e(e,t=e.schema){let{gen:r,data:n,keyword:i,it:a}=e,o=r.name("valid");for(let s in t)(0,oOt.alwaysValidSchema)(a,t[s])||(r.if((0,c_.propertyInData)(r,n,s,a.opts.ownProperties),()=>{let u=e.subschema({keyword:i,schemaProp:s},o);e.mergeValidEvaluated(u,o)},()=>r.var(o,!0)),e.ok(o))}tc.validateSchemaDeps=a6e;tc.default=sOt});var u6e=v($U=>{"use strict";Object.defineProperty($U,"__esModule",{value:!0});var s6e=qt(),cOt=lr(),lOt={message:"property name must be valid",params:({params:e})=>(0,s6e._)`{propertyName: ${e.propertyName}}`},fOt={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:lOt,code(e){let{gen:t,schema:r,data:n,it:i}=e;if((0,cOt.alwaysValidSchema)(i,r))return;let a=t.name("valid");t.forIn("key",n,o=>{e.setParams({propertyName:o}),e.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},a),t.if((0,s6e.not)(a),()=>{e.error(!0),i.allErrors||t.break()})}),e.ok(a)}};$U.default=fOt});var KU=v(WU=>{"use strict";Object.defineProperty(WU,"__esModule",{value:!0});var Q4=$o(),Ns=qt(),dOt=ml(),Z4=lr(),pOt={message:"must NOT have additional properties",params:({params:e})=>(0,Ns._)`{additionalProperty: ${e.additionalProperty}}`},hOt={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:pOt,code(e){let{gen:t,schema:r,parentSchema:n,data:i,errsCount:a,it:o}=e;if(!a)throw new Error("ajv implementation error");let{allErrors:s,opts:u}=o;if(o.props=!0,u.removeAdditional!=="all"&&(0,Z4.alwaysValidSchema)(o,r))return;let c=(0,Q4.allSchemaProperties)(n.properties),l=(0,Q4.allSchemaProperties)(n.patternProperties);f(),e.ok((0,Ns._)`${a} === ${dOt.default.errors}`);function f(){t.forIn("key",i,g=>{!c.length&&!l.length?h(g):t.if(d(g),()=>h(g))})}function d(g){let x;if(c.length>8){let y=(0,Z4.schemaRefOrVal)(o,n.properties,"properties");x=(0,Q4.isOwnProperty)(t,y,g)}else c.length?x=(0,Ns.or)(...c.map(y=>(0,Ns._)`${g} === ${y}`)):x=Ns.nil;return l.length&&(x=(0,Ns.or)(x,...l.map(y=>(0,Ns._)`${(0,Q4.usePattern)(e,y)}.test(${g})`))),(0,Ns.not)(x)}function p(g){t.code((0,Ns._)`delete ${i}[${g}]`)}function h(g){if(u.removeAdditional==="all"||u.removeAdditional&&r===!1){p(g);return}if(r===!1){e.setParams({additionalProperty:g}),e.error(),s||t.break();return}if(typeof r=="object"&&!(0,Z4.alwaysValidSchema)(o,r)){let x=t.name("valid");u.removeAdditional==="failing"?(m(g,x,!1),t.if((0,Ns.not)(x),()=>{e.reset(),p(g)})):(m(g,x),s||t.if((0,Ns.not)(x),()=>t.break()))}}function m(g,x,y){let w={keyword:"additionalProperties",dataProp:g,dataPropType:Z4.Type.Str};y===!1&&Object.assign(w,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(w,x)}}};WU.default=hOt});var f6e=v(XU=>{"use strict";Object.defineProperty(XU,"__esModule",{value:!0});var mOt=J1(),c6e=$o(),JU=lr(),l6e=KU(),gOt={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:i,it:a}=e;a.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&l6e.default.code(new mOt.KeywordCxt(a,l6e.default,"additionalProperties"));let o=(0,c6e.allSchemaProperties)(r);for(let f of o)a.definedProperties.add(f);a.opts.unevaluated&&o.length&&a.props!==!0&&(a.props=JU.mergeEvaluated.props(t,(0,JU.toHash)(o),a.props));let s=o.filter(f=>!(0,JU.alwaysValidSchema)(a,r[f]));if(s.length===0)return;let u=t.name("valid");for(let f of s)c(f)?l(f):(t.if((0,c6e.propertyInData)(t,i,f,a.opts.ownProperties)),l(f),a.allErrors||t.else().var(u,!0),t.endIf()),e.it.definedProperties.add(f),e.ok(u);function c(f){return a.opts.useDefaults&&!a.compositeRule&&r[f].default!==void 0}function l(f){e.subschema({keyword:"properties",schemaProp:f,dataProp:f},u)}}};XU.default=gOt});var m6e=v(YU=>{"use strict";Object.defineProperty(YU,"__esModule",{value:!0});var d6e=$o(),ek=qt(),p6e=lr(),h6e=lr(),vOt={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:i,it:a}=e,{opts:o}=a,s=(0,d6e.allSchemaProperties)(r),u=s.filter(m=>(0,p6e.alwaysValidSchema)(a,r[m]));if(s.length===0||u.length===s.length&&(!a.opts.unevaluated||a.props===!0))return;let c=o.strictSchema&&!o.allowMatchingProperties&&i.properties,l=t.name("valid");a.props!==!0&&!(a.props instanceof ek.Name)&&(a.props=(0,h6e.evaluatedPropsToName)(t,a.props));let{props:f}=a;d();function d(){for(let m of s)c&&p(m),a.allErrors?h(m):(t.var(l,!0),h(m),t.if(l))}function p(m){for(let g in c)new RegExp(m).test(g)&&(0,p6e.checkStrictMode)(a,`property ${g} matches pattern ${m} (use allowMatchingProperties)`)}function h(m){t.forIn("key",n,g=>{t.if((0,ek._)`${(0,d6e.usePattern)(e,m)}.test(${g})`,()=>{let x=u.includes(m);x||e.subschema({keyword:"patternProperties",schemaProp:m,dataProp:g,dataPropType:h6e.Type.Str},l),a.opts.unevaluated&&f!==!0?t.assign((0,ek._)`${f}[${g}]`,!0):!x&&!a.allErrors&&t.if((0,ek.not)(l),()=>t.break())})})}}};YU.default=vOt});var g6e=v(QU=>{"use strict";Object.defineProperty(QU,"__esModule",{value:!0});var bOt=lr(),xOt={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,bOt.alwaysValidSchema)(n,r)){e.fail();return}let i=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),e.failResult(i,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};QU.default=xOt});var v6e=v(ZU=>{"use strict";Object.defineProperty(ZU,"__esModule",{value:!0});var yOt=$o(),_Ot={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:yOt.validateUnion,error:{message:"must match a schema in anyOf"}};ZU.default=_Ot});var b6e=v(eG=>{"use strict";Object.defineProperty(eG,"__esModule",{value:!0});var tk=qt(),wOt=lr(),AOt={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,tk._)`{passingSchemas: ${e.passing}}`},EOt={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:AOt,code(e){let{gen:t,schema:r,parentSchema:n,it:i}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(i.opts.discriminator&&n.discriminator)return;let a=r,o=t.let("valid",!1),s=t.let("passing",null),u=t.name("_valid");e.setParams({passing:s}),t.block(c),e.result(o,()=>e.reset(),()=>e.error(!0));function c(){a.forEach((l,f)=>{let d;(0,wOt.alwaysValidSchema)(i,l)?t.var(u,!0):d=e.subschema({keyword:"oneOf",schemaProp:f,compositeRule:!0},u),f>0&&t.if((0,tk._)`${u} && ${o}`).assign(o,!1).assign(s,(0,tk._)`[${s}, ${f}]`).else(),t.if(u,()=>{t.assign(o,!0),t.assign(s,f),d&&e.mergeEvaluated(d,tk.Name)})})}}};eG.default=EOt});var x6e=v(tG=>{"use strict";Object.defineProperty(tG,"__esModule",{value:!0});var TOt=lr(),SOt={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");let i=t.name("valid");r.forEach((a,o)=>{if((0,TOt.alwaysValidSchema)(n,a))return;let s=e.subschema({keyword:"allOf",schemaProp:o},i);e.ok(i),e.mergeEvaluated(s)})}};tG.default=SOt});var w6e=v(rG=>{"use strict";Object.defineProperty(rG,"__esModule",{value:!0});var rk=qt(),_6e=lr(),kOt={message:({params:e})=>(0,rk.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,rk._)`{failingKeyword: ${e.ifClause}}`},COt={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:kOt,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,_6e.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let i=y6e(n,"then"),a=y6e(n,"else");if(!i&&!a)return;let o=t.let("valid",!0),s=t.name("_valid");if(u(),e.reset(),i&&a){let l=t.let("ifClause");e.setParams({ifClause:l}),t.if(s,c("then",l),c("else",l))}else i?t.if(s,c("then")):t.if((0,rk.not)(s),c("else"));e.pass(o,()=>e.error(!0));function u(){let l=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},s);e.mergeEvaluated(l)}function c(l,f){return()=>{let d=e.subschema({keyword:l},s);t.assign(o,s),e.mergeValidEvaluated(d,o),f?t.assign(f,(0,rk._)`${l}`):e.setParams({ifClause:l})}}}};function y6e(e,t){let r=e.schema[t];return r!==void 0&&!(0,_6e.alwaysValidSchema)(e,r)}rG.default=COt});var A6e=v(nG=>{"use strict";Object.defineProperty(nG,"__esModule",{value:!0});var DOt=lr(),BOt={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,DOt.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};nG.default=BOt});var E6e=v(iG=>{"use strict";Object.defineProperty(iG,"__esModule",{value:!0});var FOt=NU(),OOt=e6e(),IOt=UU(),POt=r6e(),ROt=n6e(),jOt=o6e(),MOt=u6e(),LOt=KU(),qOt=f6e(),NOt=m6e(),UOt=g6e(),GOt=v6e(),zOt=b6e(),HOt=x6e(),VOt=w6e(),$Ot=A6e();function WOt(e=!1){let t=[UOt.default,GOt.default,zOt.default,HOt.default,VOt.default,$Ot.default,MOt.default,LOt.default,jOt.default,qOt.default,NOt.default];return e?t.push(OOt.default,POt.default):t.push(FOt.default,IOt.default),t.push(ROt.default),t}iG.default=WOt});var T6e=v(aG=>{"use strict";Object.defineProperty(aG,"__esModule",{value:!0});var Cn=qt(),KOt={message:({schemaCode:e})=>(0,Cn.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,Cn._)`{format: ${e}}`},JOt={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:KOt,code(e,t){let{gen:r,data:n,$data:i,schema:a,schemaCode:o,it:s}=e,{opts:u,errSchemaPath:c,schemaEnv:l,self:f}=s;if(!u.validateFormats)return;i?d():p();function d(){let h=r.scopeValue("formats",{ref:f.formats,code:u.code.formats}),m=r.const("fDef",(0,Cn._)`${h}[${o}]`),g=r.let("fType"),x=r.let("format");r.if((0,Cn._)`typeof ${m} == "object" && !(${m} instanceof RegExp)`,()=>r.assign(g,(0,Cn._)`${m}.type || "string"`).assign(x,(0,Cn._)`${m}.validate`),()=>r.assign(g,(0,Cn._)`"string"`).assign(x,m)),e.fail$data((0,Cn.or)(y(),w()));function y(){return u.strictSchema===!1?Cn.nil:(0,Cn._)`${o} && !${x}`}function w(){let T=l.$async?(0,Cn._)`(${m}.async ? await ${x}(${n}) : ${x}(${n}))`:(0,Cn._)`${x}(${n})`,A=(0,Cn._)`(typeof ${x} == "function" ? ${T} : ${x}.test(${n}))`;return(0,Cn._)`${x} && ${x} !== true && ${g} === ${t} && !${A}`}}function p(){let h=f.formats[a];if(!h){y();return}if(h===!0)return;let[m,g,x]=w(h);m===t&&e.pass(T());function y(){if(u.strictSchema===!1){f.logger.warn(A());return}throw new Error(A());function A(){return`unknown format "${a}" ignored in schema at path "${c}"`}}function w(A){let D=A instanceof RegExp?(0,Cn.regexpCode)(A):u.code.formats?(0,Cn._)`${u.code.formats}${(0,Cn.getProperty)(a)}`:void 0,F=r.scopeValue("formats",{key:a,ref:A,code:D});return typeof A=="object"&&!(A instanceof RegExp)?[A.type||"string",A.validate,(0,Cn._)`${F}.validate`]:["string",A,F]}function T(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Cn._)`await ${x}(${n})`}return typeof g=="function"?(0,Cn._)`${x}(${n})`:(0,Cn._)`${x}.test(${n})`}}}};aG.default=JOt});var S6e=v(oG=>{"use strict";Object.defineProperty(oG,"__esModule",{value:!0});var XOt=T6e(),YOt=[XOt.default];oG.default=YOt});var k6e=v(dv=>{"use strict";Object.defineProperty(dv,"__esModule",{value:!0});dv.contentVocabulary=dv.metadataVocabulary=void 0;dv.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];dv.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var D6e=v(sG=>{"use strict";Object.defineProperty(sG,"__esModule",{value:!0});var QOt=jTe(),ZOt=XTe(),eIt=E6e(),tIt=S6e(),C6e=k6e(),rIt=[QOt.default,ZOt.default,(0,eIt.default)(),tIt.default,C6e.metadataVocabulary,C6e.contentVocabulary];sG.default=rIt});var F6e=v(nk=>{"use strict";Object.defineProperty(nk,"__esModule",{value:!0});nk.DiscrError=void 0;var B6e;(function(e){e.Tag="tag",e.Mapping="mapping"})(B6e||(nk.DiscrError=B6e={}))});var I6e=v(cG=>{"use strict";Object.defineProperty(cG,"__esModule",{value:!0});var pv=qt(),uG=F6e(),O6e=q4(),nIt=X1(),iIt=lr(),aIt={message:({params:{discrError:e,tagName:t}})=>e===uG.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,pv._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},oIt={keyword:"discriminator",type:"object",schemaType:"object",error:aIt,code(e){let{gen:t,data:r,schema:n,parentSchema:i,it:a}=e,{oneOf:o}=i;if(!a.opts.discriminator)throw new Error("discriminator: requires discriminator option");let s=n.propertyName;if(typeof s!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!o)throw new Error("discriminator: requires oneOf keyword");let u=t.let("valid",!1),c=t.const("tag",(0,pv._)`${r}${(0,pv.getProperty)(s)}`);t.if((0,pv._)`typeof ${c} == "string"`,()=>l(),()=>e.error(!1,{discrError:uG.DiscrError.Tag,tag:c,tagName:s})),e.ok(u);function l(){let p=d();t.if(!1);for(let h in p)t.elseIf((0,pv._)`${c} === ${h}`),t.assign(u,f(p[h]));t.else(),e.error(!1,{discrError:uG.DiscrError.Mapping,tag:c,tagName:s}),t.endIf()}function f(p){let h=t.name("valid"),m=e.subschema({keyword:"oneOf",schemaProp:p},h);return e.mergeEvaluated(m,pv.Name),h}function d(){var p;let h={},m=x(i),g=!0;for(let T=0;T<o.length;T++){let A=o[T];if(A!=null&&A.$ref&&!(0,iIt.schemaHasRulesButRef)(A,a.self.RULES)){let F=A.$ref;if(A=O6e.resolveRef.call(a.self,a.schemaEnv.root,a.baseId,F),A instanceof O6e.SchemaEnv&&(A=A.schema),A===void 0)throw new nIt.default(a.opts.uriResolver,a.baseId,F)}let D=(p=A==null?void 0:A.properties)===null||p===void 0?void 0:p[s];if(typeof D!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${s}"`);g=g&&(m||x(A)),y(D,T)}if(!g)throw new Error(`discriminator: "${s}" must be required`);return h;function x({required:T}){return Array.isArray(T)&&T.includes(s)}function y(T,A){if(T.const)w(T.const,A);else if(T.enum)for(let D of T.enum)w(D,A);else throw new Error(`discriminator: "properties/${s}" must have "const" or "enum"`)}function w(T,A){if(typeof T!="string"||T in h)throw new Error(`discriminator: "${s}" values must be unique strings`);h[T]=A}}}};cG.default=oIt});var P6e=v((wmr,sIt)=>{sIt.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var j6e=v((Qr,lG)=>{"use strict";Object.defineProperty(Qr,"__esModule",{value:!0});Qr.MissingRefError=Qr.ValidationError=Qr.CodeGen=Qr.Name=Qr.nil=Qr.stringify=Qr.str=Qr._=Qr.KeywordCxt=Qr.Ajv=void 0;var uIt=BTe(),cIt=D6e(),lIt=I6e(),R6e=P6e(),fIt=["/properties"],ik="http://json-schema.org/draft-07/schema",hv=class extends uIt.default{_addVocabularies(){super._addVocabularies(),cIt.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(lIt.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(R6e,fIt):R6e;this.addMetaSchema(t,ik,!1),this.refs["http://json-schema.org/schema"]=ik}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(ik)?ik:void 0)}};Qr.Ajv=hv;lG.exports=Qr=hv;lG.exports.Ajv=hv;Object.defineProperty(Qr,"__esModule",{value:!0});Qr.default=hv;var dIt=J1();Object.defineProperty(Qr,"KeywordCxt",{enumerable:!0,get:function(){return dIt.KeywordCxt}});var mv=qt();Object.defineProperty(Qr,"_",{enumerable:!0,get:function(){return mv._}});Object.defineProperty(Qr,"str",{enumerable:!0,get:function(){return mv.str}});Object.defineProperty(Qr,"stringify",{enumerable:!0,get:function(){return mv.stringify}});Object.defineProperty(Qr,"nil",{enumerable:!0,get:function(){return mv.nil}});Object.defineProperty(Qr,"Name",{enumerable:!0,get:function(){return mv.Name}});Object.defineProperty(Qr,"CodeGen",{enumerable:!0,get:function(){return mv.CodeGen}});var pIt=M4();Object.defineProperty(Qr,"ValidationError",{enumerable:!0,get:function(){return pIt.default}});var hIt=X1();Object.defineProperty(Qr,"MissingRefError",{enumerable:!0,get:function(){return hIt.default}})});var yG=typeof process!="object"||String(process)!=="[object process]"||process.browser;var _G={ibm866:[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488,9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575,9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1025,1105,1028,1108,1031,1111,1038,1118,176,8729,183,8730,8470,164,9632,160],"iso-8859-2":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,728,321,164,317,346,167,168,352,350,356,377,173,381,379,176,261,731,322,180,318,347,711,184,353,351,357,378,733,382,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"iso-8859-3":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,294,728,163,164,null,292,167,168,304,350,286,308,173,null,379,176,295,178,179,180,181,293,183,184,305,351,287,309,189,null,380,192,193,194,null,196,266,264,199,200,201,202,203,204,205,206,207,null,209,210,211,212,288,214,215,284,217,218,219,220,364,348,223,224,225,226,null,228,267,265,231,232,233,234,235,236,237,238,239,null,241,242,243,244,289,246,247,285,249,250,251,252,365,349,729],"iso-8859-4":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,312,342,164,296,315,167,168,352,274,290,358,173,381,175,176,261,731,343,180,297,316,711,184,353,275,291,359,330,382,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,298,272,325,332,310,212,213,214,215,216,370,218,219,220,360,362,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,299,273,326,333,311,244,245,246,247,248,371,250,251,252,361,363,729],"iso-8859-5":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,173,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8470,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,167,1118,1119],"iso-8859-6":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,null,null,164,null,null,null,null,null,null,null,1548,173,null,null,null,null,null,null,null,null,null,null,null,null,null,1563,null,null,null,1567,null,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,null,null,null,null,null,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,null,null,null,null,null,null,null,null,null,null,null,null,null],"iso-8859-7":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8216,8217,163,8364,8367,166,167,168,169,890,171,172,173,null,8213,176,177,178,179,900,901,902,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"iso-8859-8":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,162,163,164,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8215,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"iso-8859-10":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,274,290,298,296,310,167,315,272,352,358,381,173,362,330,176,261,275,291,299,297,311,183,316,273,353,359,382,8213,363,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,207,208,325,332,211,212,213,214,360,216,370,218,219,220,221,222,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,239,240,326,333,243,244,245,246,361,248,371,250,251,252,253,254,312],"iso-8859-13":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8221,162,163,164,8222,166,167,216,169,342,171,172,173,174,198,176,177,178,179,8220,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,8217],"iso-8859-14":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,7682,7683,163,266,267,7690,167,7808,169,7810,7691,7922,173,174,376,7710,7711,288,289,7744,7745,182,7766,7809,7767,7811,7776,7923,7812,7813,7777,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,372,209,210,211,212,213,214,7786,216,217,218,219,220,221,374,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,373,241,242,243,244,245,246,7787,248,249,250,251,252,253,375,255],"iso-8859-15":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,8364,165,352,167,353,169,170,171,172,173,174,175,176,177,178,179,381,181,182,183,382,185,186,187,338,339,376,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"iso-8859-16":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,261,321,8364,8222,352,167,353,169,536,171,377,173,378,379,176,177,268,322,381,8221,182,183,382,269,537,187,338,339,376,380,192,193,194,258,196,262,198,199,200,201,202,203,204,205,206,207,272,323,210,211,212,336,214,346,368,217,218,219,220,280,538,223,224,225,226,259,228,263,230,231,232,233,234,235,236,237,238,239,273,324,242,243,244,337,246,347,369,249,250,251,252,281,539,255],"koi8-r":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,1025,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],"koi8-u":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,1108,9556,1110,1111,9559,9560,9561,9562,9563,1169,1118,9566,9567,9568,9569,1025,1028,9571,1030,1031,9574,9575,9576,9577,9578,1168,1038,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],macintosh:[196,197,199,201,209,214,220,225,224,226,228,227,229,231,233,232,234,235,237,236,238,239,241,243,242,244,246,245,250,249,251,252,8224,176,162,163,167,8226,182,223,174,169,8482,180,168,8800,198,216,8734,177,8804,8805,165,181,8706,8721,8719,960,8747,170,186,937,230,248,191,161,172,8730,402,8776,8710,171,187,8230,160,192,195,213,338,339,8211,8212,8220,8221,8216,8217,247,9674,255,376,8260,8364,8249,8250,64257,64258,8225,183,8218,8222,8240,194,202,193,203,200,205,206,207,204,211,212,63743,210,218,219,217,305,710,732,175,728,729,730,184,733,731,711],"windows-874":[8364,129,130,131,132,8230,134,135,136,137,138,139,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,153,154,155,156,157,158,159,160,3585,3586,3587,3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618,3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,3630,3631,3632,3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,null,null,null,null,3647,3648,3649,3650,3651,3652,3653,3654,3655,3656,3657,3658,3659,3660,3661,3662,3663,3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,null,null,null,null],"windows-1250":[8364,129,8218,131,8222,8230,8224,8225,136,8240,352,8249,346,356,381,377,144,8216,8217,8220,8221,8226,8211,8212,152,8482,353,8250,347,357,382,378,160,711,728,321,164,260,166,167,168,169,350,171,172,173,174,379,176,177,731,322,180,181,182,183,184,261,351,187,317,733,318,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"windows-1251":[1026,1027,8218,1107,8222,8230,8224,8225,8364,8240,1033,8249,1034,1036,1035,1039,1106,8216,8217,8220,8221,8226,8211,8212,152,8482,1113,8250,1114,1116,1115,1119,160,1038,1118,1032,164,1168,166,167,1025,169,1028,171,172,173,174,1031,176,177,1030,1110,1169,181,182,183,1105,8470,1108,187,1112,1029,1109,1111,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103],"windows-1252":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"windows-1253":[8364,129,8218,402,8222,8230,8224,8225,136,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,157,158,159,160,901,902,163,164,165,166,167,168,169,null,171,172,173,174,8213,176,177,178,179,900,181,182,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"windows-1254":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,286,209,210,211,212,213,214,215,216,217,218,219,220,304,350,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,287,241,242,243,244,245,246,247,248,249,250,251,252,305,351,255],"windows-1255":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,156,157,158,159,160,161,162,163,8362,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,191,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1520,1521,1522,1523,1524,null,null,null,null,null,null,null,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"windows-1256":[8364,1662,8218,402,8222,8230,8224,8225,710,8240,1657,8249,338,1670,1688,1672,1711,8216,8217,8220,8221,8226,8211,8212,1705,8482,1681,8250,339,8204,8205,1722,160,1548,162,163,164,165,166,167,168,169,1726,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,1563,187,188,189,190,1567,1729,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,215,1591,1592,1593,1594,1600,1601,1602,1603,224,1604,226,1605,1606,1607,1608,231,232,233,234,235,1609,1610,238,239,1611,1612,1613,1614,244,1615,1616,247,1617,249,1618,251,252,8206,8207,1746],"windows-1257":[8364,129,8218,131,8222,8230,8224,8225,136,8240,138,8249,140,168,711,184,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,175,731,159,160,null,162,163,164,null,166,167,216,169,342,171,172,173,174,198,176,177,178,179,180,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,729],"windows-1258":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,258,196,197,198,199,200,201,202,203,768,205,206,207,272,209,777,211,212,416,214,215,216,217,218,219,220,431,771,223,224,225,226,259,228,229,230,231,232,233,234,235,769,237,238,239,273,241,803,243,244,417,246,247,248,249,250,251,252,432,8363,255],"x-mac-cyrillic":[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,8224,176,1168,163,167,8226,182,1030,174,169,8482,1026,1106,8800,1027,1107,8734,177,8804,8805,1110,181,1169,1032,1028,1108,1031,1111,1033,1113,1034,1114,1112,1029,172,8730,402,8776,8710,171,187,8230,160,1035,1115,1036,1116,1109,8211,8212,8220,8221,8216,8217,247,8222,1038,1118,1039,1119,8470,1025,1105,1103,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,8364]};globalThis["encoding-indexes"]=_G||{};function Tt(e,t,r){return t<=e&&e<=r}function CSe(e,t){return e.indexOf(t)!==-1}var ic=Math.floor;function m_(e){if(e===void 0)return{};if(e===Object(e))return e;throw TypeError("Could not convert argument to dictionary")}function DSe(e){for(var t=String(e),r=t.length,n=0,i=[];n<r;){var a=t.charCodeAt(n);if(a<55296||a>57343)i.push(a);else if(56320<=a&&a<=57343)i.push(65533);else if(55296<=a&&a<=56319)if(n===r-1)i.push(65533);else{var o=t.charCodeAt(n+1);if(56320<=o&&o<=57343){var s=a&1023,u=o&1023;i.push(65536+(s<<10)+u),n+=1}else i.push(65533)}n+=1}return i}function BSe(e){for(var t="",r=0;r<e.length;++r){var n=e[r];n<=65535?t+=String.fromCharCode(n):(n-=65536,t+=String.fromCharCode((n>>10)+55296,(n&1023)+56320))}return t}function co(e){return 0<=e&&e<=127}var uo=co,Kt=-1;function xk(e){this.tokens=[].slice.call(e),this.tokens.reverse()}xk.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.pop():Kt},prepend:function(e){if(Array.isArray(e))for(var t=e;t.length;)this.tokens.push(t.pop());else this.tokens.push(e)},push:function(e){if(Array.isArray(e))for(var t=e;t.length;)this.tokens.unshift(t.shift());else this.tokens.unshift(e)}};var Br=-1;function Wt(e,t){if(e)throw TypeError("Decoder error");return t||65533}function Qo(e){throw TypeError("The code point "+e+" could not be encoded.")}function FSe(){}FSe.prototype={handler:function(e,t){}};function OSe(){}OSe.prototype={handler:function(e,t){}};function vk(e){return e=String(e).trim().toLowerCase(),Object.prototype.hasOwnProperty.call(bk,e)?bk[e]:null}var wG=[{encodings:[{labels:["unicode-1-1-utf-8","utf-8","utf8"],name:"UTF-8"}],heading:"The Encoding"},{encodings:[{labels:["866","cp866","csibm866","ibm866"],name:"IBM866"},{labels:["csisolatin2","iso-8859-2","iso-ir-101","iso8859-2","iso88592","iso_8859-2","iso_8859-2:1987","l2","latin2"],name:"ISO-8859-2"},{labels:["csisolatin3","iso-8859-3","iso-ir-109","iso8859-3","iso88593","iso_8859-3","iso_8859-3:1988","l3","latin3"],name:"ISO-8859-3"},{labels:["csisolatin4","iso-8859-4","iso-ir-110","iso8859-4","iso88594","iso_8859-4","iso_8859-4:1988","l4","latin4"],name:"ISO-8859-4"},{labels:["csisolatincyrillic","cyrillic","iso-8859-5","iso-ir-144","iso8859-5","iso88595","iso_8859-5","iso_8859-5:1988"],name:"ISO-8859-5"},{labels:["arabic","asmo-708","csiso88596e","csiso88596i","csisolatinarabic","ecma-114","iso-8859-6","iso-8859-6-e","iso-8859-6-i","iso-ir-127","iso8859-6","iso88596","iso_8859-6","iso_8859-6:1987"],name:"ISO-8859-6"},{labels:["csisolatingreek","ecma-118","elot_928","greek","greek8","iso-8859-7","iso-ir-126","iso8859-7","iso88597","iso_8859-7","iso_8859-7:1987","sun_eu_greek"],name:"ISO-8859-7"},{labels:["csiso88598e","csisolatinhebrew","hebrew","iso-8859-8","iso-8859-8-e","iso-ir-138","iso8859-8","iso88598","iso_8859-8","iso_8859-8:1988","visual"],name:"ISO-8859-8"},{labels:["csiso88598i","iso-8859-8-i","logical"],name:"ISO-8859-8-I"},{labels:["csisolatin6","iso-8859-10","iso-ir-157","iso8859-10","iso885910","l6","latin6"],name:"ISO-8859-10"},{labels:["iso-8859-13","iso8859-13","iso885913"],name:"ISO-8859-13"},{labels:["iso-8859-14","iso8859-14","iso885914"],name:"ISO-8859-14"},{labels:["csisolatin9","iso-8859-15","iso8859-15","iso885915","iso_8859-15","l9"],name:"ISO-8859-15"},{labels:["iso-8859-16"],name:"ISO-8859-16"},{labels:["cskoi8r","koi","koi8","koi8-r","koi8_r"],name:"KOI8-R"},{labels:["koi8-ru","koi8-u"],name:"KOI8-U"},{labels:["csmacintosh","mac","macintosh","x-mac-roman"],name:"macintosh"},{labels:["dos-874","iso-8859-11","iso8859-11","iso885911","tis-620","windows-874"],name:"windows-874"},{labels:["cp1250","windows-1250","x-cp1250"],name:"windows-1250"},{labels:["cp1251","windows-1251","x-cp1251"],name:"windows-1251"},{labels:["ansi_x3.4-1968","ascii","cp1252","cp819","csisolatin1","ibm819","iso-8859-1","iso-ir-100","iso8859-1","iso88591","iso_8859-1","iso_8859-1:1987","l1","latin1","us-ascii","windows-1252","x-cp1252"],name:"windows-1252"},{labels:["cp1253","windows-1253","x-cp1253"],name:"windows-1253"},{labels:["cp1254","csisolatin5","iso-8859-9","iso-ir-148","iso8859-9","iso88599","iso_8859-9","iso_8859-9:1989","l5","latin5","windows-1254","x-cp1254"],name:"windows-1254"},{labels:["cp1255","windows-1255","x-cp1255"],name:"windows-1255"},{labels:["cp1256","windows-1256","x-cp1256"],name:"windows-1256"},{labels:["cp1257","windows-1257","x-cp1257"],name:"windows-1257"},{labels:["cp1258","windows-1258","x-cp1258"],name:"windows-1258"},{labels:["x-mac-cyrillic","x-mac-ukrainian"],name:"x-mac-cyrillic"}],heading:"Legacy single-byte encodings"},{encodings:[{labels:["chinese","csgb2312","csiso58gb231280","gb2312","gb_2312","gb_2312-80","gbk","iso-ir-58","x-gbk"],name:"GBK"},{labels:["gb18030"],name:"gb18030"}],heading:"Legacy multi-byte Chinese (simplified) encodings"},{encodings:[{labels:["big5","big5-hkscs","cn-big5","csbig5","x-x-big5"],name:"Big5"}],heading:"Legacy multi-byte Chinese (traditional) encodings"},{encodings:[{labels:["cseucpkdfmtjapanese","euc-jp","x-euc-jp"],name:"EUC-JP"},{labels:["csiso2022jp","iso-2022-jp"],name:"ISO-2022-JP"},{labels:["csshiftjis","ms932","ms_kanji","shift-jis","shift_jis","sjis","windows-31j","x-sjis"],name:"Shift_JIS"}],heading:"Legacy multi-byte Japanese encodings"},{encodings:[{labels:["cseuckr","csksc56011987","euc-kr","iso-ir-149","korean","ks_c_5601-1987","ks_c_5601-1989","ksc5601","ksc_5601","windows-949"],name:"EUC-KR"}],heading:"Legacy multi-byte Korean encodings"},{encodings:[{labels:["csiso2022kr","hz-gb-2312","iso-2022-cn","iso-2022-cn-ext","iso-2022-kr"],name:"replacement"},{labels:["utf-16be"],name:"UTF-16BE"},{labels:["utf-16","utf-16le"],name:"UTF-16LE"},{labels:["x-user-defined"],name:"x-user-defined"}],heading:"Legacy miscellaneous encodings"}],bk={};wG.forEach(function(e){e.encodings.forEach(function(t){t.labels.forEach(function(r){bk[r]=t})})});var ma={},ga={};function ph(e,t){return t&&t[e]||null}function hh(e,t){var r=t.indexOf(e);return r===-1?null:r}function ea(e){if(!("encoding-indexes"in globalThis))throw Error("Indexes missing. Did you forget to include encoding-indexes.js first?");return globalThis["encoding-indexes"][e]}function ISe(e){if(e>39419&&e<189e3||e>1237575)return null;if(e===7457)return 59335;var t=0,r=0,n=ea("gb18030-ranges"),i;for(i=0;i<n.length;++i){var a=n[i];if(a[0]<=e)t=a[0],r=a[1];else break}return r+e-t}function PSe(e){if(e===59335)return 7457;var t=0,r=0,n=ea("gb18030-ranges"),i;for(i=0;i<n.length;++i){var a=n[i];if(a[1]<=e)t=a[1],r=a[0];else break}return r+e-t}function RSe(e){mk=mk||ea("jis0208").map(function(r,n){return Tt(n,8272,8835)?null:r});var t=mk;return t.indexOf(e)}var mk;function jSe(e){gk=gk||ea("big5").map(function(r,n){return n<(161-129)*157?null:r});var t=gk;return e===9552||e===9566||e===9569||e===9578||e===21313||e===21317?t.lastIndexOf(e):hh(e,t)}var gk,AG="utf-8";function fd(e,t){if(!(this instanceof fd))throw TypeError("Called as a function. Did you forget 'new'?");e=e!==void 0?String(e):AG,t=m_(t),this._encoding=null,this._decoder=null,this._ignoreBOM=!1,this._BOMseen=!1,this._error_mode="replacement",this._do_not_flush=!1;var r=vk(e);if(r===null||r.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!ga[r.name])throw Error("Decoder not present. Did you forget to include encoding-indexes.js first?");var n=this;return n._encoding=r,Boolean(t.fatal)&&(n._error_mode="fatal"),Boolean(t.ignoreBOM)&&(n._ignoreBOM=!0),Object.defineProperty||(this.encoding=n._encoding.name.toLowerCase(),this.fatal=n._error_mode==="fatal",this.ignoreBOM=n._ignoreBOM),n}Object.defineProperty&&(Object.defineProperty(fd.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}}),Object.defineProperty(fd.prototype,"fatal",{get:function(){return this._error_mode==="fatal"}}),Object.defineProperty(fd.prototype,"ignoreBOM",{get:function(){return this._ignoreBOM}}));fd.prototype.decode=function(t,r){var n;typeof t=="object"&&t instanceof ArrayBuffer?n=new Uint8Array(t):typeof t=="object"&&"buffer"in t&&t.buffer instanceof ArrayBuffer?n=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):n=new Uint8Array(0),r=m_(r),this._do_not_flush||(this._decoder=ga[this._encoding.name]({fatal:this._error_mode==="fatal"}),this._BOMseen=!1),this._do_not_flush=Boolean(r.stream);for(var i=new xk(n),a=[],o;;){var s=i.read();if(s===Kt||(o=this._decoder.handler(i,s),o===Br))break;o!==null&&(Array.isArray(o)?a.push.apply(a,o):a.push(o))}if(!this._do_not_flush){do{if(o=this._decoder.handler(i,i.read()),o===Br)break;o!==null&&(Array.isArray(o)?a.push.apply(a,o):a.push(o))}while(!i.endOfStream());this._decoder=null}function u(c){return CSe(["UTF-8","UTF-16LE","UTF-16BE"],this._encoding.name)&&!this._ignoreBOM&&!this._BOMseen&&(c.length>0&&c[0]===65279?(this._BOMseen=!0,c.shift()):c.length>0&&(this._BOMseen=!0)),BSe(c)}return u.call(this,a)};function Ev(e,t){if(!(this instanceof Ev))throw TypeError("Called as a function. Did you forget 'new'?");t=m_(t),this._encoding=null,this._encoder=null,this._do_not_flush=!1,this._fatal=Boolean(t.fatal)?"fatal":"replacement";var r=this;if(Boolean(t.NONSTANDARD_allowLegacyEncoding)){e=e!==void 0?String(e):AG;var n=vk(e);if(n===null||n.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!ma[n.name])throw Error("Encoder not present. Did you forget to include encoding-indexes.js first?");r._encoding=n}else r._encoding=vk("utf-8"),e!==void 0&&"console"in globalThis&&console.warn("TextEncoder constructor called with encoding label, which is ignored.");return Object.defineProperty||(this.encoding=r._encoding.name.toLowerCase()),r}Object.defineProperty&&Object.defineProperty(Ev.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}});Ev.prototype.encode=function(t,r){t=t===void 0?"":String(t),r=m_(r),this._do_not_flush||(this._encoder=ma[this._encoding.name]({fatal:this._fatal==="fatal"})),this._do_not_flush=Boolean(r.stream);for(var n=new xk(DSe(t)),i=[],a;;){var o=n.read();if(o===Kt||(a=this._encoder.handler(n,o),a===Br))break;Array.isArray(a)?i.push.apply(i,a):i.push(a)}if(!this._do_not_flush){for(;a=this._encoder.handler(n,n.read()),a!==Br;)Array.isArray(a)?i.push.apply(i,a):i.push(a);this._encoder=null}return new Uint8Array(i)};function MSe(e){var t=e.fatal,r=0,n=0,i=0,a=128,o=191;this.handler=function(s,u){if(u===Kt&&i!==0)return i=0,Wt(t);if(u===Kt)return Br;if(i===0){if(Tt(u,0,127))return u;if(Tt(u,194,223))i=1,r=u&31;else if(Tt(u,224,239))u===224&&(a=160),u===237&&(o=159),i=2,r=u&15;else if(Tt(u,240,244))u===240&&(a=144),u===244&&(o=143),i=3,r=u&7;else return Wt(t);return null}if(!Tt(u,a,o))return r=i=n=0,a=128,o=191,s.prepend(u),Wt(t);if(a=128,o=191,r=r<<6|u&63,n+=1,n!==i)return null;var c=r;return r=i=n=0,c}}function LSe(e){var t=e.fatal;this.handler=function(r,n){if(n===Kt)return Br;if(uo(n))return n;var i,a;Tt(n,128,2047)?(i=1,a=192):Tt(n,2048,65535)?(i=2,a=224):Tt(n,65536,1114111)&&(i=3,a=240);for(var o=[(n>>6*i)+a];i>0;){var s=n>>6*(i-1);o.push(128|s&63),i-=1}return o}}ma["UTF-8"]=function(e){return new LSe(e)};ga["UTF-8"]=function(e){return new MSe(e)};function qSe(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Kt)return Br;if(co(i))return i;var a=e[i-128];return a===null?Wt(r):a}}function NSe(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Kt)return Br;if(uo(i))return i;var a=hh(i,e);return a===null&&Qo(i),a+128}}(function(){"encoding-indexes"in globalThis&&wG.forEach(function(e){e.heading==="Legacy single-byte encodings"&&e.encodings.forEach(function(t){var r=t.name,n=ea(r.toLowerCase());ga[r]=function(i){return new qSe(n,i)},ma[r]=function(i){return new NSe(n,i)}})})})();ga.GBK=function(e){return new EG(e)};ma.GBK=function(e){return new TG(e,!0)};function EG(e){var t=e.fatal,r=0,n=0,i=0;this.handler=function(a,o){if(o===Kt&&r===0&&n===0&&i===0)return Br;o===Kt&&(r!==0||n!==0||i!==0)&&(r=0,n=0,i=0,Wt(t));var s;if(i!==0){s=null,Tt(o,48,57)&&(s=ISe((((r-129)*10+n-48)*126+i-129)*10+o-48));var u=[n,i,o];return r=0,n=0,i=0,s===null?(a.prepend(u),Wt(t)):s}if(n!==0)return Tt(o,129,254)?(i=o,null):(a.prepend([n,o]),r=0,n=0,Wt(t));if(r!==0){if(Tt(o,48,57))return n=o,null;var c=r,l=null;r=0;var f=o<127?64:65;return(Tt(o,64,126)||Tt(o,128,254))&&(l=(c-129)*190+(o-f)),s=l===null?null:ph(l,ea("gb18030")),s===null&&co(o)&&a.prepend(o),s===null?Wt(t):s}return co(o)?o:o===128?8364:Tt(o,129,254)?(r=o,null):Wt(t)}}function TG(e,t){var r=e.fatal;this.handler=function(n,i){if(i===Kt)return Br;if(uo(i))return i;if(i===58853)return Qo(i);if(t&&i===8364)return 128;var a=hh(i,ea("gb18030"));if(a!==null){var o=ic(a/190)+129,s=a%190,u=s<63?64:65;return[o,s+u]}if(t)return Qo(i);a=PSe(i);var c=ic(a/10/126/10);a=a-c*10*126*10;var l=ic(a/10/126);a=a-l*10*126;var f=ic(a/10),d=a-f*10;return[c+129,l+48,f+129,d+48]}}ma.gb18030=function(e){return new TG(e)};ga.gb18030=function(e){return new EG(e)};function USe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Kt&&r!==0)return r=0,Wt(t);if(i===Kt&&r===0)return Br;if(r!==0){var a=r,o=null;r=0;var s=i<127?64:98;switch((Tt(i,64,126)||Tt(i,161,254))&&(o=(a-129)*157+(i-s)),o){case 1133:return[202,772];case 1135:return[202,780];case 1164:return[234,772];case 1166:return[234,780]}var u=o===null?null:ph(o,ea("big5"));return u===null&&co(i)&&n.prepend(i),u===null?Wt(t):u}return co(i)?i:Tt(i,129,254)?(r=i,null):Wt(t)}}function GSe(e){var t=e.fatal;this.handler=function(r,n){if(n===Kt)return Br;if(uo(n))return n;var i=jSe(n);if(i===null)return Qo(n);var a=ic(i/157)+129;if(a<161)return Qo(n);var o=i%157,s=o<63?64:98;return[a,o+s]}}ma.Big5=function(e){return new GSe(e)};ga.Big5=function(e){return new USe(e)};function zSe(e){var t=e.fatal,r=!1,n=0;this.handler=function(i,a){if(a===Kt&&n!==0)return n=0,Wt(t);if(a===Kt&&n===0)return Br;if(n===142&&Tt(a,161,223))return n=0,65377-161+a;if(n===143&&Tt(a,161,254))return r=!0,n=a,null;if(n!==0){var o=n;n=0;var s=null;return Tt(o,161,254)&&Tt(a,161,254)&&(s=ph((o-161)*94+(a-161),ea(r?"jis0212":"jis0208"))),r=!1,Tt(a,161,254)||i.prepend(a),s===null?Wt(t):s}return co(a)?a:a===142||a===143||Tt(a,161,254)?(n=a,null):Wt(t)}}function HSe(e){var t=e.fatal;this.handler=function(r,n){if(n===Kt)return Br;if(uo(n))return n;if(n===165)return 92;if(n===8254)return 126;if(Tt(n,65377,65439))return[142,n-65377+161];n===8722&&(n=65293);var i=hh(n,ea("jis0208"));if(i===null)return Qo(n);var a=ic(i/94)+161,o=i%94+161;return[a,o]}}ma["EUC-JP"]=function(e){return new HSe(e)};ga["EUC-JP"]=function(e){return new zSe(e)};function VSe(e){var t=e.fatal,r={ASCII:0,Roman:1,Katakana:2,LeadByte:3,TrailByte:4,EscapeStart:5,Escape:6},n=r.ASCII,i=r.ASCII,a=0,o=!1;this.handler=function(s,u){switch(n){default:case r.ASCII:return u===27?(n=r.EscapeStart,null):Tt(u,0,127)&&u!==14&&u!==15&&u!==27?(o=!1,u):u===Kt?Br:(o=!1,Wt(t));case r.Roman:return u===27?(n=r.EscapeStart,null):u===92?(o=!1,165):u===126?(o=!1,8254):Tt(u,0,127)&&u!==14&&u!==15&&u!==27&&u!==92&&u!==126?(o=!1,u):u===Kt?Br:(o=!1,Wt(t));case r.Katakana:return u===27?(n=r.EscapeStart,null):Tt(u,33,95)?(o=!1,65377-33+u):u===Kt?Br:(o=!1,Wt(t));case r.LeadByte:return u===27?(n=r.EscapeStart,null):Tt(u,33,126)?(o=!1,a=u,n=r.TrailByte,null):u===Kt?Br:(o=!1,Wt(t));case r.TrailByte:if(u===27)return n=r.EscapeStart,Wt(t);if(Tt(u,33,126)){n=r.LeadByte;var c=(a-33)*94+u-33,l=ph(c,ea("jis0208"));return l===null?Wt(t):l}return u===Kt?(n=r.LeadByte,s.prepend(u),Wt(t)):(n=r.LeadByte,Wt(t));case r.EscapeStart:return u===36||u===40?(a=u,n=r.Escape,null):(s.prepend(u),o=!1,n=i,Wt(t));case r.Escape:var f=a;a=0;var d=null;if(f===40&&u===66&&(d=r.ASCII),f===40&&u===74&&(d=r.Roman),f===40&&u===73&&(d=r.Katakana),f===36&&(u===64||u===66)&&(d=r.LeadByte),d!==null){n=n=d;var p=o;return o=!0,p?Wt(t):null}return s.prepend([f,u]),o=!1,n=i,Wt(t)}}}function $Se(e){var t=e.fatal,r={ASCII:0,Roman:1,jis0208:2},n=r.ASCII;this.handler=function(i,a){if(a===Kt&&n!==r.ASCII)return i.prepend(a),n=r.ASCII,[27,40,66];if(a===Kt&&n===r.ASCII)return Br;if((n===r.ASCII||n===r.Roman)&&(a===14||a===15||a===27))return Qo(65533);if(n===r.ASCII&&uo(a))return a;if(n===r.Roman&&(uo(a)&&a!==92&&a!==126||a==165||a==8254)){if(uo(a))return a;if(a===165)return 92;if(a===8254)return 126}if(uo(a)&&n!==r.ASCII)return i.prepend(a),n=r.ASCII,[27,40,66];if((a===165||a===8254)&&n!==r.Roman)return i.prepend(a),n=r.Roman,[27,40,74];a===8722&&(a=65293);var o=hh(a,ea("jis0208"));if(o===null)return Qo(a);if(n!==r.jis0208)return i.prepend(a),n=r.jis0208,[27,36,66];var s=ic(o/94)+33,u=o%94+33;return[s,u]}}ma["ISO-2022-JP"]=function(e){return new $Se(e)};ga["ISO-2022-JP"]=function(e){return new VSe(e)};function WSe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Kt&&r!==0)return r=0,Wt(t);if(i===Kt&&r===0)return Br;if(r!==0){var a=r,o=null;r=0;var s=i<127?64:65,u=a<160?129:193;if((Tt(i,64,126)||Tt(i,128,252))&&(o=(a-u)*188+i-s),Tt(o,8836,10715))return 57344-8836+o;var c=o===null?null:ph(o,ea("jis0208"));return c===null&&co(i)&&n.prepend(i),c===null?Wt(t):c}return co(i)||i===128?i:Tt(i,161,223)?65377-161+i:Tt(i,129,159)||Tt(i,224,252)?(r=i,null):Wt(t)}}function KSe(e){var t=e.fatal;this.handler=function(r,n){if(n===Kt)return Br;if(uo(n)||n===128)return n;if(n===165)return 92;if(n===8254)return 126;if(Tt(n,65377,65439))return n-65377+161;n===8722&&(n=65293);var i=RSe(n);if(i===null)return Qo(n);var a=ic(i/188),o=a<31?129:193,s=i%188,u=s<63?64:65;return[a+o,s+u]}}ma.Shift_JIS=function(e){return new KSe(e)};ga.Shift_JIS=function(e){return new WSe(e)};function JSe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Kt&&r!==0)return r=0,Wt(t);if(i===Kt&&r===0)return Br;if(r!==0){var a=r,o=null;r=0,Tt(i,65,254)&&(o=(a-129)*190+(i-65));var s=o===null?null:ph(o,ea("euc-kr"));return o===null&&co(i)&&n.prepend(i),s===null?Wt(t):s}return co(i)?i:Tt(i,129,254)?(r=i,null):Wt(t)}}function XSe(e){var t=e.fatal;this.handler=function(r,n){if(n===Kt)return Br;if(uo(n))return n;var i=hh(n,ea("euc-kr"));if(i===null)return Qo(n);var a=ic(i/190)+129,o=i%190+65;return[a,o]}}ma["EUC-KR"]=function(e){return new XSe(e)};ga["EUC-KR"]=function(e){return new JSe(e)};function h_(e,t){var r=e>>8,n=e&255;return t?[r,n]:[n,r]}function SG(e,t){var r=t.fatal,n=null,i=null;this.handler=function(a,o){if(o===Kt&&(n!==null||i!==null))return Wt(r);if(o===Kt&&n===null&&i===null)return Br;if(n===null)return n=o,null;var s;if(e?s=(n<<8)+o:s=(o<<8)+n,n=null,i!==null){var u=i;return i=null,Tt(s,56320,57343)?65536+(u-55296)*1024+(s-56320):(a.prepend(h_(s,e)),Wt(r))}return Tt(s,55296,56319)?(i=s,null):Tt(s,56320,57343)?Wt(r):s}}function kG(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Kt)return Br;if(Tt(i,0,65535))return h_(i,e);var a=h_((i-65536>>10)+55296,e),o=h_((i-65536&1023)+56320,e);return a.concat(o)}}ma["UTF-16BE"]=function(e){return new kG(!0,e)};ga["UTF-16BE"]=function(e){return new SG(!0,e)};ma["UTF-16LE"]=function(e){return new kG(!1,e)};ga["UTF-16LE"]=function(e){return new SG(!1,e)};function YSe(e){var t=e.fatal;this.handler=function(r,n){return n===Kt?Br:co(n)?n:63360+n-128}}function QSe(e){var t=e.fatal;this.handler=function(r,n){return n===Kt?Br:uo(n)?n:Tt(n,63360,63487)?n-63360+128:Qo(n)}}ma["x-user-defined"]=function(e){return new QSe(e)};ga["x-user-defined"]=function(e){return new YSe(e)};function Tv(e){return Buffer.from(e).toString("base64")}function yk(e){return Buffer.from(e,"base64").toString("ascii")}var AV=Dt(_V(),1),EV=Dt(Ov(),1);function wV(e){return Buffer.isBuffer(e)?new Uint8Array(e).buffer:e}function vke(e,t){let r=t.type?t.type.replace("image/",""):"jpeg",n=(0,EV.default)(e.data,[e.width,e.height,4],[4,e.width*4,1],0);return(0,AV.default)(n,r,t)}function TV(e,t){let r=vke(e,t);return new Promise(n=>{let i=[];r.on("data",a=>i.push(a)),r.on("end",()=>{let a=Buffer.concat(i);n(wV(a))})})}var nte=Dt(rte(),1),SB=["image/png","image/jpeg","image/gif"];async function kB(e,t){if(!t)throw new Error("MIMEType is required to parse image under Node.js");let r=e instanceof Buffer?e:Buffer.from(e);return await FMe(r,t)}function FMe(e,t){return new Promise(r=>(0,nte.default)(e,t,(n,i)=>{if(n)throw n;let a=[...i.shape],o=i.shape.length===4?i.shape.shift():1,s=i.data instanceof Buffer?new Uint8Array(i.data):i.data;r({shape:a,data:s,width:i.shape[0],height:i.shape[1],components:i.shape[2],layers:o?[o]:[]})}))}async function Va(e,t,r,n){return n._parse(e,t,r,n)}function _t(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var uu={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},ate=uu.self||uu.window||uu.global||{},ote=uu.window||uu.self||uu.global||{},ste=uu.global||uu.self||uu.window||{},ute=uu.document||{};var dr=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var ite=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),OMe=ite&&parseFloat(ite[1])||0;var cw=globalThis,IMe=globalThis.document||{},lw=globalThis.process||{},PMe=globalThis.console,p7t=globalThis.navigator||{};function cte(e){var n,i;if(typeof window<"u"&&((n=window.process)==null?void 0:n.type)==="renderer"||typeof process<"u"&&Boolean((i=process.versions)==null?void 0:i.electron))return!0;let t=typeof navigator<"u"&&navigator.userAgent,r=e||t;return Boolean(r&&r.indexOf("Electron")>=0)}function Fd(){return!(typeof process=="object"&&String(process)==="[object process]"&&!(process!=null&&process.browser))||cte()}var CB="4.0.7";function jMe(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var fw=class{constructor(t,r,n="sessionStorage"){this.storage=jMe(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 lte(e){let t;return e<10?t=`${e.toFixed(2)}ms`:e<100?t=`${e.toFixed(1)}ms`:e<1e3?t=`${e.toFixed(0)}ms`:t=`${(e/1e3).toFixed(2)}s`,t}function fte(e,t=8){let r=Math.max(t-e.length,0);return`${" ".repeat(r)}${e}`}var dw;(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"})(dw||(dw={}));var MMe=10;function dte(e){return typeof e!="string"?e:(e=e.toUpperCase(),dw[e]||dw.WHITE)}function pte(e,t,r){return!Fd&&typeof e=="string"&&(t&&(e=`\x1B[${dte(t)}m${e}\x1B[39m`),r&&(e=`\x1B[${dte(r)+MMe}m${e}\x1B[49m`)),e}function hte(e,t=["constructor"]){let r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),i=e;for(let a of n){let o=i[a];typeof o=="function"&&(t.find(s=>a===s)||(i[a]=o.bind(e)))}}function Cb(e,t){if(!e)throw new Error(t||"Assertion failed")}function Od(){var t,r,n,i,a;let e;if(Fd()&&cw.performance)e=(n=(r=(t=cw)==null?void 0:t.performance)==null?void 0:r.now)==null?void 0:n.call(r);else if("hrtime"in lw){let o=(a=(i=lw)==null?void 0:i.hrtime)==null?void 0:a.call(i);e=o[0]*1e3+o[1]/1e6}else e=Date.now();return e}var a0={debug:Fd()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},LMe={enabled:!0,level:0};function o0(){}var mte={},gte={once:!0},cu=class{constructor({id:t}={id:""}){this.VERSION=CB,this._startTs=Od(),this._deltaTs=Od(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new fw(`__probe-${this.id}__`,LMe),this.timeStamp(`${this.id} started`),hte(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((Od()-this._startTs).toPrecision(10))}getDelta(){return Number((Od()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!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){if(!t)throw new Error(r||"Assertion failed")}warn(t){return this._getLogFunction(0,t,a0.warn,arguments,gte)}error(t){return this._getLogFunction(0,t,a0.error,arguments)}deprecated(t,r){return this.warn(`\`${t}\` is deprecated and will be removed in a later version. Use \`${r}\` instead`)}removed(t,r){return this.error(`\`${t}\` has been removed. Use \`${r}\` instead`)}probe(t,r){return this._getLogFunction(t,r,a0.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,a0.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,a0.debug||a0.info,arguments,gte)}table(t,r,n){return r?this._getLogFunction(t,r,console.table||o0,n&&[n],{tag:NMe(r)}):o0}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||o0)}group(t,r,n={collapsed:!1}){let i=vte({logLevel:t,message:r,opts:n}),{collapsed:a}=n;return i.method=(a?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(t,r,n={}){return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||o0)}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()>=bte(t)}_getLogFunction(t,r,n,i,a){if(this._shouldLog(t)){a=vte({logLevel:t,message:r,args:i,opts:a}),n=n||a.method,Cb(n),a.total=this.getTotal(),a.delta=this.getDelta(),this._deltaTs=Od();let o=a.tag||a.message;if(a.once&&o)if(!mte[o])mte[o]=Od();else return o0;return r=qMe(this.id,a.message,a),n.bind(console,r,...a.args)}return o0}};cu.VERSION=CB;function bte(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 Cb(Number.isFinite(t)&&t>=0),t}function vte(e){let{logLevel:t,message:r}=e;e.logLevel=bte(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 Cb(i==="string"||i==="object"),Object.assign(e,{args:n},e.opts)}function qMe(e,t,r){if(typeof t=="string"){let n=r.time?fte(lte(r.total)):"";t=r.time?`${e}: ${n} ${t}`:`${e}: ${t}`,t=pte(t,r.color,r.background)}return t}function NMe(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}globalThis.probe={};var DB=new cu({id:"@probe.gl/log"});var BB="4.4.0-alpha.11",UMe=BB[0]>="0"&&BB[0]<="9"?`v${BB}`:"";function GMe(){let e=new cu({id:"loaders.gl"});return globalThis.loaders=globalThis.loaders||{},globalThis.loaders.log=e,globalThis.loaders.version=UMe,globalThis.probe=globalThis.probe||{},globalThis.probe.loaders=e,e}var FB=GMe();var zMe=e=>typeof e=="boolean",lu=e=>typeof e=="function",fu=e=>e!==null&&typeof e=="object",pw=e=>fu(e)&&e.constructor==={}.constructor;var OB=e=>typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer,s0=e=>fu(e)&&typeof e.byteLength=="number"&&typeof e.slice=="function";var IB=e=>Boolean(e)&&lu(e[Symbol.iterator]),PB=e=>Boolean(e)&&lu(e[Symbol.asyncIterator]);var $a=e=>typeof Response<"u"&&e instanceof Response||fu(e)&&lu(e.arrayBuffer)&&lu(e.text)&&lu(e.json);var Wa=e=>typeof Blob<"u"&&e instanceof Blob;var xte=e=>typeof ReadableStream<"u"&&e instanceof ReadableStream||fu(e)&&lu(e.tee)&&lu(e.cancel)&&lu(e.getReader);var yte=e=>fu(e)&&lu(e.read)&&lu(e.pipe)&&zMe(e.readable),Db=e=>xte(e)||yte(e);function RB(e,t){return _te(e||{},t)}function _te(e,t,r=0){if(r>3)return t;let n={...e};for(let[i,a]of Object.entries(t))a&&typeof a=="object"&&!Array.isArray(a)?n[i]=_te(n[i]||{},t[i],r+1):n[i]=t[i];return n}function u0(e){var t;globalThis.loaders||(globalThis.loaders={}),(t=globalThis.loaders).modules||(t.modules={}),Object.assign(globalThis.loaders.modules,e)}function jB(e){var r,n;return((n=(r=globalThis.loaders)==null?void 0:r.modules)==null?void 0:n[e])||null}var wte="beta";function HMe(){var e;return(e=globalThis._loadersgl_)!=null&&e.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.4.0-alpha.11"),globalThis._loadersgl_.version}var Id=HMe();function yi(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}var du={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},J7t=du.self||du.window||du.global||{},X7t=du.window||du.self||du.global||{},Y7t=du.global||du.self||du.window||{},Q7t=du.document||{};var Rn=typeof process!="object"||String(process)!=="[object process]"||process.browser,Bb=typeof importScripts=="function",Ete=typeof window<"u"&&typeof window.orientation<"u",Ate=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Z7t=Ate&&parseFloat(Ate[1])||0;var Fb=class{name;workerThread;isRunning=!0;result;_resolve=()=>{};_reject=()=>{};constructor(t,r){this.name=t,this.workerThread=r,this.result=new Promise((n,i)=>{this._resolve=n,this._reject=i})}postMessage(t,r){this.workerThread.postMessage({source:"loaders.gl",type:t,payload:r})}done(t){yi(this.isRunning),this.isRunning=!1,this._resolve(t)}error(t){yi(this.isRunning),this.isRunning=!1,this._reject(t)}};var Pd={};Oi(Pd,{NodeWorker:()=>Ib,parentPort:()=>VMe});var Ob=Dt(require("worker_threads"),1);Av(Pd,require("worker_threads"));var VMe=Ob==null?void 0:Ob.parentPort,Ib=Ob.Worker;var MB=new Map;function Tte(e){yi(e.source&&!e.url||!e.source&&e.url);let t=MB.get(e.source||e.url);return t||(e.url&&(t=$Me(e.url),MB.set(e.url,t)),e.source&&(t=Ste(e.source),MB.set(e.source,t))),yi(t),t}function $Me(e){if(!e.startsWith("http"))return e;let t=WMe(e);return Ste(t)}function Ste(e){let t=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(t)}function WMe(e){return`try {
|
|
154
|
+
deps: ${r}}`};var sOt={keyword:"dependencies",type:"object",schemaType:"object",error:tc.error,code(e){let[t,r]=uOt(e);i6e(e,t),a6e(e,r)}};function uOt({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let i=Array.isArray(e[n])?t:r;i[n]=e[n]}return[t,r]}function i6e(e,t=e.schema){let{gen:r,data:n,it:i}=e;if(Object.keys(t).length===0)return;let a=r.let("missing");for(let o in t){let s=t[o];if(s.length===0)continue;let u=(0,c_.propertyInData)(r,n,o,i.opts.ownProperties);e.setParams({property:o,depsCount:s.length,deps:s.join(", ")}),i.allErrors?r.if(u,()=>{for(let c of s)(0,c_.checkReportMissingProp)(e,c)}):(r.if((0,VU._)`${u} && (${(0,c_.checkMissingProp)(e,s,a)})`),(0,c_.reportMissingProp)(e,a),r.else())}}tc.validatePropertyDeps=i6e;function a6e(e,t=e.schema){let{gen:r,data:n,keyword:i,it:a}=e,o=r.name("valid");for(let s in t)(0,oOt.alwaysValidSchema)(a,t[s])||(r.if((0,c_.propertyInData)(r,n,s,a.opts.ownProperties),()=>{let u=e.subschema({keyword:i,schemaProp:s},o);e.mergeValidEvaluated(u,o)},()=>r.var(o,!0)),e.ok(o))}tc.validateSchemaDeps=a6e;tc.default=sOt});var u6e=v($U=>{"use strict";Object.defineProperty($U,"__esModule",{value:!0});var s6e=qt(),cOt=lr(),lOt={message:"property name must be valid",params:({params:e})=>(0,s6e._)`{propertyName: ${e.propertyName}}`},fOt={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:lOt,code(e){let{gen:t,schema:r,data:n,it:i}=e;if((0,cOt.alwaysValidSchema)(i,r))return;let a=t.name("valid");t.forIn("key",n,o=>{e.setParams({propertyName:o}),e.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},a),t.if((0,s6e.not)(a),()=>{e.error(!0),i.allErrors||t.break()})}),e.ok(a)}};$U.default=fOt});var KU=v(WU=>{"use strict";Object.defineProperty(WU,"__esModule",{value:!0});var Q4=$o(),Ns=qt(),dOt=ml(),Z4=lr(),pOt={message:"must NOT have additional properties",params:({params:e})=>(0,Ns._)`{additionalProperty: ${e.additionalProperty}}`},hOt={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:pOt,code(e){let{gen:t,schema:r,parentSchema:n,data:i,errsCount:a,it:o}=e;if(!a)throw new Error("ajv implementation error");let{allErrors:s,opts:u}=o;if(o.props=!0,u.removeAdditional!=="all"&&(0,Z4.alwaysValidSchema)(o,r))return;let c=(0,Q4.allSchemaProperties)(n.properties),l=(0,Q4.allSchemaProperties)(n.patternProperties);f(),e.ok((0,Ns._)`${a} === ${dOt.default.errors}`);function f(){t.forIn("key",i,g=>{!c.length&&!l.length?h(g):t.if(d(g),()=>h(g))})}function d(g){let x;if(c.length>8){let y=(0,Z4.schemaRefOrVal)(o,n.properties,"properties");x=(0,Q4.isOwnProperty)(t,y,g)}else c.length?x=(0,Ns.or)(...c.map(y=>(0,Ns._)`${g} === ${y}`)):x=Ns.nil;return l.length&&(x=(0,Ns.or)(x,...l.map(y=>(0,Ns._)`${(0,Q4.usePattern)(e,y)}.test(${g})`))),(0,Ns.not)(x)}function p(g){t.code((0,Ns._)`delete ${i}[${g}]`)}function h(g){if(u.removeAdditional==="all"||u.removeAdditional&&r===!1){p(g);return}if(r===!1){e.setParams({additionalProperty:g}),e.error(),s||t.break();return}if(typeof r=="object"&&!(0,Z4.alwaysValidSchema)(o,r)){let x=t.name("valid");u.removeAdditional==="failing"?(m(g,x,!1),t.if((0,Ns.not)(x),()=>{e.reset(),p(g)})):(m(g,x),s||t.if((0,Ns.not)(x),()=>t.break()))}}function m(g,x,y){let w={keyword:"additionalProperties",dataProp:g,dataPropType:Z4.Type.Str};y===!1&&Object.assign(w,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(w,x)}}};WU.default=hOt});var f6e=v(XU=>{"use strict";Object.defineProperty(XU,"__esModule",{value:!0});var mOt=J1(),c6e=$o(),JU=lr(),l6e=KU(),gOt={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:i,it:a}=e;a.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&l6e.default.code(new mOt.KeywordCxt(a,l6e.default,"additionalProperties"));let o=(0,c6e.allSchemaProperties)(r);for(let f of o)a.definedProperties.add(f);a.opts.unevaluated&&o.length&&a.props!==!0&&(a.props=JU.mergeEvaluated.props(t,(0,JU.toHash)(o),a.props));let s=o.filter(f=>!(0,JU.alwaysValidSchema)(a,r[f]));if(s.length===0)return;let u=t.name("valid");for(let f of s)c(f)?l(f):(t.if((0,c6e.propertyInData)(t,i,f,a.opts.ownProperties)),l(f),a.allErrors||t.else().var(u,!0),t.endIf()),e.it.definedProperties.add(f),e.ok(u);function c(f){return a.opts.useDefaults&&!a.compositeRule&&r[f].default!==void 0}function l(f){e.subschema({keyword:"properties",schemaProp:f,dataProp:f},u)}}};XU.default=gOt});var m6e=v(YU=>{"use strict";Object.defineProperty(YU,"__esModule",{value:!0});var d6e=$o(),ek=qt(),p6e=lr(),h6e=lr(),vOt={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:i,it:a}=e,{opts:o}=a,s=(0,d6e.allSchemaProperties)(r),u=s.filter(m=>(0,p6e.alwaysValidSchema)(a,r[m]));if(s.length===0||u.length===s.length&&(!a.opts.unevaluated||a.props===!0))return;let c=o.strictSchema&&!o.allowMatchingProperties&&i.properties,l=t.name("valid");a.props!==!0&&!(a.props instanceof ek.Name)&&(a.props=(0,h6e.evaluatedPropsToName)(t,a.props));let{props:f}=a;d();function d(){for(let m of s)c&&p(m),a.allErrors?h(m):(t.var(l,!0),h(m),t.if(l))}function p(m){for(let g in c)new RegExp(m).test(g)&&(0,p6e.checkStrictMode)(a,`property ${g} matches pattern ${m} (use allowMatchingProperties)`)}function h(m){t.forIn("key",n,g=>{t.if((0,ek._)`${(0,d6e.usePattern)(e,m)}.test(${g})`,()=>{let x=u.includes(m);x||e.subschema({keyword:"patternProperties",schemaProp:m,dataProp:g,dataPropType:h6e.Type.Str},l),a.opts.unevaluated&&f!==!0?t.assign((0,ek._)`${f}[${g}]`,!0):!x&&!a.allErrors&&t.if((0,ek.not)(l),()=>t.break())})})}}};YU.default=vOt});var g6e=v(QU=>{"use strict";Object.defineProperty(QU,"__esModule",{value:!0});var bOt=lr(),xOt={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,bOt.alwaysValidSchema)(n,r)){e.fail();return}let i=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),e.failResult(i,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};QU.default=xOt});var v6e=v(ZU=>{"use strict";Object.defineProperty(ZU,"__esModule",{value:!0});var yOt=$o(),_Ot={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:yOt.validateUnion,error:{message:"must match a schema in anyOf"}};ZU.default=_Ot});var b6e=v(eG=>{"use strict";Object.defineProperty(eG,"__esModule",{value:!0});var tk=qt(),wOt=lr(),AOt={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,tk._)`{passingSchemas: ${e.passing}}`},EOt={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:AOt,code(e){let{gen:t,schema:r,parentSchema:n,it:i}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(i.opts.discriminator&&n.discriminator)return;let a=r,o=t.let("valid",!1),s=t.let("passing",null),u=t.name("_valid");e.setParams({passing:s}),t.block(c),e.result(o,()=>e.reset(),()=>e.error(!0));function c(){a.forEach((l,f)=>{let d;(0,wOt.alwaysValidSchema)(i,l)?t.var(u,!0):d=e.subschema({keyword:"oneOf",schemaProp:f,compositeRule:!0},u),f>0&&t.if((0,tk._)`${u} && ${o}`).assign(o,!1).assign(s,(0,tk._)`[${s}, ${f}]`).else(),t.if(u,()=>{t.assign(o,!0),t.assign(s,f),d&&e.mergeEvaluated(d,tk.Name)})})}}};eG.default=EOt});var x6e=v(tG=>{"use strict";Object.defineProperty(tG,"__esModule",{value:!0});var TOt=lr(),SOt={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");let i=t.name("valid");r.forEach((a,o)=>{if((0,TOt.alwaysValidSchema)(n,a))return;let s=e.subschema({keyword:"allOf",schemaProp:o},i);e.ok(i),e.mergeEvaluated(s)})}};tG.default=SOt});var w6e=v(rG=>{"use strict";Object.defineProperty(rG,"__esModule",{value:!0});var rk=qt(),_6e=lr(),kOt={message:({params:e})=>(0,rk.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,rk._)`{failingKeyword: ${e.ifClause}}`},COt={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:kOt,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,_6e.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let i=y6e(n,"then"),a=y6e(n,"else");if(!i&&!a)return;let o=t.let("valid",!0),s=t.name("_valid");if(u(),e.reset(),i&&a){let l=t.let("ifClause");e.setParams({ifClause:l}),t.if(s,c("then",l),c("else",l))}else i?t.if(s,c("then")):t.if((0,rk.not)(s),c("else"));e.pass(o,()=>e.error(!0));function u(){let l=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},s);e.mergeEvaluated(l)}function c(l,f){return()=>{let d=e.subschema({keyword:l},s);t.assign(o,s),e.mergeValidEvaluated(d,o),f?t.assign(f,(0,rk._)`${l}`):e.setParams({ifClause:l})}}}};function y6e(e,t){let r=e.schema[t];return r!==void 0&&!(0,_6e.alwaysValidSchema)(e,r)}rG.default=COt});var A6e=v(nG=>{"use strict";Object.defineProperty(nG,"__esModule",{value:!0});var DOt=lr(),BOt={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,DOt.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};nG.default=BOt});var E6e=v(iG=>{"use strict";Object.defineProperty(iG,"__esModule",{value:!0});var FOt=NU(),OOt=e6e(),IOt=UU(),POt=r6e(),ROt=n6e(),jOt=o6e(),MOt=u6e(),LOt=KU(),qOt=f6e(),NOt=m6e(),UOt=g6e(),GOt=v6e(),zOt=b6e(),HOt=x6e(),VOt=w6e(),$Ot=A6e();function WOt(e=!1){let t=[UOt.default,GOt.default,zOt.default,HOt.default,VOt.default,$Ot.default,MOt.default,LOt.default,jOt.default,qOt.default,NOt.default];return e?t.push(OOt.default,POt.default):t.push(FOt.default,IOt.default),t.push(ROt.default),t}iG.default=WOt});var T6e=v(aG=>{"use strict";Object.defineProperty(aG,"__esModule",{value:!0});var Cn=qt(),KOt={message:({schemaCode:e})=>(0,Cn.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,Cn._)`{format: ${e}}`},JOt={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:KOt,code(e,t){let{gen:r,data:n,$data:i,schema:a,schemaCode:o,it:s}=e,{opts:u,errSchemaPath:c,schemaEnv:l,self:f}=s;if(!u.validateFormats)return;i?d():p();function d(){let h=r.scopeValue("formats",{ref:f.formats,code:u.code.formats}),m=r.const("fDef",(0,Cn._)`${h}[${o}]`),g=r.let("fType"),x=r.let("format");r.if((0,Cn._)`typeof ${m} == "object" && !(${m} instanceof RegExp)`,()=>r.assign(g,(0,Cn._)`${m}.type || "string"`).assign(x,(0,Cn._)`${m}.validate`),()=>r.assign(g,(0,Cn._)`"string"`).assign(x,m)),e.fail$data((0,Cn.or)(y(),w()));function y(){return u.strictSchema===!1?Cn.nil:(0,Cn._)`${o} && !${x}`}function w(){let T=l.$async?(0,Cn._)`(${m}.async ? await ${x}(${n}) : ${x}(${n}))`:(0,Cn._)`${x}(${n})`,A=(0,Cn._)`(typeof ${x} == "function" ? ${T} : ${x}.test(${n}))`;return(0,Cn._)`${x} && ${x} !== true && ${g} === ${t} && !${A}`}}function p(){let h=f.formats[a];if(!h){y();return}if(h===!0)return;let[m,g,x]=w(h);m===t&&e.pass(T());function y(){if(u.strictSchema===!1){f.logger.warn(A());return}throw new Error(A());function A(){return`unknown format "${a}" ignored in schema at path "${c}"`}}function w(A){let D=A instanceof RegExp?(0,Cn.regexpCode)(A):u.code.formats?(0,Cn._)`${u.code.formats}${(0,Cn.getProperty)(a)}`:void 0,F=r.scopeValue("formats",{key:a,ref:A,code:D});return typeof A=="object"&&!(A instanceof RegExp)?[A.type||"string",A.validate,(0,Cn._)`${F}.validate`]:["string",A,F]}function T(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Cn._)`await ${x}(${n})`}return typeof g=="function"?(0,Cn._)`${x}(${n})`:(0,Cn._)`${x}.test(${n})`}}}};aG.default=JOt});var S6e=v(oG=>{"use strict";Object.defineProperty(oG,"__esModule",{value:!0});var XOt=T6e(),YOt=[XOt.default];oG.default=YOt});var k6e=v(dv=>{"use strict";Object.defineProperty(dv,"__esModule",{value:!0});dv.contentVocabulary=dv.metadataVocabulary=void 0;dv.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];dv.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var D6e=v(sG=>{"use strict";Object.defineProperty(sG,"__esModule",{value:!0});var QOt=jTe(),ZOt=XTe(),eIt=E6e(),tIt=S6e(),C6e=k6e(),rIt=[QOt.default,ZOt.default,(0,eIt.default)(),tIt.default,C6e.metadataVocabulary,C6e.contentVocabulary];sG.default=rIt});var F6e=v(nk=>{"use strict";Object.defineProperty(nk,"__esModule",{value:!0});nk.DiscrError=void 0;var B6e;(function(e){e.Tag="tag",e.Mapping="mapping"})(B6e||(nk.DiscrError=B6e={}))});var I6e=v(cG=>{"use strict";Object.defineProperty(cG,"__esModule",{value:!0});var pv=qt(),uG=F6e(),O6e=q4(),nIt=X1(),iIt=lr(),aIt={message:({params:{discrError:e,tagName:t}})=>e===uG.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,pv._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},oIt={keyword:"discriminator",type:"object",schemaType:"object",error:aIt,code(e){let{gen:t,data:r,schema:n,parentSchema:i,it:a}=e,{oneOf:o}=i;if(!a.opts.discriminator)throw new Error("discriminator: requires discriminator option");let s=n.propertyName;if(typeof s!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!o)throw new Error("discriminator: requires oneOf keyword");let u=t.let("valid",!1),c=t.const("tag",(0,pv._)`${r}${(0,pv.getProperty)(s)}`);t.if((0,pv._)`typeof ${c} == "string"`,()=>l(),()=>e.error(!1,{discrError:uG.DiscrError.Tag,tag:c,tagName:s})),e.ok(u);function l(){let p=d();t.if(!1);for(let h in p)t.elseIf((0,pv._)`${c} === ${h}`),t.assign(u,f(p[h]));t.else(),e.error(!1,{discrError:uG.DiscrError.Mapping,tag:c,tagName:s}),t.endIf()}function f(p){let h=t.name("valid"),m=e.subschema({keyword:"oneOf",schemaProp:p},h);return e.mergeEvaluated(m,pv.Name),h}function d(){var p;let h={},m=x(i),g=!0;for(let T=0;T<o.length;T++){let A=o[T];if(A!=null&&A.$ref&&!(0,iIt.schemaHasRulesButRef)(A,a.self.RULES)){let F=A.$ref;if(A=O6e.resolveRef.call(a.self,a.schemaEnv.root,a.baseId,F),A instanceof O6e.SchemaEnv&&(A=A.schema),A===void 0)throw new nIt.default(a.opts.uriResolver,a.baseId,F)}let D=(p=A==null?void 0:A.properties)===null||p===void 0?void 0:p[s];if(typeof D!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${s}"`);g=g&&(m||x(A)),y(D,T)}if(!g)throw new Error(`discriminator: "${s}" must be required`);return h;function x({required:T}){return Array.isArray(T)&&T.includes(s)}function y(T,A){if(T.const)w(T.const,A);else if(T.enum)for(let D of T.enum)w(D,A);else throw new Error(`discriminator: "properties/${s}" must have "const" or "enum"`)}function w(T,A){if(typeof T!="string"||T in h)throw new Error(`discriminator: "${s}" values must be unique strings`);h[T]=A}}}};cG.default=oIt});var P6e=v((wmr,sIt)=>{sIt.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var j6e=v((Qr,lG)=>{"use strict";Object.defineProperty(Qr,"__esModule",{value:!0});Qr.MissingRefError=Qr.ValidationError=Qr.CodeGen=Qr.Name=Qr.nil=Qr.stringify=Qr.str=Qr._=Qr.KeywordCxt=Qr.Ajv=void 0;var uIt=BTe(),cIt=D6e(),lIt=I6e(),R6e=P6e(),fIt=["/properties"],ik="http://json-schema.org/draft-07/schema",hv=class extends uIt.default{_addVocabularies(){super._addVocabularies(),cIt.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(lIt.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(R6e,fIt):R6e;this.addMetaSchema(t,ik,!1),this.refs["http://json-schema.org/schema"]=ik}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(ik)?ik:void 0)}};Qr.Ajv=hv;lG.exports=Qr=hv;lG.exports.Ajv=hv;Object.defineProperty(Qr,"__esModule",{value:!0});Qr.default=hv;var dIt=J1();Object.defineProperty(Qr,"KeywordCxt",{enumerable:!0,get:function(){return dIt.KeywordCxt}});var mv=qt();Object.defineProperty(Qr,"_",{enumerable:!0,get:function(){return mv._}});Object.defineProperty(Qr,"str",{enumerable:!0,get:function(){return mv.str}});Object.defineProperty(Qr,"stringify",{enumerable:!0,get:function(){return mv.stringify}});Object.defineProperty(Qr,"nil",{enumerable:!0,get:function(){return mv.nil}});Object.defineProperty(Qr,"Name",{enumerable:!0,get:function(){return mv.Name}});Object.defineProperty(Qr,"CodeGen",{enumerable:!0,get:function(){return mv.CodeGen}});var pIt=M4();Object.defineProperty(Qr,"ValidationError",{enumerable:!0,get:function(){return pIt.default}});var hIt=X1();Object.defineProperty(Qr,"MissingRefError",{enumerable:!0,get:function(){return hIt.default}})});var yG=typeof process!="object"||String(process)!=="[object process]"||process.browser;var _G={ibm866:[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488,9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575,9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1025,1105,1028,1108,1031,1111,1038,1118,176,8729,183,8730,8470,164,9632,160],"iso-8859-2":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,728,321,164,317,346,167,168,352,350,356,377,173,381,379,176,261,731,322,180,318,347,711,184,353,351,357,378,733,382,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"iso-8859-3":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,294,728,163,164,null,292,167,168,304,350,286,308,173,null,379,176,295,178,179,180,181,293,183,184,305,351,287,309,189,null,380,192,193,194,null,196,266,264,199,200,201,202,203,204,205,206,207,null,209,210,211,212,288,214,215,284,217,218,219,220,364,348,223,224,225,226,null,228,267,265,231,232,233,234,235,236,237,238,239,null,241,242,243,244,289,246,247,285,249,250,251,252,365,349,729],"iso-8859-4":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,312,342,164,296,315,167,168,352,274,290,358,173,381,175,176,261,731,343,180,297,316,711,184,353,275,291,359,330,382,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,298,272,325,332,310,212,213,214,215,216,370,218,219,220,360,362,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,299,273,326,333,311,244,245,246,247,248,371,250,251,252,361,363,729],"iso-8859-5":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,173,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8470,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,167,1118,1119],"iso-8859-6":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,null,null,164,null,null,null,null,null,null,null,1548,173,null,null,null,null,null,null,null,null,null,null,null,null,null,1563,null,null,null,1567,null,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,null,null,null,null,null,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,null,null,null,null,null,null,null,null,null,null,null,null,null],"iso-8859-7":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8216,8217,163,8364,8367,166,167,168,169,890,171,172,173,null,8213,176,177,178,179,900,901,902,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"iso-8859-8":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,162,163,164,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8215,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"iso-8859-10":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,274,290,298,296,310,167,315,272,352,358,381,173,362,330,176,261,275,291,299,297,311,183,316,273,353,359,382,8213,363,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,207,208,325,332,211,212,213,214,360,216,370,218,219,220,221,222,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,239,240,326,333,243,244,245,246,361,248,371,250,251,252,253,254,312],"iso-8859-13":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8221,162,163,164,8222,166,167,216,169,342,171,172,173,174,198,176,177,178,179,8220,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,8217],"iso-8859-14":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,7682,7683,163,266,267,7690,167,7808,169,7810,7691,7922,173,174,376,7710,7711,288,289,7744,7745,182,7766,7809,7767,7811,7776,7923,7812,7813,7777,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,372,209,210,211,212,213,214,7786,216,217,218,219,220,221,374,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,373,241,242,243,244,245,246,7787,248,249,250,251,252,253,375,255],"iso-8859-15":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,8364,165,352,167,353,169,170,171,172,173,174,175,176,177,178,179,381,181,182,183,382,185,186,187,338,339,376,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"iso-8859-16":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,261,321,8364,8222,352,167,353,169,536,171,377,173,378,379,176,177,268,322,381,8221,182,183,382,269,537,187,338,339,376,380,192,193,194,258,196,262,198,199,200,201,202,203,204,205,206,207,272,323,210,211,212,336,214,346,368,217,218,219,220,280,538,223,224,225,226,259,228,263,230,231,232,233,234,235,236,237,238,239,273,324,242,243,244,337,246,347,369,249,250,251,252,281,539,255],"koi8-r":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,1025,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],"koi8-u":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,1108,9556,1110,1111,9559,9560,9561,9562,9563,1169,1118,9566,9567,9568,9569,1025,1028,9571,1030,1031,9574,9575,9576,9577,9578,1168,1038,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],macintosh:[196,197,199,201,209,214,220,225,224,226,228,227,229,231,233,232,234,235,237,236,238,239,241,243,242,244,246,245,250,249,251,252,8224,176,162,163,167,8226,182,223,174,169,8482,180,168,8800,198,216,8734,177,8804,8805,165,181,8706,8721,8719,960,8747,170,186,937,230,248,191,161,172,8730,402,8776,8710,171,187,8230,160,192,195,213,338,339,8211,8212,8220,8221,8216,8217,247,9674,255,376,8260,8364,8249,8250,64257,64258,8225,183,8218,8222,8240,194,202,193,203,200,205,206,207,204,211,212,63743,210,218,219,217,305,710,732,175,728,729,730,184,733,731,711],"windows-874":[8364,129,130,131,132,8230,134,135,136,137,138,139,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,153,154,155,156,157,158,159,160,3585,3586,3587,3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618,3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,3630,3631,3632,3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,null,null,null,null,3647,3648,3649,3650,3651,3652,3653,3654,3655,3656,3657,3658,3659,3660,3661,3662,3663,3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,null,null,null,null],"windows-1250":[8364,129,8218,131,8222,8230,8224,8225,136,8240,352,8249,346,356,381,377,144,8216,8217,8220,8221,8226,8211,8212,152,8482,353,8250,347,357,382,378,160,711,728,321,164,260,166,167,168,169,350,171,172,173,174,379,176,177,731,322,180,181,182,183,184,261,351,187,317,733,318,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"windows-1251":[1026,1027,8218,1107,8222,8230,8224,8225,8364,8240,1033,8249,1034,1036,1035,1039,1106,8216,8217,8220,8221,8226,8211,8212,152,8482,1113,8250,1114,1116,1115,1119,160,1038,1118,1032,164,1168,166,167,1025,169,1028,171,172,173,174,1031,176,177,1030,1110,1169,181,182,183,1105,8470,1108,187,1112,1029,1109,1111,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103],"windows-1252":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"windows-1253":[8364,129,8218,402,8222,8230,8224,8225,136,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,157,158,159,160,901,902,163,164,165,166,167,168,169,null,171,172,173,174,8213,176,177,178,179,900,181,182,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"windows-1254":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,286,209,210,211,212,213,214,215,216,217,218,219,220,304,350,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,287,241,242,243,244,245,246,247,248,249,250,251,252,305,351,255],"windows-1255":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,156,157,158,159,160,161,162,163,8362,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,191,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1520,1521,1522,1523,1524,null,null,null,null,null,null,null,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"windows-1256":[8364,1662,8218,402,8222,8230,8224,8225,710,8240,1657,8249,338,1670,1688,1672,1711,8216,8217,8220,8221,8226,8211,8212,1705,8482,1681,8250,339,8204,8205,1722,160,1548,162,163,164,165,166,167,168,169,1726,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,1563,187,188,189,190,1567,1729,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,215,1591,1592,1593,1594,1600,1601,1602,1603,224,1604,226,1605,1606,1607,1608,231,232,233,234,235,1609,1610,238,239,1611,1612,1613,1614,244,1615,1616,247,1617,249,1618,251,252,8206,8207,1746],"windows-1257":[8364,129,8218,131,8222,8230,8224,8225,136,8240,138,8249,140,168,711,184,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,175,731,159,160,null,162,163,164,null,166,167,216,169,342,171,172,173,174,198,176,177,178,179,180,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,729],"windows-1258":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,258,196,197,198,199,200,201,202,203,768,205,206,207,272,209,777,211,212,416,214,215,216,217,218,219,220,431,771,223,224,225,226,259,228,229,230,231,232,233,234,235,769,237,238,239,273,241,803,243,244,417,246,247,248,249,250,251,252,432,8363,255],"x-mac-cyrillic":[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,8224,176,1168,163,167,8226,182,1030,174,169,8482,1026,1106,8800,1027,1107,8734,177,8804,8805,1110,181,1169,1032,1028,1108,1031,1111,1033,1113,1034,1114,1112,1029,172,8730,402,8776,8710,171,187,8230,160,1035,1115,1036,1116,1109,8211,8212,8220,8221,8216,8217,247,8222,1038,1118,1039,1119,8470,1025,1105,1103,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,8364]};globalThis["encoding-indexes"]=_G||{};function Tt(e,t,r){return t<=e&&e<=r}function CSe(e,t){return e.indexOf(t)!==-1}var ic=Math.floor;function m_(e){if(e===void 0)return{};if(e===Object(e))return e;throw TypeError("Could not convert argument to dictionary")}function DSe(e){for(var t=String(e),r=t.length,n=0,i=[];n<r;){var a=t.charCodeAt(n);if(a<55296||a>57343)i.push(a);else if(56320<=a&&a<=57343)i.push(65533);else if(55296<=a&&a<=56319)if(n===r-1)i.push(65533);else{var o=t.charCodeAt(n+1);if(56320<=o&&o<=57343){var s=a&1023,u=o&1023;i.push(65536+(s<<10)+u),n+=1}else i.push(65533)}n+=1}return i}function BSe(e){for(var t="",r=0;r<e.length;++r){var n=e[r];n<=65535?t+=String.fromCharCode(n):(n-=65536,t+=String.fromCharCode((n>>10)+55296,(n&1023)+56320))}return t}function co(e){return 0<=e&&e<=127}var uo=co,Kt=-1;function xk(e){this.tokens=[].slice.call(e),this.tokens.reverse()}xk.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.pop():Kt},prepend:function(e){if(Array.isArray(e))for(var t=e;t.length;)this.tokens.push(t.pop());else this.tokens.push(e)},push:function(e){if(Array.isArray(e))for(var t=e;t.length;)this.tokens.unshift(t.shift());else this.tokens.unshift(e)}};var Br=-1;function Wt(e,t){if(e)throw TypeError("Decoder error");return t||65533}function Qo(e){throw TypeError("The code point "+e+" could not be encoded.")}function FSe(){}FSe.prototype={handler:function(e,t){}};function OSe(){}OSe.prototype={handler:function(e,t){}};function vk(e){return e=String(e).trim().toLowerCase(),Object.prototype.hasOwnProperty.call(bk,e)?bk[e]:null}var wG=[{encodings:[{labels:["unicode-1-1-utf-8","utf-8","utf8"],name:"UTF-8"}],heading:"The Encoding"},{encodings:[{labels:["866","cp866","csibm866","ibm866"],name:"IBM866"},{labels:["csisolatin2","iso-8859-2","iso-ir-101","iso8859-2","iso88592","iso_8859-2","iso_8859-2:1987","l2","latin2"],name:"ISO-8859-2"},{labels:["csisolatin3","iso-8859-3","iso-ir-109","iso8859-3","iso88593","iso_8859-3","iso_8859-3:1988","l3","latin3"],name:"ISO-8859-3"},{labels:["csisolatin4","iso-8859-4","iso-ir-110","iso8859-4","iso88594","iso_8859-4","iso_8859-4:1988","l4","latin4"],name:"ISO-8859-4"},{labels:["csisolatincyrillic","cyrillic","iso-8859-5","iso-ir-144","iso8859-5","iso88595","iso_8859-5","iso_8859-5:1988"],name:"ISO-8859-5"},{labels:["arabic","asmo-708","csiso88596e","csiso88596i","csisolatinarabic","ecma-114","iso-8859-6","iso-8859-6-e","iso-8859-6-i","iso-ir-127","iso8859-6","iso88596","iso_8859-6","iso_8859-6:1987"],name:"ISO-8859-6"},{labels:["csisolatingreek","ecma-118","elot_928","greek","greek8","iso-8859-7","iso-ir-126","iso8859-7","iso88597","iso_8859-7","iso_8859-7:1987","sun_eu_greek"],name:"ISO-8859-7"},{labels:["csiso88598e","csisolatinhebrew","hebrew","iso-8859-8","iso-8859-8-e","iso-ir-138","iso8859-8","iso88598","iso_8859-8","iso_8859-8:1988","visual"],name:"ISO-8859-8"},{labels:["csiso88598i","iso-8859-8-i","logical"],name:"ISO-8859-8-I"},{labels:["csisolatin6","iso-8859-10","iso-ir-157","iso8859-10","iso885910","l6","latin6"],name:"ISO-8859-10"},{labels:["iso-8859-13","iso8859-13","iso885913"],name:"ISO-8859-13"},{labels:["iso-8859-14","iso8859-14","iso885914"],name:"ISO-8859-14"},{labels:["csisolatin9","iso-8859-15","iso8859-15","iso885915","iso_8859-15","l9"],name:"ISO-8859-15"},{labels:["iso-8859-16"],name:"ISO-8859-16"},{labels:["cskoi8r","koi","koi8","koi8-r","koi8_r"],name:"KOI8-R"},{labels:["koi8-ru","koi8-u"],name:"KOI8-U"},{labels:["csmacintosh","mac","macintosh","x-mac-roman"],name:"macintosh"},{labels:["dos-874","iso-8859-11","iso8859-11","iso885911","tis-620","windows-874"],name:"windows-874"},{labels:["cp1250","windows-1250","x-cp1250"],name:"windows-1250"},{labels:["cp1251","windows-1251","x-cp1251"],name:"windows-1251"},{labels:["ansi_x3.4-1968","ascii","cp1252","cp819","csisolatin1","ibm819","iso-8859-1","iso-ir-100","iso8859-1","iso88591","iso_8859-1","iso_8859-1:1987","l1","latin1","us-ascii","windows-1252","x-cp1252"],name:"windows-1252"},{labels:["cp1253","windows-1253","x-cp1253"],name:"windows-1253"},{labels:["cp1254","csisolatin5","iso-8859-9","iso-ir-148","iso8859-9","iso88599","iso_8859-9","iso_8859-9:1989","l5","latin5","windows-1254","x-cp1254"],name:"windows-1254"},{labels:["cp1255","windows-1255","x-cp1255"],name:"windows-1255"},{labels:["cp1256","windows-1256","x-cp1256"],name:"windows-1256"},{labels:["cp1257","windows-1257","x-cp1257"],name:"windows-1257"},{labels:["cp1258","windows-1258","x-cp1258"],name:"windows-1258"},{labels:["x-mac-cyrillic","x-mac-ukrainian"],name:"x-mac-cyrillic"}],heading:"Legacy single-byte encodings"},{encodings:[{labels:["chinese","csgb2312","csiso58gb231280","gb2312","gb_2312","gb_2312-80","gbk","iso-ir-58","x-gbk"],name:"GBK"},{labels:["gb18030"],name:"gb18030"}],heading:"Legacy multi-byte Chinese (simplified) encodings"},{encodings:[{labels:["big5","big5-hkscs","cn-big5","csbig5","x-x-big5"],name:"Big5"}],heading:"Legacy multi-byte Chinese (traditional) encodings"},{encodings:[{labels:["cseucpkdfmtjapanese","euc-jp","x-euc-jp"],name:"EUC-JP"},{labels:["csiso2022jp","iso-2022-jp"],name:"ISO-2022-JP"},{labels:["csshiftjis","ms932","ms_kanji","shift-jis","shift_jis","sjis","windows-31j","x-sjis"],name:"Shift_JIS"}],heading:"Legacy multi-byte Japanese encodings"},{encodings:[{labels:["cseuckr","csksc56011987","euc-kr","iso-ir-149","korean","ks_c_5601-1987","ks_c_5601-1989","ksc5601","ksc_5601","windows-949"],name:"EUC-KR"}],heading:"Legacy multi-byte Korean encodings"},{encodings:[{labels:["csiso2022kr","hz-gb-2312","iso-2022-cn","iso-2022-cn-ext","iso-2022-kr"],name:"replacement"},{labels:["utf-16be"],name:"UTF-16BE"},{labels:["utf-16","utf-16le"],name:"UTF-16LE"},{labels:["x-user-defined"],name:"x-user-defined"}],heading:"Legacy miscellaneous encodings"}],bk={};wG.forEach(function(e){e.encodings.forEach(function(t){t.labels.forEach(function(r){bk[r]=t})})});var ma={},ga={};function ph(e,t){return t&&t[e]||null}function hh(e,t){var r=t.indexOf(e);return r===-1?null:r}function ea(e){if(!("encoding-indexes"in globalThis))throw Error("Indexes missing. Did you forget to include encoding-indexes.js first?");return globalThis["encoding-indexes"][e]}function ISe(e){if(e>39419&&e<189e3||e>1237575)return null;if(e===7457)return 59335;var t=0,r=0,n=ea("gb18030-ranges"),i;for(i=0;i<n.length;++i){var a=n[i];if(a[0]<=e)t=a[0],r=a[1];else break}return r+e-t}function PSe(e){if(e===59335)return 7457;var t=0,r=0,n=ea("gb18030-ranges"),i;for(i=0;i<n.length;++i){var a=n[i];if(a[1]<=e)t=a[1],r=a[0];else break}return r+e-t}function RSe(e){mk=mk||ea("jis0208").map(function(r,n){return Tt(n,8272,8835)?null:r});var t=mk;return t.indexOf(e)}var mk;function jSe(e){gk=gk||ea("big5").map(function(r,n){return n<(161-129)*157?null:r});var t=gk;return e===9552||e===9566||e===9569||e===9578||e===21313||e===21317?t.lastIndexOf(e):hh(e,t)}var gk,AG="utf-8";function fd(e,t){if(!(this instanceof fd))throw TypeError("Called as a function. Did you forget 'new'?");e=e!==void 0?String(e):AG,t=m_(t),this._encoding=null,this._decoder=null,this._ignoreBOM=!1,this._BOMseen=!1,this._error_mode="replacement",this._do_not_flush=!1;var r=vk(e);if(r===null||r.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!ga[r.name])throw Error("Decoder not present. Did you forget to include encoding-indexes.js first?");var n=this;return n._encoding=r,Boolean(t.fatal)&&(n._error_mode="fatal"),Boolean(t.ignoreBOM)&&(n._ignoreBOM=!0),Object.defineProperty||(this.encoding=n._encoding.name.toLowerCase(),this.fatal=n._error_mode==="fatal",this.ignoreBOM=n._ignoreBOM),n}Object.defineProperty&&(Object.defineProperty(fd.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}}),Object.defineProperty(fd.prototype,"fatal",{get:function(){return this._error_mode==="fatal"}}),Object.defineProperty(fd.prototype,"ignoreBOM",{get:function(){return this._ignoreBOM}}));fd.prototype.decode=function(t,r){var n;typeof t=="object"&&t instanceof ArrayBuffer?n=new Uint8Array(t):typeof t=="object"&&"buffer"in t&&t.buffer instanceof ArrayBuffer?n=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):n=new Uint8Array(0),r=m_(r),this._do_not_flush||(this._decoder=ga[this._encoding.name]({fatal:this._error_mode==="fatal"}),this._BOMseen=!1),this._do_not_flush=Boolean(r.stream);for(var i=new xk(n),a=[],o;;){var s=i.read();if(s===Kt||(o=this._decoder.handler(i,s),o===Br))break;o!==null&&(Array.isArray(o)?a.push.apply(a,o):a.push(o))}if(!this._do_not_flush){do{if(o=this._decoder.handler(i,i.read()),o===Br)break;o!==null&&(Array.isArray(o)?a.push.apply(a,o):a.push(o))}while(!i.endOfStream());this._decoder=null}function u(c){return CSe(["UTF-8","UTF-16LE","UTF-16BE"],this._encoding.name)&&!this._ignoreBOM&&!this._BOMseen&&(c.length>0&&c[0]===65279?(this._BOMseen=!0,c.shift()):c.length>0&&(this._BOMseen=!0)),BSe(c)}return u.call(this,a)};function Ev(e,t){if(!(this instanceof Ev))throw TypeError("Called as a function. Did you forget 'new'?");t=m_(t),this._encoding=null,this._encoder=null,this._do_not_flush=!1,this._fatal=Boolean(t.fatal)?"fatal":"replacement";var r=this;if(Boolean(t.NONSTANDARD_allowLegacyEncoding)){e=e!==void 0?String(e):AG;var n=vk(e);if(n===null||n.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!ma[n.name])throw Error("Encoder not present. Did you forget to include encoding-indexes.js first?");r._encoding=n}else r._encoding=vk("utf-8"),e!==void 0&&"console"in globalThis&&console.warn("TextEncoder constructor called with encoding label, which is ignored.");return Object.defineProperty||(this.encoding=r._encoding.name.toLowerCase()),r}Object.defineProperty&&Object.defineProperty(Ev.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}});Ev.prototype.encode=function(t,r){t=t===void 0?"":String(t),r=m_(r),this._do_not_flush||(this._encoder=ma[this._encoding.name]({fatal:this._fatal==="fatal"})),this._do_not_flush=Boolean(r.stream);for(var n=new xk(DSe(t)),i=[],a;;){var o=n.read();if(o===Kt||(a=this._encoder.handler(n,o),a===Br))break;Array.isArray(a)?i.push.apply(i,a):i.push(a)}if(!this._do_not_flush){for(;a=this._encoder.handler(n,n.read()),a!==Br;)Array.isArray(a)?i.push.apply(i,a):i.push(a);this._encoder=null}return new Uint8Array(i)};function MSe(e){var t=e.fatal,r=0,n=0,i=0,a=128,o=191;this.handler=function(s,u){if(u===Kt&&i!==0)return i=0,Wt(t);if(u===Kt)return Br;if(i===0){if(Tt(u,0,127))return u;if(Tt(u,194,223))i=1,r=u&31;else if(Tt(u,224,239))u===224&&(a=160),u===237&&(o=159),i=2,r=u&15;else if(Tt(u,240,244))u===240&&(a=144),u===244&&(o=143),i=3,r=u&7;else return Wt(t);return null}if(!Tt(u,a,o))return r=i=n=0,a=128,o=191,s.prepend(u),Wt(t);if(a=128,o=191,r=r<<6|u&63,n+=1,n!==i)return null;var c=r;return r=i=n=0,c}}function LSe(e){var t=e.fatal;this.handler=function(r,n){if(n===Kt)return Br;if(uo(n))return n;var i,a;Tt(n,128,2047)?(i=1,a=192):Tt(n,2048,65535)?(i=2,a=224):Tt(n,65536,1114111)&&(i=3,a=240);for(var o=[(n>>6*i)+a];i>0;){var s=n>>6*(i-1);o.push(128|s&63),i-=1}return o}}ma["UTF-8"]=function(e){return new LSe(e)};ga["UTF-8"]=function(e){return new MSe(e)};function qSe(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Kt)return Br;if(co(i))return i;var a=e[i-128];return a===null?Wt(r):a}}function NSe(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Kt)return Br;if(uo(i))return i;var a=hh(i,e);return a===null&&Qo(i),a+128}}(function(){"encoding-indexes"in globalThis&&wG.forEach(function(e){e.heading==="Legacy single-byte encodings"&&e.encodings.forEach(function(t){var r=t.name,n=ea(r.toLowerCase());ga[r]=function(i){return new qSe(n,i)},ma[r]=function(i){return new NSe(n,i)}})})})();ga.GBK=function(e){return new EG(e)};ma.GBK=function(e){return new TG(e,!0)};function EG(e){var t=e.fatal,r=0,n=0,i=0;this.handler=function(a,o){if(o===Kt&&r===0&&n===0&&i===0)return Br;o===Kt&&(r!==0||n!==0||i!==0)&&(r=0,n=0,i=0,Wt(t));var s;if(i!==0){s=null,Tt(o,48,57)&&(s=ISe((((r-129)*10+n-48)*126+i-129)*10+o-48));var u=[n,i,o];return r=0,n=0,i=0,s===null?(a.prepend(u),Wt(t)):s}if(n!==0)return Tt(o,129,254)?(i=o,null):(a.prepend([n,o]),r=0,n=0,Wt(t));if(r!==0){if(Tt(o,48,57))return n=o,null;var c=r,l=null;r=0;var f=o<127?64:65;return(Tt(o,64,126)||Tt(o,128,254))&&(l=(c-129)*190+(o-f)),s=l===null?null:ph(l,ea("gb18030")),s===null&&co(o)&&a.prepend(o),s===null?Wt(t):s}return co(o)?o:o===128?8364:Tt(o,129,254)?(r=o,null):Wt(t)}}function TG(e,t){var r=e.fatal;this.handler=function(n,i){if(i===Kt)return Br;if(uo(i))return i;if(i===58853)return Qo(i);if(t&&i===8364)return 128;var a=hh(i,ea("gb18030"));if(a!==null){var o=ic(a/190)+129,s=a%190,u=s<63?64:65;return[o,s+u]}if(t)return Qo(i);a=PSe(i);var c=ic(a/10/126/10);a=a-c*10*126*10;var l=ic(a/10/126);a=a-l*10*126;var f=ic(a/10),d=a-f*10;return[c+129,l+48,f+129,d+48]}}ma.gb18030=function(e){return new TG(e)};ga.gb18030=function(e){return new EG(e)};function USe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Kt&&r!==0)return r=0,Wt(t);if(i===Kt&&r===0)return Br;if(r!==0){var a=r,o=null;r=0;var s=i<127?64:98;switch((Tt(i,64,126)||Tt(i,161,254))&&(o=(a-129)*157+(i-s)),o){case 1133:return[202,772];case 1135:return[202,780];case 1164:return[234,772];case 1166:return[234,780]}var u=o===null?null:ph(o,ea("big5"));return u===null&&co(i)&&n.prepend(i),u===null?Wt(t):u}return co(i)?i:Tt(i,129,254)?(r=i,null):Wt(t)}}function GSe(e){var t=e.fatal;this.handler=function(r,n){if(n===Kt)return Br;if(uo(n))return n;var i=jSe(n);if(i===null)return Qo(n);var a=ic(i/157)+129;if(a<161)return Qo(n);var o=i%157,s=o<63?64:98;return[a,o+s]}}ma.Big5=function(e){return new GSe(e)};ga.Big5=function(e){return new USe(e)};function zSe(e){var t=e.fatal,r=!1,n=0;this.handler=function(i,a){if(a===Kt&&n!==0)return n=0,Wt(t);if(a===Kt&&n===0)return Br;if(n===142&&Tt(a,161,223))return n=0,65377-161+a;if(n===143&&Tt(a,161,254))return r=!0,n=a,null;if(n!==0){var o=n;n=0;var s=null;return Tt(o,161,254)&&Tt(a,161,254)&&(s=ph((o-161)*94+(a-161),ea(r?"jis0212":"jis0208"))),r=!1,Tt(a,161,254)||i.prepend(a),s===null?Wt(t):s}return co(a)?a:a===142||a===143||Tt(a,161,254)?(n=a,null):Wt(t)}}function HSe(e){var t=e.fatal;this.handler=function(r,n){if(n===Kt)return Br;if(uo(n))return n;if(n===165)return 92;if(n===8254)return 126;if(Tt(n,65377,65439))return[142,n-65377+161];n===8722&&(n=65293);var i=hh(n,ea("jis0208"));if(i===null)return Qo(n);var a=ic(i/94)+161,o=i%94+161;return[a,o]}}ma["EUC-JP"]=function(e){return new HSe(e)};ga["EUC-JP"]=function(e){return new zSe(e)};function VSe(e){var t=e.fatal,r={ASCII:0,Roman:1,Katakana:2,LeadByte:3,TrailByte:4,EscapeStart:5,Escape:6},n=r.ASCII,i=r.ASCII,a=0,o=!1;this.handler=function(s,u){switch(n){default:case r.ASCII:return u===27?(n=r.EscapeStart,null):Tt(u,0,127)&&u!==14&&u!==15&&u!==27?(o=!1,u):u===Kt?Br:(o=!1,Wt(t));case r.Roman:return u===27?(n=r.EscapeStart,null):u===92?(o=!1,165):u===126?(o=!1,8254):Tt(u,0,127)&&u!==14&&u!==15&&u!==27&&u!==92&&u!==126?(o=!1,u):u===Kt?Br:(o=!1,Wt(t));case r.Katakana:return u===27?(n=r.EscapeStart,null):Tt(u,33,95)?(o=!1,65377-33+u):u===Kt?Br:(o=!1,Wt(t));case r.LeadByte:return u===27?(n=r.EscapeStart,null):Tt(u,33,126)?(o=!1,a=u,n=r.TrailByte,null):u===Kt?Br:(o=!1,Wt(t));case r.TrailByte:if(u===27)return n=r.EscapeStart,Wt(t);if(Tt(u,33,126)){n=r.LeadByte;var c=(a-33)*94+u-33,l=ph(c,ea("jis0208"));return l===null?Wt(t):l}return u===Kt?(n=r.LeadByte,s.prepend(u),Wt(t)):(n=r.LeadByte,Wt(t));case r.EscapeStart:return u===36||u===40?(a=u,n=r.Escape,null):(s.prepend(u),o=!1,n=i,Wt(t));case r.Escape:var f=a;a=0;var d=null;if(f===40&&u===66&&(d=r.ASCII),f===40&&u===74&&(d=r.Roman),f===40&&u===73&&(d=r.Katakana),f===36&&(u===64||u===66)&&(d=r.LeadByte),d!==null){n=n=d;var p=o;return o=!0,p?Wt(t):null}return s.prepend([f,u]),o=!1,n=i,Wt(t)}}}function $Se(e){var t=e.fatal,r={ASCII:0,Roman:1,jis0208:2},n=r.ASCII;this.handler=function(i,a){if(a===Kt&&n!==r.ASCII)return i.prepend(a),n=r.ASCII,[27,40,66];if(a===Kt&&n===r.ASCII)return Br;if((n===r.ASCII||n===r.Roman)&&(a===14||a===15||a===27))return Qo(65533);if(n===r.ASCII&&uo(a))return a;if(n===r.Roman&&(uo(a)&&a!==92&&a!==126||a==165||a==8254)){if(uo(a))return a;if(a===165)return 92;if(a===8254)return 126}if(uo(a)&&n!==r.ASCII)return i.prepend(a),n=r.ASCII,[27,40,66];if((a===165||a===8254)&&n!==r.Roman)return i.prepend(a),n=r.Roman,[27,40,74];a===8722&&(a=65293);var o=hh(a,ea("jis0208"));if(o===null)return Qo(a);if(n!==r.jis0208)return i.prepend(a),n=r.jis0208,[27,36,66];var s=ic(o/94)+33,u=o%94+33;return[s,u]}}ma["ISO-2022-JP"]=function(e){return new $Se(e)};ga["ISO-2022-JP"]=function(e){return new VSe(e)};function WSe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Kt&&r!==0)return r=0,Wt(t);if(i===Kt&&r===0)return Br;if(r!==0){var a=r,o=null;r=0;var s=i<127?64:65,u=a<160?129:193;if((Tt(i,64,126)||Tt(i,128,252))&&(o=(a-u)*188+i-s),Tt(o,8836,10715))return 57344-8836+o;var c=o===null?null:ph(o,ea("jis0208"));return c===null&&co(i)&&n.prepend(i),c===null?Wt(t):c}return co(i)||i===128?i:Tt(i,161,223)?65377-161+i:Tt(i,129,159)||Tt(i,224,252)?(r=i,null):Wt(t)}}function KSe(e){var t=e.fatal;this.handler=function(r,n){if(n===Kt)return Br;if(uo(n)||n===128)return n;if(n===165)return 92;if(n===8254)return 126;if(Tt(n,65377,65439))return n-65377+161;n===8722&&(n=65293);var i=RSe(n);if(i===null)return Qo(n);var a=ic(i/188),o=a<31?129:193,s=i%188,u=s<63?64:65;return[a+o,s+u]}}ma.Shift_JIS=function(e){return new KSe(e)};ga.Shift_JIS=function(e){return new WSe(e)};function JSe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Kt&&r!==0)return r=0,Wt(t);if(i===Kt&&r===0)return Br;if(r!==0){var a=r,o=null;r=0,Tt(i,65,254)&&(o=(a-129)*190+(i-65));var s=o===null?null:ph(o,ea("euc-kr"));return o===null&&co(i)&&n.prepend(i),s===null?Wt(t):s}return co(i)?i:Tt(i,129,254)?(r=i,null):Wt(t)}}function XSe(e){var t=e.fatal;this.handler=function(r,n){if(n===Kt)return Br;if(uo(n))return n;var i=hh(n,ea("euc-kr"));if(i===null)return Qo(n);var a=ic(i/190)+129,o=i%190+65;return[a,o]}}ma["EUC-KR"]=function(e){return new XSe(e)};ga["EUC-KR"]=function(e){return new JSe(e)};function h_(e,t){var r=e>>8,n=e&255;return t?[r,n]:[n,r]}function SG(e,t){var r=t.fatal,n=null,i=null;this.handler=function(a,o){if(o===Kt&&(n!==null||i!==null))return Wt(r);if(o===Kt&&n===null&&i===null)return Br;if(n===null)return n=o,null;var s;if(e?s=(n<<8)+o:s=(o<<8)+n,n=null,i!==null){var u=i;return i=null,Tt(s,56320,57343)?65536+(u-55296)*1024+(s-56320):(a.prepend(h_(s,e)),Wt(r))}return Tt(s,55296,56319)?(i=s,null):Tt(s,56320,57343)?Wt(r):s}}function kG(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Kt)return Br;if(Tt(i,0,65535))return h_(i,e);var a=h_((i-65536>>10)+55296,e),o=h_((i-65536&1023)+56320,e);return a.concat(o)}}ma["UTF-16BE"]=function(e){return new kG(!0,e)};ga["UTF-16BE"]=function(e){return new SG(!0,e)};ma["UTF-16LE"]=function(e){return new kG(!1,e)};ga["UTF-16LE"]=function(e){return new SG(!1,e)};function YSe(e){var t=e.fatal;this.handler=function(r,n){return n===Kt?Br:co(n)?n:63360+n-128}}function QSe(e){var t=e.fatal;this.handler=function(r,n){return n===Kt?Br:uo(n)?n:Tt(n,63360,63487)?n-63360+128:Qo(n)}}ma["x-user-defined"]=function(e){return new QSe(e)};ga["x-user-defined"]=function(e){return new YSe(e)};function Tv(e){return Buffer.from(e).toString("base64")}function yk(e){return Buffer.from(e,"base64").toString("ascii")}var AV=Dt(_V(),1),EV=Dt(Ov(),1);function wV(e){return Buffer.isBuffer(e)?new Uint8Array(e).buffer:e}function vke(e,t){let r=t.type?t.type.replace("image/",""):"jpeg",n=(0,EV.default)(e.data,[e.width,e.height,4],[4,e.width*4,1],0);return(0,AV.default)(n,r,t)}function TV(e,t){let r=vke(e,t);return new Promise(n=>{let i=[];r.on("data",a=>i.push(a)),r.on("end",()=>{let a=Buffer.concat(i);n(wV(a))})})}var nte=Dt(rte(),1),SB=["image/png","image/jpeg","image/gif"];async function kB(e,t){if(!t)throw new Error("MIMEType is required to parse image under Node.js");let r=e instanceof Buffer?e:Buffer.from(e);return await FMe(r,t)}function FMe(e,t){return new Promise(r=>(0,nte.default)(e,t,(n,i)=>{if(n)throw n;let a=[...i.shape],o=i.shape.length===4?i.shape.shift():1,s=i.data instanceof Buffer?new Uint8Array(i.data):i.data;r({shape:a,data:s,width:i.shape[0],height:i.shape[1],components:i.shape[2],layers:o?[o]:[]})}))}async function Va(e,t,r,n){return n._parse(e,t,r,n)}function _t(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var uu={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},ate=uu.self||uu.window||uu.global||{},ote=uu.window||uu.self||uu.global||{},ste=uu.global||uu.self||uu.window||{},ute=uu.document||{};var dr=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var ite=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),OMe=ite&&parseFloat(ite[1])||0;var cw=globalThis,IMe=globalThis.document||{},lw=globalThis.process||{},PMe=globalThis.console,p7t=globalThis.navigator||{};function cte(e){var n,i;if(typeof window<"u"&&((n=window.process)==null?void 0:n.type)==="renderer"||typeof process<"u"&&Boolean((i=process.versions)==null?void 0:i.electron))return!0;let t=typeof navigator<"u"&&navigator.userAgent,r=e||t;return Boolean(r&&r.indexOf("Electron")>=0)}function Fd(){return!(typeof process=="object"&&String(process)==="[object process]"&&!(process!=null&&process.browser))||cte()}var CB="4.0.7";function jMe(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var fw=class{constructor(t,r,n="sessionStorage"){this.storage=jMe(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 lte(e){let t;return e<10?t=`${e.toFixed(2)}ms`:e<100?t=`${e.toFixed(1)}ms`:e<1e3?t=`${e.toFixed(0)}ms`:t=`${(e/1e3).toFixed(2)}s`,t}function fte(e,t=8){let r=Math.max(t-e.length,0);return`${" ".repeat(r)}${e}`}var dw;(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"})(dw||(dw={}));var MMe=10;function dte(e){return typeof e!="string"?e:(e=e.toUpperCase(),dw[e]||dw.WHITE)}function pte(e,t,r){return!Fd&&typeof e=="string"&&(t&&(e=`\x1B[${dte(t)}m${e}\x1B[39m`),r&&(e=`\x1B[${dte(r)+MMe}m${e}\x1B[49m`)),e}function hte(e,t=["constructor"]){let r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),i=e;for(let a of n){let o=i[a];typeof o=="function"&&(t.find(s=>a===s)||(i[a]=o.bind(e)))}}function Cb(e,t){if(!e)throw new Error(t||"Assertion failed")}function Od(){var t,r,n,i,a;let e;if(Fd()&&cw.performance)e=(n=(r=(t=cw)==null?void 0:t.performance)==null?void 0:r.now)==null?void 0:n.call(r);else if("hrtime"in lw){let o=(a=(i=lw)==null?void 0:i.hrtime)==null?void 0:a.call(i);e=o[0]*1e3+o[1]/1e6}else e=Date.now();return e}var a0={debug:Fd()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},LMe={enabled:!0,level:0};function o0(){}var mte={},gte={once:!0},cu=class{constructor({id:t}={id:""}){this.VERSION=CB,this._startTs=Od(),this._deltaTs=Od(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new fw(`__probe-${this.id}__`,LMe),this.timeStamp(`${this.id} started`),hte(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((Od()-this._startTs).toPrecision(10))}getDelta(){return Number((Od()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!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){if(!t)throw new Error(r||"Assertion failed")}warn(t){return this._getLogFunction(0,t,a0.warn,arguments,gte)}error(t){return this._getLogFunction(0,t,a0.error,arguments)}deprecated(t,r){return this.warn(`\`${t}\` is deprecated and will be removed in a later version. Use \`${r}\` instead`)}removed(t,r){return this.error(`\`${t}\` has been removed. Use \`${r}\` instead`)}probe(t,r){return this._getLogFunction(t,r,a0.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,a0.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,a0.debug||a0.info,arguments,gte)}table(t,r,n){return r?this._getLogFunction(t,r,console.table||o0,n&&[n],{tag:NMe(r)}):o0}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||o0)}group(t,r,n={collapsed:!1}){let i=vte({logLevel:t,message:r,opts:n}),{collapsed:a}=n;return i.method=(a?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(t,r,n={}){return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||o0)}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()>=bte(t)}_getLogFunction(t,r,n,i,a){if(this._shouldLog(t)){a=vte({logLevel:t,message:r,args:i,opts:a}),n=n||a.method,Cb(n),a.total=this.getTotal(),a.delta=this.getDelta(),this._deltaTs=Od();let o=a.tag||a.message;if(a.once&&o)if(!mte[o])mte[o]=Od();else return o0;return r=qMe(this.id,a.message,a),n.bind(console,r,...a.args)}return o0}};cu.VERSION=CB;function bte(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 Cb(Number.isFinite(t)&&t>=0),t}function vte(e){let{logLevel:t,message:r}=e;e.logLevel=bte(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 Cb(i==="string"||i==="object"),Object.assign(e,{args:n},e.opts)}function qMe(e,t,r){if(typeof t=="string"){let n=r.time?fte(lte(r.total)):"";t=r.time?`${e}: ${n} ${t}`:`${e}: ${t}`,t=pte(t,r.color,r.background)}return t}function NMe(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}globalThis.probe={};var DB=new cu({id:"@probe.gl/log"});var BB="4.4.0-alpha.13",UMe=BB[0]>="0"&&BB[0]<="9"?`v${BB}`:"";function GMe(){let e=new cu({id:"loaders.gl"});return globalThis.loaders=globalThis.loaders||{},globalThis.loaders.log=e,globalThis.loaders.version=UMe,globalThis.probe=globalThis.probe||{},globalThis.probe.loaders=e,e}var FB=GMe();var zMe=e=>typeof e=="boolean",lu=e=>typeof e=="function",fu=e=>e!==null&&typeof e=="object",pw=e=>fu(e)&&e.constructor==={}.constructor;var OB=e=>typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer,s0=e=>fu(e)&&typeof e.byteLength=="number"&&typeof e.slice=="function";var IB=e=>Boolean(e)&&lu(e[Symbol.iterator]),PB=e=>Boolean(e)&&lu(e[Symbol.asyncIterator]);var $a=e=>typeof Response<"u"&&e instanceof Response||fu(e)&&lu(e.arrayBuffer)&&lu(e.text)&&lu(e.json);var Wa=e=>typeof Blob<"u"&&e instanceof Blob;var xte=e=>typeof ReadableStream<"u"&&e instanceof ReadableStream||fu(e)&&lu(e.tee)&&lu(e.cancel)&&lu(e.getReader);var yte=e=>fu(e)&&lu(e.read)&&lu(e.pipe)&&zMe(e.readable),Db=e=>xte(e)||yte(e);function RB(e,t){return _te(e||{},t)}function _te(e,t,r=0){if(r>3)return t;let n={...e};for(let[i,a]of Object.entries(t))a&&typeof a=="object"&&!Array.isArray(a)?n[i]=_te(n[i]||{},t[i],r+1):n[i]=t[i];return n}function u0(e){var t;globalThis.loaders||(globalThis.loaders={}),(t=globalThis.loaders).modules||(t.modules={}),Object.assign(globalThis.loaders.modules,e)}function jB(e){var r,n;return((n=(r=globalThis.loaders)==null?void 0:r.modules)==null?void 0:n[e])||null}var wte="beta";function HMe(){var e;return(e=globalThis._loadersgl_)!=null&&e.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.4.0-alpha.13"),globalThis._loadersgl_.version}var Id=HMe();function yi(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}var du={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},J7t=du.self||du.window||du.global||{},X7t=du.window||du.self||du.global||{},Y7t=du.global||du.self||du.window||{},Q7t=du.document||{};var Rn=typeof process!="object"||String(process)!=="[object process]"||process.browser,Bb=typeof importScripts=="function",Ete=typeof window<"u"&&typeof window.orientation<"u",Ate=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Z7t=Ate&&parseFloat(Ate[1])||0;var Fb=class{name;workerThread;isRunning=!0;result;_resolve=()=>{};_reject=()=>{};constructor(t,r){this.name=t,this.workerThread=r,this.result=new Promise((n,i)=>{this._resolve=n,this._reject=i})}postMessage(t,r){this.workerThread.postMessage({source:"loaders.gl",type:t,payload:r})}done(t){yi(this.isRunning),this.isRunning=!1,this._resolve(t)}error(t){yi(this.isRunning),this.isRunning=!1,this._reject(t)}};var Pd={};Oi(Pd,{NodeWorker:()=>Ib,parentPort:()=>VMe});var Ob=Dt(require("worker_threads"),1);Av(Pd,require("worker_threads"));var VMe=Ob==null?void 0:Ob.parentPort,Ib=Ob.Worker;var MB=new Map;function Tte(e){yi(e.source&&!e.url||!e.source&&e.url);let t=MB.get(e.source||e.url);return t||(e.url&&(t=$Me(e.url),MB.set(e.url,t)),e.source&&(t=Ste(e.source),MB.set(e.source,t))),yi(t),t}function $Me(e){if(!e.startsWith("http"))return e;let t=WMe(e);return Ste(t)}function Ste(e){let t=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(t)}function WMe(e){return`try {
|
|
155
155
|
importScripts('${e}');
|
|
156
156
|
} catch (error) {
|
|
157
157
|
console.error(error);
|
|
158
158
|
throw error;
|
|
159
159
|
}`}function LB(e,t=!0,r){let n=r||new Set;if(e){if(kte(e))n.add(e);else if(kte(e.buffer))n.add(e.buffer);else if(!ArrayBuffer.isView(e)){if(t&&typeof e=="object")for(let i in e)LB(e[i],t,n)}}return r===void 0?Array.from(n):[]}function kte(e){return e?e instanceof ArrayBuffer||typeof MessagePort<"u"&&e instanceof MessagePort||typeof ImageBitmap<"u"&&e instanceof ImageBitmap||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas:!1}function qB(e){if(e===null)return{};let t=Object.assign({},e);return Object.keys(t).forEach(r=>{typeof e[r]=="object"&&!ArrayBuffer.isView(e[r])&&!(e[r]instanceof Array)?t[r]=qB(e[r]):typeof t[r]=="function"||t[r]instanceof RegExp?t[r]={}:t[r]=e[r]}),t}var NB=()=>{},Vl=class{name;source;url;terminated=!1;worker;onMessage;onError;_loadableURL="";static isSupported(){return typeof Worker<"u"&&Rn||typeof Ib<"u"&&!Rn}constructor(t){let{name:r,source:n,url:i}=t;yi(n||i),this.name=r,this.source=n,this.url=i,this.onMessage=NB,this.onError=a=>console.log(a),this.worker=Rn?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=NB,this.onError=NB,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(t,r){r=r||LB(t),this.worker.postMessage(t,r)}_getErrorFromErrorEvent(t){let r="Failed to load ";return r+=`worker ${this.name} from ${this.url}. `,t.message&&(r+=`${t.message} in `),t.lineno&&(r+=`:${t.lineno}:${t.colno}`),new Error(r)}_createBrowserWorker(){this._loadableURL=Tte({source:this.source,url:this.url});let t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=r=>{r.data?this.onMessage(r.data):this.onError(new Error("No data received"))},t.onerror=r=>{this.onError(this._getErrorFromErrorEvent(r)),this.terminated=!0},t.onmessageerror=r=>console.error(r),t}_createNodeWorker(){let t;if(this.url){let n=this.url.includes(":/")||this.url.startsWith("/")?this.url:`./${this.url}`,i=this.url.endsWith(".ts")||this.url.endsWith(".mjs")?"module":"commonjs";t=new Ib(n,{eval:!1,type:i})}else if(this.source)t=new Ib(this.source,{eval:!0});else throw new Error("no worker");return t.on("message",r=>{this.onMessage(r)}),t.on("error",r=>{this.onError(r)}),t.on("exit",r=>{}),t}};var Pb=class{name="unnamed";source;url;maxConcurrency=1;maxMobileConcurrency=1;onDebug=()=>{};reuseWorkers=!0;props={};jobQueue=[];idleQueue=[];count=0;isDestroyed=!1;static isSupported(){return Vl.isSupported()}constructor(t){this.source=t.source,this.url=t.url,this.setProps(t)}destroy(){this.idleQueue.forEach(t=>t.destroy()),this.isDestroyed=!0}setProps(t){this.props={...this.props,...t},t.name!==void 0&&(this.name=t.name),t.maxConcurrency!==void 0&&(this.maxConcurrency=t.maxConcurrency),t.maxMobileConcurrency!==void 0&&(this.maxMobileConcurrency=t.maxMobileConcurrency),t.reuseWorkers!==void 0&&(this.reuseWorkers=t.reuseWorkers),t.onDebug!==void 0&&(this.onDebug=t.onDebug)}async startJob(t,r=(i,a,o)=>i.done(o),n=(i,a)=>i.error(a)){let i=new Promise(a=>(this.jobQueue.push({name:t,onMessage:r,onError:n,onStart:a}),this));return this._startQueuedJob(),await i}async _startQueuedJob(){if(!this.jobQueue.length)return;let t=this._getAvailableWorker();if(!t)return;let r=this.jobQueue.shift();if(r){this.onDebug({message:"Starting job",name:r.name,workerThread:t,backlog:this.jobQueue.length});let n=new Fb(r.name,t);t.onMessage=i=>r.onMessage(n,i.type,i.payload),t.onError=i=>r.onError(n,i),r.onStart(n);try{await n.result}catch(i){console.error(`Worker exception: ${i}`)}finally{this.returnWorkerToQueue(t)}}}returnWorkerToQueue(t){!Rn||this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(t.destroy(),this.count--):this.idleQueue.push(t),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count<this._getMaxConcurrency()){this.count++;let t=`${this.name.toLowerCase()} (#${this.count} of ${this.maxConcurrency})`;return new Vl({name:t,source:this.source,url:this.url})}return null}_getMaxConcurrency(){return Ete?this.maxMobileConcurrency:this.maxConcurrency}};var KMe={maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,onDebug:()=>{}},Rd=class{props;workerPools=new Map;static isSupported(){return Vl.isSupported()}static getWorkerFarm(t={}){return Rd._workerFarm=Rd._workerFarm||new Rd({}),Rd._workerFarm.setProps(t),Rd._workerFarm}constructor(t){this.props={...KMe},this.setProps(t),this.workerPools=new Map}destroy(){for(let t of this.workerPools.values())t.destroy();this.workerPools=new Map}setProps(t){this.props={...this.props,...t};for(let r of this.workerPools.values())r.setProps(this._getWorkerPoolProps())}getWorkerPool(t){let{name:r,source:n,url:i}=t,a=this.workerPools.get(r);return a||(a=new Pb({name:r,source:n,url:i}),a.setProps(this._getWorkerPoolProps()),this.workerPools.set(r,a)),a}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}},Gi=Rd;xG(Gi,"_workerFarm");function Cte(e){let t=e.version!==Id?` (worker-utils@${Id})`:"";return`${e.name}@${e.version}${t}`}function Rb(e,t={}){var o;let r=t[e.id]||{},n=Rn?`${e.id}-worker.js`:`${e.id}-worker-node.js`,i=r.workerUrl;if(!i&&e.id==="compression"&&(i=t.workerUrl),(t._workerType||((o=t==null?void 0:t.core)==null?void 0:o._workerType))==="test"&&(Rn?i=`modules/${e.module}/dist/${n}`:i=`modules/${e.module}/src/workers/${e.id}-worker-node.ts`),!i){let s=e.version;s==="latest"&&(s=wte);let u=s?`@${s}`:"";i=`https://unpkg.com/@loaders.gl/${e.module}${u}/dist/${n}`}return yi(i),i}async function UB(e,t,r={},n={}){let i=Cte(e),a=Gi.getWorkerFarm(r),{source:o}=r,s={name:i,source:o};o||(s.url=Rb(e,r));let u=a.getWorkerPool(s),c=r.jobName||e.name,l=await u.startJob(c,JMe.bind(null,n)),f=qB(r);return l.postMessage("process",{input:t,options:f}),(await l.result).result}async function JMe(e,t,r,n){switch(r){case"done":t.done(n);break;case"error":t.error(new Error(n.error));break;case"process":let{id:i,input:a,options:o}=n;try{if(!e.process){t.postMessage("error",{id:i,error:"Worker not set up to process on main thread"});return}let s=await e.process(a,o);t.postMessage("done",{id:i,result:s})}catch(s){let u=s instanceof Error?s.message:"unknown error";t.postMessage("error",{id:i,error:u})}break;default:console.warn(`process-on-worker: unknown message ${r}`)}}function GB(e,t=Id){yi(e,"no worker provided");let r=e.version;return!(!t||!r)}var zB={};async function _o(e,t=null,r={},n=null){return t&&(e=Dte(e,t,r,n)),zB[e]=zB[e]||XMe(e),await zB[e]}function Dte(e,t,r={},n=null){if(r!=null&&r.core)throw new Error("loadLibrary: options.core must be pre-normalized");if(!r.useLocalLibraries&&e.startsWith("http"))return e;n=n||e;let i=r.modules||{};return i[n]?i[n]:Rn?r.CDN?(yi(r.CDN.startsWith("http")),`${r.CDN}/${t}@${Id}/dist/libs/${n}`):Bb?`../src/libs/${n}`:`modules/${t}/src/libs/${n}`:`modules/${t}/dist/libs/${n}`}async function XMe(e){if(e.endsWith("wasm"))return await QMe(e);if(!Rn){let{requireFromFile:r}=globalThis.loaders||{};try{let n=await(r==null?void 0:r(e));return n||!e.includes("/dist/libs/")?n:await(r==null?void 0:r(e.replace("/dist/libs/","/src/libs/")))}catch(n){if(e.includes("/dist/libs/"))try{return await(r==null?void 0:r(e.replace("/dist/libs/","/src/libs/")))}catch{}return console.error(n),null}}if(Bb)return importScripts(e);let t=await ZMe(e);return YMe(t,e)}function YMe(e,t){if(!Rn){let{requireFromString:n}=globalThis.loaders||{};return n==null?void 0:n(e,t)}if(Bb)return eval.call(globalThis,e),null;let r=document.createElement("script");r.id=t;try{r.appendChild(document.createTextNode(e))}catch{r.text=e}return document.body.appendChild(r),null}async function QMe(e){let{readFileAsArrayBuffer:t}=globalThis.loaders||{};if(Rn||!t||e.startsWith("http"))return await(await fetch(e)).arrayBuffer();try{return await t(e)}catch{if(e.includes("/dist/libs/"))return await t(e.replace("/dist/libs/","/src/libs/"));throw new Error(`Failed to load ArrayBuffer from ${e}`)}}async function ZMe(e){let{readFileAsText:t}=globalThis.loaders||{};if(Rn||!t||e.startsWith("http"))return await(await fetch(e)).text();try{return await t(e)}catch{if(e.includes("/dist/libs/"))return await t(e.replace("/dist/libs/","/src/libs/"));throw new Error(`Failed to load text from ${e}`)}}var Bte=Dt(require("child_process"),1);function Fte(e=3e3){return new Promise(t=>{Bte.default.exec("lsof -i -P -n | grep LISTEN",(r,n)=>{if(r){t(e);return}let i=[],a=/:(\d+) \(LISTEN\)/;n.split(`
|
|
160
|
-
`).forEach(s=>{let u=a.exec(s);u&&i.push(Number(u[1]))});let o=e;for(;i.includes(o);)o++;t(o)})})}async function eLe(){var e;if(typeof process>"u"||!((e=process.versions)!=null&&e.node))throw new Error("ChildProcessProxy is only available in Node.js environments");return await import("child_process")}var Ote={command:"",arguments:[],port:5e3,autoPort:!0,wait:2e3,onSuccess:e=>{console.log(`Started ${e.props.command}`)}},c0=class{id;props={...Ote};childProcess=null;port=0;successTimer;constructor({id:t="browser-driver"}={}){this.id=t}async start(t){t={...Ote,...t},this.props=t;let r=await eLe(),n=[...t.arguments];return this.port=Number(t.port),t.portArg&&(t.autoPort&&(this.port=await Fte(t.port)),n.push(t.portArg,String(this.port))),await new Promise((i,a)=>{try{this._setTimeout(()=>{t.onSuccess&&t.onSuccess(this),i({})}),console.log(`Spawning ${t.command} ${t.arguments.join(" ")}`);let o=r.spawn(t.command,n,t.spawn);this.childProcess=o,o.stdout.on("data",s=>{console.log(s.toString())}),o.stderr.on("data",s=>{console.log(`Child process wrote to stderr: "${s}".`),t.ignoreStderr||(this._clearTimeout(),a(new Error(s)))}),o.on("error",s=>{console.log(`Child process errored with ${s}`),this._clearTimeout(),a(s)}),o.on("close",s=>{console.log(`Child process exited with ${s}`),this.childProcess=null,this._clearTimeout(),i({})})}catch(o){a(o)}})}async stop(){this.childProcess&&(this.childProcess.kill(),this.childProcess=null)}async exit(t=0){try{await this.stop(),process.exit(t)}catch(r){console.error(r.message||r),process.exit(1)}}_setTimeout(t){Number(this.props.wait)>0&&(this.successTimer=setTimeout(t,this.props.wait))}_clearTimeout(){this.successTimer&&clearTimeout(this.successTimer)}};function HB(e,t){var i,a;if(!Gi.isSupported())return!1;let r=(t==null?void 0:t._nodeWorkers)??((i=t==null?void 0:t.core)==null?void 0:i._nodeWorkers);if(!Rn&&!r)return!1;let n=(t==null?void 0:t.worker)??((a=t==null?void 0:t.core)==null?void 0:a.worker);return Boolean(e.worker&&n)}async function VB(e,t,r,n,i){let a=e.id,o=Rb(e,r),u=Gi.getWorkerFarm(r==null?void 0:r.core).getWorkerPool({name:a,url:o});r=JSON.parse(JSON.stringify(r)),n=JSON.parse(JSON.stringify(n||{}));let c=await u.startJob("process-on-worker",tLe.bind(null,i));return c.postMessage("process",{input:t,options:r,context:n}),await(await c.result).result}async function tLe(e,t,r,n){switch(r){case"done":t.done(n);break;case"error":t.error(new Error(n.error));break;case"process":let{id:i,input:a,options:o}=n;try{let s=await e(a,o);t.postMessage("done",{id:i,result:s})}catch(s){let u=s instanceof Error?s.message:"unknown error";t.postMessage("error",{id:i,error:u})}break;default:console.warn(`parse-with-worker unknown message ${r}`)}}function $B(e,t){var i,a;if(!Gi.isSupported())return!1;let r=(t==null?void 0:t._nodeWorkers)??((i=t==null?void 0:t.core)==null?void 0:i._nodeWorkers),n=(t==null?void 0:t.worker)??((a=t==null?void 0:t.core)==null?void 0:a.worker);return!dr&&!r?!1:Boolean(e.worker&&n)}function Pte(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?Ite(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?Ite(e,0,t):""}function Ite(e,t,r){if(e.byteLength<=t+r)return"";let n=new DataView(e),i="";for(let a=0;a<r;a++)i+=String.fromCharCode(n.getUint8(t+a));return i}function WB(e){try{return JSON.parse(e)}catch{throw new Error(`Failed to parse JSON from data starting with "${Pte(e)}"`)}}function pu(e,t,r){if(r=r||e.byteLength,e.byteLength<r||t.byteLength<r)return!1;let n=new Uint8Array(e),i=new Uint8Array(t);for(let a=0;a<n.length;++a)if(n[a]!==i[a])return!1;return!0}function bn(...e){return hw(e)}function hw(e){let t=e.map(a=>a instanceof ArrayBuffer?new Uint8Array(a):a),r=t.reduce((a,o)=>a+o.byteLength,0),n=new Uint8Array(r),i=0;for(let a of t)n.set(a,i),i+=a.byteLength;return n.buffer}function Ka(...e){let t=e,r=t&&t.length>1&&t[0].constructor||null;if(!r)throw new Error('"concatenateTypedArrays" - incorrect quantity of arguments or arguments have incompatible data types');let n=t.reduce((o,s)=>o+s.length,0),i=new r(n),a=0;for(let o of t)i.set(o,a),a+=o.length;return i}function jd(e,t,r){let n=r!==void 0?new Uint8Array(e).subarray(t,t+r):new Uint8Array(e).subarray(t);return new Uint8Array(n).buffer}function Ja(e,t){return _t(e>=0),_t(t>0),e+(t-1)&~(t-1)}function KB(e,t,r){let n;if(e instanceof ArrayBuffer)n=new Uint8Array(e);else{let i=e.byteOffset,a=e.byteLength;n=new Uint8Array(e.buffer||e.arrayBuffer,i,a)}return t.set(n,r),r+Ja(n.byteLength,4)}function JB(e,t){let r=e.length,i=Math.ceil(r/t)*t-r,a="";for(let o=0;o<i;++o)a+=" ";return e+a}function l0(e,t,r,n){if(e)for(let i=0;i<n;i++)e.setUint8(t+i,r.charCodeAt(i));return t+n}function jb(e,t,r,n){if(e)for(let i=0;i<n;i++)e.setUint8(t+i,r[i]);return t+n}function mw(e,t,r,n){let i=Ja(r.byteLength,n),a=i-r.byteLength;if(e){let o=new Uint8Array(e.buffer,e.byteOffset+t,r.byteLength),s=new Uint8Array(r);o.set(s);for(let u=0;u<a;++u)e.setUint8(t+r.byteLength+u,32)}return t+=i,t}function f0(e,t,r,n){let a=new TextEncoder().encode(r);return t=mw(e,t,a,n),t}async function Md(e){let t=[];for await(let r of e)t.push(rLe(r));return bn(...t)}function rLe(e){if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e)){let{buffer:t,byteOffset:r,byteLength:n}=e;return Rte(t,r,n)}return Rte(e)}function Rte(e,t=0,r=e.byteLength-t){let n=new Uint8Array(e,t,r),i=new Uint8Array(n.length);return i.set(n),i.buffer}var nLe="",jte={};function hu(e){for(let t in jte)if(e.startsWith(t)){let r=jte[t];e=e.replace(t,r)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${nLe}${e}`),e}var iLe="4.4.0-alpha.11",XB={dataType:null,batchType:null,name:"JSON",id:"json",module:"json",version:iLe,extensions:["json","geojson"],mimeTypes:["application/json"],category:"json",text:!0,parseTextSync:Mte,parse:async e=>Mte(new TextDecoder().decode(e)),options:{}};function Mte(e){return JSON.parse(e)}function Lte(e){return Buffer.isBuffer(e)?new Uint8Array(e.buffer,e.byteOffset,e.length).slice().buffer:e}function gw(e){return e&&typeof e=="object"&&e.isBuffer}function Kn(e){if(gw(e))return Lte(e);if(e instanceof ArrayBuffer)return e;if(OB(e))return $l(e);if(ArrayBuffer.isView(e)){let t=e.buffer;return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?t:t.slice(e.byteOffset,e.byteOffset+e.byteLength)}if(typeof e=="string"){let t=e;return new TextEncoder().encode(t).buffer}if(e&&typeof e=="object"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}function zi(e){if(e instanceof ArrayBuffer)return e;if(OB(e))return $l(e);let{buffer:t,byteOffset:r,byteLength:n}=e;return t instanceof ArrayBuffer&&r===0&&n===t.byteLength?t:$l(t,r,n)}function $l(e,t=0,r=e.byteLength-t){let n=new Uint8Array(e,t,r),i=new Uint8Array(n.length);return i.set(n),i.buffer}function YB(e){return ArrayBuffer.isView(e)?e:new Uint8Array(e)}function d0(e){return t=>new Promise((r,n)=>e(t,(i,a)=>i?n(i):r(a)))}var wa={};Oi(wa,{dirname:()=>sLe,filename:()=>oLe,join:()=>uLe,resolve:()=>cLe});function qte(){var t;if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=(t=window.location)==null?void 0:t.pathname;return(e==null?void 0:e.slice(0,e.lastIndexOf("/")+1))||""}function oLe(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(t+1):e}function sLe(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(0,t):""}function uLe(...e){let t="/";return e=e.map((r,n)=>(n&&(r=r.replace(new RegExp(`^${t}`),"")),n!==e.length-1&&(r=r.replace(new RegExp(`${t}$`),"")),r)),e.join(t)}function cLe(...e){let t=[];for(let a=0;a<e.length;a++)t[a]=e[a];let r="",n=!1,i;for(let a=t.length-1;a>=-1&&!n;a--){let o;a>=0?o=t[a]:(i===void 0&&(i=qte()),o=i),o.length!==0&&(r=`${o}/${r}`,n=o.charCodeAt(0)===Mb)}return r=lLe(r,!n),n?`/${r}`:r.length>0?r:"."}var Mb=47,QB=46;function lLe(e,t){let r="",n=-1,i=0,a,o=!1;for(let s=0;s<=e.length;++s){if(s<e.length)a=e.charCodeAt(s);else{if(a===Mb)break;a=Mb}if(a===Mb){if(!(n===s-1||i===1))if(n!==s-1&&i===2){if(r.length<2||!o||r.charCodeAt(r.length-1)!==QB||r.charCodeAt(r.length-2)!==QB){if(r.length>2){let u=r.length-1,c=u;for(;c>=0&&r.charCodeAt(c)!==Mb;--c);if(c!==u){r=c===-1?"":r.slice(0,c),n=s,i=0,o=!1;continue}}else if(r.length===2||r.length===1){r="",n=s,i=0,o=!1;continue}}t&&(r.length>0?r+="/..":r="..",o=!0)}else{let u=e.slice(n+1,s);r.length>0?r+=`/${u}`:r=u,o=!1}n=s,i=0}else a===QB&&i!==-1?++i:i=-1}return r}var Lb=class{handle;size;bigsize;url;constructor(t){this.handle=t instanceof ArrayBuffer?new Blob([t]):t,this.size=t instanceof ArrayBuffer?t.byteLength:t.size,this.bigsize=BigInt(this.size),this.url=t instanceof File?t.name:""}async close(){}async stat(){return{size:this.handle.size,bigsize:BigInt(this.handle.size),isDirectory:!1}}async read(t,r){return await this.handle.slice(Number(t),Number(t)+Number(r)).arrayBuffer()}};var p0=class{handle;size=0;bigsize=0n;url;constructor(t){this.handle=t,this.url=t}async close(){}async stat(){let t=await fetch(this.handle,{method:"HEAD"});if(!t.ok)throw new Error(`Failed to fetch HEAD ${this.handle}`);let r=parseInt(t.headers.get("Content-Length")||"0");return{size:r,bigsize:BigInt(r),isDirectory:!1}}async read(t=0,r=0){return await(await this.fetchRange(t,r)).arrayBuffer()}async fetchRange(t,r,n){let i=Number(t),a=Number(r),o;n||(o=new AbortController,n=o.signal);let s=this.handle,u=await fetch(s,{signal:n,headers:{Range:`bytes=${i}-${i+a-1}`}});switch(u.status){case 206:break;case 200:let c=u.headers.get("Content-Length");if(!c||Number(c)>r)throw o&&o.abort(),Error("content-length header missing or exceeding request. Server must support HTTP Byte Serving.");case 416:if(t===0){let l=u.headers.get("Content-Range");if(!l||!l.startsWith("bytes *"))throw Error("Missing content-length on 416 response");let f=Number(l.substr(8));u=await fetch(this.url,{signal:n,headers:{Range:`bytes=0-${f-1}`}})}break;default:if(u.status>=300)throw Error(`Bad response code: ${u.status}`)}return u}};var qb=new Error("Not implemented"),Hi=class{handle;size=0;bigsize=0n;url="";constructor(t,r,n){var i;if((i=globalThis.loaders)!=null&&i.NodeFile)return new globalThis.loaders.NodeFile(t,r,n);throw dr?new Error("Can't instantiate NodeFile in browser."):new Error("Can't instantiate NodeFile. Make sure to import @loaders.gl/polyfills first.")}async read(t,r){throw qb}async write(t,r,n){throw qb}async stat(){throw qb}async truncate(t){throw qb}async append(t){throw qb}async close(){}};var h0=new Error("Not implemented"),Nb=class{constructor(t){var r;if((r=globalThis.loaders)!=null&&r.NodeFileSystem)return new globalThis.loaders.NodeFileSystem(t);throw dr?new Error("Can't instantiate NodeFileSystem in browser."):new Error("Can't instantiate NodeFileSystem. Make sure to import @loaders.gl/polyfills first.")}readable=!0;writable=!0;async openReadableFile(t,r){throw h0}async openWritableFile(t,r,n){throw h0}async readdir(t=".",r){throw h0}async stat(t,r){throw h0}async unlink(t){throw h0}async fetch(t,r){throw h0}};var _c=Dt(require("fs"),1),Ld=class{handle;size;bigsize;url;constructor(t,r,n){t=hu(t),this.handle=_c.default.openSync(t,r,n);let i=_c.default.fstatSync(this.handle,{bigint:!0});this.size=Number(i.size),this.bigsize=i.size,this.url=t}async close(){return new Promise((t,r)=>{_c.default.close(this.handle,n=>n?r(n):t())})}async truncate(t){return new Promise((r,n)=>{_c.default.ftruncate(this.handle,t,i=>{i?n(i):(this.bigsize=BigInt(t),this.size=Number(this.bigsize),r())})})}async append(t){return new Promise((r,n)=>{_c.default.appendFile(this.handle,t,i=>{i?n(i):(this.bigsize=this.bigsize+BigInt(t.length),this.size=Number(this.bigsize),r())})})}async stat(){return await new Promise((t,r)=>_c.default.fstat(this.handle,{bigint:!0},(n,i)=>{let a={size:Number(i.size),bigsize:i.size,isDirectory:i.isDirectory()};n?r(n):t(a)}))}async read(t,r){let n=new ArrayBuffer(r),i=BigInt(t),a=0,o=new Uint8Array(n),s;for(;r>0;){let u=await hLe(this.handle,o,0,r,i);if(u===0)break;a+=u,i+=BigInt(u),r-=u,s!==void 0&&(s+=u)}return a<r?n.slice(0,a):n}async write(t,r=0,n=t.byteLength){return new Promise((i,a)=>{let o=Number(r),s=new Uint8Array(t,Number(r),n);_c.default.write(this.handle,s,0,n,o,(u,c)=>u?a(u):i(c))})}};async function hLe(e,t,r,n,i){return await new Promise((a,o)=>_c.default.read(e,t,r,n,i,(s,u)=>s?o(s):a(u)))}var yw=Dt(require("fs/promises"),1);var eF=Dt(require("fs"),1),ZB=require("stream");var vw=Dt(require("zlib"),1);function bw(e,t){switch(t==null?void 0:t.get("content-encoding")){case"br":return e.pipe(vw.default.createBrotliDecompress());case"gzip":return e.pipe(vw.default.createGunzip());case"deflate":return e.pipe(vw.default.createDeflate());default:return e}}async function Nte(e){let t=[];return await new Promise((r,n)=>{e.on("error",i=>n(i)),e.on("readable",()=>e.read()),e.on("data",i=>{typeof i=="string"&&n(new Error("Read stream not binary")),t.push(Kn(i))}),e.on("end",()=>{let i=mLe(t);r(i)})})}function mLe(e){let t=e.map(a=>a instanceof ArrayBuffer?new Uint8Array(a):a),r=t.reduce((a,o)=>a+o.byteLength,0),n=new Uint8Array(r),i=0;for(let a of t)n.set(a,i),i+=a.byteLength;return n.buffer}var gLe=e=>typeof e=="boolean",Ute=e=>typeof e=="function",vLe=e=>e!==null&&typeof e=="object",bLe=e=>vLe(e)&&Ute(e.read)&&Ute(e.pipe)&&gLe(e.readable);async function xw(e,t){let r=/^file:\/\//;e.replace(r,"/");let n=e.split("?")[0];n=hu(n);let i=new Headers;e.endsWith(".gz")&&i.set("content-encoding","gzip"),e.endsWith(".br")&&i.set("content-encoding","br");try{let a=await new Promise((f,d)=>{let p=eF.default.createReadStream(n,{encoding:null});p.once("readable",()=>f(p)),p.on("error",h=>d(h))}),o=a;bLe(a)?o=bw(a,i):typeof a=="string"?o=ZB.Readable.from([new TextEncoder().encode(a)]):o=ZB.Readable.from([a||new ArrayBuffer(0)]);let s=200,u="OK",c=xLe(n),l=new Response(o,{headers:c,status:s,statusText:u});return Object.defineProperty(l,"url",{value:e}),l}catch(a){let o=a.message,s=400,u=o,c={},l=new Response(o,{headers:c,status:s,statusText:u});return Object.defineProperty(l,"url",{value:e}),l}}function xLe(e){let t={};if(!t["content-length"]){let r=eF.default.statSync(e);t["content-length"]=r.size}return e.endsWith(".gz")&&(e=e.slice(0,-3),t["content-encoding"]="gzip"),new Headers(t)}var _w=class{readable=!0;writable=!0;constructor(){}async readdir(t=".",r){return await yw.default.readdir(t,r)}async stat(t){let r=await yw.default.stat(t,{bigint:!0});return{size:Number(r.size),bigsize:r.size,isDirectory:r.isDirectory()}}async unlink(t){return await yw.default.unlink(t)}async fetch(t,r){return await xw(t,r)}async openReadableFile(t,r="r"){return new Ld(t,r)}async openWritableFile(t,r="w",n){return new Ld(t,r,n)}};var wc=class{constructor(t={}){this.hashBatches=this.hashBatches.bind(this)}async preload(){}async*hashBatches(t,r="base64"){var o,s;let n=[];for await(let u of t)n.push(u),yield u;let i=await this.concatenate(n),a=await this.hash(i,r);(s=(o=this.options.crypto)==null?void 0:o.onEnd)==null||s.call(o,{hash:a})}async concatenate(t){return await Md(t)}};var m0=class{crc;constructor(){this.crc=-1}update(t){let r=_Le(),n=new Uint8Array(t);for(let i=0;i<n.byteLength;i++)this.crc=this.crc>>>8^r[(this.crc^n[i])&255];return this}finalize(){return this.crc=(this.crc^-1)>>>0,this.crc}},yLe=Uint32Array.of(0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117);function _Le(){return yLe}function Gte(e){e=`${e}`;for(let r=0;r<e.length;r++)if(e.charCodeAt(r)>255)return null;let t="";for(let r=0;r<e.length;r+=3){let n=[void 0,void 0,void 0,void 0];n[0]=e.charCodeAt(r)>>2,n[1]=(e.charCodeAt(r)&3)<<4,e.length>r+1&&(n[1]|=e.charCodeAt(r+1)>>4,n[2]=(e.charCodeAt(r+1)&15)<<2),e.length>r+2&&(n[2]|=e.charCodeAt(r+2)>>6,n[3]=e.charCodeAt(r+2)&63);for(let i=0;i<n.length;i++)typeof n[i]>"u"?t+="=":t+=wLe(n[i])}return t}function wLe(e){if(e<26)return String.fromCharCode(e+"A".charCodeAt(0));if(e<52)return String.fromCharCode(e-26+"a".charCodeAt(0));if(e<62)return String.fromCharCode(e-52+"0".charCodeAt(0));if(e===62)return"+";if(e===63)return"/"}function tF(e,t){switch(t){case"hex":return zte(e);case"base64":return Vte(zte(e));default:throw new Error(t)}}function Hte(e,t){switch(t){case"hex":return e;case"base64":return Vte(e);default:throw new Error(t)}}function Vte(e){e.length%2!==0&&(e=`0${e}`);let r=(e.match(/\w{2}/g)||[]).map(n=>String.fromCharCode(parseInt(n,16))).join("");return Gte(r)||""}function zte(e){let t=e.toString(16);return t==="0"?`0${t}`:t}var Ub=class extends wc{name="crc32";options;constructor(t={}){super(),this.options={crypto:{},...t},this.hashBatches=this.hashBatches.bind(this)}async hash(t,r){return this.hashSync(t,r)}hashSync(t,r){let n=new m0;n.update(t);let i=n.finalize();return tF(i,r)}async*hashBatches(t,r="base64"){var a,o;let n=new m0;for await(let s of t)n.update(s),yield s;let i=n.finalize();(o=(a=this.options.crypto)==null?void 0:a.onEnd)==null||o.call(a,{hash:tF(i,r)})}};var ww="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",$te=CLe("AGFzbQEAAAABDANgAX8AYAAAYAABfwIeAgdpbXBvcnRzA2xvZwAAB2ltcG9ydHMDbWVtAgABAzIxAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAgICAgIAAAAAAAaYARt/AUGBxpS6Bgt/AUGJ17b+fgt/AUH+uevFeQt/AUH2qMmBAQt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALB7oCJQhvbmVGdWxsQQAYCG9uZUZ1bGxCABkIb25lRnVsbEMAGghvbmVGdWxsRAAbBWxvb3BzAAEEbG9vcAACBXByaW1lAAMFbG9vcEEABAZsb29wQTEABQZsb29wQTIABgZsb29wQTMABwZsb29wQTQACAVsb29wQgAJBmxvb3BCMQAKBmxvb3BCMgALBmxvb3BCMwAMBmxvb3BCNAANBWxvb3BDAA4GbG9vcEMxAA8GbG9vcEMyABAGbG9vcEMzABEGbG9vcEM0ABIFbG9vcEQAEwZsb29wRDEAFAZsb29wRDIAFQZsb29wRDMAFgZsb29wRDQAFwRnZXRBACgEZ2V0QgApBGdldEMAKgRnZXREACsEZ2V0WAAsBHNldEEALQRzZXRCAC4Ec2V0QwAvBHNldEQAMARzZXRYADEKzA0xWwEBf0EAJAggAEEGdCEBAkADQCMIIAFGDQEjACQEIwEkBSMCJAYjAyQHEAIjBCMAaiQAIwUjAWokASMGIwJqJAIjByMDaiQDIwhBwABqJAgMAAsLIwgjGmokGgsTACMIIxpqJAkQAxAEEAkQDhATC6IBAEEAIwlqKAIAJApBBCMJaigCACQLQQgjCWooAgAkDEEMIwlqKAIAJA1BECMJaigCACQOQRQjCWooAgAkD0EYIwlqKAIAJBBBHCMJaigCACQRQSAjCWooAgAkEkEkIwlqKAIAJBNBKCMJaigCACQUQSwjCWooAgAkFUEwIwlqKAIAJBZBNCMJaigCACQXQTgjCWooAgAkGEE8IwlqKAIAJBkLCgAQBRAGEAcQCAsuAEH4yKq7fSMKahAYQdbunsZ+IwtqEBtB2+GBoQIjDGoQGkHunfeNfCMNahAZCy0AQa+f8Kt/Iw5qEBhBqoyfvAQjD2oQG0GTjMHBeiMQahAaQYGqmmojEWoQGQssAEHYsYLMBiMSahAYQa/vk9p4IxNqEBtBsbd9IxRqEBpBvq/zyngjFWoQGQstAEGiosDcBiMWahAYQZPj4WwjF2oQG0GOh+WzeiMYahAaQaGQ0M0EIxlqEBkLCgAQChALEAwQDQsuAEHiyviwfyMLahAcQcDmgoJ8IxBqEB9B0bT5sgIjFWoQHkGqj9vNfiMKahAdCy0AQd2gvLF9Iw9qEBxB06iQEiMUahAfQYHNh8V9IxlqEB5ByPfPvn4jDmoQHQsuAEHmm4ePAiMTahAcQdaP3Jl8IxhqEB9Bh5vUpn8jDWoQHkHtqeiqBCMSahAdCy0AQYXSj896IxdqEBxB+Me+ZyMMahAfQdmFvLsGIxFqEB5Bipmp6XgjFmoQHQsKABAPEBAQERASCysAQcLyaCMPahAgQYHtx7t4IxJqECNBosL17AYjFWoQIkGM8JRvIxhqECELLgBBxNT7pXojC2oQIEGpn/veBCMOahAjQeCW7bV/IxFqECJB8Pj+9XsjFGoQIQstAEHG/e3EAiMXahAgQfrPhNV+IwpqECNBheG8p30jDWoQIkGFuqAkIxBqECELLgBBuaDTzn0jE2oQIEHls+62fiMWahAjQfj5if0BIxlqECJB5ayxpXwjDGoQIQsKABAUEBUQFhAXCy0AQcTEpKF/IwpqECRBl/+rmQQjEWoQJ0Gnx9DceiMYahAmQbnAzmQjD2oQJQstAEHDs+2qBiMWahAkQZKZs/h4Iw1qECdB/ei/fyMUahAmQdG7kax4IwtqECULLQBBz/yh/QYjEmoQJEHgzbNxIxlqECdBlIaFmHojEGoQJkGho6DwBCMXahAlCy4AQYL9zbp/Iw5qECRBteTr6XsjFWoQJ0G7pd/WAiMMahAmQZGnm9x+IxNqECULKAEBf0F/IwFzIwNxIwEjAnFyIwBqIABqIgFBB3QgAUEZdnIjAWokAAsoAQF/QX8jAnMjAHEjAiMDcXIjAWogAGoiAUEWdCABQQp2ciMCaiQBCygBAX9BfyMDcyMBcSMDIwBxciMCaiAAaiIBQRF0IAFBD3ZyIwNqJAILKAEBf0F/IwBzIwJxIwAjAXFyIwNqIABqIgFBDHQgAUEUdnIjAGokAwsoAQF/IwJBfyMDc3EjASMDcXIjAGogAGoiAUEFdCABQRt2ciMBaiQACygBAX8jA0F/IwBzcSMCIwBxciMBaiAAaiIBQRR0IAFBDHZyIwJqJAELKAEBfyMAQX8jAXNxIwMjAXFyIwJqIABqIgFBDnQgAUESdnIjA2okAgsoAQF/IwFBfyMCc3EjACMCcXIjA2ogAGoiAUEJdCABQRd2ciMAaiQDCyIBAX8jASMCcyMDcyMAaiAAaiIBQQR0IAFBHHZyIwFqJAALIgEBfyMCIwNzIwBzIwFqIABqIgFBF3QgAUEJdnIjAmokAQsiAQF/IwMjAHMjAXMjAmogAGoiAUEQdCABQRB2ciMDaiQCCyIBAX8jACMBcyMCcyMDaiAAaiIBQQt0IAFBFXZyIwBqJAMLJQEBf0F/IwNzIwFyIwJzIwBqIABqIgFBBnQgAUEadnIjAWokAAslAQF/QX8jAHMjAnIjA3MjAWogAGoiAUEVdCABQQt2ciMCaiQBCyUBAX9BfyMBcyMDciMAcyMCaiAAaiIBQQ90IAFBEXZyIwNqJAILJQEBf0F/IwJzIwByIwFzIwNqIABqIgFBCnQgAUEWdnIjAGokAwsEACMACwQAIwELBAAjAgsEACMDCwQAIxoLBgAgACQACwYAIAAkAQsGACAAJAILBgAgACQDCwYAIAAkGgsA6gQEbmFtZQGSAzIAA2xvZwEFbG9vcHMCBGxvb3ADBXByaW1lBAVsb29wQQUGbG9vcEExBgZsb29wQTIHBmxvb3BBMwgGbG9vcEE0CQVsb29wQgoGbG9vcEIxCwZsb29wQjIMBmxvb3BCMw0GbG9vcEI0DgVsb29wQw8GbG9vcEMxEAZsb29wQzIRBmxvb3BDMxIGbG9vcEM0EwVsb29wRBQGbG9vcEQxFQZsb29wRDIWBmxvb3BEMxcGbG9vcEQ0GAhvbmVGdWxsQRkIb25lRnVsbEIaCG9uZUZ1bGxDGwhvbmVGdWxsRBwIdHdvRnVsbEEdCHR3b0Z1bGxCHgh0d29GdWxsQx8IdHdvRnVsbEQgCHRyZUZ1bGxBIQh0cmVGdWxsQiIIdHJlRnVsbEMjCHRyZUZ1bGxEJAhxdWFGdWxsQSUIcXVhRnVsbEImCHF1YUZ1bGxDJwhxdWFGdWxsRCgEZ2V0QSkEZ2V0QioEZ2V0QysEZ2V0RCwEZ2V0WC0Ec2V0QS4Ec2V0Qi8Ec2V0QzAEc2V0RDEEc2V0WALNATIAAQAAAQIAAAEIbnVtbG9vcHMCAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgCAAABAW4ZAgAAAQFuGgIAAAEBbhsCAAABAW4cAgAAAQFuHQIAAAEBbh4CAAABAW4fAgAAAQFuIAIAAAEBbiECAAABAW4iAgAAAQFuIwIAAAEBbiQCAAABAW4lAgAAAQFuJgIAAAEBbicCAAABAW4oACkAKgArACwALQEAAC4BAAAvAQAAMAEAADEBAAA="),rF=typeof WebAssembly<"u"&&$te?$te.buffer:!1,mu=ILe(),nF=240*16*16,Wte=Math.floor(nF*16*1.066666667),ALe=268435456-65536,ELe="Parameter must be ArrayBuffer, ArrayBufferView or string",TLe="Parameter exceeds max size of 255.9 Mbytes";rF||console.log("WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript");function iF(e){var t,r,n,i,a,o,s,u,c,l;let f=kLe(),d=SLe(),p={},h=new Date().getTime();return p.then=function(y){return s=y,g(),p},p.catch=function(y){return u=y,p},o=OLe(e),o||x(new TypeError(ELe)),o&&(a=o.length,rF&&a>Wte?a>ALe?x(new Error(TLe)):(t=new WebAssembly.Memory({initial:a>32e6?a>64e6?a>128e6?4096:2048:1024:512}),r=new Uint32Array(t.buffer),i={mem:t,log:console.log},n={imports:i},WebAssembly.instantiate(rF,n).then(m)):g(f(o))),p;function m(y){g(d(o,y.instance.exports,r))}function g(y){var w=Boolean(y)?y:c;Boolean(y)&&(l=new Date().getTime()),typeof s=="function"?Boolean(w)&&(s(w,l-h),s=u=null):Boolean(y)&&(c=y)}function x(y){typeof u=="function"&&u(y)}}function SLe(){var e,t,r,n,i,a,o,s,u,c,l,f,d,p=function(h){var m,g,x,y,w,T,A,D,F,j,k,I,P,L,G,V,X,Y,he,le,me,de,ke=new Date().getTime(),Fe=0,J=1732584193,N=-271733879,K=-1732584194,Q=271733878,Oe=0,Le=h.length*8,Je;for(Je=be(h,d),d[Le>>>5]|=128<<Le%32,d[(Le+64>>>9<<4)+14]=Le,Je=(Le+64>>>9<<4)+15,me=d;Oe<Je;)Je>Oe+Wte?(n(J),a(N),s(K),c(Q),t(nF),Oe=Oe+nF*16,J=r(),N=i(),K=o(),Q=u(),Fe++):(X=J,Y=N,he=K,le=Q,m=me[Oe+0]>>>0,g=me[Oe+1]>>>0,x=me[Oe+2]>>>0,y=me[Oe+3]>>>0,w=me[Oe+4]>>>0,T=me[Oe+5]>>>0,A=me[Oe+6]>>>0,D=me[Oe+7]>>>0,F=me[Oe+8]>>>0,j=me[Oe+9]>>>0,k=me[Oe+10]>>>0,I=me[Oe+11]>>>0,P=me[Oe+12]>>>0,L=me[Oe+13]>>>0,G=me[Oe+14]>>>0,V=me[Oe+15]>>>0,J=ie(7,25,J+(N&K|~N&Q)+m-680876936)+N,Q=ie(12,20,Q+(J&N|~J&K)+g-389564586)+J,K=ie(17,15,K+(Q&J|~Q&N)+x+606105819)+Q,N=ie(22,10,N+(K&Q|~K&J)+y-1044525330)+K,J=ie(7,25,J+(N&K|~N&Q)+w-176418897)+N,Q=ie(12,20,Q+(J&N|~J&K)+T+1200080426)+J,K=ie(17,15,K+(Q&J|~Q&N)+A-1473231341)+Q,N=ie(22,10,N+(K&Q|~K&J)+D-45705983)+K,J=ie(7,25,J+(N&K|~N&Q)+F+1770035416)+N,Q=ie(12,20,Q+(J&N|~J&K)+j-1958414417)+J,K=ie(17,15,K+(Q&J|~Q&N)+k-42063)+Q,N=ie(22,10,N+(K&Q|~K&J)+I-1990404162)+K,J=ie(7,25,J+(N&K|~N&Q)+P+1804603682)+N,Q=ie(12,20,Q+(J&N|~J&K)+L-40341101)+J,K=ie(17,15,K+(Q&J|~Q&N)+G-1502002290)+Q,N=ie(22,10,N+(K&Q|~K&J)+V+1236535329)+K,J=ie(5,27,J+(N&Q|K&~Q)+g-165796510)+N,Q=ie(9,23,Q+(J&K|N&~K)+A-1069501632)+J,K=ie(14,18,K+(Q&N|J&~N)+I+643717713)+Q,N=ie(20,12,N+(K&J|Q&~J)+m-373897302)+K,J=ie(5,27,J+(N&Q|K&~Q)+T-701558691)+N,Q=ie(9,23,Q+(J&K|N&~K)+k+38016083)+J,K=ie(14,18,K+(Q&N|J&~N)+V-660478335)+Q,N=ie(20,12,N+(K&J|Q&~J)+w-405537848)+K,J=ie(5,27,J+(N&Q|K&~Q)+j+568446438)+N,Q=ie(9,23,Q+(J&K|N&~K)+G-1019803690)+J,K=ie(14,18,K+(Q&N|J&~N)+y-187363961)+Q,N=ie(20,12,N+(K&J|Q&~J)+F+1163531501)+K,J=ie(5,27,J+(N&Q|K&~Q)+L-1444681467)+N,Q=ie(9,23,Q+(J&K|N&~K)+x-51403784)+J,K=ie(14,18,K+(Q&N|J&~N)+D+1735328473)+Q,N=ie(20,12,N+(K&J|Q&~J)+P-1926607734)+K,J=ie(4,28,J+(N^K^Q)+T-378558)+N,Q=ie(11,21,Q+(J^N^K)+F-2022574463)+J,K=ie(16,16,K+(Q^J^N)+I+1839030562)+Q,N=ie(23,9,N+(K^Q^J)+G-35309556)+K,J=ie(4,28,J+(N^K^Q)+g-1530992060)+N,Q=ie(11,21,Q+(J^N^K)+w+1272893353)+J,K=ie(16,16,K+(Q^J^N)+D-155497632)+Q,N=ie(23,9,N+(K^Q^J)+k-1094730640)+K,J=ie(4,28,J+(N^K^Q)+L+681279174)+N,Q=ie(11,21,Q+(J^N^K)+m-358537222)+J,K=ie(16,16,K+(Q^J^N)+y-722521979)+Q,N=ie(23,9,N+(K^Q^J)+A+76029189)+K,J=ie(4,28,J+(N^K^Q)+j-640364487)+N,Q=ie(11,21,Q+(J^N^K)+P-421815835)+J,K=ie(16,16,K+(Q^J^N)+V+530742520)+Q,N=ie(23,9,N+(K^Q^J)+x-995338651)+K,J=ie(6,26,J+(K^(N|~Q))+m-198630844)+N,Q=ie(10,22,Q+(N^(J|~K))+D+1126891415)+J,K=ie(15,17,K+(J^(Q|~N))+G-1416354905)+Q,N=ie(21,11,N+(Q^(K|~J))+T-57434055)+K,J=ie(6,26,J+(K^(N|~Q))+P+1700485571)+N,Q=ie(10,22,Q+(N^(J|~K))+y-1894986606)+J,K=ie(15,17,K+(J^(Q|~N))+k-1051523)+Q,N=ie(21,11,N+(Q^(K|~J))+g-2054922799)+K,J=ie(6,26,J+(K^(N|~Q))+F+1873313359)+N,Q=ie(10,22,Q+(N^(J|~K))+V-30611744)+J,K=ie(15,17,K+(J^(Q|~N))+A-1560198380)+Q,N=ie(21,11,N+(Q^(K|~J))+L+1309151649)+K,J=ie(6,26,J+(K^(N|~Q))+w-145523070)+N,Q=ie(10,22,Q+(N^(J|~K))+I-1120210379)+J,K=ie(15,17,K+(J^(Q|~N))+x+718787259)+Q,N=ie(21,11,N+(Q^(K|~J))+j-343485551)+K,Oe=Oe+16,J=J+X>>>0,N=N+Y>>>0,K=K+he>>>0,Q=Q+le>>>0);return mu.endian([J,N,K,Q]);function ie(ge,Ye,Ee){return Ee<<ge|Ee>>>Ye}function be(ge,Ye){for(var Ee=-1,nt=Math.floor((ge.length-1)/4),xt=0,Cr,re,Ie,$e;nt-8>Ee++;)xt=Ee<<2,Ye[Ee]=ge[xt+0]|ge[xt+1]<<8|ge[xt+2]<<16|ge[xt+3]<<24;for(Ee--;nt>Ee++;)xt=Ee<<2,Cr=typeof ge[xt+0]>"u"?0:ge[xt+0],re=typeof ge[xt+1]>"u"?0:ge[xt+1],Ie=typeof ge[xt+2]>"u"?0:ge[xt+2],$e=typeof ge[xt+3]>"u"?0:ge[xt+3],Ye[Ee]=Cr|re<<8|Ie<<16|$e<<24;return nt+1}};return function(h,m,g,x){var y;return t=m.loops,e=m.loop,r=m.getA,i=m.getB,o=m.getC,u=m.getD,l=m.getX,n=m.setA,a=m.setB,s=m.setC,c=m.setD,f=m.setX,d=g,y=mu.wordsToBytes(p(h)),x&&x.asBytes?y:mu.bytesconvertNumberToHex(y)}}function kLe(){var e=function(t,r){var n,i,a,o,s,u,c,l,f,d,p,h,m,g,x,y,w,T,A,D,F,j=new Date().getTime(),k=1732584193,I=-271733879,P=-1732584194,L=271733878,G=t.length*8;F=mu.bytesToWords(t);for(var V=0;V<F.length;V++)F[V]=(F[V]<<8|F[V]>>>24)&16711935|(F[V]<<24|F[V]>>>8)&4278255360;F[G>>>5]|=128<<G%32,F[(G+64>>>9<<4)+14]=G;for(var X=0;X<F.length;X+=16)w=k,T=I,A=P,D=L,n=F[X+0]>>>0,i=F[X+1]>>>0,a=F[X+2]>>>0,o=F[X+3]>>>0,s=F[X+4]>>>0,u=F[X+5]>>>0,c=F[X+6]>>>0,l=F[X+7]>>>0,f=F[X+8]>>>0,d=F[X+9]>>>0,p=F[X+10]>>>0,h=F[X+11]>>>0,m=F[X+12]>>>0,g=F[X+13]>>>0,x=F[X+14]>>>0,y=F[X+15]>>>0,k=Y(7,25,k+(I&P|~I&L)+n-680876936)+I,L=Y(12,20,L+(k&I|~k&P)+i-389564586)+k,P=Y(17,15,P+(L&k|~L&I)+a+606105819)+L,I=Y(22,10,I+(P&L|~P&k)+o-1044525330)+P,k=Y(7,25,k+(I&P|~I&L)+s-176418897)+I,L=Y(12,20,L+(k&I|~k&P)+u+1200080426)+k,P=Y(17,15,P+(L&k|~L&I)+c-1473231341)+L,I=Y(22,10,I+(P&L|~P&k)+l-45705983)+P,k=Y(7,25,k+(I&P|~I&L)+f+1770035416)+I,L=Y(12,20,L+(k&I|~k&P)+d-1958414417)+k,P=Y(17,15,P+(L&k|~L&I)+p-42063)+L,I=Y(22,10,I+(P&L|~P&k)+h-1990404162)+P,k=Y(7,25,k+(I&P|~I&L)+m+1804603682)+I,L=Y(12,20,L+(k&I|~k&P)+g-40341101)+k,P=Y(17,15,P+(L&k|~L&I)+x-1502002290)+L,I=Y(22,10,I+(P&L|~P&k)+y+1236535329)+P,k=Y(5,27,k+(I&L|P&~L)+i-165796510)+I,L=Y(9,23,L+(k&P|I&~P)+c-1069501632)+k,P=Y(14,18,P+(L&I|k&~I)+h+643717713)+L,I=Y(20,12,I+(P&k|L&~k)+n-373897302)+P,k=Y(5,27,k+(I&L|P&~L)+u-701558691)+I,L=Y(9,23,L+(k&P|I&~P)+p+38016083)+k,P=Y(14,18,P+(L&I|k&~I)+y-660478335)+L,I=Y(20,12,I+(P&k|L&~k)+s-405537848)+P,k=Y(5,27,k+(I&L|P&~L)+d+568446438)+I,L=Y(9,23,L+(k&P|I&~P)+x-1019803690)+k,P=Y(14,18,P+(L&I|k&~I)+o-187363961)+L,I=Y(20,12,I+(P&k|L&~k)+f+1163531501)+P,k=Y(5,27,k+(I&L|P&~L)+g-1444681467)+I,L=Y(9,23,L+(k&P|I&~P)+a-51403784)+k,P=Y(14,18,P+(L&I|k&~I)+l+1735328473)+L,I=Y(20,12,I+(P&k|L&~k)+m-1926607734)+P,k=Y(4,28,k+(I^P^L)+u-378558)+I,L=Y(11,21,L+(k^I^P)+f-2022574463)+k,P=Y(16,16,P+(L^k^I)+h+1839030562)+L,I=Y(23,9,I+(P^L^k)+x-35309556)+P,k=Y(4,28,k+(I^P^L)+i-1530992060)+I,L=Y(11,21,L+(k^I^P)+s+1272893353)+k,P=Y(16,16,P+(L^k^I)+l-155497632)+L,I=Y(23,9,I+(P^L^k)+p-1094730640)+P,k=Y(4,28,k+(I^P^L)+g+681279174)+I,L=Y(11,21,L+(k^I^P)+n-358537222)+k,P=Y(16,16,P+(L^k^I)+o-722521979)+L,I=Y(23,9,I+(P^L^k)+c+76029189)+P,k=Y(4,28,k+(I^P^L)+d-640364487)+I,L=Y(11,21,L+(k^I^P)+m-421815835)+k,P=Y(16,16,P+(L^k^I)+y+530742520)+L,I=Y(23,9,I+(P^L^k)+a-995338651)+P,k=Y(6,26,k+(P^(I|~L))+n-198630844)+I,L=Y(10,22,L+(I^(k|~P))+l+1126891415)+k,P=Y(15,17,P+(k^(L|~I))+x-1416354905)+L,I=Y(21,11,I+(L^(P|~k))+u-57434055)+P,k=Y(6,26,k+(P^(I|~L))+m+1700485571)+I,L=Y(10,22,L+(I^(k|~P))+o-1894986606)+k,P=Y(15,17,P+(k^(L|~I))+p-1051523)+L,I=Y(21,11,I+(L^(P|~k))+i-2054922799)+P,k=Y(6,26,k+(P^(I|~L))+f+1873313359)+I,L=Y(10,22,L+(I^(k|~P))+y-30611744)+k,P=Y(15,17,P+(k^(L|~I))+c-1560198380)+L,I=Y(21,11,I+(L^(P|~k))+g+1309151649)+P,k=Y(6,26,k+(P^(I|~L))+s-145523070)+I,L=Y(10,22,L+(I^(k|~P))+h-1120210379)+k,P=Y(15,17,P+(k^(L|~I))+a+718787259)+L,I=Y(21,11,I+(L^(P|~k))+d-343485551)+P,k=k+w>>>0,I=I+T>>>0,P=P+A>>>0,L=L+D>>>0;return mu.endian([k,I,P,L]);function Y(he,le,me){return me<<he|me>>>le}};return function(t,r){var n=mu.wordsToBytes(e(t,r)),i=r&&r.asBytes?n:mu.bytesconvertNumberToHex(n);return i}}function CLe(e){try{return DLe(e)}catch{return null}}function DLe(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");return typeof atob=="function"?FLe(atob(t)):BLe(t)}function BLe(e){for(var t=e.endsWith("==")?2:e.endsWith("=")?1:0,r=e.length*3/4-t,n=new Uint8Array(r),i=0,a=0,o,s,u,c;a<e.length;){if(o=ww.indexOf(e.charAt(a++)),s=ww.indexOf(e.charAt(a++)),u=ww.indexOf(e.charAt(a++)),c=ww.indexOf(e.charAt(a++)),o<0||s<0||u<0||c<0)throw new TypeError("Invalid base64 input");n[i++]=o<<2|s>>4,u<64&&i<r&&(n[i++]=(s&15)<<4|u>>2),c<64&&i<r&&(n[i++]=(u&3)<<6|c)}return n}function FLe(e){for(var t=e.length,r=new Uint8Array(t),n=0;n<t;)r[n]=e.charCodeAt(n),n++;return r}function OLe(e){return e instanceof Uint8Array?e:typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer?new Uint8Array(e):e&&typeof e=="object"&&ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):typeof e=="string"?new TextEncoder().encode(e):null}function ILe(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";return{rotl:function(t,r){return t<<r|t>>>32-r},endian:function(t){if(t.constructor==Number)return mu.rotl(t,8)&16711935|mu.rotl(t,24)&4278255360;for(var r=0;r<t.length;r++)t[r]=mu.endian(t[r]);return t},bytesToWords:function(t){for(var r=[],n=0,i=0;n<t.length;n++,i+=8)r[i>>>5]|=t[n]<<24-i%32;return r},wordsToBytes:function(t){for(var r=[],n=0;n<t.length*32;n+=8)r.push(t[n>>>5]>>>24-n%32&255);return r},bytesconvertNumberToHex:function(t){for(var r=[],n=0;n<t.length;n++)r.push((t[n]>>>4).toString(16)),r.push((t[n]&15).toString(16));return r.join("")}}}var gu=class extends wc{name="md5";options;constructor(t={}){super(),this.options=t}async hash(t,r){let i=await new Promise((a,o)=>iF(t).then(a).catch(o));return Hte(i,r)}};var Gb=Dt(require("crypto"),1),Aw=class extends wc{name="crypto-node";options;_algorithm;_hash;constructor(t){var r,n;if(super(),this.options=t,!((n=(r=this.options)==null?void 0:r.crypto)!=null&&n.algorithm))throw new Error(this.name)}async hash(t,r){var i,a,o,s;let n=(o=(a=(i=this.options)==null?void 0:i.crypto)==null?void 0:a.algorithm)==null?void 0:o.toLowerCase();try{if(!Gb.createHash)throw new Error("crypto.createHash not available");let u=(s=Gb.createHash)==null?void 0:s(n),c=new Uint8Array(t);return u.update(c).digest("base64")}catch(u){throw Error(`${n} hash not available. ${u}`)}}async*hashBatches(t,r="base64"){var a,o,s,u,c,l,f;if(!Gb.createHash)throw new Error("crypto.createHash not available");let n=(u=Gb.createHash)==null?void 0:u((s=(o=(a=this.options)==null?void 0:a.crypto)==null?void 0:o.algorithm)==null?void 0:s.toLowerCase());for await(let d of t){let p=new Uint8Array(d);n.update(p),yield d}let i=n.digest(r);(f=(l=(c=this.options)==null?void 0:c.crypto)==null?void 0:l.onEnd)==null||f.call(l,{hash:i})}};var Tne=require("process");var Kte=Dt(require("stream"),1),aF=class{},PLe=Kte.Readable||aF;function sF(e,t){let r=e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]();return new oF(r,t)}var oF=class extends PLe{_pulling;_bytesMode;_iterator;constructor(t,r){super(r),this._iterator=t,this._pulling=!1,this._bytesMode=!r||!r.objectMode}async _read(t){this._pulling||(this._pulling=!0,this._pulling=await this._pull(t,this._iterator))}async _destroy(t,r){var n,i,a,o;this._iterator&&(t?await((i=(n=this._iterator)==null?void 0:n.throw)==null?void 0:i.call(n,t)):await((o=(a=this._iterator)==null?void 0:a.return)==null?void 0:o.call(a,t)),r==null||r(null))}async _pull(t,r){var a;let n=this._bytesMode,i=null;for(;this.readable&&!(i=await r.next()).done&&(t!==null&&(t-=n&&ArrayBuffer.isView(i.value)?i.value.byteLength:1),!(!this.push(new Uint8Array(i.value))||t<=0)););return(i!=null&&i.done||!this.readable)&&(this.push(null)||!0)&&((a=r==null?void 0:r.return)==null||a.call(r)),!this.readable}};function Kb(){}function Tn(e){return typeof e=="object"&&e!==null||typeof e=="function"}var hre=Kb;function rr(e,t){try{Object.defineProperty(e,"name",{value:t,configurable:!0})}catch{}}var kF=Promise,RLe=Promise.resolve.bind(kF),jLe=Promise.prototype.then,MLe=Promise.reject.bind(kF),LLe=RLe;function jn(e){return new kF(e)}function nr(e){return jn(t=>t(e))}function it(e){return MLe(e)}function yu(e,t,r){return jLe.call(e,t,r)}function Aa(e,t,r){yu(yu(e,t,r),void 0,hre)}function uF(e,t){Aa(e,t)}function vF(e,t){Aa(e,void 0,t)}function Cc(e,t,r){return yu(e,t,r)}function A0(e){yu(e,void 0,hre)}var Hd=e=>{if(typeof queueMicrotask=="function")Hd=queueMicrotask;else{let t=nr(void 0);Hd=r=>yu(t,r)}return Hd(e)};function Vd(e,t,r){if(typeof e!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(e,t,r)}function Bc(e,t,r){try{return nr(Vd(e,t,r))}catch(n){return it(n)}}var Ea=class{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(t){let r=this._back,n=r;r._elements.length===16383&&(n={_elements:[],_next:void 0}),r._elements.push(t),n!==r&&(this._back=n,r._next=n),++this._size}shift(){let t=this._front,r=t,n=this._cursor,i=n+1,a=t._elements,o=a[n];return i===16384&&(r=t._next,i=0),--this._size,this._cursor=i,t!==r&&(this._front=r),a[n]=void 0,o}forEach(t){let r=this._cursor,n=this._front,i=n._elements;for(;!(r===i.length&&n._next===void 0||r===i.length&&(n=n._next,i=n._elements,r=0,i.length===0));)t(i[r]),++r}peek(){let t=this._front,r=this._cursor;return t._elements[r]}},mre=Symbol("[[AbortSteps]]"),gre=Symbol("[[ErrorSteps]]"),CF=Symbol("[[CancelSteps]]"),DF=Symbol("[[PullSteps]]"),BF=Symbol("[[ReleaseSteps]]");function vre(e,t){e._ownerReadableStream=t,t._reader=e,t._state==="readable"?bF(e):t._state==="closed"?function(r){bF(r),xre(r)}(e):bre(e,t._storedError)}function FF(e,t){return ps(e._ownerReadableStream,t)}function kc(e){let t=e._ownerReadableStream;t._state==="readable"?OF(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):function(r,n){bre(r,n)}(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),t._readableStreamController[BF](),t._reader=void 0,e._ownerReadableStream=void 0}function Lw(e){return new TypeError("Cannot "+e+" a stream using a released reader")}function bF(e){e._closedPromise=jn((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r})}function bre(e,t){bF(e),OF(e,t)}function OF(e,t){e._closedPromise_reject!==void 0&&(A0(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}function xre(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}var Jte=Number.isFinite||function(e){return typeof e=="number"&&isFinite(e)},qLe=Math.trunc||function(e){return e<0?Math.ceil(e):Math.floor(e)};function _u(e,t){if(e!==void 0&&typeof(r=e)!="object"&&typeof r!="function")throw new TypeError(`${t} is not an object.`);var r}function Ao(e,t){if(typeof e!="function")throw new TypeError(`${t} is not a function.`)}function yre(e,t){if(!function(r){return typeof r=="object"&&r!==null||typeof r=="function"}(e))throw new TypeError(`${t} is not an object.`)}function Dc(e,t,r){if(e===void 0)throw new TypeError(`Parameter ${t} is required in '${r}'.`)}function xF(e,t,r){if(e===void 0)throw new TypeError(`${t} is required in '${r}'.`)}function IF(e){return Number(e)}function Xte(e){return e===0?0:e}function PF(e,t){let r=Number.MAX_SAFE_INTEGER,n=Number(e);if(n=Xte(n),!Jte(n))throw new TypeError(`${t} is not a finite number`);if(n=function(i){return Xte(qLe(i))}(n),n<0||n>r)throw new TypeError(`${t} is outside the accepted range of 0 to ${r}, inclusive`);return Jte(n)&&n!==0?n:0}function RF(e,t){if(!Wl(e))throw new TypeError(`${t} is not a ReadableStream.`)}function b0(e){return new Ac(e)}function _re(e,t){e._reader._readRequests.push(t)}function jF(e,t,r){let n=e._reader._readRequests.shift();r?n._closeSteps():n._chunkSteps(t)}function $w(e){return e._reader._readRequests.length}function wre(e){let t=e._reader;return t!==void 0&&!!Kl(t)}var Ac=class{constructor(t){if(Dc(t,1,"ReadableStreamDefaultReader"),RF(t,"First parameter"),Xl(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");vre(this,t),this._readRequests=new Ea}get closed(){return Kl(this)?this._closedPromise:it(Ew("closed"))}cancel(t=void 0){return Kl(this)?this._ownerReadableStream===void 0?it(Lw("cancel")):FF(this,t):it(Ew("cancel"))}read(){if(!Kl(this))return it(Ew("read"));if(this._ownerReadableStream===void 0)return it(Lw("read from"));let t,r,n=jn((i,a)=>{t=i,r=a});return Jb(this,{_chunkSteps:i=>t({value:i,done:!1}),_closeSteps:()=>t({value:void 0,done:!0}),_errorSteps:i=>r(i)}),n}releaseLock(){if(!Kl(this))throw Ew("releaseLock");this._ownerReadableStream!==void 0&&function(t){kc(t);let r=new TypeError("Reader was released");Are(t,r)}(this)}};function Kl(e){return!!Tn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readRequests")&&e instanceof Ac}function Jb(e,t){let r=e._ownerReadableStream;r._disturbed=!0,r._state==="closed"?t._closeSteps():r._state==="errored"?t._errorSteps(r._storedError):r._readableStreamController[DF](t)}function Are(e,t){let r=e._readRequests;e._readRequests=new Ea,r.forEach(n=>{n._errorSteps(t)})}function Ew(e){return new TypeError(`ReadableStreamDefaultReader.prototype.${e} can only be used on a ReadableStreamDefaultReader`)}var cF,lF,fF;function Hb(e){return e.slice()}function Ere(e,t,r,n,i){new Uint8Array(e).set(new Uint8Array(r,n,i),t)}Object.defineProperties(Ac.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),rr(Ac.prototype.cancel,"cancel"),rr(Ac.prototype.read,"read"),rr(Ac.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Ac.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});var $d=e=>($d=typeof e.transfer=="function"?t=>t.transfer():typeof structuredClone=="function"?t=>structuredClone(t,{transfer:[t]}):t=>t,$d(e)),Wd=e=>(Wd=typeof e.detached=="boolean"?t=>t.detached:t=>t.byteLength===0,Wd(e));function Tre(e,t,r){if(e.slice)return e.slice(t,r);let n=r-t,i=new ArrayBuffer(n);return Ere(i,0,e,t,n),i}function Vb(e,t){let r=e[t];if(r!=null){if(typeof r!="function")throw new TypeError(`${String(t)} is not a function`);return r}}function Yte(e){try{let t=e.done,r=e.value;return yu(LLe(r),n=>({done:t,value:n}))}catch(t){return it(t)}}var nx=(fF=(cF=Symbol.asyncIterator)!==null&&cF!==void 0?cF:(lF=Symbol.for)===null||lF===void 0?void 0:lF.call(Symbol,"Symbol.asyncIterator"))!==null&&fF!==void 0?fF:"@@asyncIterator";function Sre(e,t="sync",r){if(r===void 0)if(t==="async"){if((r=Vb(e,nx))===void 0)return function(i){let a={next(){let o;try{o=kre(i)}catch(s){return it(s)}return Yte(o)},return(o){let s;try{let u=Vb(i.iterator,"return");if(u===void 0)return nr({done:!0,value:o});s=Vd(u,i.iterator,[o])}catch(u){return it(u)}return Tn(s)?Yte(s):it(new TypeError("The iterator.return() method must return an object"))}};return{iterator:a,nextMethod:a.next,done:!1}}(Sre(e,"sync",Vb(e,Symbol.iterator)))}else r=Vb(e,Symbol.iterator);if(r===void 0)throw new TypeError("The object is not iterable");let n=Vd(r,e,[]);if(!Tn(n))throw new TypeError("The iterator method must return an object");return{iterator:n,nextMethod:n.next,done:!1}}function kre(e){let t=Vd(e.nextMethod,e.iterator,[]);if(!Tn(t))throw new TypeError("The iterator.next() method must return an object");return t}var qw=class{constructor(t,r){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=t,this._preventCancel=r}next(){let t=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?Cc(this._ongoingPromise,t,t):t(),this._ongoingPromise}return(t){let r=()=>this._returnSteps(t);return this._ongoingPromise?Cc(this._ongoingPromise,r,r):r()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let t=this._reader,r,n,i=jn((a,o)=>{r=a,n=o});return Jb(t,{_chunkSteps:a=>{this._ongoingPromise=void 0,Hd(()=>r({value:a,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,kc(t),r({value:void 0,done:!0})},_errorSteps:a=>{this._ongoingPromise=void 0,this._isFinished=!0,kc(t),n(a)}}),i}_returnSteps(t){if(this._isFinished)return Promise.resolve({value:t,done:!0});this._isFinished=!0;let r=this._reader;if(!this._preventCancel){let n=FF(r,t);return kc(r),Cc(n,()=>({value:t,done:!0}))}return kc(r),nr({value:t,done:!0})}},Cre={next(){return Qte(this)?this._asyncIteratorImpl.next():it(Zte("next"))},return(e){return Qte(this)?this._asyncIteratorImpl.return(e):it(Zte("return"))},[nx](){return this}};function Qte(e){if(!Tn(e)||!Object.prototype.hasOwnProperty.call(e,"_asyncIteratorImpl"))return!1;try{return e._asyncIteratorImpl instanceof qw}catch{return!1}}function Zte(e){return new TypeError(`ReadableStreamAsyncIterator.${e} can only be used on a ReadableSteamAsyncIterator`)}Object.defineProperty(Cre,nx,{enumerable:!1});var Dre=Number.isNaN||function(e){return e!=e};function ere(e){let t=Tre(e.buffer,e.byteOffset,e.byteOffset+e.byteLength);return new Uint8Array(t)}function yF(e){let t=e._queue.shift();return e._queueTotalSize-=t.size,e._queueTotalSize<0&&(e._queueTotalSize=0),t.value}function MF(e,t,r){if(typeof(n=r)!="number"||Dre(n)||n<0||r===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");var n;e._queue.push({value:t,size:r}),e._queueTotalSize+=r}function Yl(e){e._queue=new Ea,e._queueTotalSize=0}function Bre(e){return e===DataView}var Jl=class{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!dF(this))throw pF("view");return this._view}respond(t){if(!dF(this))throw pF("respond");if(Dc(t,1,"respond"),t=PF(t,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Wd(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Pw(this._associatedReadableByteStreamController,t)}respondWithNewView(t){if(!dF(this))throw pF("respondWithNewView");if(Dc(t,1,"respondWithNewView"),!ArrayBuffer.isView(t))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Wd(t.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");Rw(this._associatedReadableByteStreamController,t)}};Object.defineProperties(Jl.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),rr(Jl.prototype.respond,"respond"),rr(Jl.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Jl.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});var bu=class{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!Gd(this))throw zb("byobRequest");return AF(this)}get desiredSize(){if(!Gd(this))throw zb("desiredSize");return Nre(this)}close(){if(!Gd(this))throw zb("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let t=this._controlledReadableByteStream._state;if(t!=="readable")throw new TypeError(`The stream (in ${t} state) is not in the readable state and cannot be closed`);$b(this)}enqueue(t){if(!Gd(this))throw zb("enqueue");if(Dc(t,1,"enqueue"),!ArrayBuffer.isView(t))throw new TypeError("chunk must be an array buffer view");if(t.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(t.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");let r=this._controlledReadableByteStream._state;if(r!=="readable")throw new TypeError(`The stream (in ${r} state) is not in the readable state and cannot be enqueued to`);Iw(this,t)}error(t=void 0){if(!Gd(this))throw zb("error");wo(this,t)}[CF](t){Fre(this),Yl(this);let r=this._cancelAlgorithm(t);return Ww(this),r}[DF](t){let r=this._controlledReadableByteStream;if(this._queueTotalSize>0)return void qre(this,t);let n=this._autoAllocateChunkSize;if(n!==void 0){let i;try{i=new ArrayBuffer(n)}catch(o){return void t._errorSteps(o)}let a={buffer:i,bufferByteLength:n,byteOffset:0,byteLength:n,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(a)}_re(r,t),Xd(this)}[BF](){if(this._pendingPullIntos.length>0){let t=this._pendingPullIntos.peek();t.readerType="none",this._pendingPullIntos=new Ea,this._pendingPullIntos.push(t)}}};function Gd(e){return!!Tn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableByteStream")&&e instanceof bu}function dF(e){return!!Tn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_associatedReadableByteStreamController")&&e instanceof Jl}function Xd(e){if(function(r){let n=r._controlledReadableByteStream;return n._state!=="readable"||r._closeRequested||!r._started?!1:!!(wre(n)&&$w(n)>0||qF(n)&&zre(n)>0||Nre(r)>0)}(e)){if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0,Aa(e._pullAlgorithm(),()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,Xd(e)),null),r=>(wo(e,r),null))}}function Fre(e){LF(e),e._pendingPullIntos=new Ea}function _F(e,t){let r=!1;e._state==="closed"&&(r=!0);let n=Ore(t);t.readerType==="default"?jF(e,n,r):function(i,a,o){let s=i._reader,u=s._readIntoRequests.shift();o?u._closeSteps(a):u._chunkSteps(a)}(e,n,r)}function Ore(e){let t=e.bytesFilled,r=e.elementSize;return new e.viewConstructor(e.buffer,e.byteOffset,t/r)}function Ow(e,t,r,n){e._queue.push({buffer:t,byteOffset:r,byteLength:n}),e._queueTotalSize+=n}function Ire(e,t,r,n){let i;try{i=Tre(t,r,r+n)}catch(a){throw wo(e,a),a}Ow(e,i,0,n)}function Pre(e,t){t.bytesFilled>0&&Ire(e,t.buffer,t.byteOffset,t.bytesFilled),x0(e)}function Rre(e,t){let r=Math.min(e._queueTotalSize,t.byteLength-t.bytesFilled),n=t.bytesFilled+r,i=r,a=!1,o=n-n%t.elementSize;o>=t.minimumFill&&(i=o-t.bytesFilled,a=!0);let s=e._queue;for(;i>0;){let u=s.peek(),c=Math.min(i,u.byteLength),l=t.byteOffset+t.bytesFilled;Ere(t.buffer,l,u.buffer,u.byteOffset,c),u.byteLength===c?s.shift():(u.byteOffset+=c,u.byteLength-=c),e._queueTotalSize-=c,jre(e,c,t),i-=c}return a}function jre(e,t,r){r.bytesFilled+=t}function Mre(e){e._queueTotalSize===0&&e._closeRequested?(Ww(e),ix(e._controlledReadableByteStream)):Xd(e)}function LF(e){e._byobRequest!==null&&(e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=null,e._byobRequest=null)}function wF(e){for(;e._pendingPullIntos.length>0;){if(e._queueTotalSize===0)return;let t=e._pendingPullIntos.peek();Rre(e,t)&&(x0(e),_F(e._controlledReadableByteStream,t))}}function NLe(e,t,r,n){let i=e._controlledReadableByteStream,a=t.constructor,o=function(d){return Bre(d)?1:d.BYTES_PER_ELEMENT}(a),{byteOffset:s,byteLength:u}=t,c=r*o,l;try{l=$d(t.buffer)}catch(d){return void n._errorSteps(d)}let f={buffer:l,bufferByteLength:l.byteLength,byteOffset:s,byteLength:u,bytesFilled:0,minimumFill:c,elementSize:o,viewConstructor:a,readerType:"byob"};if(e._pendingPullIntos.length>0)return e._pendingPullIntos.push(f),void tre(i,n);if(i._state!=="closed"){if(e._queueTotalSize>0){if(Rre(e,f)){let d=Ore(f);return Mre(e),void n._chunkSteps(d)}if(e._closeRequested){let d=new TypeError("Insufficient bytes to fill elements in the given buffer");return wo(e,d),void n._errorSteps(d)}}e._pendingPullIntos.push(f),tre(i,n),Xd(e)}else{let d=new a(f.buffer,f.byteOffset,0);n._closeSteps(d)}}function Lre(e,t){let r=e._pendingPullIntos.peek();LF(e),e._controlledReadableByteStream._state==="closed"?function(n,i){i.readerType==="none"&&x0(n);let a=n._controlledReadableByteStream;if(qF(a))for(;zre(a)>0;)_F(a,x0(n))}(e,r):function(n,i,a){if(jre(0,i,a),a.readerType==="none")return Pre(n,a),void wF(n);if(a.bytesFilled<a.minimumFill)return;x0(n);let o=a.bytesFilled%a.elementSize;if(o>0){let s=a.byteOffset+a.bytesFilled;Ire(n,a.buffer,s-o,o)}a.bytesFilled-=o,_F(n._controlledReadableByteStream,a),wF(n)}(e,t,r),Xd(e)}function x0(e){return e._pendingPullIntos.shift()}function Ww(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0}function $b(e){let t=e._controlledReadableByteStream;if(!e._closeRequested&&t._state==="readable")if(e._queueTotalSize>0)e._closeRequested=!0;else{if(e._pendingPullIntos.length>0){let r=e._pendingPullIntos.peek();if(r.bytesFilled%r.elementSize!=0){let n=new TypeError("Insufficient bytes to fill elements in the given buffer");throw wo(e,n),n}}Ww(e),ix(t)}}function Iw(e,t){let r=e._controlledReadableByteStream;if(e._closeRequested||r._state!=="readable")return;let{buffer:n,byteOffset:i,byteLength:a}=t;if(Wd(n))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let o=$d(n);if(e._pendingPullIntos.length>0){let s=e._pendingPullIntos.peek();if(Wd(s.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");LF(e),s.buffer=$d(s.buffer),s.readerType==="none"&&Pre(e,s)}wre(r)?(function(s){let u=s._controlledReadableByteStream._reader;for(;u._readRequests.length>0;){if(s._queueTotalSize===0)return;qre(s,u._readRequests.shift())}}(e),$w(r)===0?Ow(e,o,i,a):(e._pendingPullIntos.length>0&&x0(e),jF(r,new Uint8Array(o,i,a),!1))):qF(r)?(Ow(e,o,i,a),wF(e)):Ow(e,o,i,a),Xd(e)}function wo(e,t){let r=e._controlledReadableByteStream;r._state==="readable"&&(Fre(e),Yl(e),Ww(e),cne(r,t))}function qre(e,t){let r=e._queue.shift();e._queueTotalSize-=r.byteLength,Mre(e);let n=new Uint8Array(r.buffer,r.byteOffset,r.byteLength);t._chunkSteps(n)}function AF(e){if(e._byobRequest===null&&e._pendingPullIntos.length>0){let t=e._pendingPullIntos.peek(),r=new Uint8Array(t.buffer,t.byteOffset+t.bytesFilled,t.byteLength-t.bytesFilled),n=Object.create(Jl.prototype);(function(i,a,o){i._associatedReadableByteStreamController=a,i._view=o})(n,e,r),e._byobRequest=n}return e._byobRequest}function Nre(e){let t=e._controlledReadableByteStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function Pw(e,t){let r=e._pendingPullIntos.peek();if(e._controlledReadableByteStream._state==="closed"){if(t!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(t===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(r.bytesFilled+t>r.byteLength)throw new RangeError("bytesWritten out of range")}r.buffer=$d(r.buffer),Lre(e,t)}function Rw(e,t){let r=e._pendingPullIntos.peek();if(e._controlledReadableByteStream._state==="closed"){if(t.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(t.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(r.byteOffset+r.bytesFilled!==t.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(r.bufferByteLength!==t.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(r.bytesFilled+t.byteLength>r.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let n=t.byteLength;r.buffer=$d(t.buffer),Lre(e,n)}function Ure(e,t,r,n,i,a,o){t._controlledReadableByteStream=e,t._pullAgain=!1,t._pulling=!1,t._byobRequest=null,t._queue=t._queueTotalSize=void 0,Yl(t),t._closeRequested=!1,t._started=!1,t._strategyHWM=a,t._pullAlgorithm=n,t._cancelAlgorithm=i,t._autoAllocateChunkSize=o,t._pendingPullIntos=new Ea,e._readableStreamController=t,Aa(nr(r()),()=>(t._started=!0,Xd(t),null),s=>(wo(t,s),null))}function pF(e){return new TypeError(`ReadableStreamBYOBRequest.prototype.${e} can only be used on a ReadableStreamBYOBRequest`)}function zb(e){return new TypeError(`ReadableByteStreamController.prototype.${e} can only be used on a ReadableByteStreamController`)}function ULe(e,t){if((e=`${e}`)!="byob")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamReaderMode`);return e}function Gre(e){return new Ec(e)}function tre(e,t){e._reader._readIntoRequests.push(t)}function zre(e){return e._reader._readIntoRequests.length}function qF(e){let t=e._reader;return t!==void 0&&!!zd(t)}Object.defineProperties(bu.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),rr(bu.prototype.close,"close"),rr(bu.prototype.enqueue,"enqueue"),rr(bu.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(bu.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});var Ec=class{constructor(t){if(Dc(t,1,"ReadableStreamBYOBReader"),RF(t,"First parameter"),Xl(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!Gd(t._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");vre(this,t),this._readIntoRequests=new Ea}get closed(){return zd(this)?this._closedPromise:it(Tw("closed"))}cancel(t=void 0){return zd(this)?this._ownerReadableStream===void 0?it(Lw("cancel")):FF(this,t):it(Tw("cancel"))}read(t,r={}){if(!zd(this))return it(Tw("read"));if(!ArrayBuffer.isView(t))return it(new TypeError("view must be an array buffer view"));if(t.byteLength===0)return it(new TypeError("view must have non-zero byteLength"));if(t.buffer.byteLength===0)return it(new TypeError("view's buffer must have non-zero byteLength"));if(Wd(t.buffer))return it(new TypeError("view's buffer has been detached"));let n;try{n=function(u,c){var l;return _u(u,c),{min:PF((l=u==null?void 0:u.min)!==null&&l!==void 0?l:1,`${c} has member 'min' that`)}}(r,"options")}catch(u){return it(u)}let i=n.min;if(i===0)return it(new TypeError("options.min must be greater than 0"));if(function(u){return Bre(u.constructor)}(t)){if(i>t.byteLength)return it(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(i>t.length)return it(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return it(Lw("read from"));let a,o,s=jn((u,c)=>{a=u,o=c});return Hre(this,t,i,{_chunkSteps:u=>a({value:u,done:!1}),_closeSteps:u=>a({value:u,done:!0}),_errorSteps:u=>o(u)}),s}releaseLock(){if(!zd(this))throw Tw("releaseLock");this._ownerReadableStream!==void 0&&function(t){kc(t);let r=new TypeError("Reader was released");Vre(t,r)}(this)}};function zd(e){return!!Tn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readIntoRequests")&&e instanceof Ec}function Hre(e,t,r,n){let i=e._ownerReadableStream;i._disturbed=!0,i._state==="errored"?n._errorSteps(i._storedError):NLe(i._readableStreamController,t,r,n)}function Vre(e,t){let r=e._readIntoRequests;e._readIntoRequests=new Ea,r.forEach(n=>{n._errorSteps(t)})}function Tw(e){return new TypeError(`ReadableStreamBYOBReader.prototype.${e} can only be used on a ReadableStreamBYOBReader`)}function Xb(e,t){let{highWaterMark:r}=e;if(r===void 0)return t;if(Dre(r)||r<0)throw new RangeError("Invalid highWaterMark");return r}function Nw(e){let{size:t}=e;return t||(()=>1)}function Uw(e,t){_u(e,t);let r=e==null?void 0:e.highWaterMark,n=e==null?void 0:e.size;return{highWaterMark:r===void 0?void 0:IF(r),size:n===void 0?void 0:GLe(n,`${t} has member 'size' that`)}}function GLe(e,t){return Ao(e,t),r=>IF(e(r))}function zLe(e,t,r){return Ao(e,r),n=>Bc(e,t,[n])}function HLe(e,t,r){return Ao(e,r),()=>Bc(e,t,[])}function VLe(e,t,r){return Ao(e,r),n=>Vd(e,t,[n])}function $Le(e,t,r){return Ao(e,r),(n,i)=>Bc(e,t,[n,i])}function $re(e,t){if(!v0(e))throw new TypeError(`${t} is not a WritableStream.`)}Object.defineProperties(Ec.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),rr(Ec.prototype.cancel,"cancel"),rr(Ec.prototype.read,"read"),rr(Ec.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Ec.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});var WLe=typeof AbortController=="function",Tc=class{constructor(t={},r={}){t===void 0?t=null:yre(t,"First parameter");let n=Uw(r,"Second parameter"),i=function(o,s){_u(o,s);let u=o==null?void 0:o.abort,c=o==null?void 0:o.close,l=o==null?void 0:o.start,f=o==null?void 0:o.type,d=o==null?void 0:o.write;return{abort:u===void 0?void 0:zLe(u,o,`${s} has member 'abort' that`),close:c===void 0?void 0:HLe(c,o,`${s} has member 'close' that`),start:l===void 0?void 0:VLe(l,o,`${s} has member 'start' that`),write:d===void 0?void 0:$Le(d,o,`${s} has member 'write' that`),type:f}}(t,"First parameter");if(Kre(this),i.type!==void 0)throw new RangeError("Invalid type is specified");let a=Nw(n);(function(o,s,u,c){let l=Object.create(Kd.prototype),f,d,p,h;f=s.start!==void 0?()=>s.start(l):()=>{},d=s.write!==void 0?m=>s.write(m,l):()=>nr(void 0),p=s.close!==void 0?()=>s.close():()=>nr(void 0),h=s.abort!==void 0?m=>s.abort(m):()=>nr(void 0),tne(o,l,f,d,p,h,u,c)})(this,i,Xb(n,1),a)}get locked(){if(!v0(this))throw kw("locked");return y0(this)}abort(t=void 0){return v0(this)?y0(this)?it(new TypeError("Cannot abort a stream that already has a writer")):Gw(this,t):it(kw("abort"))}close(){return v0(this)?y0(this)?it(new TypeError("Cannot close a stream that already has a writer")):wu(this)?it(new TypeError("Cannot close an already-closing stream")):Jre(this):it(kw("close"))}getWriter(){if(!v0(this))throw kw("getWriter");return Wre(this)}};function Wre(e){return new vu(e)}function Kre(e){e._state="writable",e._storedError=void 0,e._writer=void 0,e._writableStreamController=void 0,e._writeRequests=new Ea,e._inFlightWriteRequest=void 0,e._closeRequest=void 0,e._inFlightCloseRequest=void 0,e._pendingAbortRequest=void 0,e._backpressure=!1}function v0(e){return!!Tn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_writableStreamController")&&e instanceof Tc}function y0(e){return e._writer!==void 0}function Gw(e,t){var r;if(e._state==="closed"||e._state==="errored")return nr(void 0);e._writableStreamController._abortReason=t,(r=e._writableStreamController._abortController)===null||r===void 0||r.abort(t);let n=e._state;if(n==="closed"||n==="errored")return nr(void 0);if(e._pendingAbortRequest!==void 0)return e._pendingAbortRequest._promise;let i=!1;n==="erroring"&&(i=!0,t=void 0);let a=jn((o,s)=>{e._pendingAbortRequest={_promise:void 0,_resolve:o,_reject:s,_reason:t,_wasAlreadyErroring:i}});return e._pendingAbortRequest._promise=a,i||NF(e,t),a}function Jre(e){let t=e._state;if(t==="closed"||t==="errored")return it(new TypeError(`The stream (in ${t} state) is not in the writable state and cannot be closed`));let r=jn((a,o)=>{let s={_resolve:a,_reject:o};e._closeRequest=s}),n=e._writer;var i;return n!==void 0&&e._backpressure&&t==="writable"&&VF(n),MF(i=e._writableStreamController,ene,0),Kw(i),r}function EF(e,t){e._state!=="writable"?UF(e):NF(e,t)}function NF(e,t){let r=e._writableStreamController;e._state="erroring",e._storedError=t;let n=e._writer;n!==void 0&&Yre(n,t),!function(i){return!(i._inFlightWriteRequest===void 0&&i._inFlightCloseRequest===void 0)}(e)&&r._started&&UF(e)}function UF(e){e._state="errored",e._writableStreamController[gre]();let t=e._storedError;if(e._writeRequests.forEach(n=>{n._reject(t)}),e._writeRequests=new Ea,e._pendingAbortRequest===void 0)return void Sw(e);let r=e._pendingAbortRequest;if(e._pendingAbortRequest=void 0,r._wasAlreadyErroring)return r._reject(t),void Sw(e);Aa(e._writableStreamController[mre](r._reason),()=>(r._resolve(),Sw(e),null),n=>(r._reject(n),Sw(e),null))}function wu(e){return e._closeRequest!==void 0||e._inFlightCloseRequest!==void 0}function Sw(e){e._closeRequest!==void 0&&(e._closeRequest._reject(e._storedError),e._closeRequest=void 0);let t=e._writer;t!==void 0&&HF(t,e._storedError)}function GF(e,t){let r=e._writer;r!==void 0&&t!==e._backpressure&&(t?function(n){Jw(n)}(r):VF(r)),e._backpressure=t}Object.defineProperties(Tc.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),rr(Tc.prototype.abort,"abort"),rr(Tc.prototype.close,"close"),rr(Tc.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Tc.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});var vu=class{constructor(t){if(Dc(t,1,"WritableStreamDefaultWriter"),$re(t,"First parameter"),y0(t))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=t,t._writer=this;let r=t._state;if(r==="writable")!wu(t)&&t._backpressure?Jw(this):rre(this),jw(this);else if(r==="erroring")TF(this,t._storedError),jw(this);else if(r==="closed")rre(this),jw(n=this),ane(n);else{let i=t._storedError;TF(this,i),ine(this,i)}var n}get closed(){return qd(this)?this._closedPromise:it(Nd("closed"))}get desiredSize(){if(!qd(this))throw Nd("desiredSize");if(this._ownerWritableStream===void 0)throw Wb("desiredSize");return function(t){let r=t._ownerWritableStream,n=r._state;return n==="errored"||n==="erroring"?null:n==="closed"?0:rne(r._writableStreamController)}(this)}get ready(){return qd(this)?this._readyPromise:it(Nd("ready"))}abort(t=void 0){return qd(this)?this._ownerWritableStream===void 0?it(Wb("abort")):function(r,n){return Gw(r._ownerWritableStream,n)}(this,t):it(Nd("abort"))}close(){if(!qd(this))return it(Nd("close"));let t=this._ownerWritableStream;return t===void 0?it(Wb("close")):wu(t)?it(new TypeError("Cannot close an already-closing stream")):Xre(this)}releaseLock(){if(!qd(this))throw Nd("releaseLock");this._ownerWritableStream!==void 0&&Qre(this)}write(t=void 0){return qd(this)?this._ownerWritableStream===void 0?it(Wb("write to")):Zre(this,t):it(Nd("write"))}};function qd(e){return!!Tn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_ownerWritableStream")&&e instanceof vu}function Xre(e){return Jre(e._ownerWritableStream)}function KLe(e,t){e._closedPromiseState==="pending"?HF(e,t):function(r,n){ine(r,n)}(e,t)}function Yre(e,t){e._readyPromiseState==="pending"?one(e,t):function(r,n){TF(r,n)}(e,t)}function Qre(e){let t=e._ownerWritableStream,r=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");Yre(e,r),KLe(e,r),t._writer=void 0,e._ownerWritableStream=void 0}function Zre(e,t){let r=e._ownerWritableStream,n=r._writableStreamController,i=function(s,u){try{return s._strategySizeAlgorithm(u)}catch(c){return Yb(s,c),1}}(n,t);if(r!==e._ownerWritableStream)return it(Wb("write to"));let a=r._state;if(a==="errored")return it(r._storedError);if(wu(r)||a==="closed")return it(new TypeError("The stream is closing or closed and cannot be written to"));if(a==="erroring")return it(r._storedError);let o=function(s){return jn((u,c)=>{let l={_resolve:u,_reject:c};s._writeRequests.push(l)})}(r);return function(s,u,c){try{MF(s,u,c)}catch(f){return void Yb(s,f)}let l=s._controlledWritableStream;!wu(l)&&l._state==="writable"&&GF(l,zF(s)),Kw(s)}(n,t,i),o}Object.defineProperties(vu.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),rr(vu.prototype.abort,"abort"),rr(vu.prototype.close,"close"),rr(vu.prototype.releaseLock,"releaseLock"),rr(vu.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(vu.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});var ene={},Kd=class{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!hF(this))throw mF("abortReason");return this._abortReason}get signal(){if(!hF(this))throw mF("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(t=void 0){if(!hF(this))throw mF("error");this._controlledWritableStream._state==="writable"&&nne(this,t)}[mre](t){let r=this._abortAlgorithm(t);return zw(this),r}[gre](){Yl(this)}};function hF(e){return!!Tn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledWritableStream")&&e instanceof Kd}function tne(e,t,r,n,i,a,o,s){t._controlledWritableStream=e,e._writableStreamController=t,t._queue=void 0,t._queueTotalSize=void 0,Yl(t),t._abortReason=void 0,t._abortController=function(){if(WLe)return new AbortController}(),t._started=!1,t._strategySizeAlgorithm=s,t._strategyHWM=o,t._writeAlgorithm=n,t._closeAlgorithm=i,t._abortAlgorithm=a;let u=zF(t);GF(e,u),Aa(nr(r()),()=>(t._started=!0,Kw(t),null),c=>(t._started=!0,EF(e,c),null))}function zw(e){e._writeAlgorithm=void 0,e._closeAlgorithm=void 0,e._abortAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function rne(e){return e._strategyHWM-e._queueTotalSize}function Kw(e){let t=e._controlledWritableStream;if(!e._started||t._inFlightWriteRequest!==void 0)return;if(t._state==="erroring")return void UF(t);if(e._queue.length===0)return;let r=e._queue.peek().value;r===ene?function(n){let i=n._controlledWritableStream;(function(o){o._inFlightCloseRequest=o._closeRequest,o._closeRequest=void 0})(i),yF(n);let a=n._closeAlgorithm();zw(n),Aa(a,()=>(function(o){o._inFlightCloseRequest._resolve(void 0),o._inFlightCloseRequest=void 0,o._state==="erroring"&&(o._storedError=void 0,o._pendingAbortRequest!==void 0&&(o._pendingAbortRequest._resolve(),o._pendingAbortRequest=void 0)),o._state="closed";let s=o._writer;s!==void 0&&ane(s)}(i),null),o=>(function(s,u){s._inFlightCloseRequest._reject(u),s._inFlightCloseRequest=void 0,s._pendingAbortRequest!==void 0&&(s._pendingAbortRequest._reject(u),s._pendingAbortRequest=void 0),EF(s,u)}(i,o),null))}(e):function(n,i){let a=n._controlledWritableStream;(function(s){s._inFlightWriteRequest=s._writeRequests.shift()})(a);let o=n._writeAlgorithm(i);Aa(o,()=>{(function(u){u._inFlightWriteRequest._resolve(void 0),u._inFlightWriteRequest=void 0})(a);let s=a._state;if(yF(n),!wu(a)&&s==="writable"){let u=zF(n);GF(a,u)}return Kw(n),null},s=>(a._state==="writable"&&zw(n),function(u,c){u._inFlightWriteRequest._reject(c),u._inFlightWriteRequest=void 0,EF(u,c)}(a,s),null))}(e,r)}function Yb(e,t){e._controlledWritableStream._state==="writable"&&nne(e,t)}function zF(e){return rne(e)<=0}function nne(e,t){let r=e._controlledWritableStream;zw(e),NF(r,t)}function kw(e){return new TypeError(`WritableStream.prototype.${e} can only be used on a WritableStream`)}function mF(e){return new TypeError(`WritableStreamDefaultController.prototype.${e} can only be used on a WritableStreamDefaultController`)}function Nd(e){return new TypeError(`WritableStreamDefaultWriter.prototype.${e} can only be used on a WritableStreamDefaultWriter`)}function Wb(e){return new TypeError("Cannot "+e+" a stream using a released writer")}function jw(e){e._closedPromise=jn((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r,e._closedPromiseState="pending"})}function ine(e,t){jw(e),HF(e,t)}function HF(e,t){e._closedPromise_reject!==void 0&&(A0(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="rejected")}function ane(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="resolved")}function Jw(e){e._readyPromise=jn((t,r)=>{e._readyPromise_resolve=t,e._readyPromise_reject=r}),e._readyPromiseState="pending"}function TF(e,t){Jw(e),one(e,t)}function rre(e){Jw(e),VF(e)}function one(e,t){e._readyPromise_reject!==void 0&&(A0(e._readyPromise),e._readyPromise_reject(t),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="rejected")}function VF(e){e._readyPromise_resolve!==void 0&&(e._readyPromise_resolve(void 0),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="fulfilled")}Object.defineProperties(Kd.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Kd.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});var nre=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:void 0,JLe=function(){let e=nre==null?void 0:nre.DOMException;return function(t){if(typeof t!="function"&&typeof t!="object"||t.name!=="DOMException")return!1;try{return new t,!0}catch{return!1}}(e)?e:void 0}()||function(){let e=function(t,r){this.message=t||"",this.name=r||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return rr(e,"DOMException"),e.prototype=Object.create(Error.prototype),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,configurable:!0}),e}();function ire(e,t,r,n,i,a){let o=b0(e),s=Wre(t);e._disturbed=!0;let u=!1,c=nr(void 0);return jn((l,f)=>{let d;if(a!==void 0){if(d=()=>{let A=a.reason!==void 0?a.reason:new JLe("Aborted","AbortError"),D=[];n||D.push(()=>t._state==="writable"?Gw(t,A):nr(void 0)),i||D.push(()=>e._state==="readable"?ps(e,A):nr(void 0)),y(()=>Promise.all(D.map(F=>F())),!0,A)},a.aborted)return void d();a.addEventListener("abort",d)}var p,h,m;if(x(e,o._closedPromise,A=>(n?w(!0,A):y(()=>Gw(t,A),!0,A),null)),x(t,s._closedPromise,A=>(i?w(!0,A):y(()=>ps(e,A),!0,A),null)),p=e,h=o._closedPromise,m=()=>(r?w():y(()=>function(A){let D=A._ownerWritableStream,F=D._state;return wu(D)||F==="closed"?nr(void 0):F==="errored"?it(D._storedError):Xre(A)}(s)),null),p._state==="closed"?m():uF(h,m),wu(t)||t._state==="closed"){let A=new TypeError("the destination writable stream closed before all data could be piped to it");i?w(!0,A):y(()=>ps(e,A),!0,A)}function g(){let A=c;return yu(c,()=>A!==c?g():void 0)}function x(A,D,F){A._state==="errored"?F(A._storedError):vF(D,F)}function y(A,D,F){function j(){return Aa(A(),()=>T(D,F),k=>T(!0,k)),null}u||(u=!0,t._state!=="writable"||wu(t)?j():uF(g(),j))}function w(A,D){u||(u=!0,t._state!=="writable"||wu(t)?T(A,D):uF(g(),()=>T(A,D)))}function T(A,D){return Qre(s),kc(o),a!==void 0&&a.removeEventListener("abort",d),A?f(D):l(void 0),null}A0(jn((A,D)=>{(function F(j){j?A():yu(u?nr(!0):yu(s._readyPromise,()=>jn((k,I)=>{Jb(o,{_chunkSteps:P=>{c=yu(Zre(s,P),void 0,Kb),k(!1)},_closeSteps:()=>k(!0),_errorSteps:I})})),F,D)})(!1)}))})}var xu=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Cw(this))throw Dw("desiredSize");return $F(this)}close(){if(!Cw(this))throw Dw("close");if(!w0(this))throw new TypeError("The stream is not in a state that permits close");Jd(this)}enqueue(t=void 0){if(!Cw(this))throw Dw("enqueue");if(!w0(this))throw new TypeError("The stream is not in a state that permits enqueue");return _0(this,t)}error(t=void 0){if(!Cw(this))throw Dw("error");hs(this,t)}[CF](t){Yl(this);let r=this._cancelAlgorithm(t);return Hw(this),r}[DF](t){let r=this._controlledReadableStream;if(this._queue.length>0){let n=yF(this);this._closeRequested&&this._queue.length===0?(Hw(this),ix(r)):Qb(this),t._chunkSteps(n)}else _re(r,t),Qb(this)}[BF](){}};function Cw(e){return!!Tn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableStream")&&e instanceof xu}function Qb(e){if(sne(e)){if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0,Aa(e._pullAlgorithm(),()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,Qb(e)),null),t=>(hs(e,t),null))}}function sne(e){let t=e._controlledReadableStream;return!w0(e)||!e._started?!1:Xl(t)&&$w(t)>0?!0:$F(e)>0}function Hw(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function Jd(e){if(!w0(e))return;let t=e._controlledReadableStream;e._closeRequested=!0,e._queue.length===0&&(Hw(e),ix(t))}function _0(e,t){if(!w0(e))return;let r=e._controlledReadableStream;if(Xl(r)&&$w(r)>0)jF(r,t,!1);else{let n;try{n=e._strategySizeAlgorithm(t)}catch(i){throw hs(e,i),i}try{MF(e,t,n)}catch(i){throw hs(e,i),i}}Qb(e)}function hs(e,t){let r=e._controlledReadableStream;r._state==="readable"&&(Yl(e),Hw(e),cne(r,t))}function $F(e){let t=e._controlledReadableStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function w0(e){let t=e._controlledReadableStream._state;return!e._closeRequested&&t==="readable"}function une(e,t,r,n,i,a,o){t._controlledReadableStream=e,t._queue=void 0,t._queueTotalSize=void 0,Yl(t),t._started=!1,t._closeRequested=!1,t._pullAgain=!1,t._pulling=!1,t._strategySizeAlgorithm=o,t._strategyHWM=a,t._pullAlgorithm=n,t._cancelAlgorithm=i,e._readableStreamController=t,Aa(nr(r()),()=>(t._started=!0,Qb(t),null),s=>(hs(t,s),null))}function Dw(e){return new TypeError(`ReadableStreamDefaultController.prototype.${e} can only be used on a ReadableStreamDefaultController`)}function XLe(e,t){return Gd(e._readableStreamController)?function(r){let n,i,a,o,s,u=b0(r),c=!1,l=!1,f=!1,d=!1,p=!1,h=jn(F=>{s=F});function m(F){vF(F._closedPromise,j=>(F!==u||(wo(a._readableStreamController,j),wo(o._readableStreamController,j),d&&p||s(void 0)),null))}function g(){zd(u)&&(kc(u),u=b0(r),m(u)),Jb(u,{_chunkSteps:F=>{Hd(()=>{l=!1,f=!1;let j=F,k=F;if(!d&&!p)try{k=ere(F)}catch(I){return wo(a._readableStreamController,I),wo(o._readableStreamController,I),void s(ps(r,I))}d||Iw(a._readableStreamController,j),p||Iw(o._readableStreamController,k),c=!1,l?y():f&&w()})},_closeSteps:()=>{c=!1,d||$b(a._readableStreamController),p||$b(o._readableStreamController),a._readableStreamController._pendingPullIntos.length>0&&Pw(a._readableStreamController,0),o._readableStreamController._pendingPullIntos.length>0&&Pw(o._readableStreamController,0),d&&p||s(void 0)},_errorSteps:()=>{c=!1}})}function x(F,j){Kl(u)&&(kc(u),u=Gre(r),m(u));let k=j?o:a,I=j?a:o;Hre(u,F,1,{_chunkSteps:P=>{Hd(()=>{l=!1,f=!1;let L=j?p:d;if(j?d:p)L||Rw(k._readableStreamController,P);else{let G;try{G=ere(P)}catch(V){return wo(k._readableStreamController,V),wo(I._readableStreamController,V),void s(ps(r,V))}L||Rw(k._readableStreamController,P),Iw(I._readableStreamController,G)}c=!1,l?y():f&&w()})},_closeSteps:P=>{c=!1;let L=j?p:d,G=j?d:p;L||$b(k._readableStreamController),G||$b(I._readableStreamController),P!==void 0&&(L||Rw(k._readableStreamController,P),!G&&I._readableStreamController._pendingPullIntos.length>0&&Pw(I._readableStreamController,0)),L&&G||s(void 0)},_errorSteps:()=>{c=!1}})}function y(){if(c)return l=!0,nr(void 0);c=!0;let F=AF(a._readableStreamController);return F===null?g():x(F._view,!1),nr(void 0)}function w(){if(c)return f=!0,nr(void 0);c=!0;let F=AF(o._readableStreamController);return F===null?g():x(F._view,!0),nr(void 0)}function T(F){if(d=!0,n=F,p){let j=Hb([n,i]),k=ps(r,j);s(k)}return h}function A(F){if(p=!0,i=F,d){let j=Hb([n,i]),k=ps(r,j);s(k)}return h}function D(){}return a=ore(D,y,T),o=ore(D,w,A),m(u),[a,o]}(e):function(r,n){let i=b0(r),a,o,s,u,c,l=!1,f=!1,d=!1,p=!1,h=jn(w=>{c=w});function m(){return l?(f=!0,nr(void 0)):(l=!0,Jb(i,{_chunkSteps:w=>{Hd(()=>{f=!1;let T=w,A=w;d||_0(s._readableStreamController,T),p||_0(u._readableStreamController,A),l=!1,f&&m()})},_closeSteps:()=>{l=!1,d||Jd(s._readableStreamController),p||Jd(u._readableStreamController),d&&p||c(void 0)},_errorSteps:()=>{l=!1}}),nr(void 0))}function g(w){if(d=!0,a=w,p){let T=Hb([a,o]),A=ps(r,T);c(A)}return h}function x(w){if(p=!0,o=w,d){let T=Hb([a,o]),A=ps(r,T);c(A)}return h}function y(){}return s=Zb(y,m,g),u=Zb(y,m,x),vF(i._closedPromise,w=>(hs(s._readableStreamController,w),hs(u._readableStreamController,w),d&&p||c(void 0),null)),[s,u]}(e)}function YLe(e){return Tn(t=e)&&t.getReader!==void 0?function(r){let n;function i(){let o;try{o=r.read()}catch(s){return it(s)}return Cc(o,s=>{if(!Tn(s))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(s.done)Jd(n._readableStreamController);else{let u=s.value;_0(n._readableStreamController,u)}})}function a(o){try{return nr(r.cancel(o))}catch(s){return it(s)}}return n=Zb(Kb,i,a,0),n}(e.getReader()):function(r){let n,i=Sre(r,"async");function a(){let s;try{s=kre(i)}catch(u){return it(u)}return Cc(nr(s),u=>{if(!Tn(u))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(u.done)Jd(n._readableStreamController);else{let c=u.value;_0(n._readableStreamController,c)}})}function o(s){let u=i.iterator,c;try{c=Vb(u,"return")}catch(l){return it(l)}return c===void 0?nr(void 0):Cc(Bc(c,u,[s]),l=>{if(!Tn(l))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return n=Zb(Kb,a,o,0),n}(e);var t}function QLe(e,t,r){return Ao(e,r),n=>Bc(e,t,[n])}function ZLe(e,t,r){return Ao(e,r),n=>Bc(e,t,[n])}function e7e(e,t,r){return Ao(e,r),n=>Vd(e,t,[n])}function t7e(e,t){if((e=`${e}`)!="bytes")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamType`);return e}function are(e,t){_u(e,t);let r=e==null?void 0:e.preventAbort,n=e==null?void 0:e.preventCancel,i=e==null?void 0:e.preventClose,a=e==null?void 0:e.signal;return a!==void 0&&function(o,s){if(!function(u){if(typeof u!="object"||u===null)return!1;try{return typeof u.aborted=="boolean"}catch{return!1}}(o))throw new TypeError(`${s} is not an AbortSignal.`)}(a,`${t} has member 'signal' that`),{preventAbort:Boolean(r),preventCancel:Boolean(n),preventClose:Boolean(i),signal:a}}Object.defineProperties(xu.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),rr(xu.prototype.close,"close"),rr(xu.prototype.enqueue,"enqueue"),rr(xu.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(xu.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});var Jn=class{constructor(t={},r={}){t===void 0?t=null:yre(t,"First parameter");let n=Uw(r,"Second parameter"),i=function(a,o){_u(a,o);let s=a,u=s==null?void 0:s.autoAllocateChunkSize,c=s==null?void 0:s.cancel,l=s==null?void 0:s.pull,f=s==null?void 0:s.start,d=s==null?void 0:s.type;return{autoAllocateChunkSize:u===void 0?void 0:PF(u,`${o} has member 'autoAllocateChunkSize' that`),cancel:c===void 0?void 0:QLe(c,s,`${o} has member 'cancel' that`),pull:l===void 0?void 0:ZLe(l,s,`${o} has member 'pull' that`),start:f===void 0?void 0:e7e(f,s,`${o} has member 'start' that`),type:d===void 0?void 0:t7e(d,`${o} has member 'type' that`)}}(t,"First parameter");if(WF(this),i.type==="bytes"){if(n.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");(function(a,o,s){let u=Object.create(bu.prototype),c,l,f;c=o.start!==void 0?()=>o.start(u):()=>{},l=o.pull!==void 0?()=>o.pull(u):()=>nr(void 0),f=o.cancel!==void 0?p=>o.cancel(p):()=>nr(void 0);let d=o.autoAllocateChunkSize;if(d===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");Ure(a,u,c,l,f,s,d)})(this,i,Xb(n,0))}else{let a=Nw(n);(function(o,s,u,c){let l=Object.create(xu.prototype),f,d,p;f=s.start!==void 0?()=>s.start(l):()=>{},d=s.pull!==void 0?()=>s.pull(l):()=>nr(void 0),p=s.cancel!==void 0?h=>s.cancel(h):()=>nr(void 0),une(o,l,f,d,p,u,c)})(this,i,Xb(n,1),a)}}get locked(){if(!Wl(this))throw Ud("locked");return Xl(this)}cancel(t=void 0){return Wl(this)?Xl(this)?it(new TypeError("Cannot cancel a stream that already has a reader")):ps(this,t):it(Ud("cancel"))}getReader(t=void 0){if(!Wl(this))throw Ud("getReader");return function(r,n){_u(r,n);let i=r==null?void 0:r.mode;return{mode:i===void 0?void 0:ULe(i,`${n} has member 'mode' that`)}}(t,"First parameter").mode===void 0?b0(this):Gre(this)}pipeThrough(t,r={}){if(!Wl(this))throw Ud("pipeThrough");Dc(t,1,"pipeThrough");let n=function(a,o){_u(a,o);let s=a==null?void 0:a.readable;xF(s,"readable","ReadableWritablePair"),RF(s,`${o} has member 'readable' that`);let u=a==null?void 0:a.writable;return xF(u,"writable","ReadableWritablePair"),$re(u,`${o} has member 'writable' that`),{readable:s,writable:u}}(t,"First parameter"),i=are(r,"Second parameter");if(Xl(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(y0(n.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");return A0(ire(this,n.writable,i.preventClose,i.preventAbort,i.preventCancel,i.signal)),n.readable}pipeTo(t,r={}){if(!Wl(this))return it(Ud("pipeTo"));if(t===void 0)return it("Parameter 1 is required in 'pipeTo'.");if(!v0(t))return it(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let n;try{n=are(r,"Second parameter")}catch(i){return it(i)}return Xl(this)?it(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):y0(t)?it(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):ire(this,t,n.preventClose,n.preventAbort,n.preventCancel,n.signal)}tee(){if(!Wl(this))throw Ud("tee");return Hb(XLe(this))}values(t=void 0){if(!Wl(this))throw Ud("values");return function(r,n){let i=b0(r),a=new qw(i,n),o=Object.create(Cre);return o._asyncIteratorImpl=a,o}(this,function(r,n){_u(r,n);let i=r==null?void 0:r.preventCancel;return{preventCancel:Boolean(i)}}(t,"First parameter").preventCancel)}[nx](t){return this.values(t)}static from(t){return YLe(t)}};function Zb(e,t,r,n=1,i=()=>1){let a=Object.create(Jn.prototype);return WF(a),une(a,Object.create(xu.prototype),e,t,r,n,i),a}function ore(e,t,r){let n=Object.create(Jn.prototype);return WF(n),Ure(n,Object.create(bu.prototype),e,t,r,0,void 0),n}function WF(e){e._state="readable",e._reader=void 0,e._storedError=void 0,e._disturbed=!1}function Wl(e){return!!Tn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readableStreamController")&&e instanceof Jn}function Xl(e){return e._reader!==void 0}function ps(e,t){if(e._disturbed=!0,e._state==="closed")return nr(void 0);if(e._state==="errored")return it(e._storedError);ix(e);let r=e._reader;if(r!==void 0&&zd(r)){let n=r._readIntoRequests;r._readIntoRequests=new Ea,n.forEach(i=>{i._closeSteps(void 0)})}return Cc(e._readableStreamController[CF](t),Kb)}function ix(e){e._state="closed";let t=e._reader;if(t!==void 0&&(xre(t),Kl(t))){let r=t._readRequests;t._readRequests=new Ea,r.forEach(n=>{n._closeSteps()})}}function cne(e,t){e._state="errored",e._storedError=t;let r=e._reader;r!==void 0&&(OF(r,t),Kl(r)?Are(r,t):Vre(r,t))}function Ud(e){return new TypeError(`ReadableStream.prototype.${e} can only be used on a ReadableStream`)}function lne(e,t){_u(e,t);let r=e==null?void 0:e.highWaterMark;return xF(r,"highWaterMark","QueuingStrategyInit"),{highWaterMark:IF(r)}}Object.defineProperties(Jn,{from:{enumerable:!0}}),Object.defineProperties(Jn.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),rr(Jn.from,"from"),rr(Jn.prototype.cancel,"cancel"),rr(Jn.prototype.getReader,"getReader"),rr(Jn.prototype.pipeThrough,"pipeThrough"),rr(Jn.prototype.pipeTo,"pipeTo"),rr(Jn.prototype.tee,"tee"),rr(Jn.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Jn.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(Jn.prototype,nx,{value:Jn.prototype.values,writable:!0,configurable:!0});var fne=e=>e.byteLength;rr(fne,"size");var ex=class{constructor(t){Dc(t,1,"ByteLengthQueuingStrategy"),t=lne(t,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!ure(this))throw sre("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!ure(this))throw sre("size");return fne}};function sre(e){return new TypeError(`ByteLengthQueuingStrategy.prototype.${e} can only be used on a ByteLengthQueuingStrategy`)}function ure(e){return!!Tn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_byteLengthQueuingStrategyHighWaterMark")&&e instanceof ex}Object.defineProperties(ex.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ex.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});var dne=()=>1;rr(dne,"size");var tx=class{constructor(t){Dc(t,1,"CountQueuingStrategy"),t=lne(t,"First parameter"),this._countQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!lre(this))throw cre("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!lre(this))throw cre("size");return dne}};function cre(e){return new TypeError(`CountQueuingStrategy.prototype.${e} can only be used on a CountQueuingStrategy`)}function lre(e){return!!Tn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_countQueuingStrategyHighWaterMark")&&e instanceof tx}function r7e(e,t,r){return Ao(e,r),n=>Bc(e,t,[n])}function n7e(e,t,r){return Ao(e,r),n=>Vd(e,t,[n])}function i7e(e,t,r){return Ao(e,r),(n,i)=>Bc(e,t,[n,i])}function a7e(e,t,r){return Ao(e,r),n=>Bc(e,t,[n])}Object.defineProperties(tx.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(tx.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});var rx=class{constructor(t={},r={},n={}){t===void 0&&(t=null);let i=Uw(r,"Second parameter"),a=Uw(n,"Third parameter"),o=function(d,p){_u(d,p);let h=d==null?void 0:d.cancel,m=d==null?void 0:d.flush,g=d==null?void 0:d.readableType,x=d==null?void 0:d.start,y=d==null?void 0:d.transform,w=d==null?void 0:d.writableType;return{cancel:h===void 0?void 0:a7e(h,d,`${p} has member 'cancel' that`),flush:m===void 0?void 0:r7e(m,d,`${p} has member 'flush' that`),readableType:g,start:x===void 0?void 0:n7e(x,d,`${p} has member 'start' that`),transform:y===void 0?void 0:i7e(y,d,`${p} has member 'transform' that`),writableType:w}}(t,"First parameter");if(o.readableType!==void 0)throw new RangeError("Invalid readableType specified");if(o.writableType!==void 0)throw new RangeError("Invalid writableType specified");let s=Xb(a,0),u=Nw(a),c=Xb(i,1),l=Nw(i),f;(function(d,p,h,m,g,x){function y(){return p}function w(j){return function(k,I){let P=k._transformStreamController;return k._backpressure?Cc(k._backpressureChangePromise,()=>{let L=k._writable;if(L._state==="erroring")throw L._storedError;return dre(P,I)}):dre(P,I)}(d,j)}function T(j){return function(k,I){let P=k._transformStreamController;if(P._finishPromise!==void 0)return P._finishPromise;let L=k._readable;P._finishPromise=jn((V,X)=>{P._finishPromise_resolve=V,P._finishPromise_reject=X});let G=P._cancelAlgorithm(I);return Mw(P),Aa(G,()=>(L._state==="errored"?g0(P,L._storedError):(hs(L._readableStreamController,I),gF(P)),null),V=>(hs(L._readableStreamController,V),g0(P,V),null)),P._finishPromise}(d,j)}function A(){return function(j){let k=j._transformStreamController;if(k._finishPromise!==void 0)return k._finishPromise;let I=j._readable;k._finishPromise=jn((L,G)=>{k._finishPromise_resolve=L,k._finishPromise_reject=G});let P=k._flushAlgorithm();return Mw(k),Aa(P,()=>(I._state==="errored"?g0(k,I._storedError):(Jd(I._readableStreamController),gF(k)),null),L=>(hs(I._readableStreamController,L),g0(k,L),null)),k._finishPromise}(d)}function D(){return function(j){return Vw(j,!1),j._backpressureChangePromise}(d)}function F(j){return function(k,I){let P=k._transformStreamController;if(P._finishPromise!==void 0)return P._finishPromise;let L=k._writable;P._finishPromise=jn((V,X)=>{P._finishPromise_resolve=V,P._finishPromise_reject=X});let G=P._cancelAlgorithm(I);return Mw(P),Aa(G,()=>(L._state==="errored"?g0(P,L._storedError):(Yb(L._writableStreamController,I),SF(k),gF(P)),null),V=>(Yb(L._writableStreamController,V),SF(k),g0(P,V),null)),P._finishPromise}(d,j)}d._writable=function(j,k,I,P,L=1,G=()=>1){let V=Object.create(Tc.prototype);return Kre(V),tne(V,Object.create(Kd.prototype),j,k,I,P,L,G),V}(y,w,A,T,h,m),d._readable=Zb(y,D,F,g,x),d._backpressure=void 0,d._backpressureChangePromise=void 0,d._backpressureChangePromise_resolve=void 0,Vw(d,!0),d._transformStreamController=void 0})(this,jn(d=>{f=d}),c,l,s,u),function(d,p){let h=Object.create(Sc.prototype),m,g,x;m=p.transform!==void 0?y=>p.transform(y,h):y=>{try{return hne(h,y),nr(void 0)}catch(w){return it(w)}},g=p.flush!==void 0?()=>p.flush(h):()=>nr(void 0),x=p.cancel!==void 0?y=>p.cancel(y):()=>nr(void 0),function(y,w,T,A,D){w._controlledTransformStream=y,y._transformStreamController=w,w._transformAlgorithm=T,w._flushAlgorithm=A,w._cancelAlgorithm=D,w._finishPromise=void 0,w._finishPromise_resolve=void 0,w._finishPromise_reject=void 0}(d,h,m,g,x)}(this,o),o.start!==void 0?f(o.start(this._transformStreamController)):f(void 0)}get readable(){if(!fre(this))throw pre("readable");return this._readable}get writable(){if(!fre(this))throw pre("writable");return this._writable}};function fre(e){return!!Tn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_transformStreamController")&&e instanceof rx}function pne(e,t){hs(e._readable._readableStreamController,t),KF(e,t)}function KF(e,t){Mw(e._transformStreamController),Yb(e._writable._writableStreamController,t),SF(e)}function SF(e){e._backpressure&&Vw(e,!1)}function Vw(e,t){e._backpressureChangePromise!==void 0&&e._backpressureChangePromise_resolve(),e._backpressureChangePromise=jn(r=>{e._backpressureChangePromise_resolve=r}),e._backpressure=t}Object.defineProperties(rx.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(rx.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});var Sc=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Bw(this))throw Fw("desiredSize");return $F(this._controlledTransformStream._readable._readableStreamController)}enqueue(t=void 0){if(!Bw(this))throw Fw("enqueue");hne(this,t)}error(t=void 0){if(!Bw(this))throw Fw("error");var r;r=t,pne(this._controlledTransformStream,r)}terminate(){if(!Bw(this))throw Fw("terminate");(function(t){let r=t._controlledTransformStream;Jd(r._readable._readableStreamController);let n=new TypeError("TransformStream terminated");KF(r,n)})(this)}};function Bw(e){return!!Tn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledTransformStream")&&e instanceof Sc}function Mw(e){e._transformAlgorithm=void 0,e._flushAlgorithm=void 0,e._cancelAlgorithm=void 0}function hne(e,t){let r=e._controlledTransformStream,n=r._readable._readableStreamController;if(!w0(n))throw new TypeError("Readable side is not in a state that permits enqueue");try{_0(n,t)}catch(a){throw KF(r,a),r._readable._storedError}(function(a){return!sne(a)})(n)!==r._backpressure&&Vw(r,!0)}function dre(e,t){return Cc(e._transformAlgorithm(t),void 0,r=>{throw pne(e._controlledTransformStream,r),r})}function Fw(e){return new TypeError(`TransformStreamDefaultController.prototype.${e} can only be used on a TransformStreamDefaultController`)}function gF(e){e._finishPromise_resolve!==void 0&&(e._finishPromise_resolve(),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}function g0(e,t){e._finishPromise_reject!==void 0&&(A0(e._finishPromise),e._finishPromise_reject(t),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}function pre(e){return new TypeError(`TransformStream.prototype.${e} can only be used on a TransformStream`)}Object.defineProperties(Sc.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),rr(Sc.prototype.enqueue,"enqueue"),rr(Sc.prototype.error,"error"),rr(Sc.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Sc.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});var Xw=class extends Jn{};var Yw=class{chunks;isWorking=!1;isCancelled=!1;constructor(t){this.chunks=t}start(t){this.work(t)}async work(t){let{chunks:r}=this;for(this.isWorking=!0;!this.isCancelled&&(t.desiredSize||0)>0;){let n;try{n=r.next()}catch(i){t.error(i);break}n&&(!n.done&&!this.isCancelled?t.enqueue(n.value):t.close())}this.isWorking=!1}pull(t){this.isWorking||this.work(t)}cancel(){this.isCancelled=!0}};var Qw=class extends Xw{_chunks;constructor(t){super(new Yw(t.values()),{type:"bytes"}),this._chunks=t}async*[Symbol.asyncIterator](t){let r=this.getReader();yield*this._chunks,r.releaseLock()}};var Yd=class{type;size;parts;constructor(t=[],r={}){this.parts=[],this.size=0;for(let n of t)if(typeof n=="string"){let i=new TextEncoder().encode(n);this.parts.push(i),this.size+=i.byteLength}else if(n instanceof Yd)this.size+=n.size,this.parts.push(...n.parts);else if(n instanceof ArrayBuffer)this.parts.push(new Uint8Array(n)),this.size+=n.byteLength;else if(n instanceof Uint8Array)this.parts.push(n),this.size+=n.byteLength;else if(ArrayBuffer.isView(n)){let{buffer:i,byteOffset:a,byteLength:o}=n;this.parts.push(new Uint8Array(i,a,o)),this.size+=o}else{let i=new TextEncoder().encode(String(n));this.parts.push(i),this.size+=i.byteLength}this.type=o7e(r.type)}slice(t=0,r=this.size,n=""){let{size:i,parts:a}=this,o=t<0?Math.max(i+t,0):Math.min(t,i),s=r<0?Math.max(i+r,0):Math.min(r,i),u=Math.max(s-o,0),c=new Yd([],{type:n});if(u===0)return c;let l=0,f=[];for(let d of a){let{byteLength:p}=d;if(o>0&&p<=o)o-=p,s-=p;else{let h=d.subarray(o,Math.min(p,s));if(f.push(h),l+=h.byteLength,o=0,l>=u)break}}return c.parts=f,c.size=l,c}async arrayBuffer(){return this._toArrayBuffer()}async text(){let t=new TextDecoder,r="";for(let n of this.parts)r+=t.decode(n);return r}stream(){return new Qw(this.parts)}toString(){return"[object Blob]"}get[Symbol.toStringTag](){return"Blob"}_toArrayBuffer(){let t=new ArrayBuffer(this.size),r=new Uint8Array(t),n=0;for(let i of this.parts)r.set(i,n),n+=i.byteLength;return t}};function o7e(e=""){let t=String(e).toLowerCase();return/[^\u0020-\u007E]/.test(t)?"":t}function s7e(){return typeof Blob>"u"&&!globalThis.Blob&&(globalThis.Blob=Yd),globalThis.Blob}var u7e=s7e();var Zw=class{onload;onabort;onerror;error;onloadstart;onloadend;onprogress;readyState;result;DONE;EMPTY;LOADING;addEventListener;removeEventListener;dispatchEvent;constructor(){this.onload=null}abort(){}async readAsArrayBuffer(t){let r=await t.arrayBuffer();this.onload&&this.onload({target:{result:r}})}async readAsBinaryString(t){throw Error("Not implemented")}async readAsDataURL(t){let r=await t.text(),n=`data://;base64,${Tv(r)}`;this.onload&&this.onload({target:{result:n}})}async readAsText(t){let r=await t.text();this.onload&&this.onload({target:{result:r}})}};var eA=class extends globalThis.Blob{name="";webkitRelativePath="";lastModified;constructor(t,r,n={}){super(t,n),this.name=String(r).replace(/\//g,":"),this.lastModified=(n==null?void 0:n.lastModified)||Date.now()}get[Symbol.toStringTag](){return"File"}};function mne(){return typeof FileReader>"u"&&!globalThis.FileReader&&(globalThis.FileReader=Zw),typeof File>"u"&&!globalThis.File&&(globalThis.File=eA),global}var c7e=mne();var JF=Dt(require("module"),1),gne=Dt(require("path"),1),rA=Dt(require("fs"),1);async function vne(e){if(e.startsWith("http"))return await(await fetch(e)).arrayBuffer();let t=rA.default.readFileSync(e);return zi(t.buffer)}async function bne(e){return e.startsWith("http")?await(await fetch(e)).text():rA.default.readFileSync(e,"utf8")}async function xne(e){if(e.startsWith("http")){let n=await(await fetch(e)).text();return tA(n)}e.startsWith("/")||(e=`${process.cwd()}/${e}`);let t=rA.default.readFileSync(e,"utf8");return tA(t)}function tA(e,t="",r){if(typeof t=="object"&&(r=t,t=""),t=t.replace("file://",""),typeof e!="string")throw new Error(`code must be a string, not ${typeof e}`);let n=JF.default._nodeModulePaths(gne.default.dirname(t)),i=typeof module<"u"&&(module==null?void 0:module.parent),a=new JF.default(t,i);return a.filename=t,a.paths=[].concat((r==null?void 0:r.prependPaths)||[]).concat(n).concat((r==null?void 0:r.appendPaths)||[]),a._compile(e,t),i&&i.children&&i.children.splice(i.children.indexOf(a),1),a.exports}var ms=class{map;constructor(t){this.map={},t instanceof ms?t.forEach((r,n)=>this.append(n,r)):Array.isArray(t)?t.forEach(r=>this.append(r[0],r[1])):t&&Object.getOwnPropertyNames(t).forEach(r=>this.append(r,t[r]))}append(t,r){t=ax(t),r=yne(r);let n=this.map[t];this.map[t]=n?`${n}, ${r}`:r}delete(t){delete this.map[ax(t)]}get(t){return t=ax(t),this.has(t)?this.map[t]:null}has(t){return this.map.hasOwnProperty(ax(t))}set(t,r){this.map[ax(t)]=yne(r)}forEach(t,r=null){for(let n in this.map)this.map.hasOwnProperty(n)&&(r?t.call(r,this.map[n],n,this):t(this.map[n],n,this))}keys(){let t=[];return this.forEach(function(r,n){t.push(n)}),XF(t)}values(){let t=[];return this.forEach(function(r){t.push(r)}),XF(t)}entries(){let t=[];return this.forEach(function(r,n){t.push([n,r])}),XF(t)}*[Symbol.iterator](){yield*this.entries()}};function ax(e){if(typeof e!="string"&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e)||e==="")throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function yne(e){return typeof e!="string"&&(e=String(e)),e}function XF(e){let t={next(){let r=e.shift();return{done:r===void 0,value:r}}};return t[Symbol.iterator]=function(){return t},t}function YF(e,t){if(!e)throw new Error(`@loaders.gl/polyfills assertion ${t}`)}var ZF=Dt(require("stream"),1),l7e=e=>typeof e=="boolean",_ne=e=>typeof e=="function",f7e=e=>e!==null&&typeof e=="object",QF=e=>f7e(e)&&_ne(e.read)&&_ne(e.pipe)&&l7e(e.readable),Fc=class{ok;status;statusText;headers;url;bodyUsed=!1;_body;constructor(t,r){let{headers:n,status:i=200,statusText:a="OK",url:o}=r||{};this.url=o,this.ok=i===200,this.status=i,this.statusText=a,this.headers=new ms((r==null?void 0:r.headers)||{}),QF(t)?this._body=bw(t,n):typeof t=="string"?this._body=ZF.Readable.from([new TextEncoder().encode(t)]):this._body=ZF.Readable.from([t||new ArrayBuffer(0)])}get body(){return YF(!this.bodyUsed),YF(QF(this._body)),this.bodyUsed=!0,this._body}async arrayBuffer(){return QF(this._body)?await Nte(this._body):this._body||new ArrayBuffer(0)}async text(){let t=await this.arrayBuffer();return new TextDecoder().decode(t)}async json(){let t=await this.text();return JSON.parse(t)}async blob(){if(typeof Blob>"u")throw new Error("Blob polyfill not installed");return new Blob([await this.arrayBuffer()])}};var Ane=Dt(require("http"),1),Ene=Dt(require("https"),1);function wne(e){let t=e.indexOf(","),r,n;return e.slice(t-7,t)===";base64"?(r=Buffer.from(e.slice(t+1),"base64"),n=e.slice(5,t-7).trim()):(r=Buffer.from(decodeURIComponent(e.slice(t+1))),n=e.slice(5,t).trim()),n?n.startsWith(";")&&(n=`text/plain${n}`):n="text/plain;charset=US-ASCII",{arrayBuffer:Kn(r),mimeType:n}}var eO=e=>e.startsWith("data:"),d7e=e=>e.startsWith("http:")||e.startsWith("https:");async function ox(e,t){try{if(globalThis.fetch!==ox&&(d7e(e)||eO(e)))return await fetch(e,t);if(eO(e)){let{arrayBuffer:c,mimeType:l}=wne(e);return new Fc(c,{headers:{"content-type":l},url:e})}let r={},n=e;e.endsWith(".gz")&&(e=e.slice(0,-3),r["content-encoding"]="gzip");let i=await p7e(n,t),a=v7e(e,i,r),{status:o,statusText:s}=g7e(i),u=!t||t.followRedirect||t.followRedirect===void 0;if(o>=300&&o<400&&a.has("location")&&u){let c=h7e(e,a.get("location"));return await ox(c,t)}return new Fc(i,{headers:a,status:o,statusText:s,url:e})}catch(r){return new Fc(null,{status:400,statusText:String(r),url:e})}}async function p7e(e,t){return await new Promise((r,n)=>{let i=m7e(e,t),a=e.startsWith("https:")?Ene.default.request(i,o=>r(o)):Ane.default.request(i,o=>r(o));a.on("error",o=>n(o)),a.end()})}function h7e(e,t){if(t.startsWith("http"))return t;let r=new URL(e);return r.pathname=t,r.href}function m7e(e,t){let r=(t==null?void 0:t.headers)||{},n={};for(let a of Object.keys(r))n[a.toLowerCase()]=r[a];n["accept-encoding"]=n["accept-encoding"]||"gzip,br,deflate";let i=new URL(e);return{hostname:i.hostname,path:i.pathname,method:"GET",...t,...t==null?void 0:t.fetch,headers:n,port:i.port}}function g7e(e){return e.statusCode?{status:e.statusCode,statusText:e.statusMessage||"NA"}:{status:200,statusText:"OK"}}function v7e(e,t,r={}){let n={};if(t&&t.headers){let i=t.headers;for(let a in i){let o=i[a];n[a.toLowerCase()]=String(o)}}if(!n["content-length"]){let i=b7e(e);Number.isFinite(i)&&(n["content-length"]=i)}return Object.assign(n,r),new ms(n)}function b7e(e){return eO(e)?e.length-5:null}var x7e=parseInt(Tne.versions.node.split(".")[0]);yG&&console.error("loaders.gl: The @loaders.gl/polyfills should only be used in Node.js environments");globalThis.loaders=globalThis.loaders||{};globalThis.loaders.makeNodeStream=sF;globalThis.loaders.NodeFile=Ld;globalThis.loaders.NodeFileSystem=_w;globalThis.loaders.fetchNode=xw;globalThis.loaders.NodeHash=Aw;globalThis.TextEncoder||(globalThis.TextEncoder=Ev);globalThis.TextDecoder||(globalThis.TextDecoder=fd);globalThis.ReadableStream||(globalThis.ReadableStream=ReadableStream);!("atob"in globalThis)&&Tv&&(globalThis.atob=Tv);!("btoa"in globalThis)&&yk&&(globalThis.btoa=yk);globalThis.loaders.encodeImageNode=TV;globalThis.loaders.parseImageNode=kB;globalThis.loaders.imageFormatsNode=SB;globalThis._parseImageNode=kB;globalThis._imageFormatsNode=SB;globalThis.loaders.readFileAsArrayBuffer=vne;globalThis.loaders.readFileAsText=bne;globalThis.loaders.requireFromFile=xne;globalThis.loaders.requireFromString=tA;x7e<18&&(!("Headers"in globalThis)&&ms&&(globalThis.Headers=ms),!("Response"in globalThis)&&Fc&&(globalThis.Response=Fc),!("fetch"in globalThis)&&ox&&(globalThis.fetch=ox));var ySe=require("path"),pk=Dt(Cge(),1);var nn={OBJECT_ID_TYPE:"OBJECTID",STRING_TYPE:"string",DOUBLE_TYPE:"double",SHORT_INT_TYPE:"Int32"};var n3=class{_attributeStorageInfo;_fields;_popupInfo;constructor(){this._attributeStorageInfo=[],this._fields=[]}get attributeStorageInfo(){return this._attributeStorageInfo}get fields(){return this._fields}get popupInfo(){return this._popupInfo}addMetadataInfo(t){if(!Object.keys(t).length)return;let r={OBJECTID:nn.OBJECT_ID_TYPE,...t},n=!1,i=this._attributeStorageInfo.length;for(let a in r)if(!this._attributeStorageInfo.find(s=>s.name===a)){let s=r[a],u=this.createStorageAttribute(i,a,s),c=this.getFieldAttributeType(s),l=this.createFieldAttribute(a,c);this._attributeStorageInfo.push(u),this._fields.push(l),i+=1,n=!0}if(n){let a=[];for(let o of this._attributeStorageInfo)a.push(o.name);this._popupInfo=this.createPopupInfo(a)}}fromObject(t){this._attributeStorageInfo=t.attributeStorageInfo,this._fields=t.fields,this._popupInfo=t.popupInfo}createStorageAttribute(t,r,n){let i={key:`f_${t}`,name:r,ordering:["attributeValues"],header:[{property:"count",valueType:"UInt32"}],attributeValues:{valueType:"Int32",valuesPerElement:1}};switch(n){case nn.OBJECT_ID_TYPE:this.setupIdAttribute(i);break;case nn.STRING_TYPE:this.setupStringAttribute(i);break;case nn.DOUBLE_TYPE:this.setupDoubleAttribute(i);break;case nn.SHORT_INT_TYPE:break;default:this.setupStringAttribute(i)}return i}getFieldAttributeType(t){switch(t){case nn.OBJECT_ID_TYPE:return"esriFieldTypeOID";case nn.STRING_TYPE:return"esriFieldTypeString";case nn.SHORT_INT_TYPE:return"esriFieldTypeInteger";case nn.DOUBLE_TYPE:return"esriFieldTypeDouble";default:return"esriFieldTypeString"}}setupIdAttribute(t){t.attributeValues={valueType:"Oid32",valuesPerElement:1}}setupStringAttribute(t){t.ordering.unshift("attributeByteCounts"),t.header.push({property:"attributeValuesByteCount",valueType:"UInt32"}),t.attributeValues={valueType:"String",encoding:"UTF-8",valuesPerElement:1},t.attributeByteCounts={valueType:"UInt32",valuesPerElement:1}}setupDoubleAttribute(t){t.attributeValues={valueType:"Float64",valuesPerElement:1}}createFieldAttribute(t,r){return{name:t,type:r,alias:t}}createPopupInfo(t){let r="{OBJECTID}",n=[],i=[],a=[],o=[];for(let s of t)i.push({fieldName:s,visible:!0,isEditable:!1,label:s});return a.push({fieldInfos:i,type:"fields"}),{title:r,mediaInfos:n,popupElements:a,fieldInfos:i,expressionInfos:o}}};var i3=class extends Error{constructor(t,r){super(t),this.reason=r.reason,this.url=r.url,this.response=r.response}reason;url;response};var Oxt=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,Ixt=/^([-\w.]+\/[-\w.+]+)/;function aM(e,t){return e.toLowerCase()===t.toLowerCase()}function Dge(e){let t=Ixt.exec(e);return t?t[1]:e}function oM(e){let t=Oxt.exec(e);return t?t[1]:""}var Bge=/\?.*/;function Fge(e){let t=e.match(Bge);return t&&t[0]}function Hm(e){return e.replace(Bge,"")}function Oge(e){if(e.length<50)return e;let t=e.slice(e.length-15);return`${e.substr(0,32)}...${t}`}function _p(e){return $a(e)?e.url:Wa(e)?("name"in e?e.name:"")||"":typeof e=="string"?e:""}function fy(e){if($a(e)){let t=e.headers.get("content-type")||"",r=Hm(e.url);return Dge(t)||oM(r)}return Wa(e)?e.type||"":typeof e=="string"?oM(e):""}function Ige(e){return $a(e)?e.headers["content-length"]||-1:Wa(e)?e.size:typeof e=="string"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function a3(e){if($a(e))return e;let t={},r=Ige(e);r>=0&&(t["content-length"]=String(r));let n=_p(e),i=fy(e);i&&(t["content-type"]=i);let a=await Rxt(e);a&&(t["x-first-bytes"]=a),typeof e=="string"&&(e=new TextEncoder().encode(e));let o=new Response(e,{headers:t});return Object.defineProperty(o,"url",{value:n}),o}async function Pge(e){if(!e.ok)throw await Pxt(e)}async function Pxt(e){let t=Oge(e.url),r=`Failed to fetch resource (${e.status}) ${e.statusText}: ${t}`;r=r.length>100?`${r.slice(0,100)}...`:r;let n={reason:e.statusText,url:e.url,response:e};try{let i=e.headers.get("Content-Type");n.reason=!e.bodyUsed&&(i!=null&&i.includes("application/json"))?await e.json():await e.text()}catch{}return new i3(r,n)}async function Rxt(e){if(typeof e=="string")return`data:,${e.slice(0,5)}`;if(e instanceof Blob){let r=e.slice(0,5);return await new Promise(n=>{let i=new FileReader;i.onload=a=>{var o;return n((o=a==null?void 0:a.target)==null?void 0:o.result)},i.readAsDataURL(r)})}if(e instanceof ArrayBuffer){let r=e.slice(0,5);return`data:base64,${jxt(r)}`}return null}function jxt(e){let t="",r=new Uint8Array(e);for(let n=0;n<r.byteLength;n++)t+=String.fromCharCode(r[n]);return btoa(t)}function Mxt(e){return!Lxt(e)&&!qxt(e)}function Lxt(e){return e.startsWith("http:")||e.startsWith("https:")}function qxt(e){return e.startsWith("data:")}async function sa(e,t){var r,n;if(typeof e=="string"){let i=hu(e);return Mxt(i)&&(r=globalThis.loaders)!=null&&r.fetchNode?(n=globalThis.loaders)==null?void 0:n.fetchNode(i,t):await fetch(i,t)}return await a3(e)}var sM=new cu({id:"loaders.gl"}),o3=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},s3=class{console;constructor(){this.console=console}log(...t){return this.console.log.bind(this.console,...t)}info(...t){return this.console.info.bind(this.console,...t)}warn(...t){return this.console.warn.bind(this.console,...t)}error(...t){return this.console.error.bind(this.console,...t)}};var u3={core:{baseUri:void 0,fetch:null,mimeType:void 0,fallbackMimeType:void 0,ignoreRegisteredLoaders:void 0,nothrow:!1,log:new s3,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:dr,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]}},Rge={baseUri:"core.baseUri",fetch:"core.fetch",mimeType:"core.mimeType",fallbackMimeType:"core.fallbackMimeType",ignoreRegisteredLoaders:"core.ignoreRegisteredLoaders",nothrow:"core.nothrow",log:"core.log",useLocalLibraries:"core.useLocalLibraries",CDN:"core.CDN",worker:"core.worker",maxConcurrency:"core.maxConcurrency",maxMobileConcurrency:"core.maxMobileConcurrency",reuseWorkers:"core.reuseWorkers",_nodeWorkers:"core.nodeWorkers",_workerType:"core._workerType",_worker:"core._workerType",limit:"core.limit",_limitMB:"core._limitMB",batchSize:"core.batchSize",batchDebounceMs:"core.batchDebounceMs",metadata:"core.metadata",transforms:"core.transforms",throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};var uM=["baseUri","fetch","mimeType","fallbackMimeType","ignoreRegisteredLoaders","nothrow","log","useLocalLibraries","CDN","worker","maxConcurrency","maxMobileConcurrency","reuseWorkers","_nodeWorkers","_workerType","limit","_limitMB","batchSize","batchDebounceMs","metadata","transforms"];function cM(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state||(e._state={}),e._state}function Vm(){let e=cM();return e.globalOptions=e.globalOptions||{...u3,core:{...u3.core}},wp(e.globalOptions)}function Lge(e,t,r,n){return r=r||[],r=Array.isArray(r)?r:[r],Nxt(e,r),wp(Gxt(t,e,n))}function wp(e){let t=Hxt(e);qge(t);for(let r of uM)t.core&&t.core[r]!==void 0&&delete t[r];return t.core&&t.core._workerType!==void 0&&delete t._worker,t}function Nxt(e,t){jge(e,null,u3,Rge,t);for(let r of t){let n=e&&e[r.id]||{},i=r.options&&r.options[r.id]||{},a=r.deprecatedOptions&&r.deprecatedOptions[r.id]||{};jge(n,r.id,i,a,t)}}function jge(e,t,r,n,i){let a=t||"Top level",o=t?`${t}.`:"";for(let s in e){let u=!t&&fu(e[s]),c=s==="baseUri"&&!t,l=s==="workerUrl"&&t;if(!(s in r)&&!c&&!l){if(s in n)sM.warn(`${a} loader option '${o}${s}' no longer supported, use '${n[s]}'`)();else if(!u){let f=Uxt(s,i);sM.warn(`${a} loader option '${o}${s}' not recognized. ${f}`)()}}}}function Uxt(e,t){let r=e.toLowerCase(),n="";for(let i of t)for(let a in i.options){if(e===a)return`Did you mean '${i.id}.${a}'?`;let o=a.toLowerCase();(r.startsWith(o)||o.startsWith(r))&&(n=n||`Did you mean '${i.id}.${a}'?`)}return n}function Gxt(e,t,r){var o;let n=e.options||{},i={...n};n.core&&(i.core={...n.core}),qge(i),((o=i.core)==null?void 0:o.log)===null&&(i.core={...i.core,log:new o3}),Mge(i,wp(Vm()));let a=wp(t);return Mge(i,a),zxt(i,r),Vxt(i),i}function Mge(e,t){for(let r in t)if(r in t){let n=t[r];pw(n)&&pw(e[r])?e[r]={...e[r],...t[r]}:e[r]=t[r]}}function zxt(e,t){var i;if(!t)return;let r=e.baseUri!==void 0,n=((i=e.core)==null?void 0:i.baseUri)!==void 0;!r&&!n&&(e.core||(e.core={}),e.core.baseUri=t)}function Hxt(e){let t={...e};return e.core&&(t.core={...e.core}),t}function qge(e){for(let r of uM)if(e[r]!==void 0){let i=e.core=e.core||{};i[r]===void 0&&(i[r]=e[r])}let t=e._worker;t!==void 0&&(e.core||(e.core={}),e.core._workerType===void 0&&(e.core._workerType=t))}function Vxt(e){let t=e.core;if(t)for(let r of uM)t[r]!==void 0&&(e[r]=t[r])}function dy(e){return e?(Array.isArray(e)&&(e=e[0]),Array.isArray(e==null?void 0:e.extensions)):!1}function lM(e){_t(e,"null loader"),_t(dy(e),"invalid loader");let t;return Array.isArray(e)&&(t=e[1],e=e[0],e={...e,options:{...e.options,...t}}),(e!=null&&e.parseTextSync||e!=null&&e.parseText)&&(e.text=!0),e.text||(e.binary=!0),e}var $xt=()=>{let e=cM();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function Nge(){return $xt()}var Wxt=/\.([^.]+)$/;async function zge(e,t=[],r,n){if(!Hge(e))return null;let i=wp(r||{});i.core||(i.core={});let a=Uge(e,t,{...i,core:{...i.core,nothrow:!0}},n);if(a)return a;if(Wa(e)&&(e=await e.slice(0,10).arrayBuffer(),a=Uge(e,t,i,n)),!a&&!i.core.nothrow)throw new Error(Vge(e));return a}function Uge(e,t=[],r,n){if(!Hge(e))return null;let i=wp(r||{});if(i.core||(i.core={}),t&&!Array.isArray(t))return lM(t);let a=[];t&&(a=a.concat(t)),i.core.ignoreRegisteredLoaders||a.push(...Nge()),Jxt(a);let o=Kxt(e,a,i,n);if(!o&&!i.core.nothrow)throw new Error(Vge(e));return o}function Kxt(e,t,r,n){var c,l,f,d,p;let i=_p(e),a=fy(e),o=Hm(i)||(n==null?void 0:n.url),s=null,u="";return(c=r==null?void 0:r.core)!=null&&c.mimeType&&(s=fM(t,(l=r==null?void 0:r.core)==null?void 0:l.mimeType),u=`match forced by supplied MIME type ${(f=r==null?void 0:r.core)==null?void 0:f.mimeType}`),s=s||Xxt(t,o),u=u||(s?`matched url ${o}`:""),s=s||fM(t,a),u=u||(s?`matched MIME type ${a}`:""),s=s||Qxt(t,e),u=u||(s?`matched initial data ${$ge(e)}`:""),(d=r==null?void 0:r.core)!=null&&d.fallbackMimeType&&(s=s||fM(t,(p=r==null?void 0:r.core)==null?void 0:p.fallbackMimeType),u=u||(s?`matched fallback MIME type ${a}`:"")),u&&FB.log(1,`selectLoader selected ${s==null?void 0:s.name}: ${u}.`),s}function Hge(e){return!(e instanceof Response&&e.status===204)}function Vge(e){let t=_p(e),r=fy(e),n="No valid loader found (";n+=t?`${wa.filename(t)}, `:"no url provided, ",n+=`MIME type: ${r?`"${r}"`:"not provided"}, `;let i=e?$ge(e):"";return n+=i?` first bytes: "${i}"`:"first bytes: not available",n+=")",n}function Jxt(e){for(let t of e)lM(t)}function Xxt(e,t){let r=t&&Wxt.exec(t),n=r&&r[1];return n?Yxt(e,n):null}function Yxt(e,t){t=t.toLowerCase();for(let r of e)for(let n of r.extensions)if(n.toLowerCase()===t)return r;return null}function fM(e,t){var r;for(let n of e)if((r=n.mimeTypes)!=null&&r.some(i=>aM(t,i))||aM(t,`application/x.${n.id}`))return n;return null}function Qxt(e,t){if(!t)return null;for(let r of e)if(typeof t=="string"){if(Zxt(t,r))return r}else if(ArrayBuffer.isView(t)){if(Gge(t.buffer,t.byteOffset,r))return r}else if(t instanceof ArrayBuffer&&Gge(t,0,r))return r;return null}function Zxt(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some(n=>e.startsWith(n))}function Gge(e,t,r){return(Array.isArray(r.tests)?r.tests:[r.tests]).some(i=>eyt(e,t,r,i))}function eyt(e,t,r,n){if(s0(n))return pu(n,e,n.byteLength);switch(typeof n){case"function":return n(zi(e));case"string":let i=dM(e,t,n.length);return n===i;default:return!1}}function $ge(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?dM(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?dM(e,0,t):""}function dM(e,t,r){if(e.byteLength<t+r)return"";let n=new DataView(e),i="";for(let a=0;a<r;a++)i+=String.fromCharCode(n.getUint8(t+a));return i}var tyt=256*1024;function*Wge(e,t){let r=(t==null?void 0:t.chunkSize)||tyt,n=0,i=new TextEncoder;for(;n<e.length;){let a=Math.min(e.length-n,r),o=e.slice(n,n+a);n+=a,yield zi(i.encode(o))}}function*Kge(e,t={}){let{chunkSize:r=262144}=t,n=0;for(;n<e.byteLength;){let i=Math.min(e.byteLength-n,r),a=new ArrayBuffer(i),o=new Uint8Array(e,n,i);new Uint8Array(a).set(o),n+=i,yield a}}async function*Jge(e,t){let r=(t==null?void 0:t.chunkSize)||1048576,n=0;for(;n<e.size;){let i=n+r,a=await e.slice(n,i).arrayBuffer();n=i,yield a}}function pM(e,t){return dr?ryt(e,t):nyt(e,t)}async function*ryt(e,t){let r=e.getReader(),n;try{for(;;){let i=n||r.read();t!=null&&t._streamReadAhead&&(n=r.read());let{done:a,value:o}=await i;if(a)return;yield Kn(o)}}catch{r.releaseLock()}}async function*nyt(e,t){for await(let r of e)yield Kn(r)}function Xge(e,t){if(typeof e=="string")return Wge(e,t);if(e instanceof ArrayBuffer)return Kge(e,t);if(Wa(e))return Jge(e,t);if(Db(e))return pM(e,t);if($a(e)){let r=e.body;if(!r)throw new Error("Readable stream not available on Response");return pM(r,t)}throw new Error("makeIterator")}var Yge="Cannot convert supplied data type";function iyt(e,t,r){if(t.text&&typeof e=="string")return e;if(gw(e)&&(e=e.buffer),s0(e)){let n=YB(e);return t.text&&!t.binary?new TextDecoder("utf8").decode(n):Kn(n)}throw new Error(Yge)}async function Qge(e,t,r){if(typeof e=="string"||s0(e))return iyt(e,t,r);if(Wa(e)&&(e=await a3(e)),$a(e))return await Pge(e),t.binary?await e.arrayBuffer():await e.text();if(Db(e)&&(e=Xge(e,r)),IB(e)||PB(e))return Md(e);throw new Error(Yge)}function c3(e,t){var a;let r=Vm(),n=e||r,i=n.fetch??((a=n.core)==null?void 0:a.fetch);return typeof i=="function"?i:fu(i)?o=>sa(o,i):t!=null&&t.fetch?t==null?void 0:t.fetch:sa}function Zge(e,t,r){if(r)return r;let n={fetch:c3(t,e),...e};if(n.url){let i=Hm(n.url);n.baseUrl=i,n.queryString=Fge(n.url),n.filename=wa.filename(i),n.baseUrl=wa.dirname(i)}return Array.isArray(n.loaders)||(n.loaders=null),n}function eve(e,t){if(e&&!Array.isArray(e))return e;let r;if(e&&(r=Array.isArray(e)?e:[e]),t&&t.loaders){let n=Array.isArray(t.loaders)?t.loaders:[t.loaders];r=r?[...r,...n]:n}return r&&r.length?r:void 0}async function Ya(e,t,r,n){t&&!Array.isArray(t)&&!dy(t)&&(n=void 0,r=t,t=void 0),e=await e,r=r||{};let i=_p(e),o=eve(t,n),s=await zge(e,o,r);if(!s)return null;let u=Lge(r,s,o,i);return n=Zge({url:i,_parse:Ya,loaders:o},u,n||null),await ayt(s,e,u,n)}async function ayt(e,t,r,n){if(GB(e),r=RB(e.options,r),$a(t)){let{ok:a,redirected:o,status:s,statusText:u,type:c,url:l}=t,f=Object.fromEntries(t.headers.entries());n.response={headers:f,ok:a,redirected:o,status:s,statusText:u,type:c,url:l}}t=await Qge(t,e,r);let i=e;if(i.parseTextSync&&typeof t=="string")return i.parseTextSync(t,r,n);if(HB(e,r))return await VB(e,t,r,n,Ya);if(i.parseText&&typeof t=="string")return await i.parseText(t,r,n);if(i.parse)return await i.parse(t,r,n);throw yi(!i.parseSync),new Error(`${e.id} loader - no parser found and worker is disabled`)}function tve(e){switch(e.constructor){case Int8Array:return"int8";case Uint8Array:case Uint8ClampedArray:return"uint8";case Int16Array:return"int16";case Uint16Array:return"uint16";case Int32Array:return"int32";case Uint32Array:return"uint32";case Float32Array:return"float32";case Float64Array:return"float64";default:return"null"}}function hM(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function mM(e){let t=1/0,r=1/0,n=1/0,i=-1/0,a=-1/0,o=-1/0,s=e.POSITION?e.POSITION.value:[],u=s&&s.length;for(let c=0;c<u;c+=3){let l=s[c],f=s[c+1],d=s[c+2];t=l<t?l:t,r=f<r?f:r,n=d<n?d:n,i=l>i?l:i,a=f>a?f:a,o=d>o?d:o}return[[t,r,n],[i,a,o]]}function gM(e,t,r){let n=tve(t.value),i=r||rve(t);return{name:e,type:{type:"fixed-size-list",listSize:t.size,children:[{name:"value",type:n}]},nullable:!1,metadata:i}}function rve(e){let t={};return"byteOffset"in e&&(t.byteOffset=e.byteOffset.toString(10)),"byteStride"in e&&(t.byteStride=e.byteStride.toString(10)),"normalized"in e&&(t.normalized=e.normalized.toString()),t}async function Kr(e,t,r,n){let i,a;!Array.isArray(t)&&!dy(t)?(i=[],a=t,n=void 0):(i=t,a=r);let o=c3(a),s=e;return typeof e=="string"&&(s=await o(e)),Wa(e)&&(s=await o(e)),Array.isArray(i)?await Ya(s,i,a):await Ya(s,i,a)}async function $m(e,t,r){let i={...Vm(),...r};return t.encodeURLtoURL?oyt(t,e,i):$B(t,i)?await UB(t,e,i):await t.encode(e,i)}function l3(e,t,r){if(t.encodeSync)return t.encodeSync(e,r);if(t.encodeTextSync)return zi(new TextEncoder().encode(t.encodeTextSync(e,r)));throw new Error(`Writer ${t.name} could not synchronously encode data`)}async function ive(e,t,r,n){if(e=hu(e),t=hu(t),dr||!r.encodeURLtoURL)throw new Error;return await r.encodeURLtoURL(e,t,n)}async function oyt(e,t,r){if(dr)throw new Error(`Writer ${e.name} not supported in browser`);let n=nve("input");await new Hi(n,"w").write(t);let a=nve("output"),o=await ive(n,a,e,r);return(await sa(o)).arrayBuffer()}function nve(e){return`/tmp/${e}`}var syt=1/Math.PI*180,uyt=1/180*Math.PI,cyt={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...cyt}};var Rr=globalThis.mathgl.config;function vM(e,{precision:t=Rr.precision}={}){return e=lyt(e),`${parseFloat(e.toPrecision(t))}`}function Oo(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function bM(e){return ave(e)}function xM(e){return Vc(e)}function ave(e,t){return _M(e,r=>r*uyt,t)}function Vc(e,t){return _M(e,r=>r*syt,t)}function yM(e,t,r){return _M(e,n=>Math.max(t,Math.min(r,n)))}function Qa(e,t,r){let n=Rr.EPSILON;r&&(Rr.EPSILON=r);try{if(e===t)return!0;if(Oo(e)&&Oo(t)){if(e.length!==t.length)return!1;for(let i=0;i<e.length;++i)if(!Qa(e[i],t[i]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):typeof e=="number"&&typeof t=="number"?Math.abs(e-t)<=Rr.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{Rr.EPSILON=n}}function lyt(e){return Math.round(e/Rr.EPSILON)*Rr.EPSILON}function fyt(e){return e.clone?e.clone():new Array(e.length)}function _M(e,t,r){if(Oo(e)){let n=e;r=r||fyt(n);for(let i=0;i<r.length&&i<n.length;++i){let a=typeof e=="number"?e:e[i];r[i]=t(a,i,r)}return r}return t(e)}var If=class extends Array{clone(){return new this.constructor().copy(this)}fromArray(t,r=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=t[n+r];return this.check()}toArray(t=[],r=0){for(let n=0;n<this.ELEMENTS;++n)t[r+n]=this[n];return t}toObject(t){return t}from(t){return Array.isArray(t)?this.copy(t):this.fromObject(t)}to(t){return t===this?this:Oo(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(Rr)}formatString(t){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+vM(this[n],t);return`${t.printTypes?this.constructor.name:""}[${r}]`}equals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!Qa(this[r],t[r]))return!1;return!0}exactEquals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(this[r]!==t[r])return!1;return!0}negate(){for(let t=0;t<this.ELEMENTS;++t)this[t]=-this[t];return this.check()}lerp(t,r,n){if(n===void 0)return this.lerp(this,t,r);for(let i=0;i<this.ELEMENTS;++i){let a=t[i],o=typeof r=="number"?r:r[i];this[i]=a+n*(o-a)}return this.check()}min(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(t[r],this[r]);return this.check()}max(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.max(t[r],this[r]);return this.check()}clamp(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t[n]),r[n]);return this.check()}add(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]+=r[n];return this.check()}subtract(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]-=r[n];return this.check()}scale(t){if(typeof t=="number")for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;else for(let r=0;r<this.ELEMENTS&&r<t.length;++r)this[r]*=t[r];return this.check()}multiplyByScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}check(){if(Rr.debug&&!this.validate())throw new Error(`math.gl: ${this.constructor.name} some fields set to invalid numbers'`);return this}validate(){let t=this.length===this.ELEMENTS;for(let r=0;r<this.ELEMENTS;++r)t=t&&Number.isFinite(this[r]);return t}sub(t){return this.subtract(t)}setScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=t;return this.check()}addScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]+=t;return this.check()}subScalar(t){return this.addScalar(-t)}multiplyScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}divideScalar(t){return this.multiplyByScalar(1/t)}clampScalar(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t),r);return this.check()}get elements(){return this}};function dyt(e,t){if(e.length!==t)return!1;for(let r=0;r<e.length;++r)if(!Number.isFinite(e[r]))return!1;return!0}function Gt(e){if(!Number.isFinite(e))throw new Error(`Invalid number ${JSON.stringify(e)}`);return e}function Pf(e,t,r=""){if(Rr.debug&&!dyt(e,t))throw new Error(`math.gl: ${r} some fields set to invalid numbers'`);return e}function li(e,t){if(!e)throw new Error(`math.gl assertion ${t}`)}var Rf=class extends If{get x(){return this[0]}set x(t){this[0]=Gt(t)}get y(){return this[1]}set y(t){this[1]=Gt(t)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let t=0;for(let r=0;r<this.ELEMENTS;++r)t+=this[r]*this[r];return t}magnitudeSquared(){return this.lengthSquared()}distance(t){return Math.sqrt(this.distanceSquared(t))}distanceSquared(t){let r=0;for(let n=0;n<this.ELEMENTS;++n){let i=this[n]-t[n];r+=i*i}return Gt(r)}dot(t){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*t[n];return Gt(r)}normalize(){let t=this.magnitude();if(t!==0)for(let r=0;r<this.ELEMENTS;++r)this[r]/=t;return this.check()}multiply(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]*=r[n];return this.check()}divide(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]/=r[n];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(t){return this.distance(t)}distanceToSquared(t){return this.distanceSquared(t)}getComponent(t){return li(t>=0&&t<this.ELEMENTS,"index is out of range"),Gt(this[t])}setComponent(t,r){return li(t>=0&&t<this.ELEMENTS,"index is out of range"),this[t]=r,this.check()}addVectors(t,r){return this.copy(t).add(r)}subVectors(t,r){return this.copy(t).subtract(r)}multiplyVectors(t,r){return this.copy(t).multiply(r)}addScaledVector(t,r){return this.add(new this.constructor(t).multiplyScalar(r))}};var an=typeof Float32Array<"u"?Float32Array:Array,py=Math.random;function Wm(e){return e>=0?Math.round(e):e%.5===0?Math.floor(e):Math.round(e)}var _er=Math.PI/180;function pyt(){let e=new an(2);return an!=Float32Array&&(e[0]=0,e[1]=0),e}function ove(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e}function sve(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i+r[4],e[1]=r[1]*n+r[3]*i+r[5],e}function f3(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[3]*i+r[6],e[1]=r[1]*n+r[4]*i+r[7],e}function d3(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[4]*i+r[12],e[1]=r[1]*n+r[5]*i+r[13],e}var wer=function(){let e=pyt();return function(t,r,n,i,a,o){let s,u;for(r||(r=2),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],a(e,e,o),t[s]=e[0],t[s+1]=e[1];return t}}();function p3(e,t,r){let n=t[0],i=t[1],a=r[3]*n+r[7]*i||1;return e[0]=(r[0]*n+r[4]*i)/a,e[1]=(r[1]*n+r[5]*i)/a,e}function h3(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a||1;return e[0]=(r[0]*n+r[4]*i+r[8]*a)/o,e[1]=(r[1]*n+r[5]*i+r[9]*a)/o,e[2]=(r[2]*n+r[6]*i+r[10]*a)/o,e}function uve(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e[2]=t[2],e}function cve(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e[2]=t[2],e[3]=t[3],e}function m3(e,t,r){let n=t[0],i=t[1],a=t[2];return e[0]=r[0]*n+r[3]*i+r[6]*a,e[1]=r[1]*n+r[4]*i+r[7]*a,e[2]=r[2]*n+r[5]*i+r[8]*a,e[3]=t[3],e}var Ap=class extends Rf{constructor(t=0,r=0){super(2),Oo(t)&&arguments.length===1?this.copy(t):(Rr.debug&&(Gt(t),Gt(r)),this[0]=t,this[1]=r)}set(t,r){return this[0]=t,this[1]=r,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this.check()}fromObject(t){return Rr.debug&&(Gt(t.x),Gt(t.y)),this[0]=t.x,this[1]=t.y,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t}get ELEMENTS(){return 2}horizontalAngle(){return Math.atan2(this.y,this.x)}verticalAngle(){return Math.atan2(this.x,this.y)}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return d3(this,this,t),this.check()}transformAsVector(t){return p3(this,this,t),this.check()}transformByMatrix3(t){return f3(this,this,t),this.check()}transformByMatrix2x3(t){return sve(this,this,t),this.check()}transformByMatrix2(t){return ove(this,this,t),this.check()}};var Jm={};Oi(Jm,{add:()=>byt,angle:()=>SM,bezier:()=>Fyt,ceil:()=>xyt,clone:()=>myt,copy:()=>gyt,create:()=>g3,cross:()=>Ep,dist:()=>Nyt,distance:()=>hve,div:()=>qyt,divide:()=>pve,dot:()=>hy,equals:()=>jyt,exactEquals:()=>Ryt,floor:()=>yyt,forEach:()=>zyt,fromValues:()=>v3,hermite:()=>Byt,inverse:()=>kyt,len:()=>kM,length:()=>lve,lerp:()=>Cyt,max:()=>wyt,min:()=>_yt,mul:()=>Lyt,multiply:()=>dve,negate:()=>Syt,normalize:()=>wM,random:()=>Oyt,rotateX:()=>AM,rotateY:()=>EM,rotateZ:()=>TM,round:()=>Ayt,scale:()=>Eyt,scaleAndAdd:()=>Tyt,set:()=>vyt,slerp:()=>Dyt,sqrDist:()=>Uyt,sqrLen:()=>Gyt,squaredDistance:()=>mve,squaredLength:()=>gve,str:()=>Pyt,sub:()=>Myt,subtract:()=>fve,transformMat3:()=>my,transformMat4:()=>Tp,transformQuat:()=>gy,zero:()=>Iyt});function g3(){let e=new an(3);return an!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function myt(e){let t=new an(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function lve(e){let t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)}function v3(e,t,r){let n=new an(3);return n[0]=e,n[1]=t,n[2]=r,n}function gyt(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function vyt(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}function byt(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function fve(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function dve(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function pve(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function xyt(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}function yyt(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}function _yt(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e}function wyt(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e}function Ayt(e,t){return e[0]=Wm(t[0]),e[1]=Wm(t[1]),e[2]=Wm(t[2]),e}function Eyt(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function Tyt(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e}function hve(e,t){let r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return Math.sqrt(r*r+n*n+i*i)}function mve(e,t){let r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return r*r+n*n+i*i}function gve(e){let t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function Syt(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function kyt(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function wM(e,t){let r=t[0],n=t[1],i=t[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e}function hy(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Ep(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2];return e[0]=i*u-a*s,e[1]=a*o-n*u,e[2]=n*s-i*o,e}function Cyt(e,t,r,n){let i=t[0],a=t[1],o=t[2];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e}function Dyt(e,t,r,n){let i=Math.acos(Math.min(Math.max(hy(t,r),-1),1)),a=Math.sin(i),o=Math.sin((1-n)*i)/a,s=Math.sin(n*i)/a;return e[0]=o*t[0]+s*r[0],e[1]=o*t[1]+s*r[1],e[2]=o*t[2]+s*r[2],e}function Byt(e,t,r,n,i,a){let o=a*a,s=o*(2*a-3)+1,u=o*(a-2)+a,c=o*(a-1),l=o*(3-2*a);return e[0]=t[0]*s+r[0]*u+n[0]*c+i[0]*l,e[1]=t[1]*s+r[1]*u+n[1]*c+i[1]*l,e[2]=t[2]*s+r[2]*u+n[2]*c+i[2]*l,e}function Fyt(e,t,r,n,i,a){let o=1-a,s=o*o,u=a*a,c=s*o,l=3*a*s,f=3*u*o,d=u*a;return e[0]=t[0]*c+r[0]*l+n[0]*f+i[0]*d,e[1]=t[1]*c+r[1]*l+n[1]*f+i[1]*d,e[2]=t[2]*c+r[2]*l+n[2]*f+i[2]*d,e}function Oyt(e,t){t=t===void 0?1:t;let r=py()*2*Math.PI,n=py()*2-1,i=Math.sqrt(1-n*n)*t;return e[0]=Math.cos(r)*i,e[1]=Math.sin(r)*i,e[2]=n*t,e}function Tp(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,e[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,e[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,e[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,e}function my(e,t,r){let n=t[0],i=t[1],a=t[2];return e[0]=n*r[0]+i*r[3]+a*r[6],e[1]=n*r[1]+i*r[4]+a*r[7],e[2]=n*r[2]+i*r[5]+a*r[8],e}function gy(e,t,r){let n=r[0],i=r[1],a=r[2],o=r[3],s=t[0],u=t[1],c=t[2],l=i*c-a*u,f=a*s-n*c,d=n*u-i*s,p=i*d-a*f,h=a*l-n*d,m=n*f-i*l,g=o*2;return l*=g,f*=g,d*=g,p*=2,h*=2,m*=2,e[0]=s+l+p,e[1]=u+f+h,e[2]=c+d+m,e}function AM(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function EM(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function TM(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function SM(e,t){let r=e[0],n=e[1],i=e[2],a=t[0],o=t[1],s=t[2],u=Math.sqrt((r*r+n*n+i*i)*(a*a+o*o+s*s)),c=u&&hy(e,t)/u;return Math.acos(Math.min(Math.max(c,-1),1))}function Iyt(e){return e[0]=0,e[1]=0,e[2]=0,e}function Pyt(e){return`vec3(${e[0]}, ${e[1]}, ${e[2]})`}function Ryt(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function jyt(e,t){let r=e[0],n=e[1],i=e[2],a=t[0],o=t[1],s=t[2];return Math.abs(r-a)<=1e-6*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(n-o)<=1e-6*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-s)<=1e-6*Math.max(1,Math.abs(i),Math.abs(s))}var Myt=fve,Lyt=dve,qyt=pve,Nyt=hve,Uyt=mve,kM=lve,Gyt=gve,zyt=function(){let e=g3();return function(t,r,n,i,a,o){let s,u;for(r||(r=3),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2];return t}}();var CM=[0,0,0],b3,Z=class extends Rf{static get ZERO(){return b3||(b3=new Z(0,0,0),Object.freeze(b3)),b3}constructor(t=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&Oo(t)?this.copy(t):(Rr.debug&&(Gt(t),Gt(r),Gt(n)),this[0]=t,this[1]=r,this[2]=n)}set(t,r,n){return this[0]=t,this[1]=r,this[2]=n,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this.check()}fromObject(t){return Rr.debug&&(Gt(t.x),Gt(t.y),Gt(t.z)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t}get ELEMENTS(){return 3}get z(){return this[2]}set z(t){this[2]=Gt(t)}angle(t){return SM(this,t)}cross(t){return Ep(this,this,t),this.check()}rotateX({radians:t,origin:r=CM}){return AM(this,this,r,t),this.check()}rotateY({radians:t,origin:r=CM}){return EM(this,this,r,t),this.check()}rotateZ({radians:t,origin:r=CM}){return TM(this,this,r,t),this.check()}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return Tp(this,this,t),this.check()}transformAsVector(t){return h3(this,this,t),this.check()}transformByMatrix3(t){return my(this,this,t),this.check()}transformByMatrix2(t){return uve(this,this,t),this.check()}transformByQuaternion(t){return gy(this,this,t),this.check()}};var x3,Io=class extends Rf{static get ZERO(){return x3||(x3=new Io(0,0,0,0),Object.freeze(x3)),x3}constructor(t=0,r=0,n=0,i=0){super(-0,-0,-0,-0),Oo(t)&&arguments.length===1?this.copy(t):(Rr.debug&&(Gt(t),Gt(r),Gt(n),Gt(i)),this[0]=t,this[1]=r,this[2]=n,this[3]=i)}set(t,r,n,i){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}fromObject(t){return Rr.debug&&(Gt(t.x),Gt(t.y),Gt(t.z),Gt(t.w)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t.w=this[3],t}get ELEMENTS(){return 4}get z(){return this[2]}set z(t){this[2]=Gt(t)}get w(){return this[3]}set w(t){this[3]=Gt(t)}transform(t){return Tp(this,this,t),this.check()}transformByMatrix3(t){return m3(this,this,t),this.check()}transformByMatrix2(t){return cve(this,this,t),this.check()}transformByQuaternion(t){return gy(this,this,t),this.check()}applyMatrix4(t){return t.transform(this,this),this}};var Xm=class extends If{toString(){let t="[";if(Rr.printRowMajor){t+="row-major:";for(let r=0;r<this.RANK;++r)for(let n=0;n<this.RANK;++n)t+=` ${this[n*this.RANK+r]}`}else{t+="column-major:";for(let r=0;r<this.ELEMENTS;++r)t+=` ${this[r]}`}return t+="]",t}getElementIndex(t,r){return r*this.RANK+t}getElement(t,r){return this[r*this.RANK+t]}setElement(t,r,n){return this[r*this.RANK+t]=Gt(n),this}getColumn(t,r=new Array(this.RANK).fill(-0)){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)r[i]=this[n+i];return r}setColumn(t,r){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)this[n+i]=r[i];return this}};function vve(){let e=new an(9);return an!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function bve(e,t){if(e===t){let r=t[1],n=t[2],i=t[5];e[1]=t[3],e[2]=t[6],e[3]=r,e[5]=t[7],e[6]=n,e[7]=i}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e}function xve(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=l*o-s*c,d=-l*a+s*u,p=c*a-o*u,h=r*f+n*d+i*p;return h?(h=1/h,e[0]=f*h,e[1]=(-l*n+i*c)*h,e[2]=(s*n-i*o)*h,e[3]=d*h,e[4]=(l*r-i*u)*h,e[5]=(-s*r+i*a)*h,e[6]=p*h,e[7]=(-c*r+n*u)*h,e[8]=(o*r-n*a)*h,e):null}function yve(e){let t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],c=e[8];return t*(c*a-o*u)+r*(-c*i+o*s)+n*(u*i-a*s)}function DM(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],d=r[0],p=r[1],h=r[2],m=r[3],g=r[4],x=r[5],y=r[6],w=r[7],T=r[8];return e[0]=d*n+p*o+h*c,e[1]=d*i+p*s+h*l,e[2]=d*a+p*u+h*f,e[3]=m*n+g*o+x*c,e[4]=m*i+g*s+x*l,e[5]=m*a+g*u+x*f,e[6]=y*n+w*o+T*c,e[7]=y*i+w*s+T*l,e[8]=y*a+w*u+T*f,e}function _ve(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],d=r[0],p=r[1];return e[0]=n,e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=u,e[6]=d*n+p*o+c,e[7]=d*i+p*s+l,e[8]=d*a+p*u+f,e}function wve(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],d=Math.sin(r),p=Math.cos(r);return e[0]=p*n+d*o,e[1]=p*i+d*s,e[2]=p*a+d*u,e[3]=p*o-d*n,e[4]=p*s-d*i,e[5]=p*u-d*a,e[6]=c,e[7]=l,e[8]=f,e}function BM(e,t,r){let n=r[0],i=r[1];return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=i*t[3],e[4]=i*t[4],e[5]=i*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function Ave(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,u=i+i,c=r*o,l=n*o,f=n*s,d=i*o,p=i*s,h=i*u,m=a*o,g=a*s,x=a*u;return e[0]=1-f-h,e[3]=l-x,e[6]=d+g,e[1]=l+x,e[4]=1-c-h,e[7]=p-m,e[2]=d-g,e[5]=p+m,e[8]=1-c-f,e}var FM;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL1ROW0=3]="COL1ROW0",e[e.COL1ROW1=4]="COL1ROW1",e[e.COL1ROW2=5]="COL1ROW2",e[e.COL2ROW0=6]="COL2ROW0",e[e.COL2ROW1=7]="COL2ROW1",e[e.COL2ROW2=8]="COL2ROW2"})(FM||(FM={}));var Hyt=Object.freeze([1,0,0,0,1,0,0,0,1]),ir=class extends Xm{static get IDENTITY(){return $yt()}static get ZERO(){return Vyt()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return FM}constructor(t,...r){super(-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):r.length>0?this.copy([t,...r]):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this.check()}identity(){return this.copy(Hyt)}fromObject(t){return this.check()}fromQuaternion(t){return Ave(this,t),this.check()}set(t,r,n,i,a,o,s,u,c){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this[4]=a,this[5]=o,this[6]=s,this[7]=u,this[8]=c,this.check()}setRowMajor(t,r,n,i,a,o,s,u,c){return this[0]=t,this[1]=i,this[2]=s,this[3]=r,this[4]=a,this[5]=u,this[6]=n,this[7]=o,this[8]=c,this.check()}determinant(){return yve(this)}transpose(){return bve(this,this),this.check()}invert(){return xve(this,this),this.check()}multiplyLeft(t){return DM(this,t,this),this.check()}multiplyRight(t){return DM(this,this,t),this.check()}rotate(t){return wve(this,this,t),this.check()}scale(t){return Array.isArray(t)?BM(this,this,t):BM(this,this,[t,t]),this.check()}translate(t){return _ve(this,this,t),this.check()}transform(t,r){let n;switch(t.length){case 2:n=f3(r||[-0,-0],t,this);break;case 3:n=my(r||[-0,-0,-0],t,this);break;case 4:n=m3(r||[-0,-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Pf(n,t.length),n}transformVector(t,r){return this.transform(t,r)}transformVector2(t,r){return this.transform(t,r)}transformVector3(t,r){return this.transform(t,r)}},y3,_3=null;function Vyt(){return y3||(y3=new ir([0,0,0,0,0,0,0,0,0]),Object.freeze(y3)),y3}function $yt(){return _3||(_3=new ir,Object.freeze(_3)),_3}var w3={};Oi(w3,{add:()=>v1t,adjoint:()=>Qyt,clone:()=>Kyt,copy:()=>Jyt,create:()=>Wyt,decompose:()=>u1t,determinant:()=>PM,equals:()=>_1t,exactEquals:()=>y1t,frob:()=>g1t,fromQuat:()=>UM,fromQuat2:()=>a1t,fromRotation:()=>t1t,fromRotationTranslation:()=>Sve,fromRotationTranslationScale:()=>c1t,fromRotationTranslationScaleOrigin:()=>l1t,fromScaling:()=>e1t,fromTranslation:()=>Zyt,fromValues:()=>Xyt,fromXRotation:()=>r1t,fromYRotation:()=>n1t,fromZRotation:()=>i1t,frustum:()=>GM,getRotation:()=>s1t,getScaling:()=>kve,getTranslation:()=>o1t,identity:()=>Tve,invert:()=>IM,lookAt:()=>VM,mul:()=>w1t,multiply:()=>vy,multiplyScalar:()=>b1t,multiplyScalarAndAdd:()=>x1t,ortho:()=>HM,orthoNO:()=>Dve,orthoZO:()=>p1t,perspective:()=>zM,perspectiveFromFieldOfView:()=>d1t,perspectiveNO:()=>Cve,perspectiveZO:()=>f1t,rotate:()=>MM,rotateX:()=>LM,rotateY:()=>qM,rotateZ:()=>NM,scale:()=>jM,set:()=>Yyt,str:()=>m1t,sub:()=>A1t,subtract:()=>Bve,targetTo:()=>h1t,translate:()=>RM,transpose:()=>OM});function Wyt(){let e=new an(16);return an!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function Kyt(e){let t=new an(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Jyt(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Xyt(e,t,r,n,i,a,o,s,u,c,l,f,d,p,h,m){let g=new an(16);return g[0]=e,g[1]=t,g[2]=r,g[3]=n,g[4]=i,g[5]=a,g[6]=o,g[7]=s,g[8]=u,g[9]=c,g[10]=l,g[11]=f,g[12]=d,g[13]=p,g[14]=h,g[15]=m,g}function Yyt(e,t,r,n,i,a,o,s,u,c,l,f,d,p,h,m,g){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e[4]=a,e[5]=o,e[6]=s,e[7]=u,e[8]=c,e[9]=l,e[10]=f,e[11]=d,e[12]=p,e[13]=h,e[14]=m,e[15]=g,e}function Tve(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function OM(e,t){if(e===t){let r=t[1],n=t[2],i=t[3],a=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=a,e[11]=t[14],e[12]=i,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function IM(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],d=t[10],p=t[11],h=t[12],m=t[13],g=t[14],x=t[15],y=r*s-n*o,w=r*u-i*o,T=r*c-a*o,A=n*u-i*s,D=n*c-a*s,F=i*c-a*u,j=l*m-f*h,k=l*g-d*h,I=l*x-p*h,P=f*g-d*m,L=f*x-p*m,G=d*x-p*g,V=y*G-w*L+T*P+A*I-D*k+F*j;return V?(V=1/V,e[0]=(s*G-u*L+c*P)*V,e[1]=(i*L-n*G-a*P)*V,e[2]=(m*F-g*D+x*A)*V,e[3]=(d*D-f*F-p*A)*V,e[4]=(u*I-o*G-c*k)*V,e[5]=(r*G-i*I+a*k)*V,e[6]=(g*T-h*F-x*w)*V,e[7]=(l*F-d*T+p*w)*V,e[8]=(o*L-s*I+c*j)*V,e[9]=(n*I-r*L-a*j)*V,e[10]=(h*D-m*T+x*y)*V,e[11]=(f*T-l*D-p*y)*V,e[12]=(s*k-o*P-u*j)*V,e[13]=(r*P-n*k+i*j)*V,e[14]=(m*w-h*A-g*y)*V,e[15]=(l*A-f*w+d*y)*V,e):null}function Qyt(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],d=t[10],p=t[11],h=t[12],m=t[13],g=t[14],x=t[15],y=r*s-n*o,w=r*u-i*o,T=r*c-a*o,A=n*u-i*s,D=n*c-a*s,F=i*c-a*u,j=l*m-f*h,k=l*g-d*h,I=l*x-p*h,P=f*g-d*m,L=f*x-p*m,G=d*x-p*g;return e[0]=s*G-u*L+c*P,e[1]=i*L-n*G-a*P,e[2]=m*F-g*D+x*A,e[3]=d*D-f*F-p*A,e[4]=u*I-o*G-c*k,e[5]=r*G-i*I+a*k,e[6]=g*T-h*F-x*w,e[7]=l*F-d*T+p*w,e[8]=o*L-s*I+c*j,e[9]=n*I-r*L-a*j,e[10]=h*D-m*T+x*y,e[11]=f*T-l*D-p*y,e[12]=s*k-o*P-u*j,e[13]=r*P-n*k+i*j,e[14]=m*w-h*A-g*y,e[15]=l*A-f*w+d*y,e}function PM(e){let t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],c=e[8],l=e[9],f=e[10],d=e[11],p=e[12],h=e[13],m=e[14],g=e[15],x=t*o-r*a,y=t*s-n*a,w=r*s-n*o,T=c*h-l*p,A=c*m-f*p,D=l*m-f*h,F=t*D-r*A+n*T,j=a*D-o*A+s*T,k=c*w-l*y+f*x,I=p*w-h*y+m*x;return u*F-i*j+g*k-d*I}function vy(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],d=t[9],p=t[10],h=t[11],m=t[12],g=t[13],x=t[14],y=t[15],w=r[0],T=r[1],A=r[2],D=r[3];return e[0]=w*n+T*s+A*f+D*m,e[1]=w*i+T*u+A*d+D*g,e[2]=w*a+T*c+A*p+D*x,e[3]=w*o+T*l+A*h+D*y,w=r[4],T=r[5],A=r[6],D=r[7],e[4]=w*n+T*s+A*f+D*m,e[5]=w*i+T*u+A*d+D*g,e[6]=w*a+T*c+A*p+D*x,e[7]=w*o+T*l+A*h+D*y,w=r[8],T=r[9],A=r[10],D=r[11],e[8]=w*n+T*s+A*f+D*m,e[9]=w*i+T*u+A*d+D*g,e[10]=w*a+T*c+A*p+D*x,e[11]=w*o+T*l+A*h+D*y,w=r[12],T=r[13],A=r[14],D=r[15],e[12]=w*n+T*s+A*f+D*m,e[13]=w*i+T*u+A*d+D*g,e[14]=w*a+T*c+A*p+D*x,e[15]=w*o+T*l+A*h+D*y,e}function RM(e,t,r){let n=r[0],i=r[1],a=r[2],o,s,u,c,l,f,d,p,h,m,g,x;return t===e?(e[12]=t[0]*n+t[4]*i+t[8]*a+t[12],e[13]=t[1]*n+t[5]*i+t[9]*a+t[13],e[14]=t[2]*n+t[6]*i+t[10]*a+t[14],e[15]=t[3]*n+t[7]*i+t[11]*a+t[15]):(o=t[0],s=t[1],u=t[2],c=t[3],l=t[4],f=t[5],d=t[6],p=t[7],h=t[8],m=t[9],g=t[10],x=t[11],e[0]=o,e[1]=s,e[2]=u,e[3]=c,e[4]=l,e[5]=f,e[6]=d,e[7]=p,e[8]=h,e[9]=m,e[10]=g,e[11]=x,e[12]=o*n+l*i+h*a+t[12],e[13]=s*n+f*i+m*a+t[13],e[14]=u*n+d*i+g*a+t[14],e[15]=c*n+p*i+x*a+t[15]),e}function jM(e,t,r){let n=r[0],i=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function MM(e,t,r,n){let i=n[0],a=n[1],o=n[2],s=Math.sqrt(i*i+a*a+o*o),u,c,l,f,d,p,h,m,g,x,y,w,T,A,D,F,j,k,I,P,L,G,V,X;return s<1e-6?null:(s=1/s,i*=s,a*=s,o*=s,c=Math.sin(r),u=Math.cos(r),l=1-u,f=t[0],d=t[1],p=t[2],h=t[3],m=t[4],g=t[5],x=t[6],y=t[7],w=t[8],T=t[9],A=t[10],D=t[11],F=i*i*l+u,j=a*i*l+o*c,k=o*i*l-a*c,I=i*a*l-o*c,P=a*a*l+u,L=o*a*l+i*c,G=i*o*l+a*c,V=a*o*l-i*c,X=o*o*l+u,e[0]=f*F+m*j+w*k,e[1]=d*F+g*j+T*k,e[2]=p*F+x*j+A*k,e[3]=h*F+y*j+D*k,e[4]=f*I+m*P+w*L,e[5]=d*I+g*P+T*L,e[6]=p*I+x*P+A*L,e[7]=h*I+y*P+D*L,e[8]=f*G+m*V+w*X,e[9]=d*G+g*V+T*X,e[10]=p*G+x*V+A*X,e[11]=h*G+y*V+D*X,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function LM(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],u=t[7],c=t[8],l=t[9],f=t[10],d=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+c*n,e[5]=o*i+l*n,e[6]=s*i+f*n,e[7]=u*i+d*n,e[8]=c*i-a*n,e[9]=l*i-o*n,e[10]=f*i-s*n,e[11]=d*i-u*n,e}function qM(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],c=t[8],l=t[9],f=t[10],d=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-c*n,e[1]=o*i-l*n,e[2]=s*i-f*n,e[3]=u*i-d*n,e[8]=a*n+c*i,e[9]=o*n+l*i,e[10]=s*n+f*i,e[11]=u*n+d*i,e}function NM(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],c=t[4],l=t[5],f=t[6],d=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+c*n,e[1]=o*i+l*n,e[2]=s*i+f*n,e[3]=u*i+d*n,e[4]=c*i-a*n,e[5]=l*i-o*n,e[6]=f*i-s*n,e[7]=d*i-u*n,e}function Zyt(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}function e1t(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function t1t(e,t,r){let n=r[0],i=r[1],a=r[2],o=Math.sqrt(n*n+i*i+a*a),s,u,c;return o<1e-6?null:(o=1/o,n*=o,i*=o,a*=o,u=Math.sin(t),s=Math.cos(t),c=1-s,e[0]=n*n*c+s,e[1]=i*n*c+a*u,e[2]=a*n*c-i*u,e[3]=0,e[4]=n*i*c-a*u,e[5]=i*i*c+s,e[6]=a*i*c+n*u,e[7]=0,e[8]=n*a*c+i*u,e[9]=i*a*c-n*u,e[10]=a*a*c+s,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function r1t(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function n1t(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function i1t(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Sve(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=n+n,u=i+i,c=a+a,l=n*s,f=n*u,d=n*c,p=i*u,h=i*c,m=a*c,g=o*s,x=o*u,y=o*c;return e[0]=1-(p+m),e[1]=f+y,e[2]=d-x,e[3]=0,e[4]=f-y,e[5]=1-(l+m),e[6]=h+g,e[7]=0,e[8]=d+x,e[9]=h-g,e[10]=1-(l+p),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function a1t(e,t){let r=new an(3),n=-t[0],i=-t[1],a=-t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=n*n+i*i+a*a+o*o;return f>0?(r[0]=(s*o+l*n+u*a-c*i)*2/f,r[1]=(u*o+l*i+c*n-s*a)*2/f,r[2]=(c*o+l*a+s*i-u*n)*2/f):(r[0]=(s*o+l*n+u*a-c*i)*2,r[1]=(u*o+l*i+c*n-s*a)*2,r[2]=(c*o+l*a+s*i-u*n)*2),Sve(e,t,r),e}function o1t(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function kve(e,t){let r=t[0],n=t[1],i=t[2],a=t[4],o=t[5],s=t[6],u=t[8],c=t[9],l=t[10];return e[0]=Math.sqrt(r*r+n*n+i*i),e[1]=Math.sqrt(a*a+o*o+s*s),e[2]=Math.sqrt(u*u+c*c+l*l),e}function s1t(e,t){let r=new an(3);kve(r,t);let n=1/r[0],i=1/r[1],a=1/r[2],o=t[0]*n,s=t[1]*i,u=t[2]*a,c=t[4]*n,l=t[5]*i,f=t[6]*a,d=t[8]*n,p=t[9]*i,h=t[10]*a,m=o+l+h,g=0;return m>0?(g=Math.sqrt(m+1)*2,e[3]=.25*g,e[0]=(f-p)/g,e[1]=(d-u)/g,e[2]=(s-c)/g):o>l&&o>h?(g=Math.sqrt(1+o-l-h)*2,e[3]=(f-p)/g,e[0]=.25*g,e[1]=(s+c)/g,e[2]=(d+u)/g):l>h?(g=Math.sqrt(1+l-o-h)*2,e[3]=(d-u)/g,e[0]=(s+c)/g,e[1]=.25*g,e[2]=(f+p)/g):(g=Math.sqrt(1+h-o-l)*2,e[3]=(s-c)/g,e[0]=(d+u)/g,e[1]=(f+p)/g,e[2]=.25*g),e}function u1t(e,t,r,n){t[0]=n[12],t[1]=n[13],t[2]=n[14];let i=n[0],a=n[1],o=n[2],s=n[4],u=n[5],c=n[6],l=n[8],f=n[9],d=n[10];r[0]=Math.sqrt(i*i+a*a+o*o),r[1]=Math.sqrt(s*s+u*u+c*c),r[2]=Math.sqrt(l*l+f*f+d*d);let p=1/r[0],h=1/r[1],m=1/r[2],g=i*p,x=a*h,y=o*m,w=s*p,T=u*h,A=c*m,D=l*p,F=f*h,j=d*m,k=g+T+j,I=0;return k>0?(I=Math.sqrt(k+1)*2,e[3]=.25*I,e[0]=(A-F)/I,e[1]=(D-y)/I,e[2]=(x-w)/I):g>T&&g>j?(I=Math.sqrt(1+g-T-j)*2,e[3]=(A-F)/I,e[0]=.25*I,e[1]=(x+w)/I,e[2]=(D+y)/I):T>j?(I=Math.sqrt(1+T-g-j)*2,e[3]=(D-y)/I,e[0]=(x+w)/I,e[1]=.25*I,e[2]=(A+F)/I):(I=Math.sqrt(1+j-g-T)*2,e[3]=(x-w)/I,e[0]=(D+y)/I,e[1]=(A+F)/I,e[2]=.25*I),e}function c1t(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3],u=i+i,c=a+a,l=o+o,f=i*u,d=i*c,p=i*l,h=a*c,m=a*l,g=o*l,x=s*u,y=s*c,w=s*l,T=n[0],A=n[1],D=n[2];return e[0]=(1-(h+g))*T,e[1]=(d+w)*T,e[2]=(p-y)*T,e[3]=0,e[4]=(d-w)*A,e[5]=(1-(f+g))*A,e[6]=(m+x)*A,e[7]=0,e[8]=(p+y)*D,e[9]=(m-x)*D,e[10]=(1-(f+h))*D,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function l1t(e,t,r,n,i){let a=t[0],o=t[1],s=t[2],u=t[3],c=a+a,l=o+o,f=s+s,d=a*c,p=a*l,h=a*f,m=o*l,g=o*f,x=s*f,y=u*c,w=u*l,T=u*f,A=n[0],D=n[1],F=n[2],j=i[0],k=i[1],I=i[2],P=(1-(m+x))*A,L=(p+T)*A,G=(h-w)*A,V=(p-T)*D,X=(1-(d+x))*D,Y=(g+y)*D,he=(h+w)*F,le=(g-y)*F,me=(1-(d+m))*F;return e[0]=P,e[1]=L,e[2]=G,e[3]=0,e[4]=V,e[5]=X,e[6]=Y,e[7]=0,e[8]=he,e[9]=le,e[10]=me,e[11]=0,e[12]=r[0]+j-(P*j+V*k+he*I),e[13]=r[1]+k-(L*j+X*k+le*I),e[14]=r[2]+I-(G*j+Y*k+me*I),e[15]=1,e}function UM(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,u=i+i,c=r*o,l=n*o,f=n*s,d=i*o,p=i*s,h=i*u,m=a*o,g=a*s,x=a*u;return e[0]=1-f-h,e[1]=l+x,e[2]=d-g,e[3]=0,e[4]=l-x,e[5]=1-c-h,e[6]=p+m,e[7]=0,e[8]=d+g,e[9]=p-m,e[10]=1-c-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function GM(e,t,r,n,i,a,o){let s=1/(r-t),u=1/(i-n),c=1/(a-o);return e[0]=a*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a*2*u,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(i+n)*u,e[10]=(o+a)*c,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*a*2*c,e[15]=0,e}function Cve(e,t,r,n,i){let a=1/Math.tan(t/2);if(e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let o=1/(n-i);e[10]=(i+n)*o,e[14]=2*i*n*o}else e[10]=-1,e[14]=-2*n;return e}var zM=Cve;function f1t(e,t,r,n,i){let a=1/Math.tan(t/2);if(e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let o=1/(n-i);e[10]=i*o,e[14]=i*n*o}else e[10]=-1,e[14]=-n;return e}function d1t(e,t,r,n){let i=Math.tan(t.upDegrees*Math.PI/180),a=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),u=2/(o+s),c=2/(i+a);return e[0]=u,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=-((o-s)*u*.5),e[9]=(i-a)*c*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}function Dve(e,t,r,n,i,a,o){let s=1/(t-r),u=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*u,e[14]=(o+a)*c,e[15]=1,e}var HM=Dve;function p1t(e,t,r,n,i,a,o){let s=1/(t-r),u=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*u,e[14]=a*c,e[15]=1,e}function VM(e,t,r,n){let i,a,o,s,u,c,l,f,d,p,h=t[0],m=t[1],g=t[2],x=n[0],y=n[1],w=n[2],T=r[0],A=r[1],D=r[2];return Math.abs(h-T)<1e-6&&Math.abs(m-A)<1e-6&&Math.abs(g-D)<1e-6?Tve(e):(f=h-T,d=m-A,p=g-D,i=1/Math.sqrt(f*f+d*d+p*p),f*=i,d*=i,p*=i,a=y*p-w*d,o=w*f-x*p,s=x*d-y*f,i=Math.sqrt(a*a+o*o+s*s),i?(i=1/i,a*=i,o*=i,s*=i):(a=0,o=0,s=0),u=d*s-p*o,c=p*a-f*s,l=f*o-d*a,i=Math.sqrt(u*u+c*c+l*l),i?(i=1/i,u*=i,c*=i,l*=i):(u=0,c=0,l=0),e[0]=a,e[1]=u,e[2]=f,e[3]=0,e[4]=o,e[5]=c,e[6]=d,e[7]=0,e[8]=s,e[9]=l,e[10]=p,e[11]=0,e[12]=-(a*h+o*m+s*g),e[13]=-(u*h+c*m+l*g),e[14]=-(f*h+d*m+p*g),e[15]=1,e)}function h1t(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=n[0],u=n[1],c=n[2],l=i-r[0],f=a-r[1],d=o-r[2],p=l*l+f*f+d*d;p>0&&(p=1/Math.sqrt(p),l*=p,f*=p,d*=p);let h=u*d-c*f,m=c*l-s*d,g=s*f-u*l;return p=h*h+m*m+g*g,p>0&&(p=1/Math.sqrt(p),h*=p,m*=p,g*=p),e[0]=h,e[1]=m,e[2]=g,e[3]=0,e[4]=f*g-d*m,e[5]=d*h-l*g,e[6]=l*m-f*h,e[7]=0,e[8]=l,e[9]=f,e[10]=d,e[11]=0,e[12]=i,e[13]=a,e[14]=o,e[15]=1,e}function m1t(e){return`mat4(${e[0]}, ${e[1]}, ${e[2]}, ${e[3]}, ${e[4]}, ${e[5]}, ${e[6]}, ${e[7]}, ${e[8]}, ${e[9]}, ${e[10]}, ${e[11]}, ${e[12]}, ${e[13]}, ${e[14]}, ${e[15]})`}function g1t(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]+e[3]*e[3]+e[4]*e[4]+e[5]*e[5]+e[6]*e[6]+e[7]*e[7]+e[8]*e[8]+e[9]*e[9]+e[10]*e[10]+e[11]*e[11]+e[12]*e[12]+e[13]*e[13]+e[14]*e[14]+e[15]*e[15])}function v1t(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e}function Bve(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}function b1t(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e}function x1t(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e}function y1t(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function _1t(e,t){let r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],u=e[6],c=e[7],l=e[8],f=e[9],d=e[10],p=e[11],h=e[12],m=e[13],g=e[14],x=e[15],y=t[0],w=t[1],T=t[2],A=t[3],D=t[4],F=t[5],j=t[6],k=t[7],I=t[8],P=t[9],L=t[10],G=t[11],V=t[12],X=t[13],Y=t[14],he=t[15];return Math.abs(r-y)<=1e-6*Math.max(1,Math.abs(r),Math.abs(y))&&Math.abs(n-w)<=1e-6*Math.max(1,Math.abs(n),Math.abs(w))&&Math.abs(i-T)<=1e-6*Math.max(1,Math.abs(i),Math.abs(T))&&Math.abs(a-A)<=1e-6*Math.max(1,Math.abs(a),Math.abs(A))&&Math.abs(o-D)<=1e-6*Math.max(1,Math.abs(o),Math.abs(D))&&Math.abs(s-F)<=1e-6*Math.max(1,Math.abs(s),Math.abs(F))&&Math.abs(u-j)<=1e-6*Math.max(1,Math.abs(u),Math.abs(j))&&Math.abs(c-k)<=1e-6*Math.max(1,Math.abs(c),Math.abs(k))&&Math.abs(l-I)<=1e-6*Math.max(1,Math.abs(l),Math.abs(I))&&Math.abs(f-P)<=1e-6*Math.max(1,Math.abs(f),Math.abs(P))&&Math.abs(d-L)<=1e-6*Math.max(1,Math.abs(d),Math.abs(L))&&Math.abs(p-G)<=1e-6*Math.max(1,Math.abs(p),Math.abs(G))&&Math.abs(h-V)<=1e-6*Math.max(1,Math.abs(h),Math.abs(V))&&Math.abs(m-X)<=1e-6*Math.max(1,Math.abs(m),Math.abs(X))&&Math.abs(g-Y)<=1e-6*Math.max(1,Math.abs(g),Math.abs(Y))&&Math.abs(x-he)<=1e-6*Math.max(1,Math.abs(x),Math.abs(he))}var w1t=vy,A1t=Bve;function E1t(){let e=new an(4);return an!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function Fve(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e}function Ove(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e}function Ive(e){let t=e[0],r=e[1],n=e[2],i=e[3];return Math.sqrt(t*t+r*r+n*n+i*i)}function Pve(e){let t=e[0],r=e[1],n=e[2],i=e[3];return t*t+r*r+n*n+i*i}function Rve(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o)),e[0]=r*o,e[1]=n*o,e[2]=i*o,e[3]=a*o,e}function jve(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function Mve(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e[3]=s+n*(r[3]-s),e}function Lve(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,e}function qve(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2],c=r[3],l=c*n+s*a-u*i,f=c*i+u*n-o*a,d=c*a+o*i-s*n,p=-o*n-s*i-u*a;return e[0]=l*c+p*-o+f*-u-d*-s,e[1]=f*c+p*-s+d*-o-l*-u,e[2]=d*c+p*-u+l*-s-f*-o,e[3]=t[3],e}var Zer=function(){let e=E1t();return function(t,r,n,i,a,o){let s,u;for(r||(r=4),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],e[3]=t[s+3],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2],t[s+3]=e[3];return t}}();var KM;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL0ROW3=3]="COL0ROW3",e[e.COL1ROW0=4]="COL1ROW0",e[e.COL1ROW1=5]="COL1ROW1",e[e.COL1ROW2=6]="COL1ROW2",e[e.COL1ROW3=7]="COL1ROW3",e[e.COL2ROW0=8]="COL2ROW0",e[e.COL2ROW1=9]="COL2ROW1",e[e.COL2ROW2=10]="COL2ROW2",e[e.COL2ROW3=11]="COL2ROW3",e[e.COL3ROW0=12]="COL3ROW0",e[e.COL3ROW1=13]="COL3ROW1",e[e.COL3ROW2=14]="COL3ROW2",e[e.COL3ROW3=15]="COL3ROW3"})(KM||(KM={}));var T1t=45*Math.PI/180,S1t=1,$M=.1,WM=500,k1t=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),gr=class extends Xm{static get IDENTITY(){return D1t()}static get ZERO(){return C1t()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return KM}constructor(t){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this[9]=t[9],this[10]=t[10],this[11]=t[11],this[12]=t[12],this[13]=t[13],this[14]=t[14],this[15]=t[15],this.check()}set(t,r,n,i,a,o,s,u,c,l,f,d,p,h,m,g){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this[4]=a,this[5]=o,this[6]=s,this[7]=u,this[8]=c,this[9]=l,this[10]=f,this[11]=d,this[12]=p,this[13]=h,this[14]=m,this[15]=g,this.check()}setRowMajor(t,r,n,i,a,o,s,u,c,l,f,d,p,h,m,g){return this[0]=t,this[1]=a,this[2]=c,this[3]=p,this[4]=r,this[5]=o,this[6]=l,this[7]=h,this[8]=n,this[9]=s,this[10]=f,this[11]=m,this[12]=i,this[13]=u,this[14]=d,this[15]=g,this.check()}toRowMajor(t){return t[0]=this[0],t[1]=this[4],t[2]=this[8],t[3]=this[12],t[4]=this[1],t[5]=this[5],t[6]=this[9],t[7]=this[13],t[8]=this[2],t[9]=this[6],t[10]=this[10],t[11]=this[14],t[12]=this[3],t[13]=this[7],t[14]=this[11],t[15]=this[15],t}identity(){return this.copy(k1t)}fromObject(t){return this.check()}fromQuaternion(t){return UM(this,t),this.check()}frustum(t){let{left:r,right:n,bottom:i,top:a,near:o=$M,far:s=WM}=t;return s===1/0?B1t(this,r,n,i,a,o):GM(this,r,n,i,a,o,s),this.check()}lookAt(t){let{eye:r,center:n=[0,0,0],up:i=[0,1,0]}=t;return VM(this,r,n,i),this.check()}ortho(t){let{left:r,right:n,bottom:i,top:a,near:o=$M,far:s=WM}=t;return HM(this,r,n,i,a,o,s),this.check()}orthographic(t){let{fovy:r=T1t,aspect:n=S1t,focalDistance:i=1,near:a=$M,far:o=WM}=t;Uve(r);let s=r/2,u=i*Math.tan(s),c=u*n;return this.ortho({left:-c,right:c,bottom:-u,top:u,near:a,far:o})}perspective(t){let{fovy:r=45*Math.PI/180,aspect:n=1,near:i=.1,far:a=500}=t;return Uve(r),zM(this,r,n,i,a),this.check()}determinant(){return PM(this)}getScale(t=[-0,-0,-0]){return t[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),t[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),t[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),t}getTranslation(t=[-0,-0,-0]){return t[0]=this[12],t[1]=this[13],t[2]=this[14],t}getRotation(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),i=1/n[0],a=1/n[1],o=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*o,t[3]=0,t[4]=this[4]*i,t[5]=this[5]*a,t[6]=this[6]*o,t[7]=0,t[8]=this[8]*i,t[9]=this[9]*a,t[10]=this[10]*o,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}getRotationMatrix3(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),i=1/n[0],a=1/n[1],o=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*o,t[3]=this[4]*i,t[4]=this[5]*a,t[5]=this[6]*o,t[6]=this[8]*i,t[7]=this[9]*a,t[8]=this[10]*o,t}transpose(){return OM(this,this),this.check()}invert(){return IM(this,this),this.check()}multiplyLeft(t){return vy(this,t,this),this.check()}multiplyRight(t){return vy(this,this,t),this.check()}rotateX(t){return LM(this,this,t),this.check()}rotateY(t){return qM(this,this,t),this.check()}rotateZ(t){return NM(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return MM(this,this,t,r),this.check()}scale(t){return jM(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return RM(this,this,t),this.check()}transform(t,r){return t.length===4?(r=Lve(r||[-0,-0,-0,-0],t,this),Pf(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:n}=t,i;switch(n){case 2:i=d3(r||[-0,-0],t,this);break;case 3:i=Tp(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Pf(i,t.length),i}transformAsVector(t,r){let n;switch(t.length){case 2:n=p3(r||[-0,-0],t,this);break;case 3:n=h3(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Pf(n,t.length),n}transformPoint(t,r){return this.transformAsPoint(t,r)}transformVector(t,r){return this.transformAsPoint(t,r)}transformDirection(t,r){return this.transformAsVector(t,r)}makeRotationX(t){return this.identity().rotateX(t)}makeTranslation(t,r,n){return this.identity().translate([t,r,n])}},A3,E3;function C1t(){return A3||(A3=new gr([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(A3)),A3}function D1t(){return E3||(E3=new gr,Object.freeze(E3)),E3}function Uve(e){if(e>Math.PI*2)throw Error("expected radians")}function B1t(e,t,r,n,i,a){let o=2*a/(r-t),s=2*a/(i-n),u=(r+t)/(r-t),c=(i+n)/(i-n),l=-1,f=-1,d=-2*a;return e[0]=o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=u,e[9]=c,e[10]=l,e[11]=f,e[12]=0,e[13]=0,e[14]=d,e[15]=0,e}function Gve(){let e=new an(4);return an!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function zve(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function JM(e,t,r){r=r*.5;let n=Math.sin(r);return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=Math.cos(r),e}function XM(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=r[0],u=r[1],c=r[2],l=r[3];return e[0]=n*l+o*s+i*c-a*u,e[1]=i*l+o*u+a*s-n*c,e[2]=a*l+o*c+n*u-i*s,e[3]=o*l-n*s-i*u-a*c,e}function Hve(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+o*s,e[1]=i*u+a*s,e[2]=a*u-i*s,e[3]=o*u-n*s,e}function Vve(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u-a*s,e[1]=i*u+o*s,e[2]=a*u+n*s,e[3]=o*u-i*s,e}function $ve(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+i*s,e[1]=i*u-n*s,e[2]=a*u+o*s,e[3]=o*u-a*s,e}function Wve(e,t){let r=t[0],n=t[1],i=t[2];return e[0]=r,e[1]=n,e[2]=i,e[3]=Math.sqrt(Math.abs(1-r*r-n*n-i*i)),e}function by(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3],u=r[0],c=r[1],l=r[2],f=r[3],d,p,h,m,g;return d=i*u+a*c+o*l+s*f,d<0&&(d=-d,u=-u,c=-c,l=-l,f=-f),1-d>1e-6?(p=Math.acos(d),g=Math.sin(p),h=Math.sin((1-n)*p)/g,m=Math.sin(n*p)/g):(h=1-n,m=n),e[0]=h*i+m*u,e[1]=h*a+m*c,e[2]=h*o+m*l,e[3]=h*s+m*f,e}function Kve(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a,s=o?1/o:0;return e[0]=-r*s,e[1]=-n*s,e[2]=-i*s,e[3]=a*s,e}function Jve(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function YM(e,t){let r=t[0]+t[4]+t[8],n;if(r>0)n=Math.sqrt(r+1),e[3]=.5*n,n=.5/n,e[0]=(t[5]-t[7])*n,e[1]=(t[6]-t[2])*n,e[2]=(t[1]-t[3])*n;else{let i=0;t[4]>t[0]&&(i=1),t[8]>t[i*3+i]&&(i=2);let a=(i+1)%3,o=(i+2)%3;n=Math.sqrt(t[i*3+i]-t[a*3+a]-t[o*3+o]+1),e[i]=.5*n,n=.5/n,e[3]=(t[a*3+o]-t[o*3+a])*n,e[a]=(t[a*3+i]+t[i*3+a])*n,e[o]=(t[o*3+i]+t[i*3+o])*n}return e}var Xve=Fve;var Yve=Ove,Qve=jve,Zve=Mve,ebe=Ive;var tbe=Pve;var rbe=Rve;var nbe=function(){let e=g3(),t=v3(1,0,0),r=v3(0,1,0);return function(n,i,a){let o=hy(i,a);return o<-.999999?(Ep(e,t,i),kM(e)<1e-6&&Ep(e,r,i),wM(e,e),JM(n,e,Math.PI),n):o>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(Ep(e,i,a),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=1+o,rbe(n,n))}}(),ptr=function(){let e=Gve(),t=Gve();return function(r,n,i,a,o,s){return by(e,n,o,s),by(t,i,a,s),by(r,e,t,2*s*(1-s)),r}}(),htr=function(){let e=vve();return function(t,r,n,i){return e[0]=n[0],e[3]=n[1],e[6]=n[2],e[1]=i[0],e[4]=i[1],e[7]=i[2],e[2]=-r[0],e[5]=-r[1],e[8]=-r[2],rbe(t,YM(t,e))}}();var O1t=[0,0,0,1],Po=class extends If{constructor(t=0,r=0,n=0,i=1){super(-0,-0,-0,-0),Array.isArray(t)&&arguments.length===1?this.copy(t):this.set(t,r,n,i)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,r,n,i){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this.check()}fromObject(t){return this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this.check()}fromMatrix3(t){return YM(this,t),this.check()}fromAxisRotation(t,r){return JM(this,t,r),this.check()}identity(){return zve(this),this.check()}setAxisAngle(t,r){return this.fromAxisRotation(t,r)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=Gt(t)}get y(){return this[1]}set y(t){this[1]=Gt(t)}get z(){return this[2]}set z(t){this[2]=Gt(t)}get w(){return this[3]}set w(t){this[3]=Gt(t)}len(){return ebe(this)}lengthSquared(){return tbe(this)}dot(t){return Qve(this,t)}rotationTo(t,r){return nbe(this,t,r),this.check()}add(t){return Xve(this,this,t),this.check()}calculateW(){return Wve(this,this),this.check()}conjugate(){return Jve(this,this),this.check()}invert(){return Kve(this,this),this.check()}lerp(t,r,n){return n===void 0?this.lerp(this,t,r):(Zve(this,t,r,n),this.check())}multiplyRight(t){return XM(this,this,t),this.check()}multiplyLeft(t){return XM(this,t,this),this.check()}normalize(){let t=this.len(),r=t>0?1/t:0;return this[0]=this[0]*r,this[1]=this[1]*r,this[2]=this[2]*r,this[3]=this[3]*r,t===0&&(this[3]=1),this.check()}rotateX(t){return Hve(this,this,t),this.check()}rotateY(t){return Vve(this,this,t),this.check()}rotateZ(t){return $ve(this,this,t),this.check()}scale(t){return Yve(this,this,t),this.check()}slerp(t,r,n){let i,a,o;switch(arguments.length){case 1:({start:i=O1t,target:a,ratio:o}=t);break;case 2:i=this,a=t,o=r;break;default:i=t,a=r,o=n}return by(this,i,a,o),this.check()}transformVector4(t,r=new Io){return qve(r,t,this),Pf(r,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,r){return this.setAxisAngle(t,r)}premultiply(t){return this.multiplyLeft(t)}multiply(t){return this.multiplyRight(t)}};var As={};Oi(As,{EPSILON1:()=>I1t,EPSILON10:()=>G1t,EPSILON11:()=>z1t,EPSILON12:()=>H1t,EPSILON13:()=>V1t,EPSILON14:()=>$1t,EPSILON15:()=>W1t,EPSILON16:()=>K1t,EPSILON17:()=>J1t,EPSILON18:()=>X1t,EPSILON19:()=>Y1t,EPSILON2:()=>P1t,EPSILON20:()=>Q1t,EPSILON3:()=>R1t,EPSILON4:()=>j1t,EPSILON5:()=>M1t,EPSILON6:()=>L1t,EPSILON7:()=>q1t,EPSILON8:()=>N1t,EPSILON9:()=>U1t,PI_OVER_FOUR:()=>e_t,PI_OVER_SIX:()=>t_t,PI_OVER_TWO:()=>Z1t,TWO_PI:()=>r_t});var I1t=.1,P1t=.01,R1t=.001,j1t=1e-4,M1t=1e-5,L1t=1e-6,q1t=1e-7,N1t=1e-8,U1t=1e-9,G1t=1e-10,z1t=1e-11,H1t=1e-12,V1t=1e-13,$1t=1e-14,W1t=1e-15,K1t=1e-16,J1t=1e-17,X1t=1e-18,Y1t=1e-19,Q1t=1e-20,Z1t=Math.PI/2,e_t=Math.PI/4,t_t=Math.PI/6,r_t=Math.PI*2;var $c=6356752314245179e-9,n_t={radii:[6378137,6378137,$c],radiiSquared:[6378137*6378137,6378137*6378137,$c*$c],oneOverRadii:[1/6378137,1/6378137,1/$c],oneOverRadiiSquared:[1/(6378137*6378137),1/(6378137*6378137),1/($c*$c)],maximumRadius:Math.max(6378137,6378137,$c),centerToleranceSquared:.1};function T3(e){return e}var Htr=new Z;function i_t(e,t=[],r=T3){return"longitude"in e?(t[0]=r(e.longitude),t[1]=r(e.latitude),t[2]=e.height):"x"in e?(t[0]=r(e.x),t[1]=r(e.y),t[2]=e.z):(t[0]=r(e[0]),t[1]=r(e[1]),t[2]=e[2]),t}function ibe(e,t=[]){return i_t(e,t,Rr._cartographicRadians?T3:bM)}function a_t(e,t,r=T3){return"longitude"in t?(t.longitude=r(e[0]),t.latitude=r(e[1]),t.height=e[2]):"x"in t?(t.x=r(e[0]),t.y=r(e[1]),t.z=e[2]):(t[0]=r(e[0]),t[1]=r(e[1]),t[2]=e[2]),t}function abe(e,t){return a_t(e,t,Rr._cartographicRadians?T3:xM)}var obe=1e-14,o_t=new Z,sbe={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},QM={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},xy={east:new Z,north:new Z,up:new Z,west:new Z,south:new Z,down:new Z},s_t=new Z,u_t=new Z,c_t=new Z;function ZM(e,t,r,n,i,a){let o=sbe[t]&&sbe[t][r];li(o&&(!n||n===o));let s,u,c,l=o_t.copy(i);if(Qa(l.x,0,obe)&&Qa(l.y,0,obe)){let d=Math.sign(l.z);s=s_t.fromArray(QM[t]),t!=="east"&&t!=="west"&&s.scale(d),u=u_t.fromArray(QM[r]),r!=="east"&&r!=="west"&&u.scale(d),c=c_t.fromArray(QM[n]),n!=="east"&&n!=="west"&&c.scale(d)}else{let{up:d,east:p,north:h}=xy;p.set(-l.y,l.x,0).normalize(),e.geodeticSurfaceNormal(l,d),h.copy(d).cross(p);let{down:m,west:g,south:x}=xy;m.copy(d).scale(-1),g.copy(p).scale(-1),x.copy(h).scale(-1),s=xy[t],u=xy[r],c=xy[n]}return a[0]=s.x,a[1]=s.y,a[2]=s.z,a[3]=0,a[4]=u.x,a[5]=u.y,a[6]=u.z,a[7]=0,a[8]=c.x,a[9]=c.y,a[10]=c.z,a[11]=0,a[12]=l.x,a[13]=l.y,a[14]=l.z,a[15]=1,a}var Ym=new Z,l_t=new Z,f_t=new Z;function ube(e,t,r=[]){let{oneOverRadii:n,oneOverRadiiSquared:i,centerToleranceSquared:a}=t;Ym.from(e);let o=Ym.x,s=Ym.y,u=Ym.z,c=n.x,l=n.y,f=n.z,d=o*o*c*c,p=s*s*l*l,h=u*u*f*f,m=d+p+h,g=Math.sqrt(1/m);if(!Number.isFinite(g))return;let x=l_t;if(x.copy(e).scale(g),m<a)return x.to(r);let y=i.x,w=i.y,T=i.z,A=f_t;A.set(x.x*y*2,x.y*w*2,x.z*T*2);let D=(1-g)*Ym.len()/(.5*A.len()),F=0,j,k,I,P;do{D-=F,j=1/(1+D*y),k=1/(1+D*w),I=1/(1+D*T);let L=j*j,G=k*k,V=I*I,X=L*j,Y=G*k,he=V*I;P=d*L+p*G+h*V-1;let me=-2*(d*X*y+p*Y*w+h*he*T);F=P/me}while(Math.abs(P)>As.EPSILON12);return Ym.scale([j,k,I]).to(r)}var S3=new Z,cbe=new Z,h_t=new Z,Es=new Z,m_t=new Z,k3=new Z,Ot=class{constructor(t=0,r=0,n=0){this.centerToleranceSquared=As.EPSILON1,li(t>=0),li(r>=0),li(n>=0),this.radii=new Z(t,r,n),this.radiiSquared=new Z(t*t,r*r,n*n),this.radiiToTheFourth=new Z(t*t*t*t,r*r*r*r,n*n*n*n),this.oneOverRadii=new Z(t===0?0:1/t,r===0?0:1/r,n===0?0:1/n),this.oneOverRadiiSquared=new Z(t===0?0:1/(t*t),r===0?0:1/(r*r),n===0?0:1/(n*n)),this.minimumRadius=Math.min(t,r,n),this.maximumRadius=Math.max(t,r,n),this.radiiSquared.z!==0&&(this.squaredXOverSquaredZ=this.radiiSquared.x/this.radiiSquared.z),Object.freeze(this)}equals(t){return this===t||Boolean(t&&this.radii.equals(t.radii))}toString(){return this.radii.toString()}cartographicToCartesian(t,r=[0,0,0]){let n=cbe,i=h_t,[,,a]=t;this.geodeticSurfaceNormalCartographic(t,n),i.copy(this.radiiSquared).scale(n);let o=Math.sqrt(n.dot(i));return i.scale(1/o),n.scale(a),i.add(n),i.to(r)}cartesianToCartographic(t,r=[0,0,0]){k3.from(t);let n=this.scaleToGeodeticSurface(k3,Es);if(!n)return;let i=this.geodeticSurfaceNormal(n,cbe),a=m_t;a.copy(k3).subtract(n);let o=Math.atan2(i.y,i.x),s=Math.asin(i.z),u=Math.sign(Jm.dot(a,k3))*Jm.length(a);return abe([o,s,u],r)}eastNorthUpToFixedFrame(t,r=new gr){return ZM(this,"east","north","up",t,r)}localFrameToFixedFrame(t,r,n,i,a=new gr){return ZM(this,t,r,n,i,a)}geocentricSurfaceNormal(t,r=[0,0,0]){return S3.from(t).normalize().to(r)}geodeticSurfaceNormalCartographic(t,r=[0,0,0]){let n=ibe(t),i=n[0],a=n[1],o=Math.cos(a);return S3.set(o*Math.cos(i),o*Math.sin(i),Math.sin(a)).normalize(),S3.to(r)}geodeticSurfaceNormal(t,r=[0,0,0]){return S3.from(t).scale(this.oneOverRadiiSquared).normalize().to(r)}scaleToGeodeticSurface(t,r){return ube(t,this,r)}scaleToGeocentricSurface(t,r=[0,0,0]){Es.from(t);let n=Es.x,i=Es.y,a=Es.z,o=this.oneOverRadiiSquared,s=1/Math.sqrt(n*n*o.x+i*i*o.y+a*a*o.z);return Es.multiplyScalar(s).to(r)}transformPositionToScaledSpace(t,r=[0,0,0]){return Es.from(t).scale(this.oneOverRadii).to(r)}transformPositionFromScaledSpace(t,r=[0,0,0]){return Es.from(t).scale(this.radii).to(r)}getSurfaceNormalIntersectionWithZAxis(t,r=0,n=[0,0,0]){li(Qa(this.radii.x,this.radii.y,As.EPSILON15)),li(this.radii.z>0),Es.from(t);let i=Es.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(i)>=this.radii.z-r))return Es.set(0,0,i).to(n)}};Ot.WGS84=new Ot(6378137,6378137,$c);var fi={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var crr=new Z,lrr=new Z;var yy=new Z,lbe=new Z,ua=class{constructor(t=[0,0,0],r=0){this.radius=-0,this.center=new Z,this.fromCenterRadius(t,r)}fromCenterRadius(t,r){return this.center.from(t),this.radius=r,this}fromCornerPoints(t,r){return r=yy.from(r),this.center=new Z().from(t).add(r).scale(.5),this.radius=this.center.distance(r),this}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.radius===t.radius}clone(){return new ua(this.center,this.radius)}union(t){let r=this.center,n=this.radius,i=t.center,a=t.radius,o=yy.copy(i).subtract(r),s=o.magnitude();if(n>=s+a)return this.clone();if(a>=s+n)return t.clone();let u=(n+s+a)*.5;return lbe.copy(o).scale((-n+u)/s).add(r),this.center.copy(lbe),this.radius=u,this}expand(t){let n=yy.from(t).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(t){this.center.transform(t);let r=w3.getScaling(yy,t);return this.radius=Math.max(r[0],Math.max(r[1],r[2]))*this.radius,this}distanceSquaredTo(t){let r=this.distanceTo(t);return r*r}distanceTo(t){let n=yy.from(t).subtract(this.center);return Math.max(0,n.len()-this.radius)}intersectPlane(t){let r=this.center,n=this.radius,a=t.normal.dot(r)+t.distance;return a<-n?fi.OUTSIDE:a<n?fi.INTERSECTING:fi.INSIDE}};var g_t=new Z,v_t=new Z,C3=new Z,D3=new Z,B3=new Z,b_t=new Z,x_t=new Z,Wc={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8},di=class{constructor(t=[0,0,0],r=[0,0,0,0,0,0,0,0,0]){this.center=new Z().from(t),this.halfAxes=new ir(r)}get halfSize(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new Z(t).len(),new Z(r).len(),new Z(n).len()]}get quaternion(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new Z(t).normalize(),a=new Z(r).normalize(),o=new Z(n).normalize();return new Po().fromMatrix3(new ir([...i,...a,...o]))}fromCenterHalfSizeQuaternion(t,r,n){let i=new Po(n),a=new ir().fromQuaternion(i);return a[0]=a[0]*r[0],a[1]=a[1]*r[0],a[2]=a[2]*r[0],a[3]=a[3]*r[1],a[4]=a[4]*r[1],a[5]=a[5]*r[1],a[6]=a[6]*r[2],a[7]=a[7]*r[2],a[8]=a[8]*r[2],this.center=new Z().from(t),this.halfAxes=a,this}clone(){return new di(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new ua){let r=this.halfAxes,n=r.getColumn(0,C3),i=r.getColumn(1,D3),a=r.getColumn(2,B3),o=g_t.copy(n).add(i).add(a);return t.center.copy(this.center),t.radius=o.magnitude(),t}intersectPlane(t){let r=this.center,n=t.normal,i=this.halfAxes,a=n.x,o=n.y,s=n.z,u=Math.abs(a*i[Wc.COLUMN0ROW0]+o*i[Wc.COLUMN0ROW1]+s*i[Wc.COLUMN0ROW2])+Math.abs(a*i[Wc.COLUMN1ROW0]+o*i[Wc.COLUMN1ROW1]+s*i[Wc.COLUMN1ROW2])+Math.abs(a*i[Wc.COLUMN2ROW0]+o*i[Wc.COLUMN2ROW1]+s*i[Wc.COLUMN2ROW2]),c=n.dot(r)+t.distance;return c<=-u?fi.OUTSIDE:c>=u?fi.INSIDE:fi.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=v_t.from(t).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,C3),a=n.getColumn(1,D3),o=n.getColumn(2,B3),s=i.magnitude(),u=a.magnitude(),c=o.magnitude();i.normalize(),a.normalize(),o.normalize();let l=0,f;return f=Math.abs(r.dot(i))-s,f>0&&(l+=f*f),f=Math.abs(r.dot(a))-u,f>0&&(l+=f*f),f=Math.abs(r.dot(o))-c,f>0&&(l+=f*f),l}computePlaneDistances(t,r,n=[-0,-0]){let i=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY,o=this.center,s=this.halfAxes,u=s.getColumn(0,C3),c=s.getColumn(1,D3),l=s.getColumn(2,B3),f=b_t.copy(u).add(c).add(l).add(o),d=x_t.copy(f).subtract(t),p=r.dot(d);return i=Math.min(p,i),a=Math.max(p,a),f.copy(o).add(u).add(c).subtract(l),d.copy(f).subtract(t),p=r.dot(d),i=Math.min(p,i),a=Math.max(p,a),f.copy(o).add(u).subtract(c).add(l),d.copy(f).subtract(t),p=r.dot(d),i=Math.min(p,i),a=Math.max(p,a),f.copy(o).add(u).subtract(c).subtract(l),d.copy(f).subtract(t),p=r.dot(d),i=Math.min(p,i),a=Math.max(p,a),o.copy(f).subtract(u).add(c).add(l),d.copy(f).subtract(t),p=r.dot(d),i=Math.min(p,i),a=Math.max(p,a),o.copy(f).subtract(u).add(c).subtract(l),d.copy(f).subtract(t),p=r.dot(d),i=Math.min(p,i),a=Math.max(p,a),o.copy(f).subtract(u).subtract(c).add(l),d.copy(f).subtract(t),p=r.dot(d),i=Math.min(p,i),a=Math.max(p,a),o.copy(f).subtract(u).subtract(c).subtract(l),d.copy(f).subtract(t),p=r.dot(d),i=Math.min(p,i),a=Math.max(p,a),n[0]=i,n[1]=a,n}transform(t){this.center.transformAsPoint(t);let r=this.halfAxes.getColumn(0,C3);r.transformAsPoint(t);let n=this.halfAxes.getColumn(1,D3);n.transformAsPoint(t);let i=this.halfAxes.getColumn(2,B3);return i.transformAsPoint(t),this.halfAxes=new ir([...r,...n,...i]),this}getTransform(){throw new Error("not implemented")}};var fbe=new Z,dbe=new Z,Kc=class{constructor(t=[0,0,1],r=0){this.normal=new Z,this.distance=-0,this.fromNormalDistance(t,r)}fromNormalDistance(t,r){return li(Number.isFinite(r)),this.normal.from(t).normalize(),this.distance=r,this}fromPointNormal(t,r){t=fbe.from(t),this.normal.from(r).normalize();let n=-this.normal.dot(t);return this.distance=n,this}fromCoefficients(t,r,n,i){return this.normal.set(t,r,n),li(Qa(this.normal.len(),1)),this.distance=i,this}clone(){return new Kc(this.normal,this.distance)}equals(t){return Qa(this.distance,t.distance)&&Qa(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){let r=dbe.copy(this.normal).transformAsVector(t).normalize(),n=this.normal.scale(-this.distance).transform(t);return this.fromPointNormal(n,r)}projectPointOntoPlane(t,r=[0,0,0]){let n=fbe.from(t),i=this.getPointDistance(n),a=dbe.copy(this.normal).scale(i);return n.subtract(a).to(r)}};var pbe=[new Z([1,0,0]),new Z([0,1,0]),new Z([0,0,1])],hbe=new Z,y_t=new Z,Ro=class{constructor(t=[]){this.planes=t}fromBoundingSphere(t){this.planes.length=2*pbe.length;let r=t.center,n=t.radius,i=0;for(let a of pbe){let o=this.planes[i],s=this.planes[i+1];o||(o=this.planes[i]=new Kc),s||(s=this.planes[i+1]=new Kc);let u=hbe.copy(a).scale(-n).add(r);o.fromPointNormal(u,a);let c=hbe.copy(a).scale(n).add(r),l=y_t.copy(a).negate();s.fromPointNormal(c,l),i+=2}return this}computeVisibility(t){let r=fi.INSIDE;for(let n of this.planes)switch(t.intersectPlane(n)){case fi.OUTSIDE:return fi.OUTSIDE;case fi.INTERSECTING:r=fi.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(t,r){if(li(Number.isFinite(r),"parentPlaneMask is required."),r===Ro.MASK_OUTSIDE||r===Ro.MASK_INSIDE)return r;let n=Ro.MASK_INSIDE,i=this.planes;for(let a=0;a<this.planes.length;++a){let o=a<31?1<<a:0;if(a<31&&!(r&o))continue;let s=i[a],u=t.intersectPlane(s);if(u===fi.OUTSIDE)return Ro.MASK_OUTSIDE;u===fi.INTERSECTING&&(n|=o)}return n}};Ro.MASK_OUTSIDE=4294967295;Ro.MASK_INSIDE=0;Ro.MASK_INDETERMINATE=2147483647;var Crr=new Z,Drr=new Z,Brr=new Z,Frr=new Z,Orr=new Z;var w_t=new Z,A_t=new Z,E_t=new Z,T_t=new Z,S_t=new Z,k_t=new Z,C_t=new Z,Qm=new Z,D_t=new Z,B_t=new Z,F_t=new Z,O_t=new Z;function eL(e,t=new ua){if(!e||e.length===0)return t.fromCenterRadius([0,0,0],0);let r=C_t.copy(e[0]),n=w_t.copy(r),i=A_t.copy(r),a=E_t.copy(r),o=T_t.copy(r),s=S_t.copy(r),u=k_t.copy(r);for(let D of e){r.copy(D);let F=r.x,j=r.y,k=r.z;F<n.x&&n.copy(r),F>o.x&&o.copy(r),j<i.y&&i.copy(r),j>s.y&&s.copy(r),k<a.z&&a.copy(r),k>u.z&&u.copy(r)}let c=Qm.copy(o).subtract(n).magnitudeSquared(),l=Qm.copy(s).subtract(i).magnitudeSquared(),f=Qm.copy(u).subtract(a).magnitudeSquared(),d=n,p=o,h=c;l>h&&(h=l,d=i,p=s),f>h&&(h=f,d=a,p=u);let m=D_t;m.x=(d.x+p.x)*.5,m.y=(d.y+p.y)*.5,m.z=(d.z+p.z)*.5;let g=Qm.copy(p).subtract(m).magnitudeSquared(),x=Math.sqrt(g),y=B_t;y.x=n.x,y.y=i.y,y.z=a.z;let w=F_t;w.x=o.x,w.y=s.y,w.z=u.z;let T=O_t.copy(y).add(w).multiplyByScalar(.5),A=0;for(let D of e){r.copy(D);let F=Qm.copy(r).subtract(T).magnitude();F>A&&(A=F);let j=Qm.copy(r).subtract(m).magnitudeSquared();if(j>g){let k=Math.sqrt(j);x=(x+k)*.5,g=x*x;let I=k-x;m.x=(x*m.x+I*r.x)/k,m.y=(x*m.y+I*r.y)/k,m.z=(x*m.z+I*r.z)/k}}return x<A?(m.to(t.center),t.radius=x):(T.to(t.center),t.radius=A),t}var Ru=new ir,I_t=new ir,P_t=new ir,F3=new ir,mbe=new ir;function nL(e,t={}){let r=As.EPSILON20,n=10,i=0,a=0,o=I_t,s=P_t;o.identity(),s.copy(e);let u=r*R_t(s);for(;a<n&&j_t(s)>u;)M_t(s,F3),mbe.copy(F3).transpose(),s.multiplyRight(F3),s.multiplyLeft(mbe),o.multiplyRight(F3),++i>2&&(++a,i=0);return t.unitary=o.toTarget(t.unitary),t.diagonal=s.toTarget(t.diagonal),t}function R_t(e){let t=0;for(let r=0;r<9;++r){let n=e[r];t+=n*n}return Math.sqrt(t)}var tL=[1,0,0],rL=[2,2,1];function j_t(e){let t=0;for(let r=0;r<3;++r){let n=e[Ru.getElementIndex(rL[r],tL[r])];t+=2*n*n}return Math.sqrt(t)}function M_t(e,t){let r=As.EPSILON15,n=0,i=1;for(let c=0;c<3;++c){let l=Math.abs(e[Ru.getElementIndex(rL[c],tL[c])]);l>n&&(i=c,n=l)}let a=tL[i],o=rL[i],s=1,u=0;if(Math.abs(e[Ru.getElementIndex(o,a)])>r){let c=e[Ru.getElementIndex(o,o)],l=e[Ru.getElementIndex(a,a)],f=e[Ru.getElementIndex(o,a)],d=(c-l)/2/f,p;d<0?p=-1/(-d+Math.sqrt(1+d*d)):p=1/(d+Math.sqrt(1+d*d)),s=1/Math.sqrt(1+p*p),u=p*s}return ir.IDENTITY.to(t),t[Ru.getElementIndex(a,a)]=t[Ru.getElementIndex(o,o)]=s,t[Ru.getElementIndex(o,a)]=u,t[Ru.getElementIndex(a,o)]=-u,t}var jf=new Z,q_t=new Z,N_t=new Z,U_t=new Z,G_t=new Z,z_t=new ir,H_t={diagonal:new ir,unitary:new ir};function _y(e,t=new di){if(!e||e.length===0)return t.halfAxes=new ir([0,0,0,0,0,0,0,0,0]),t.center=new Z,t;let r=e.length,n=new Z(0,0,0);for(let k of e)n.add(k);let i=1/r;n.multiplyByScalar(i);let a=0,o=0,s=0,u=0,c=0,l=0;for(let k of e){let I=jf.copy(k).subtract(n);a+=I.x*I.x,o+=I.x*I.y,s+=I.x*I.z,u+=I.y*I.y,c+=I.y*I.z,l+=I.z*I.z}a*=i,o*=i,s*=i,u*=i,c*=i,l*=i;let f=z_t;f[0]=a,f[1]=o,f[2]=s,f[3]=o,f[4]=u,f[5]=c,f[6]=s,f[7]=c,f[8]=l;let{unitary:d}=nL(f,H_t),p=t.halfAxes.copy(d),h=p.getColumn(0,N_t),m=p.getColumn(1,U_t),g=p.getColumn(2,G_t),x=-Number.MAX_VALUE,y=-Number.MAX_VALUE,w=-Number.MAX_VALUE,T=Number.MAX_VALUE,A=Number.MAX_VALUE,D=Number.MAX_VALUE;for(let k of e)jf.copy(k),x=Math.max(jf.dot(h),x),y=Math.max(jf.dot(m),y),w=Math.max(jf.dot(g),w),T=Math.min(jf.dot(h),T),A=Math.min(jf.dot(m),A),D=Math.min(jf.dot(g),D);h=h.multiplyByScalar(.5*(T+x)),m=m.multiplyByScalar(.5*(A+y)),g=g.multiplyByScalar(.5*(D+w)),t.center.copy(h).add(m).add(g);let F=q_t.set(x-T,y-A,w-D).multiplyByScalar(.5),j=new ir([F[0],0,0,0,F[1],0,0,0,F[2]]);return t.halfAxes.multiplyRight(j),t}function xbe(e){return e!=null}var lnr=new Z,V_t=new Z,$_t=new Z,W_t=new Z,Sp=new Z,gbe=new Z,vbe=new Z,bbe=new Z;function wy(e,t,r){if(_t(e,"3D Tile: boundingVolume must be defined"),e.box)return ybe(e.box,t,r);if(e.region)return J_t(e.region);if(e.sphere)return K_t(e.sphere,t,r);throw new Error("3D Tile: boundingVolume must contain a sphere, region, or box")}function ybe(e,t,r){let n=new Z(e[0],e[1],e[2]);t.transform(n,n);let i=[];if(e.length===10){let c=e.slice(3,6),l=new Po;l.fromArray(e,6);let f=new Z([1,0,0]),d=new Z([0,1,0]),p=new Z([0,0,1]);f.transformByQuaternion(l),f.scale(c[0]),d.transformByQuaternion(l),d.scale(c[1]),p.transformByQuaternion(l),p.scale(c[2]),i=[...f.toArray(),...d.toArray(),...p.toArray()]}else i=[...e.slice(3,6),...e.slice(6,9),...e.slice(9,12)];let a=t.transformAsVector(i.slice(0,3)),o=t.transformAsVector(i.slice(3,6)),s=t.transformAsVector(i.slice(6,9)),u=new ir([a[0],a[1],a[2],o[0],o[1],o[2],s[0],s[1],s[2]]);return xbe(r)?(r.center=n,r.halfAxes=u,r):new di(n,u)}function K_t(e,t,r){let n=new Z(e[0],e[1],e[2]);t.transform(n,n);let i=t.getScale(V_t),a=Math.max(Math.max(i[0],i[1]),i[2]),o=e[3]*a;return xbe(r)?(r.center=n,r.radius=o,r):new ua(n,o)}function J_t(e){let[t,r,n,i,a,o]=e,s=Ot.WGS84.cartographicToCartesian([Vc(t),Vc(i),a],$_t),u=Ot.WGS84.cartographicToCartesian([Vc(n),Vc(r),o],W_t),c=new Z().addVectors(s,u).multiplyByScalar(.5);return Ot.WGS84.cartesianToCartographic(c,Sp),Ot.WGS84.cartographicToCartesian([Vc(n),Sp[1],Sp[2]],gbe),Ot.WGS84.cartographicToCartesian([Sp[0],Vc(i),Sp[2]],vbe),Ot.WGS84.cartographicToCartesian([Sp[0],Sp[1],o],bbe),ybe([...c,...gbe.subtract(c),...vbe.subtract(c),...bbe.subtract(c)],new gr)}var Zm="4.4.0-alpha.11";var pi={COMPOSITE:"cmpt",POINT_CLOUD:"pnts",BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",GEOMETRY:"geom",VECTOR:"vect",GLTF:"glTF"},mnr=Object.keys(pi),Mf={BATCHED_MODEL:[98,51,100,109],INSTANCED_MODEL:[105,51,100,109],POINT_CLOUD:[112,110,116,115],COMPOSITE:[99,109,112,116]};function iL(e,t,r){_t(e instanceof ArrayBuffer);let n=new TextDecoder("utf8"),i=new Uint8Array(e,t,r);return n.decode(i)}function _be(e,t=0){let r=new DataView(e);return`${String.fromCharCode(r.getUint8(t+0))}${String.fromCharCode(r.getUint8(t+1))}${String.fromCharCode(r.getUint8(t+2))}${String.fromCharCode(r.getUint8(t+3))}`}var X_t="1.5.6",Y_t="1.4.1",aL=`https://www.gstatic.com/draco/versioned/decoders/${X_t}`,Ur={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},ju={[Ur.DECODER]:`${aL}/${Ur.DECODER}`,[Ur.DECODER_WASM]:`${aL}/${Ur.DECODER_WASM}`,[Ur.FALLBACK_DECODER]:`${aL}/${Ur.FALLBACK_DECODER}`,[Ur.ENCODER]:`https://raw.githubusercontent.com/google/draco/${Y_t}/javascript/${Ur.ENCODER}`},oL;async function Abe(e={},t){let r=e.modules||{};return r.draco3d?oL||(oL=r.draco3d.createDecoderModule({}).then(n=>({draco:n}))):oL||(oL=Q_t(e,t)),await oL}function wbe(e,t){if(e&&typeof e=="object"){if(e.default)return e.default;if(e[t])return e[t]}return e}async function Q_t(e,t){let r,n;switch(t){case"js":r=await _o(ju[Ur.FALLBACK_DECODER],"draco",e,Ur.FALLBACK_DECODER);break;case"wasm":default:try{[r,n]=await Promise.all([await _o(ju[Ur.DECODER],"draco",e,Ur.DECODER),await _o(ju[Ur.DECODER_WASM],"draco",e,Ur.DECODER_WASM)])}catch{r=null,n=null}}return r=wbe(r,"DracoDecoderModule"),r=r||globalThis.DracoDecoderModule,!r&&!Rn&&([r,n]=await Promise.all([await _o(ju[Ur.DECODER],"draco",{...e,useLocalLibraries:!0},Ur.DECODER),await _o(ju[Ur.DECODER_WASM],"draco",{...e,useLocalLibraries:!0},Ur.DECODER_WASM)]),r=wbe(r,"DracoDecoderModule"),r=r||globalThis.DracoDecoderModule),await Z_t(r,n)}function Z_t(e,t){if(typeof e!="function")throw new Error("DracoDecoderModule could not be loaded");let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e({...r,onModuleLoaded:i=>n({draco:i})})})}var O3="4.4.0-alpha.11";var I3={id:"draco-writer",name:"Draco compressed geometry writer",module:"draco",version:O3,worker:!0,options:{draco:{},source:null}};function Tbe(e,t,r){let n=Sbe(t.metadata),i=[],a=e2t(t.attributes);for(let o in e){let s=e[o],u=Ebe(o,s,a[o]);i.push(u)}if(r){let o=Ebe("indices",r);i.push(o)}return{fields:i,metadata:n}}function e2t(e){let t={};for(let r in e){let n=e[r];t[n.name||"undefined"]=n}return t}function Ebe(e,t,r){let n=r?Sbe(r.metadata):void 0;return gM(e,t,n)}function Sbe(e){Object.entries(e);let t={};for(let r in e)t[`${r}.string`]=JSON.stringify(e[r]);return t}var kbe={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},t2t={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},r2t=4,Ay=class{draco;decoder;metadataQuerier;constructor(t){this.draco=t,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(t,r={}){let n=new this.draco.DecoderBuffer;n.Init(new Int8Array(t),t.byteLength),this._disableAttributeTransforms(r);let i=this.decoder.GetEncodedGeometryType(n),a=i===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(i){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(n,a);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(n,a);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!a.ptr){let d=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(d)}let s=this._getDracoLoaderData(a,i,r),u=this._getMeshData(a,s,r),c=mM(u.attributes),l=Tbe(u.attributes,s,u.indices);return{loader:"draco",loaderData:s,header:{vertexCount:a.num_points(),boundingBox:c},...u,schema:l}}finally{this.draco.destroy(n),a&&this.draco.destroy(a)}}_getDracoLoaderData(t,r,n){let i=this._getTopLevelMetadata(t),a=this._getDracoAttributes(t,n);return{geometry_type:r,num_attributes:t.num_attributes(),num_points:t.num_points(),num_faces:t instanceof this.draco.Mesh?t.num_faces():0,metadata:i,attributes:a}}_getDracoAttributes(t,r){let n={};for(let i=0;i<t.num_attributes();i++){let a=this.decoder.GetAttribute(t,i),o=this._getAttributeMetadata(t,i);n[a.unique_id()]={unique_id:a.unique_id(),attribute_type:a.attribute_type(),data_type:a.data_type(),num_components:a.num_components(),byte_offset:a.byte_offset(),byte_stride:a.byte_stride(),normalized:a.normalized(),attribute_index:i,metadata:o};let s=this._getQuantizationTransform(a,r);s&&(n[a.unique_id()].quantization_transform=s);let u=this._getOctahedronTransform(a,r);u&&(n[a.unique_id()].octahedron_transform=u)}return n}_getMeshData(t,r,n){let i=this._getMeshAttributes(r,t,n);if(!i.POSITION)throw new Error("DRACO: No position attribute found.");if(t instanceof this.draco.Mesh)switch(n.topology){case"triangle-strip":return{topology:"triangle-strip",mode:4,attributes:i,indices:{value:this._getTriangleStripIndices(t),size:1}};case"triangle-list":default:return{topology:"triangle-list",mode:5,attributes:i,indices:{value:this._getTriangleListIndices(t),size:1}}}return{topology:"point-list",mode:0,attributes:i}}_getMeshAttributes(t,r,n){let i={};for(let a of Object.values(t.attributes)){let o=this._deduceAttributeName(a,n);a.name=o;let s=this._getAttributeValues(r,a);if(s){let{value:u,size:c}=s;i[o]={value:u,size:c,byteOffset:a.byte_offset,byteStride:a.byte_stride,normalized:a.normalized}}}return i}_getTriangleListIndices(t){let n=t.num_faces()*3,i=n*r2t,a=this.draco._malloc(i);try{return this.decoder.GetTrianglesUInt32Array(t,i,a),new Uint32Array(this.draco.HEAPF32.buffer,a,n).slice()}finally{this.draco._free(a)}}_getTriangleStripIndices(t){let r=new this.draco.DracoInt32Array;try{return this.decoder.GetTriangleStripsFromMesh(t,r),a2t(r)}finally{this.draco.destroy(r)}}_getAttributeValues(t,r){let n=t2t[r.data_type];if(!n)return console.warn(`DRACO: Unsupported attribute type ${r.data_type}`),null;let i=r.num_components,o=t.num_points()*i,s=o*n.BYTES_PER_ELEMENT,u=n2t(this.draco,n),c,l=this.draco._malloc(s);try{let f=this.decoder.GetAttribute(t,r.attribute_index);this.decoder.GetAttributeDataArrayForAllPoints(t,f,u,s,l),c=new n(this.draco.HEAPF32.buffer,l,o).slice()}finally{this.draco._free(l)}return{value:c,size:i}}_deduceAttributeName(t,r){let n=t.unique_id;for(let[o,s]of Object.entries(r.extraAttributes||{}))if(s===n)return o;let i=t.attribute_type;for(let o in kbe)if(this.draco[o]===i)return kbe[o];let a=r.attributeNameEntry||"name";return t.metadata[a]?t.metadata[a].string:`CUSTOM_ATTRIBUTE_${n}`}_getTopLevelMetadata(t){let r=this.decoder.GetMetadata(t);return this._getDracoMetadata(r)}_getAttributeMetadata(t,r){let n=this.decoder.GetAttributeMetadata(t,r);return this._getDracoMetadata(n)}_getDracoMetadata(t){if(!t||!t.ptr)return{};let r={},n=this.metadataQuerier.NumEntries(t);for(let i=0;i<n;i++){let a=this.metadataQuerier.GetEntryName(t,i);r[a]=this._getDracoMetadataField(t,a)}return r}_getDracoMetadataField(t,r){let n=new this.draco.DracoInt32Array;try{this.metadataQuerier.GetIntEntryArray(t,r,n);let i=i2t(n);return{int:this.metadataQuerier.GetIntEntry(t,r),string:this.metadataQuerier.GetStringEntry(t,r),double:this.metadataQuerier.GetDoubleEntry(t,r),intArray:i}}finally{this.draco.destroy(n)}}_disableAttributeTransforms(t){let{quantizedAttributes:r=[],octahedronAttributes:n=[]}=t,i=[...r,...n];for(let a of i)this.decoder.SkipAttributeTransform(this.draco[a])}_getQuantizationTransform(t,r){let{quantizedAttributes:n=[]}=r,i=t.attribute_type();if(n.map(o=>this.decoder[o]).includes(i)){let o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(t))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(s=>o.min_value(s))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(t,r){let{octahedronAttributes:n=[]}=r,i=t.attribute_type();if(n.map(o=>this.decoder[o]).includes(i)){let o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(t))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}};function n2t(e,t){switch(t){case Float32Array:return e.DT_FLOAT32;case Int8Array:return e.DT_INT8;case Int16Array:return e.DT_INT16;case Int32Array:return e.DT_INT32;case Uint8Array:return e.DT_UINT8;case Uint16Array:return e.DT_UINT16;case Uint32Array:return e.DT_UINT32;default:return e.DT_INVALID}}function i2t(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}function a2t(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}var Cbe={dataType:null,batchType:null,name:"Draco",id:"draco",module:"draco",version:O3,worker:!0,extensions:["drc"],mimeTypes:["application/octet-stream"],binary:!0,tests:["DRACO"],options:{draco:{decoderType:typeof WebAssembly=="object"?"wasm":"js",libraryPath:"libs/",extraAttributes:{},attributeNameEntry:void 0}}},kp={...Cbe,parse:o2t};async function o2t(e,t){var i;let{draco:r}=await Abe(t==null?void 0:t.core,((i=t==null?void 0:t.draco)==null?void 0:i.decoderType)||"wasm"),n=new Ay(r);try{return n.parseSync(e,t==null?void 0:t.draco)}finally{n.destroy()}}var s2t={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},Sn={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130},mt={...s2t,...Sn};var sL={[Sn.DOUBLE]:Float64Array,[Sn.FLOAT]:Float32Array,[Sn.UNSIGNED_SHORT]:Uint16Array,[Sn.UNSIGNED_INT]:Uint32Array,[Sn.UNSIGNED_BYTE]:Uint8Array,[Sn.BYTE]:Int8Array,[Sn.SHORT]:Int16Array,[Sn.INT]:Int32Array},u2t={DOUBLE:Sn.DOUBLE,FLOAT:Sn.FLOAT,UNSIGNED_SHORT:Sn.UNSIGNED_SHORT,UNSIGNED_INT:Sn.UNSIGNED_INT,UNSIGNED_BYTE:Sn.UNSIGNED_BYTE,BYTE:Sn.BYTE,SHORT:Sn.SHORT,INT:Sn.INT},uL="Failed to convert GL type",Xn=class{static fromTypedArray(t){t=ArrayBuffer.isView(t)?t.constructor:t;for(let r in sL)if(sL[r]===t)return r;throw new Error(uL)}static fromName(t){let r=u2t[t];if(!r)throw new Error(uL);return r}static getArrayType(t){switch(t){case Sn.UNSIGNED_SHORT_5_6_5:case Sn.UNSIGNED_SHORT_4_4_4_4:case Sn.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;default:let r=sL[t];if(!r)throw new Error(uL);return r}}static getByteSize(t){return Xn.getArrayType(t).BYTES_PER_ELEMENT}static validate(t){return Boolean(Xn.getArrayType(t))}static createTypedArray(t,r,n=0,i){i===void 0&&(i=(r.byteLength-n)/Xn.getByteSize(t));let a=r instanceof ArrayBuffer?r:r.buffer,o=Xn.getArrayType(t);return new o(a,n,i)}};function Dbe(e,t){if(!e)throw new Error(`math.gl assertion failed. ${t}`)}function cL(e,t=[0,0,0]){let r=e>>11&31,n=e>>5&63,i=e&31;return t[0]=r<<3,t[1]=n<<2,t[2]=i<<3,t}var Vnr=1/256;var $nr=new Ap,Wnr=new Z,Knr=new Ap,Jnr=new Ap,Xnr=new Uint8Array(1);function Bbe(e,t=255){return yM(e,0,t)/t*2-1}function Fbe(e){return e<0?-1:1}function Obe(e,t,r,n){if(Dbe(n),e<0||e>r||t<0||t>r)throw new Error(`x and y must be unsigned normalized integers between 0 and ${r}`);if(n.x=Bbe(e,r),n.y=Bbe(t,r),n.z=1-(Math.abs(n.x)+Math.abs(n.y)),n.z<0){let i=n.x;n.x=(1-Math.abs(n.y))*Fbe(i),n.y=(1-Math.abs(i))*Fbe(n.y)}return n.normalize()}function lL(e,t,r){return Obe(e,t,255,r)}function P3(e){return(e%1+1)%1}var Jc=class{json;buffer;featuresLength=0;_cachedTypedArrays={};constructor(t,r){this.json=t,this.buffer=r}getExtension(t){return this.json.extensions&&this.json.extensions[t]}hasProperty(t){return Boolean(this.json[t])}getGlobalProperty(t,r=mt.UNSIGNED_INT,n=1){let i=this.json[t];return i&&Number.isFinite(i.byteOffset)?this._getTypedArrayFromBinary(t,r,n,1,i.byteOffset):i}getPropertyArray(t,r,n){let i=this.json[t];return i&&Number.isFinite(i.byteOffset)?("componentType"in i&&(r=Xn.fromName(i.componentType)),this._getTypedArrayFromBinary(t,r,n,this.featuresLength,i.byteOffset)):this._getTypedArrayFromArray(t,r,i)}getProperty(t,r,n,i,a){let o=this.json[t];if(!o)return o;let s=this.getPropertyArray(t,r,n);if(n===1)return s[i];for(let u=0;u<n;++u)a[u]=s[n*i+u];return a}_getTypedArrayFromBinary(t,r,n,i,a){let o=this._cachedTypedArrays,s=o[t];return s||(s=Xn.createTypedArray(r,this.buffer.buffer,this.buffer.byteOffset+a,i*n),o[t]=s),s}_getTypedArrayFromArray(t,r,n){let i=this._cachedTypedArrays,a=i[t];if(!a){if(ArrayBuffer.isView(n)){let o=n.byteOffset,u=n.byteLength/Xn.getByteSize(r);a=Xn.createTypedArray(r,n.buffer,o,u)}else if(n instanceof ArrayBuffer)a=Xn.createTypedArray(r,n);else{let o=Xn.getArrayType(r);a=new o(n)}i[t]=a}return a}};var c2t={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},l2t={SCALAR:(e,t)=>e[t],VEC2:(e,t)=>[e[2*t+0],e[2*t+1]],VEC3:(e,t)=>[e[3*t+0],e[3*t+1],e[3*t+2]],VEC4:(e,t)=>[e[4*t+0],e[4*t+1],e[4*t+2],e[4*t+3]],MAT2:(e,t)=>[e[4*t+0],e[4*t+1],e[4*t+2],e[4*t+3]],MAT3:(e,t)=>[e[9*t+0],e[9*t+1],e[9*t+2],e[9*t+3],e[9*t+4],e[9*t+5],e[9*t+6],e[9*t+7],e[9*t+8]],MAT4:(e,t)=>[e[16*t+0],e[16*t+1],e[16*t+2],e[16*t+3],e[16*t+4],e[16*t+5],e[16*t+6],e[16*t+7],e[16*t+8],e[16*t+9],e[16*t+10],e[16*t+11],e[16*t+12],e[16*t+13],e[16*t+14],e[16*t+15]]},f2t={SCALAR:(e,t,r)=>{t[r]=e},VEC2:(e,t,r)=>{t[2*r+0]=e[0],t[2*r+1]=e[1]},VEC3:(e,t,r)=>{t[3*r+0]=e[0],t[3*r+1]=e[1],t[3*r+2]=e[2]},VEC4:(e,t,r)=>{t[4*r+0]=e[0],t[4*r+1]=e[1],t[4*r+2]=e[2],t[4*r+3]=e[3]},MAT2:(e,t,r)=>{t[4*r+0]=e[0],t[4*r+1]=e[1],t[4*r+2]=e[2],t[4*r+3]=e[3]},MAT3:(e,t,r)=>{t[9*r+0]=e[0],t[9*r+1]=e[1],t[9*r+2]=e[2],t[9*r+3]=e[3],t[9*r+4]=e[4],t[9*r+5]=e[5],t[9*r+6]=e[6],t[9*r+7]=e[7],t[9*r+8]=e[8],t[9*r+9]=e[9]},MAT4:(e,t,r)=>{t[16*r+0]=e[0],t[16*r+1]=e[1],t[16*r+2]=e[2],t[16*r+3]=e[3],t[16*r+4]=e[4],t[16*r+5]=e[5],t[16*r+6]=e[6],t[16*r+7]=e[7],t[16*r+8]=e[8],t[16*r+9]=e[9],t[16*r+10]=e[10],t[16*r+11]=e[11],t[16*r+12]=e[12],t[16*r+13]=e[13],t[16*r+14]=e[14],t[16*r+15]=e[15]}};function Ibe(e,t,r,n){let{componentType:i}=e;_t(e.componentType);let a=typeof i=="string"?Xn.fromName(i):i,o=c2t[e.type],s=l2t[e.type],u=f2t[e.type];return r+=e.byteOffset,{values:Xn.createTypedArray(a,t,r,o*n),type:a,size:o,unpacker:s,packer:u}}var Mu=e=>e!==void 0;function Pbe(e,t,r){if(!t)return null;let n=e.getExtension("3DTILES_batch_table_hierarchy"),i=t.HIERARCHY;return i&&(console.warn("3D Tile Parser: HIERARCHY is deprecated. Use 3DTILES_batch_table_hierarchy."),t.extensions=t.extensions||{},t.extensions["3DTILES_batch_table_hierarchy"]=i,n=i),n?d2t(n,r):null}function d2t(e,t){let r,n,i,a=e.instancesLength,o=e.classes,s=e.classIds,u=e.parentCounts,c=e.parentIds,l=a;Mu(s.byteOffset)&&(s.componentType=defaultValue(s.componentType,GL.UNSIGNED_SHORT),s.type=AttributeType.SCALAR,i=getBinaryAccessor(s),s=i.createArrayBufferView(t.buffer,t.byteOffset+s.byteOffset,a));let f;if(Mu(u))for(Mu(u.byteOffset)&&(u.componentType=defaultValue(u.componentType,GL.UNSIGNED_SHORT),u.type=AttributeType.SCALAR,i=getBinaryAccessor(u),u=i.createArrayBufferView(t.buffer,t.byteOffset+u.byteOffset,a)),f=new Uint16Array(a),l=0,r=0;r<a;++r)f[r]=l,l+=u[r];Mu(c)&&Mu(c.byteOffset)&&(c.componentType=defaultValue(c.componentType,GL.UNSIGNED_SHORT),c.type=AttributeType.SCALAR,i=getBinaryAccessor(c),c=i.createArrayBufferView(t.buffer,t.byteOffset+c.byteOffset,l));let d=o.length;for(r=0;r<d;++r){let g=o[r].length,x=o[r].instances,y=getBinaryProperties(g,x,t);o[r].instances=combine(y,x)}let p=new Array(d).fill(0),h=new Uint16Array(a);for(r=0;r<a;++r)n=s[r],h[r]=p[n],++p[n];let m={classes:o,classIds:s,classIndexes:h,parentCounts:u,parentIndexes:f,parentIds:c};return m2t(m),m}function eg(e,t,r){if(!e)return;let n=e.parentCounts;return e.parentIds?r(e,t):n>0?p2t(e,t,r):h2t(e,t,r)}function p2t(e,t,r){let n=e.classIds,i=e.parentCounts,a=e.parentIds,o=e.parentIndexes,s=n.length,u=scratchVisited;u.length=Math.max(u.length,s);let c=++marker,l=scratchStack;for(l.length=0,l.push(t);l.length>0;){if(t=l.pop(),u[t]===c)continue;u[t]=c;let f=r(e,t);if(Mu(f))return f;let d=i[t],p=o[t];for(let h=0;h<d;++h){let m=a[p+h];m!==t&&l.push(m)}}return null}function h2t(e,t,r){let n=!0;for(;n;){let i=r(e,t);if(Mu(i))return i;let a=e.parentIds[t];n=a!==t,t=a}throw new Error("traverseHierarchySingleParent")}function m2t(e){let t=[],n=e.classIds.length;for(let i=0;i<n;++i)Rbe(e,i,stack)}function Rbe(e,t,r){let n=e.parentCounts,i=e.parentIds,a=e.parentIndexes,s=e.classIds.length;if(!Mu(i))return;assert(t<s,`Parent index ${t} exceeds the total number of instances: ${s}`),assert(r.indexOf(t)===-1,"Circular dependency detected in the batch table hierarchy."),r.push(t);let u=Mu(n)?n[t]:1,c=Mu(n)?a[t]:t;for(let l=0;l<u;++l){let f=i[c+l];f!==t&&Rbe(e,f,r)}r.pop(t)}function Ba(e){return e!=null}var R3=(e,t)=>e,g2t={HIERARCHY:!0,extensions:!0,extras:!0},Cp=class{json;binary;featureCount;_extensions;_properties;_binaryProperties;_hierarchy;constructor(t,r,n,i={}){var a;_t(n>=0),this.json=t||{},this.binary=r,this.featureCount=n,this._extensions=((a=this.json)==null?void 0:a.extensions)||{},this._properties={};for(let o in this.json)g2t[o]||(this._properties[o]=this.json[o]);this._binaryProperties=this._initializeBinaryProperties(),i["3DTILES_batch_table_hierarchy"]&&(this._hierarchy=Pbe(this,this.json,this.binary))}getExtension(t){return this.json&&this.json.extensions&&this.json.extensions[t]}memorySizeInBytes(){return 0}isClass(t,r){if(this._checkBatchId(t),_t(typeof r=="string",r),this._hierarchy){let n=eg(this._hierarchy,t,(i,a)=>{let o=i.classIds[a];return i.classes[o].name===r});return Ba(n)}return!1}isExactClass(t,r){return _t(typeof r=="string",r),this.getExactClassName(t)===r}getExactClassName(t){if(this._checkBatchId(t),this._hierarchy){let r=this._hierarchy.classIds[t];return this._hierarchy.classes[r].name}}hasProperty(t,r){return this._checkBatchId(t),_t(typeof r=="string",r),Ba(this._properties[r])||this._hasPropertyInHierarchy(t,r)}getPropertyNames(t,r){this._checkBatchId(t),r=Ba(r)?r:[],r.length=0;let n=Object.keys(this._properties);return r.push(...n),this._hierarchy&&this._getPropertyNamesInHierarchy(t,r),r}getProperty(t,r){if(this._checkBatchId(t),_t(typeof r=="string",r),this._binaryProperties){let i=this._binaryProperties[r];if(Ba(i))return this._getBinaryProperty(i,t)}let n=this._properties[r];if(Ba(n))return R3(n[t],!0);if(this._hierarchy){let i=this._getHierarchyProperty(t,r);if(Ba(i))return i}}setProperty(t,r,n){let i=this.featureCount;if(this._checkBatchId(t),_t(typeof r=="string",r),this._binaryProperties){let o=this._binaryProperties[r];if(o){this._setBinaryProperty(o,t,n);return}}if(this._hierarchy&&this._setHierarchyProperty(this,t,r,n))return;let a=this._properties[r];Ba(a)||(this._properties[r]=new Array(i),a=this._properties[r]),a[t]=R3(n,!0)}_checkBatchId(t){if(!(t>=0&&t<this.featureCount))throw new Error("batchId not in range [0, featureCount - 1].")}_getBinaryProperty(t,r){return t.unpack(t.typedArray,r)}_setBinaryProperty(t,r,n){t.pack(n,t.typedArray,r)}_initializeBinaryProperties(){let t=null;for(let r in this._properties){let n=this._properties[r],i=this._initializeBinaryProperty(r,n);i&&(t=t||{},t[r]=i)}return t}_initializeBinaryProperty(t,r){if("byteOffset"in r){let n=r;_t(this.binary,`Property ${t} requires a batch table binary.`),_t(n.type,`Property ${t} requires a type.`);let i=Ibe(n,this.binary.buffer,this.binary.byteOffset|0,this.featureCount);return{typedArray:i.values,componentCount:i.size,unpack:i.unpacker,pack:i.packer}}return null}_hasPropertyInHierarchy(t,r){if(!this._hierarchy)return!1;let n=eg(this._hierarchy,t,(i,a)=>{let o=i.classIds[a],s=i.classes[o].instances;return Ba(s[r])});return Ba(n)}_getPropertyNamesInHierarchy(t,r){eg(this._hierarchy,t,(n,i)=>{let a=n.classIds[i],o=n.classes[a].instances;for(let s in o)o.hasOwnProperty(s)&&r.indexOf(s)===-1&&r.push(s)})}_getHierarchyProperty(t,r){return eg(this._hierarchy,t,(n,i)=>{let a=n.classIds[i],o=n.classes[a],s=n.classIndexes[i],u=o.instances[r];return Ba(u)?Ba(u.typedArray)?this._getBinaryProperty(u,s):R3(u[s],!0):null})}_setHierarchyProperty(t,r,n,i){let a=eg(this._hierarchy,r,(o,s)=>{let u=o.classIds[s],c=o.classes[u],l=o.classIndexes[s],f=c.instances[n];return Ba(f)?(_t(s===r,`Inherited property "${n}" is read-only.`),Ba(f.typedArray)?this._setBinaryProperty(f,l,i):f[l]=R3(i,!0),!0):!1});return Ba(a)}};var fL=4;function Lf(e,t,r=0){let n=new DataView(t);if(e.magic=n.getUint32(r,!0),r+=fL,e.version=n.getUint32(r,!0),r+=fL,e.byteLength=n.getUint32(r,!0),r+=fL,e.version!==1)throw new Error(`3D Tile Version ${e.version} not supported`);return r}var tg=4,jbe="b3dm tile in legacy format.";function rg(e,t,r){let n=new DataView(t),i;e.header=e.header||{};let a=n.getUint32(r,!0);r+=tg;let o=n.getUint32(r,!0);r+=tg;let s=n.getUint32(r,!0);r+=tg;let u=n.getUint32(r,!0);return r+=tg,s>=570425344?(r-=tg*2,i=a,s=o,u=0,a=0,o=0,console.warn(jbe)):u>=570425344&&(r-=tg,i=s,s=a,u=o,a=0,o=0,console.warn(jbe)),e.header.featureTableJsonByteLength=a,e.header.featureTableBinaryByteLength=o,e.header.batchTableJsonByteLength=s,e.header.batchTableBinaryByteLength=u,e.header.batchLength=i,r}function ng(e,t,r,n){return r=v2t(e,t,r,n),r=b2t(e,t,r,n),r}function v2t(e,t,r,n){let{featureTableJsonByteLength:i,featureTableBinaryByteLength:a,batchLength:o}=e.header||{};if(e.featureTableJson={BATCH_LENGTH:o||0},i&&i>0){let s=iL(t,r,i);e.featureTableJson=JSON.parse(s)}return r+=i||0,e.featureTableBinary=new Uint8Array(t,r,a),r+=a||0,r}function b2t(e,t,r,n){let{batchTableJsonByteLength:i,batchTableBinaryByteLength:a}=e.header||{};if(i&&i>0){let o=iL(t,r,i);e.batchTableJson=JSON.parse(o),r+=i,a&&a>0&&(e.batchTableBinary=new Uint8Array(t,r,a),e.batchTableBinary=new Uint8Array(e.batchTableBinary),r+=a)}return r}function dL(e,t,r){if(!t&&(!e||!e.batchIds||!r))return null;let{batchIds:n,isRGB565:i,pointCount:a=0}=e;if(n&&r){let o=new Uint8ClampedArray(a*3);for(let s=0;s<a;s++){let u=n[s],l=r.getProperty(u,"dimensions").map(f=>f*255);o[s*3]=l[0],o[s*3+1]=l[1],o[s*3+2]=l[2]}return{type:mt.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}if(t&&i){let o=new Uint8ClampedArray(a*3);for(let s=0;s<a;s++){let u=cL(t[s]);o[s*3]=u[0],o[s*3+1]=u[1],o[s*3+2]=u[2]}return{type:mt.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}return t&&t.length===a*3?{type:mt.UNSIGNED_BYTE,value:t,size:3,normalized:!0}:{type:mt.UNSIGNED_BYTE,value:t||new Uint8ClampedArray,size:4,normalized:!0}}var Mbe=new Z;function Lbe(e,t){if(!t)return null;if(e.isOctEncoded16P){let r=new Float32Array((e.pointsLength||0)*3);for(let n=0;n<(e.pointsLength||0);n++)lL(t[n*2],t[n*2+1],Mbe),Mbe.toArray(r,n*3);return{type:mt.FLOAT,size:2,value:r}}return{type:mt.FLOAT,size:2,value:t}}function qbe(e,t,r){return e.isQuantized?r["3d-tiles"]&&r["3d-tiles"].decodeQuantizedPositions?(e.isQuantized=!1,x2t(e,t)):{type:mt.UNSIGNED_SHORT,value:t,size:3,normalized:!0}:t}function x2t(e,t){let r=new Z,n=new Float32Array(e.pointCount*3);for(let i=0;i<e.pointCount;i++)r.set(t[i*3],t[i*3+1],t[i*3+2]).scale(1/e.quantizedRange).multiply(e.quantizedVolumeScale).add(e.quantizedVolumeOffset).toArray(n,i*3);return n}async function Nbe(e,t,r,n,i){r=Lf(e,t,r),r=rg(e,t,r),r=ng(e,t,r,n),y2t(e);let{featureTable:a,batchTable:o}=_2t(e);return await S2t(e,a,o,n,i),w2t(e,a,n),A2t(e,a,o),E2t(e,a),r}function y2t(e){e.attributes={positions:null,colors:null,normals:null,batchIds:null},e.isQuantized=!1,e.isTranslucent=!1,e.isRGB565=!1,e.isOctEncoded16P=!1}function _2t(e){let t=new Jc(e.featureTableJson,e.featureTableBinary),r=t.getGlobalProperty("POINTS_LENGTH");if(!Number.isFinite(r))throw new Error("POINTS_LENGTH must be defined");t.featuresLength=r,e.featuresLength=r,e.pointsLength=r,e.pointCount=r,e.rtcCenter=t.getGlobalProperty("RTC_CENTER",mt.FLOAT,3);let n=T2t(e,t);return{featureTable:t,batchTable:n}}function w2t(e,t,r){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.positions){if(t.hasProperty("POSITION"))e.attributes.positions=t.getPropertyArray("POSITION",mt.FLOAT,3);else if(t.hasProperty("POSITION_QUANTIZED")){let n=t.getPropertyArray("POSITION_QUANTIZED",mt.UNSIGNED_SHORT,3);if(e.isQuantized=!0,e.quantizedRange=(1<<16)-1,e.quantizedVolumeScale=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",mt.FLOAT,3),!e.quantizedVolumeScale)throw new Error("QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");if(e.quantizedVolumeOffset=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",mt.FLOAT,3),!e.quantizedVolumeOffset)throw new Error("QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");e.attributes.positions=qbe(e,n,r)}}if(!e.attributes.positions)throw new Error("Either POSITION or POSITION_QUANTIZED must be defined.")}function A2t(e,t,r){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.colors){let n=null;t.hasProperty("RGBA")?(n=t.getPropertyArray("RGBA",mt.UNSIGNED_BYTE,4),e.isTranslucent=!0):t.hasProperty("RGB")?n=t.getPropertyArray("RGB",mt.UNSIGNED_BYTE,3):t.hasProperty("RGB565")&&(n=t.getPropertyArray("RGB565",mt.UNSIGNED_SHORT,1),e.isRGB565=!0),e.attributes.colors=dL(e,n,r)}t.hasProperty("CONSTANT_RGBA")&&(e.constantRGBA=t.getGlobalProperty("CONSTANT_RGBA",mt.UNSIGNED_BYTE,4))}function E2t(e,t){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.normals){let r=null;t.hasProperty("NORMAL")?r=t.getPropertyArray("NORMAL",mt.FLOAT,3):t.hasProperty("NORMAL_OCT16P")&&(r=t.getPropertyArray("NORMAL_OCT16P",mt.UNSIGNED_BYTE,2),e.isOctEncoded16P=!0),e.attributes.normals=Lbe(e,r)}}function T2t(e,t){let r=null;if(!e.batchIds&&t.hasProperty("BATCH_ID")&&(e.batchIds=t.getPropertyArray("BATCH_ID",mt.UNSIGNED_SHORT,1),e.batchIds)){let n=t.getGlobalProperty("BATCH_LENGTH");if(!n)throw new Error("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");let{batchTableJson:i,batchTableBinary:a}=e;r=new Cp(i,a,n)}return r}async function S2t(e,t,r,n,i){let a,o,s,u=e.batchTableJson&&e.batchTableJson.extensions&&e.batchTableJson.extensions["3DTILES_draco_point_compression"];u&&(s=u.properties);let c=t.getExtension("3DTILES_draco_point_compression");if(c){o=c.properties;let f=c.byteOffset,d=c.byteLength;if(!o||!Number.isFinite(f)||!d)throw new Error("Draco properties, byteOffset, and byteLength must be defined");a=(e.featureTableBinary||[]).slice(f,f+d),e.hasPositions=Number.isFinite(o.POSITION),e.hasColors=Number.isFinite(o.RGB)||Number.isFinite(o.RGBA),e.hasNormals=Number.isFinite(o.NORMAL),e.hasBatchIds=Number.isFinite(o.BATCH_ID),e.isTranslucent=Number.isFinite(o.RGBA)}if(!a)return!0;let l={buffer:a,properties:{...o,...s},featureTableProperties:o,batchTableProperties:s,dequantizeInShader:!1};return await k2t(e,l,n,i)}async function k2t(e,t,r,n){if(!n)return;let i={...r,draco:{...r==null?void 0:r.draco,extraAttributes:t.batchTableProperties||{}}};delete i["3d-tiles"];let a=await Va(t.buffer,kp,i,n),o=a.attributes.POSITION&&a.attributes.POSITION.value,s=a.attributes.COLOR_0&&a.attributes.COLOR_0.value,u=a.attributes.NORMAL&&a.attributes.NORMAL.value,c=a.attributes.BATCH_ID&&a.attributes.BATCH_ID.value,l=o&&a.attributes.POSITION.value.quantization,f=u&&a.attributes.NORMAL.value.quantization;if(l){let p=a.POSITION.data.quantization,h=p.range;e.quantizedVolumeScale=new Z(h,h,h),e.quantizedVolumeOffset=new Z(p.minValues),e.quantizedRange=(1<<p.quantizationBits)-1,e.isQuantizedDraco=!0}f&&(e.octEncodedRange=(1<<a.NORMAL.data.quantization.quantizationBits)-1,e.isOctEncodedDraco=!0);let d={};if(t.batchTableProperties)for(let p of Object.keys(t.batchTableProperties))a.attributes[p]&&a.attributes[p].value&&(d[p.toLowerCase()]=a.attributes[p].value);e.attributes={positions:o,colors:dL(e,s,void 0),normals:u,batchIds:c,...d}}var K3={};Oi(K3,{createExtMeshFeatures:()=>W3,decode:()=>fwt,encode:()=>dwt,name:()=>$3});var j3="4.4.0-alpha.11";var Ube,C2t=(Ube=globalThis.loaders)==null?void 0:Ube.parseImageNode,pL=typeof Image<"u",hL=typeof ImageBitmap<"u",D2t=Boolean(C2t),mL=dr?!0:D2t;function Gbe(e){switch(e){case"auto":return hL||pL||mL;case"imagebitmap":return hL;case"image":return pL;case"data":return mL;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function zbe(){if(hL)return"imagebitmap";if(pL)return"image";if(mL)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function Hbe(e){let t=B2t(e);if(!t)throw new Error("Not an image");return t}function gL(e){return ig(e)}function ig(e){switch(Hbe(e)){case"data":return e;case"image":case"imagebitmap":let t=document.createElement("canvas"),r=t.getContext("2d");if(!r)throw new Error("getImageData");return t.width=e.width,t.height=e.height,r.drawImage(e,0,0),r.getImageData(0,0,e.width,e.height);default:throw new Error("getImageData")}}function B2t(e){return typeof ImageBitmap<"u"&&e instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&e instanceof Image?"image":e&&typeof e=="object"&&e.data&&e.width&&e.height?"data":null}var F2t=/^data:image\/svg\+xml/,O2t=/\.svg((\?|#).*)?$/;function M3(e){return e&&(F2t.test(e)||O2t.test(e))}function Vbe(e,t){if(M3(t)){let n=new TextDecoder().decode(e);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(a){throw new Error(a.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return vL(e,t)}function vL(e,t){if(M3(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function L3(e,t,r){let n=Vbe(e,r),i=self.URL||self.webkitURL,a=typeof n!="string"&&i.createObjectURL(n);try{return await I2t(a||n,t)}finally{a&&i.revokeObjectURL(a)}}async function I2t(e,t){let r=new Image;return r.src=e,t.image&&t.image.decode&&r.decode?(await r.decode(),r):await new Promise((n,i)=>{try{r.onload=()=>n(r),r.onerror=a=>{let o=a instanceof Error?a.message:"error";i(new Error(o))}}catch(a){i(a)}})}var $be=!0;async function Wbe(e,t,r){let n;M3(r)?n=await L3(e,t,r):n=vL(e,r);let i=t&&t.imagebitmap;return await P2t(n,i)}async function P2t(e,t=null){if((R2t(t)||!$be)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),$be=!1}return await createImageBitmap(e)}function R2t(e){if(!e)return!0;for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}function Kbe(e){return!q2t(e,"ftyp",4)||!(e[8]&96)?null:j2t(e)}function j2t(e){switch(M2t(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function M2t(e,t,r){return String.fromCharCode(...e.slice(t,r))}function L2t(e){return[...e].map(t=>t.charCodeAt(0))}function q2t(e,t,r=0){let n=L2t(t);for(let i=0;i<n.length;++i)if(n[i]!==e[i+r])return!1;return!0}var Lu=!1,Ey=!0;function Dp(e){let t=Ty(e);return U2t(t)||H2t(t)||G2t(t)||z2t(t)||N2t(t)}function N2t(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),r=Kbe(t);return r?{mimeType:r.mimeType,width:0,height:0}:null}function U2t(e){let t=Ty(e);return t.byteLength>=24&&t.getUint32(0,Lu)===2303741511?{mimeType:"image/png",width:t.getUint32(16,Lu),height:t.getUint32(20,Lu)}:null}function G2t(e){let t=Ty(e);return t.byteLength>=10&&t.getUint32(0,Lu)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,Ey),height:t.getUint16(8,Ey)}:null}function z2t(e){let t=Ty(e);return t.byteLength>=14&&t.getUint16(0,Lu)===16973&&t.getUint32(2,Ey)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,Ey),height:t.getUint32(22,Ey)}:null}function H2t(e){let t=Ty(e);if(!(t.byteLength>=3&&t.getUint16(0,Lu)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:n,sofMarkers:i}=V2t(),a=2;for(;a+9<t.byteLength;){let o=t.getUint16(a,Lu);if(i.has(o))return{mimeType:"image/jpeg",height:t.getUint16(a+5,Lu),width:t.getUint16(a+7,Lu)};if(!n.has(o))return null;a+=2,a+=t.getUint16(a,Lu)}return null}function V2t(){let e=new Set([65499,65476,65484,65501,65534]);for(let r=65504;r<65520;++r)e.add(r);return{tableMarkers:e,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function Ty(e){if(e instanceof DataView)return e;if(ArrayBuffer.isView(e))return new DataView(e.buffer);if(e instanceof ArrayBuffer)return new DataView(e);throw new Error("toDataView")}async function Jbe(e,t){var i;let{mimeType:r}=Dp(e)||{},n=(i=globalThis.loaders)==null?void 0:i.parseImageNode;return _t(n),await n(e,r)}async function Xbe(e,t,r){t=t||{};let i=(t.image||{}).type||"auto",{url:a}=r||{},o=$2t(i),s;switch(o){case"imagebitmap":s=await Wbe(e,t,a);break;case"image":s=await L3(e,t,a);break;case"data":s=await Jbe(e,t);break;default:_t(!1)}return i==="data"&&(s=ig(s)),s}function $2t(e){switch(e){case"auto":case"data":return zbe();default:return Gbe(e),e}}var W2t=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],K2t=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],J2t={image:{type:"auto",decode:!0}},ag={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:j3,mimeTypes:K2t,extensions:W2t,parse:Xbe,tests:[e=>Boolean(Dp(new DataView(e)))],options:J2t};var Zbe,Ybe=(Zbe=globalThis.loaders)==null?void 0:Zbe.encodeImageNode;async function exe(e,t){return t=t||{},t.image=t.image||{},Ybe?Ybe(e,{type:t.image.mimeType}):X2t(e,t)}var Qbe=!0;async function X2t(e,t){let{mimeType:r,jpegQuality:n}=t.image,{width:i,height:a}=gL(e),o=document.createElement("canvas");o.width=i,o.height=a,Y2t(e,o);let s=await new Promise(u=>{if(n&&Qbe)try{o.toBlob(u,r,n);return}catch{Qbe=!1}o.toBlob(u,r)});if(!s)throw new Error("image encoding failed");return await s.arrayBuffer()}function Y2t(e,t,r=0,n=0){if(r===0&&n===0&&typeof ImageBitmap<"u"&&e instanceof ImageBitmap){let a=t.getContext("bitmaprenderer");if(a)return a.transferFromImageBitmap(e),t}let i=t.getContext("2d");if(e.data){let a=new Uint8ClampedArray(e.data),o=new ImageData(a,e.width,e.height);return i.putImageData(o,0,0),t}return i.drawImage(e,0,0),t}var bL={name:"Images",id:"image",module:"images",version:j3,extensions:["jpeg"],mimeTypes:[],options:{image:{mimeType:"image/png",jpegQuality:null}},encode:exe};var xL={};function yL(e){if(xL[e]===void 0){let t=dr?Z2t(e):Q2t(e);xL[e]=t}return xL[e]}function Q2t(e){var i,a;let t=["image/png","image/jpeg","image/gif"],r=((i=globalThis.loaders)==null?void 0:i.imageFormatsNode)||t,n=(a=globalThis.loaders)==null?void 0:a.parseImageNode;return Boolean(n)&&r.includes(e)}function Z2t(e){switch(e){case"image/avif":case"image/webp":return ewt(e);default:return!0}}function ewt(e){try{return document.createElement("canvas").toDataURL(e).indexOf(`data:${e}`)===0}catch{return!1}}function Yn(e,t){if(!e)throw new Error(t||"assert failed: gltf")}var q3={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},N3={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4};var twt=1.33,txe=["SCALAR","VEC2","VEC3","VEC4"],rwt=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],nwt=new Map(rwt),iwt={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},awt={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},owt={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function U3(e){return txe[e-1]||txe[0]}function qf(e){let t=nwt.get(e.constructor);if(!t)throw new Error("Illegal typed array");return t}function og(e,t){let r=owt[e.componentType],n=iwt[e.type],i=awt[e.componentType],a=e.count*n,o=e.count*n*i;Yn(o>=0&&o<=t.byteLength);let s=N3[e.componentType],u=q3[e.type];return{ArrayType:r,length:a,byteLength:o,componentByteSize:s,numberOfComponentsInElement:u}}function Sy(e){let{images:t,bufferViews:r}=e;t=t||[],r=r||[];let n=t.map(o=>o.bufferView);r=r.filter(o=>!n.includes(o));let i=r.reduce((o,s)=>o+s.byteLength,0),a=t.reduce((o,s)=>{let{width:u,height:c}=s.image;return o+u*c},0);return i+Math.ceil(4*a*twt)}function rxe(e,t,r){let n=e.bufferViews[r];Yn(n);let i=n.buffer,a=t[i];Yn(a);let o=(n.byteOffset||0)+a.byteOffset;return new Uint8Array(a.arrayBuffer,o,n.byteLength)}function nxe(e,t,r){var m,g;let n=typeof r=="number"?(m=e.accessors)==null?void 0:m[r]:r;if(!n)throw new Error(`No gltf accessor ${JSON.stringify(r)}`);let i=(g=e.bufferViews)==null?void 0:g[n.bufferView||0];if(!i)throw new Error(`No gltf buffer view for accessor ${i}`);let{arrayBuffer:a,byteOffset:o}=t[i.buffer],s=(o||0)+(n.byteOffset||0)+(i.byteOffset||0),{ArrayType:u,length:c,componentByteSize:l,numberOfComponentsInElement:f}=og(n,i),d=l*f,p=i.byteStride||d;if(typeof i.byteStride>"u"||i.byteStride===d)return new u(a,s,c);let h=new u(c);for(let x=0;x<n.count;x++){let y=new u(a,s+x*p,f);h.set(y,x*f)}return h}function swt(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}var Yt=class{gltf;sourceBuffers;byteLength;constructor(t){this.gltf={json:(t==null?void 0:t.json)||swt(),buffers:(t==null?void 0:t.buffers)||[],images:(t==null?void 0:t.images)||[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(t){return this.json[t]}getExtraData(t){return(this.json.extras||{})[t]}hasExtension(t){let r=this.getUsedExtensions().find(i=>i===t),n=this.getRequiredExtensions().find(i=>i===t);return typeof r=="string"||typeof n=="string"}getExtension(t){let r=this.getUsedExtensions().find(i=>i===t),n=this.json.extensions||{};return r?n[t]:null}getRequiredExtension(t){return this.getRequiredExtensions().find(n=>n===t)?this.getExtension(t):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getRemovedExtensions(){return this.json.extensionsRemoved||[]}getObjectExtension(t,r){return(t.extensions||{})[r]}getScene(t){return this.getObject("scenes",t)}getNode(t){return this.getObject("nodes",t)}getSkin(t){return this.getObject("skins",t)}getMesh(t){return this.getObject("meshes",t)}getMaterial(t){return this.getObject("materials",t)}getAccessor(t){return this.getObject("accessors",t)}getTexture(t){return this.getObject("textures",t)}getSampler(t){return this.getObject("samplers",t)}getImage(t){return this.getObject("images",t)}getBufferView(t){return this.getObject("bufferViews",t)}getBuffer(t){return this.getObject("buffers",t)}getObject(t,r){if(typeof r=="object")return r;let n=this.json[t]&&this.json[t][r];if(!n)throw new Error(`glTF file error: Could not find ${t}[${r}]`);return n}getTypedArrayForBufferView(t){t=this.getBufferView(t);let r=t.buffer,n=this.gltf.buffers[r];Yn(n);let i=(t.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,i,t.byteLength)}getTypedArrayForAccessor(t){let r=this.getAccessor(t);return nxe(this.gltf.json,this.gltf.buffers,r)}getTypedArrayForImageData(t){t=this.getAccessor(t);let r=this.getBufferView(t.bufferView),i=this.getBuffer(r.buffer).data,a=r.byteOffset||0;return new Uint8Array(i,a,r.byteLength)}addApplicationData(t,r){return this.json[t]=r,this}addExtraData(t,r){return this.json.extras=this.json.extras||{},this.json.extras[t]=r,this}addObjectExtension(t,r,n){return t.extensions=t.extensions||{},t.extensions[r]=n,this.registerUsedExtension(r),this}setObjectExtension(t,r,n){let i=t.extensions||{};i[r]=n}removeObjectExtension(t,r){let n=(t==null?void 0:t.extensions)||{};if(n[r]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let i=this.json.extensionsRemoved;i.includes(r)||i.push(r)}delete n[r]}addExtension(t,r={}){return Yn(r),this.json.extensions=this.json.extensions||{},this.json.extensions[t]=r,this.registerUsedExtension(t),r}addRequiredExtension(t,r={}){return Yn(r),this.addExtension(t,r),this.registerRequiredExtension(t),r}registerUsedExtension(t){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(r=>r===t)||this.json.extensionsUsed.push(t)}registerRequiredExtension(t){this.registerUsedExtension(t),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(r=>r===t)||this.json.extensionsRequired.push(t)}removeExtension(t){var r;if((r=this.json.extensions)!=null&&r[t]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let n=this.json.extensionsRemoved;n.includes(t)||n.push(t)}this.json.extensions&&delete this.json.extensions[t],this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,t),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,t)}setDefaultScene(t){this.json.scene=t}addScene(t){let{nodeIndices:r}=t;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:r}),this.json.scenes.length-1}addNode(t){let{meshIndex:r,matrix:n}=t;this.json.nodes=this.json.nodes||[];let i={mesh:r};return n&&(i.matrix=n),this.json.nodes.push(i),this.json.nodes.length-1}addMesh(t){let{attributes:r,indices:n,material:i,mode:a=4}=t,s={primitives:[{attributes:this._addAttributes(r),mode:a}]};if(n){let u=this._addIndices(n);s.primitives[0].indices=u}return Number.isFinite(i)&&(s.primitives[0].material=i),this.json.meshes=this.json.meshes||[],this.json.meshes.push(s),this.json.meshes.length-1}addPointCloud(t){let n={primitives:[{attributes:this._addAttributes(t),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(n),this.json.meshes.length-1}addImage(t,r){let n=Dp(t),i=r||(n==null?void 0:n.mimeType),o={bufferView:this.addBufferView(t),mimeType:i};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(t,r=0,n=this.byteLength){let i=t.byteLength;Yn(Number.isFinite(i)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(t);let a={buffer:r,byteOffset:n,byteLength:i};return this.byteLength+=Ja(i,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(a),this.json.bufferViews.length-1}addAccessor(t,r){let n={bufferView:t,type:U3(r.size),componentType:r.componentType,count:r.count,max:r.max,min:r.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}addBinaryBuffer(t,r={size:3}){let n=this.addBufferView(t),i={min:r.min,max:r.max};(!i.min||!i.max)&&(i=this._getAccessorMinMax(t,r.size));let a={size:r.size,componentType:qf(t),count:Math.round(t.length/r.size),min:i.min,max:i.max};return this.addAccessor(n,Object.assign(a,r))}addTexture(t){let{imageIndex:r}=t,n={source:r};return this.json.textures=this.json.textures||[],this.json.textures.push(n),this.json.textures.length-1}addMaterial(t){return this.json.materials=this.json.materials||[],this.json.materials.push(t),this.json.materials.length-1}createBinaryChunk(){var a,o;let t=this.byteLength,r=new ArrayBuffer(t),n=new Uint8Array(r),i=0;for(let s of this.sourceBuffers||[])i=KB(s,n,i);(o=(a=this.json)==null?void 0:a.buffers)!=null&&o[0]?this.json.buffers[0].byteLength=t:this.json.buffers=[{byteLength:t}],this.gltf.binary=r,this.sourceBuffers=[r],this.gltf.buffers=[{arrayBuffer:r,byteOffset:0,byteLength:r.byteLength}]}_removeStringFromArray(t,r){let n=!0;for(;n;){let i=t.indexOf(r);i>-1?t.splice(i,1):n=!1}}_addAttributes(t={}){let r={};for(let n in t){let i=t[n],a=this._getGltfAttributeName(n),o=this.addBinaryBuffer(i.value,i);r[a]=o}return r}_addIndices(t){return this.addBinaryBuffer(t,{size:1})}_getGltfAttributeName(t){switch(t.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return t}}_getAccessorMinMax(t,r){let n={min:null,max:null};if(t.length<r)return n;n.min=[],n.max=[];let i=t.subarray(0,r);for(let a of i)n.min.push(a),n.max.push(a);for(let a=r;a<t.length;a+=r)for(let o=0;o<r;o++)n.min[0+o]=Math.min(n.min[0+o],t[a+o]),n.max[0+o]=Math.max(n.max[0+o],t[a+o]);return n}};function ixe(e){return(e%1+1)%1}var axe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},uwt={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},oxe={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8};function ky(e,t){return oxe[t]*axe[e]}function sg(e,t,r,n){if(r!=="UINT8"&&r!=="UINT16"&&r!=="UINT32"&&r!=="UINT64")return null;let i=e.getTypedArrayForBufferView(t),a=ug(i,"SCALAR",r,n+1);return a instanceof BigInt64Array||a instanceof BigUint64Array?null:a}function ug(e,t,r,n=1){let i=axe[t],a=uwt[r],o=oxe[r],s=n*i,u=s*o,c=e.buffer,l=e.byteOffset;return l%o!==0&&(c=new Uint8Array(c).slice(l,l+u).buffer,l=0),new a(zi(c),l,s)}function cg(e,t,r){var c,l,f,d,p;let n=`TEXCOORD_${t.texCoord||0}`,i=r.attributes[n],a=e.getTypedArrayForAccessor(i),o=e.gltf.json,s=t.index,u=(l=(c=o.textures)==null?void 0:c[s])==null?void 0:l.source;if(typeof u<"u"){let h=(d=(f=o.images)==null?void 0:f[u])==null?void 0:d.mimeType,m=(p=e.gltf.images)==null?void 0:p[u];if(m&&typeof m.width<"u"){let g=[];for(let x=0;x<a.length;x+=2){let y=cwt(m,h,a,x,t.channels);g.push(y)}return g}}return[]}function G3(e,t,r,n,i){if(!(r!=null&&r.length))return;let a=[];for(let l of r){let f=n.findIndex(d=>d===l);f===-1&&(f=n.push(l)-1),a.push(f)}let o=new Uint32Array(a),s=e.gltf.buffers.push({arrayBuffer:o.buffer,byteOffset:o.byteOffset,byteLength:o.byteLength})-1,u=e.addBufferView(o,s,0),c=e.addAccessor(u,{size:1,componentType:qf(o),count:o.length});i.attributes[t]=c}function cwt(e,t,r,n,i=[0]){let a={r:{offset:0,shift:0},g:{offset:1,shift:8},b:{offset:2,shift:16},a:{offset:3,shift:24}},o=r[n],s=r[n+1],u=1;t&&(t.indexOf("image/jpeg")!==-1||t.indexOf("image/png")!==-1)&&(u=4);let c=lwt(o,s,e,u),l=0;for(let f of i){let d=typeof f=="number"?Object.values(a)[f]:a[f],p=c+d.offset,h=ig(e);if(h.data.length<=p)throw new Error(`${h.data.length} <= ${p}`);let m=h.data[p];l|=m<<d.shift}return l}function lwt(e,t,r,n=1){let i=r.width,a=ixe(e)*(i-1),o=Math.round(a),s=r.height,u=ixe(t)*(s-1),c=Math.round(u),l=r.components?r.components:n;return(c*i+o)*l}function z3(e,t,r,n,i){let a=[];for(let o=0;o<t;o++){let s=r[o],u=r[o+1]-r[o];if(u+s>n)break;let c=s/i,l=u/i;a.push(e.slice(c,c+l))}return a}function H3(e,t,r){let n=[];for(let i=0;i<t;i++){let a=i*r;n.push(e.slice(a,a+r))}return n}function V3(e,t,r,n){if(r)throw new Error("Not implemented - arrayOffsets for strings is specified");if(n){let i=[],a=new TextDecoder("utf8"),o=0;for(let s=0;s<e;s++){let u=n[s+1]-n[s];if(u+o<=t.length){let c=t.subarray(o,u+o),l=a.decode(c);i.push(l),o+=u}}return i}return[]}var lg="EXT_mesh_features",$3=lg;async function fwt(e,t){let r=new Yt(e);pwt(r,t)}function dwt(e,t){let r=new Yt(e);return mwt(r,t),r.createBinaryChunk(),r.gltf}function pwt(e,t){let r=e.gltf.json;if(r.meshes)for(let n of r.meshes)for(let i of n.primitives)hwt(e,i,t)}function hwt(e,t,r){var a,o,s;if(!((a=r==null?void 0:r.gltf)!=null&&a.loadBuffers))return;let n=(o=t.extensions)==null?void 0:o[lg],i=n==null?void 0:n.featureIds;if(i)for(let u of i){let c;if(typeof u.attribute<"u"){let l=`_FEATURE_ID_${u.attribute}`,f=t.attributes[l];c=e.getTypedArrayForAccessor(f)}else typeof u.texture<"u"&&((s=r==null?void 0:r.gltf)!=null&&s.loadImages)?c=cg(e,u.texture,t):c=[];u.data=c}}function mwt(e,t){let r=e.gltf.json.meshes;if(r)for(let n of r)for(let i of n.primitives)gwt(e,i)}function W3(e,t,r,n){t.extensions||(t.extensions={});let i=t.extensions[lg];i||(i={featureIds:[]},t.extensions[lg]=i);let{featureIds:a}=i,o={featureCount:r.length,propertyTable:n,data:r};a.push(o),e.addObjectExtension(t,lg,i)}function gwt(e,t){var i;let r=(i=t.extensions)==null?void 0:i[lg];if(!r)return;let n=r.featureIds;n.forEach((a,o)=>{if(a.data){let{accessorKey:s,index:u}=vwt(t.attributes),c=new Uint32Array(a.data);n[o]={featureCount:c.length,propertyTable:a.propertyTable,attribute:u},e.gltf.buffers.push({arrayBuffer:c.buffer,byteOffset:c.byteOffset,byteLength:c.byteLength});let l=e.addBufferView(c),f=e.addAccessor(l,{size:1,componentType:qf(c),count:c.length});t.attributes[s]=f}})}function vwt(e){let t="_FEATURE_ID_",r=Object.keys(e).filter(a=>a.indexOf(t)===0),n=-1;for(let a of r){let o=Number(a.substring(t.length));o>n&&(n=o)}return n++,{accessorKey:`${t}${n}`,index:n}}var X3={};Oi(X3,{createExtStructuralMetadata:()=>J3,decode:()=>bwt,encode:()=>xwt,name:()=>Xc});var fg="EXT_structural_metadata",Xc=fg;async function bwt(e,t){let r=new Yt(e);ywt(r,t)}function xwt(e,t){let r=new Yt(e);return jwt(r,t),r.createBinaryChunk(),r.gltf}function ywt(e,t){var n,i;if(!((n=t.gltf)!=null&&n.loadBuffers))return;let r=e.getExtension(fg);r&&((i=t.gltf)!=null&&i.loadImages&&_wt(e,r),wwt(e,r))}function _wt(e,t){let r=t.propertyTextures,n=e.gltf.json;if(r&&n.meshes)for(let i of n.meshes)for(let a of i.primitives)Ewt(e,r,a,t)}function wwt(e,t){let r=t.schema;if(!r)return;let n=r.classes,i=t.propertyTables;if(n&&i)for(let a in n){let o=Awt(i,a);o&&Swt(e,r,o)}}function Awt(e,t){for(let r of e)if(r.class===t)return r;return null}function Ewt(e,t,r,n){var o;if(!t)return;let i=(o=r.extensions)==null?void 0:o[fg],a=i==null?void 0:i.propertyTextures;if(a)for(let s of a){let u=t[s];Twt(e,u,r,n)}}function Twt(e,t,r,n){var a;if(!t.properties)return;n.dataAttributeNames||(n.dataAttributeNames=[]);let i=t.class;for(let o in t.properties){let s=`${i}_${o}`,u=(a=t.properties)==null?void 0:a[o];if(!u)continue;u.data||(u.data=[]);let c=u.data,l=cg(e,u,r);l!==null&&(G3(e,s,l,c,r),u.data=c,n.dataAttributeNames.push(s))}}function Swt(e,t,r){var a,o;let n=(a=t.classes)==null?void 0:a[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let i=r.count;for(let s in n.properties){let u=n.properties[s],c=(o=r.properties)==null?void 0:o[s];if(c){let l=kwt(e,t,u,i,c);c.data=l}}}function kwt(e,t,r,n,i){let a=[],o=i.values,s=e.getTypedArrayForBufferView(o),u=Cwt(e,r,i,n),c=Dwt(e,i,n);switch(r.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{a=Bwt(r,n,s,u);break}case"BOOLEAN":throw new Error(`Not implemented - classProperty.type=${r.type}`);case"STRING":{a=V3(n,s,u,c);break}case"ENUM":{a=Fwt(t,r,n,s,u);break}default:throw new Error(`Unknown classProperty type ${r.type}`)}return a}function Cwt(e,t,r,n){return t.array&&typeof t.count>"u"&&typeof r.arrayOffsets<"u"?sg(e,r.arrayOffsets,r.arrayOffsetType||"UINT32",n):null}function Dwt(e,t,r){return typeof t.stringOffsets<"u"?sg(e,t.stringOffsets,t.stringOffsetType||"UINT32",r):null}function Bwt(e,t,r,n){let i=e.array,a=e.count,o=ky(e.type,e.componentType),s=r.byteLength/o,u;return e.componentType?u=ug(r,e.type,e.componentType,s):u=r,i?n?z3(u,t,n,r.length,o):a?H3(u,t,a):[]:u}function Fwt(e,t,r,n,i){var f;let a=t.enumType;if(!a)throw new Error("Incorrect data in the EXT_structural_metadata extension: classProperty.enumType is not set for type ENUM");let o=(f=e.enums)==null?void 0:f[a];if(!o)throw new Error(`Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${a}`);let s=o.valueType||"UINT16",u=ky(t.type,s),c=n.byteLength/u,l=ug(n,t.type,s,c);if(l||(l=n),t.array){if(i)return Owt({valuesData:l,numberOfElements:r,arrayOffsets:i,valuesDataBytesLength:n.length,elementSize:u,enumEntry:o});let d=t.count;return d?Iwt(l,r,d,o):[]}return wL(l,0,r,o)}function Owt(e){let{valuesData:t,numberOfElements:r,arrayOffsets:n,valuesDataBytesLength:i,elementSize:a,enumEntry:o}=e,s=[];for(let u=0;u<r;u++){let c=n[u],l=n[u+1]-n[u];if(l+c>i)break;let f=c/a,d=l/a,p=wL(t,f,d,o);s.push(p)}return s}function Iwt(e,t,r,n){let i=[];for(let a=0;a<t;a++){let o=r*a,s=wL(e,o,r,n);i.push(s)}return i}function wL(e,t,r,n){let i=[];for(let a=0;a<r;a++)if(e instanceof BigInt64Array||e instanceof BigUint64Array)i.push("");else{let o=e[t+a],s=Pwt(n,o);s?i.push(s.name):i.push("")}return i}function Pwt(e,t){for(let r of e.values)if(r.value===t)return r;return null}var Rwt="schemaClassId";function jwt(e,t){var n,i;let r=e.getExtension(fg);if(r&&r.propertyTables)for(let a of r.propertyTables){let o=a.class,s=(i=(n=r.schema)==null?void 0:n.classes)==null?void 0:i[o];a.properties&&s&&Mwt(a,s,e)}}function Mwt(e,t,r){for(let n in e.properties){let i=e.properties[n].data;if(i){let a=t.properties[n];if(a){let o=Nwt(i,a,r);e.properties[n]=o}}}}function J3(e,t,r=Rwt){let n=e.getExtension(fg);n||(n=e.addExtension(fg)),n.schema=Lwt(t,r,n.schema);let i=qwt(t,r,n.schema);return n.propertyTables||(n.propertyTables=[]),n.propertyTables.push(i)-1}function Lwt(e,t,r){let n=r??{id:"schema_id"},i={properties:{}};for(let a of e){let o={type:a.elementType,componentType:a.componentType};i.properties[a.name]=o}return n.classes={},n.classes[t]=i,n}function qwt(e,t,r){var o;let n={class:t,count:0},i=0,a=(o=r.classes)==null?void 0:o[t];for(let s of e){if(i===0&&(i=s.values.length),i!==s.values.length&&s.values.length)throw new Error("Illegal values in attributes");(a==null?void 0:a.properties[s.name])&&(n.properties||(n.properties={}),n.properties[s.name]={values:0,data:s.values})}return n.count=i,n}function Nwt(e,t,r){let n={values:0};if(t.type==="STRING"){let{stringData:i,stringOffsets:a}=zwt(e);n.stringOffsets=_L(a,r),n.values=_L(i,r)}else if(t.type==="SCALAR"&&t.componentType){let i=Gwt(e,t.componentType);n.values=_L(i,r)}return n}var Uwt={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:Int32Array,UINT64:Uint32Array,FLOAT32:Float32Array,FLOAT64:Float64Array};function Gwt(e,t){let r=[];for(let i of e)r.push(Number(i));let n=Uwt[t];if(!n)throw new Error("Illegal component type");return new n(r)}function zwt(e){let t=new TextEncoder,r=[],n=0;for(let u of e){let c=t.encode(u);n+=c.length,r.push(c)}let i=new Uint8Array(n),a=[],o=0;for(let u of r)i.set(u,o),a.push(o),o+=u.length;a.push(o);let s=new Uint32Array(a);return{stringData:i,stringOffsets:s}}function _L(e,t){return t.gltf.buffers.push({arrayBuffer:zi(e.buffer),byteOffset:e.byteOffset,byteLength:e.byteLength}),t.addBufferView(e)}var AL={};Oi(AL,{decode:()=>Hwt,name:()=>jo});var sxe="EXT_feature_metadata",jo=sxe;async function Hwt(e,t){let r=new Yt(e);Vwt(r,t)}function Vwt(e,t){var n,i;if(!((n=t.gltf)!=null&&n.loadBuffers))return;let r=e.getExtension(sxe);r&&((i=t.gltf)!=null&&i.loadImages&&$wt(e,r),Wwt(e,r))}function $wt(e,t){let r=t.schema;if(!r)return;let n=r.classes,{featureTextures:i}=t;if(n&&i)for(let a in n){let o=n[a],s=Jwt(i,a);s&&Ywt(e,s,o)}}function Wwt(e,t){let r=t.schema;if(!r)return;let n=r.classes,i=t.featureTables;if(n&&i)for(let a in n){let o=Kwt(i,a);o&&Xwt(e,r,o)}}function Kwt(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function Jwt(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function Xwt(e,t,r){var a,o;if(!r.class)return;let n=(a=t.classes)==null?void 0:a[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let i=r.count;for(let s in n.properties){let u=n.properties[s],c=(o=r.properties)==null?void 0:o[s];if(c){let l=Qwt(e,t,u,i,c);c.data=l}}}function Ywt(e,t,r){var i;let n=t.class;for(let a in r.properties){let o=(i=t==null?void 0:t.properties)==null?void 0:i[a];if(o){let s=nAt(e,o,n);o.data=s}}}function Qwt(e,t,r,n,i){let a=[],o=i.bufferView,s=e.getTypedArrayForBufferView(o),u=Zwt(e,r,i,n),c=eAt(e,r,i,n);return r.type==="STRING"||r.componentType==="STRING"?a=V3(n,s,u,c):tAt(r)&&(a=rAt(r,n,s,u)),a}function Zwt(e,t,r,n){return t.type==="ARRAY"&&typeof t.componentCount>"u"&&typeof r.arrayOffsetBufferView<"u"?sg(e,r.arrayOffsetBufferView,r.offsetType||"UINT32",n):null}function eAt(e,t,r,n){return typeof r.stringOffsetBufferView<"u"?sg(e,r.stringOffsetBufferView,r.offsetType||"UINT32",n):null}function tAt(e){let t=["UINT8","INT16","UINT16","INT32","UINT32","INT64","UINT64","FLOAT32","FLOAT64"];return t.includes(e.type)||typeof e.componentType<"u"&&t.includes(e.componentType)}function rAt(e,t,r,n){let i=e.type==="ARRAY",a=e.componentCount,o="SCALAR",s=e.componentType||e.type,u=ky(o,s),c=r.byteLength/u,l=ug(r,o,s,c);return i?n?z3(l,t,n,r.length,u):a?H3(l,t,a):[]:l}function nAt(e,t,r){let n=e.gltf.json;if(!n.meshes)return[];let i=[];for(let a of n.meshes)for(let o of a.primitives)iAt(e,r,t,i,o);return i}function iAt(e,t,r,n,i){let a={channels:r.channels,...r.texture},o=cg(e,a,i);o&&G3(e,t,o,n,i)}var Y3="4.4.0-alpha.11";var dg="4.4.0-alpha.11";var qu={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},uxe;async function TL(e){u0(e.modules);let t=jB("basis");return t||(uxe||(uxe=aAt(e)),await uxe)}async function aAt(e){let t=null,r=null;return[t,r]=await Promise.all([await _o(qu.TRANSCODER,"textures",e),await _o(qu.TRANSCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await oAt(t,r)}function oAt(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(i=>{let{BasisFile:a,initializeBasis:o}=i;o(),n({BasisFile:a})})})}var EL;async function SL(e){let t=e.modules||{};return t.basisEncoder?t.basisEncoder:(EL=EL||sAt(e),await EL)}async function sAt(e){let t=null,r=null;return[t,r]=await Promise.all([await _o(qu.ENCODER,"textures",e),await _o(qu.ENCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await uAt(t,r)}function uAt(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(i=>{let{BasisFile:a,KTX2File:o,initializeBasis:s,BasisEncoder:u}=i;s(),n({BasisFile:a,KTX2File:o,BasisEncoder:u})})})}var ce={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_RGBA8_ETC2_EAC:37493,COMPRESSED_SRGB8_ETC2:37494,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37495,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37496,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37497,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGB_ATC_WEBGL:35986,COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:35987,COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:34798,COMPRESSED_RGBA_ASTC_4X4_KHR:37808,COMPRESSED_RGBA_ASTC_5X4_KHR:37809,COMPRESSED_RGBA_ASTC_5X5_KHR:37810,COMPRESSED_RGBA_ASTC_6X5_KHR:37811,COMPRESSED_RGBA_ASTC_6X6_KHR:37812,COMPRESSED_RGBA_ASTC_8X5_KHR:37813,COMPRESSED_RGBA_ASTC_8X6_KHR:37814,COMPRESSED_RGBA_ASTC_8X8_KHR:37815,COMPRESSED_RGBA_ASTC_10X5_KHR:37816,COMPRESSED_RGBA_ASTC_10X6_KHR:37817,COMPRESSED_RGBA_ASTC_10X8_KHR:37818,COMPRESSED_RGBA_ASTC_10X10_KHR:37819,COMPRESSED_RGBA_ASTC_12X10_KHR:37820,COMPRESSED_RGBA_ASTC_12X12_KHR:37821,COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR:37840,COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR:37841,COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR:37842,COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR:37843,COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR:37844,COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR:37845,COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR:37846,COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR:37847,COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR:37848,COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR:37849,COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR:37850,COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR:37851,COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR:37852,COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR:37853,COMPRESSED_RED_RGTC1_EXT:36283,COMPRESSED_SIGNED_RED_RGTC1_EXT:36284,COMPRESSED_RED_GREEN_RGTC2_EXT:36285,COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT:36286,COMPRESSED_SRGB_S3TC_DXT1_EXT:35916,COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:35917,COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:35918,COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:35919};var cAt=["","WEBKIT_","MOZ_"],cxe={WEBGL_compressed_texture_s3tc:"dxt",WEBGL_compressed_texture_s3tc_srgb:"dxt-srgb",WEBGL_compressed_texture_etc1:"etc1",WEBGL_compressed_texture_etc:"etc2",WEBGL_compressed_texture_pvrtc:"pvrtc",WEBGL_compressed_texture_atc:"atc",WEBGL_compressed_texture_astc:"astc",EXT_texture_compression_rgtc:"rgtc"},Q3=null;function Cy(e){if(!Q3){e=e||lAt()||void 0,Q3=new Set;for(let t of cAt)for(let r in cxe)if(e&&e.getExtension(`${t}${r}`)){let n=cxe[r];Q3.add(n)}}return Q3}function lAt(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var kL=class{constructor(){this.vkFormat=0,this.typeSize=1,this.pixelWidth=0,this.pixelHeight=0,this.pixelDepth=0,this.layerCount=0,this.faceCount=1,this.supercompressionScheme=0,this.levels=[],this.dataFormatDescriptor=[{vendorId:0,descriptorType:0,descriptorBlockSize:0,versionNumber:2,colorModel:0,colorPrimaries:1,transferFunction:2,flags:0,texelBlockDimension:[0,0,0,0],bytesPlane:[0,0,0,0,0,0,0,0],samples:[]}],this.keyValue={},this.globalData=null}},Bp=class{constructor(t,r,n,i){this._dataView=void 0,this._littleEndian=void 0,this._offset=void 0,this._dataView=new DataView(t.buffer,t.byteOffset+r,n),this._littleEndian=i,this._offset=0}_nextUint8(){let t=this._dataView.getUint8(this._offset);return this._offset+=1,t}_nextUint16(){let t=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,t}_nextUint32(){let t=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,t}_nextUint64(){let t=this._dataView.getUint32(this._offset,this._littleEndian),r=this._dataView.getUint32(this._offset+4,this._littleEndian),n=t+2**32*r;return this._offset+=8,n}_nextInt32(){let t=this._dataView.getInt32(this._offset,this._littleEndian);return this._offset+=4,t}_nextUint8Array(t){let r=new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+this._offset,t);return this._offset+=t,r}_skip(t){return this._offset+=t,this}_scan(t,r=0){let n=this._offset,i=0;for(;this._dataView.getUint8(this._offset)!==r&&i<t;)i++,this._offset++;return i<t&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+n,i)}};var Aor=new Uint8Array([0]),ca=[171,75,84,88,32,50,48,187,13,10,26,10];function lxe(e){return new TextDecoder().decode(e)}function fxe(e){let t=new Uint8Array(e.buffer,e.byteOffset,ca.length);if(t[0]!==ca[0]||t[1]!==ca[1]||t[2]!==ca[2]||t[3]!==ca[3]||t[4]!==ca[4]||t[5]!==ca[5]||t[6]!==ca[6]||t[7]!==ca[7]||t[8]!==ca[8]||t[9]!==ca[9]||t[10]!==ca[10]||t[11]!==ca[11])throw new Error("Missing KTX 2.0 identifier.");let r=new kL,n=17*Uint32Array.BYTES_PER_ELEMENT,i=new Bp(e,ca.length,n,!0);r.vkFormat=i._nextUint32(),r.typeSize=i._nextUint32(),r.pixelWidth=i._nextUint32(),r.pixelHeight=i._nextUint32(),r.pixelDepth=i._nextUint32(),r.layerCount=i._nextUint32(),r.faceCount=i._nextUint32();let a=i._nextUint32();r.supercompressionScheme=i._nextUint32();let o=i._nextUint32(),s=i._nextUint32(),u=i._nextUint32(),c=i._nextUint32(),l=i._nextUint64(),f=i._nextUint64(),d=a*3*8,p=new Bp(e,ca.length+n,d,!0);for(let de=0;de<a;de++)r.levels.push({levelData:new Uint8Array(e.buffer,e.byteOffset+p._nextUint64(),p._nextUint64()),uncompressedByteLength:p._nextUint64()});let h=new Bp(e,o,s,!0),m={vendorId:h._skip(4)._nextUint16(),descriptorType:h._nextUint16(),versionNumber:h._nextUint16(),descriptorBlockSize:h._nextUint16(),colorModel:h._nextUint8(),colorPrimaries:h._nextUint8(),transferFunction:h._nextUint8(),flags:h._nextUint8(),texelBlockDimension:[h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8()],bytesPlane:[h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8()],samples:[]},g=6,x=4,y=(m.descriptorBlockSize/4-g)/x;for(let de=0;de<y;de++){let ke={bitOffset:h._nextUint16(),bitLength:h._nextUint8(),channelType:h._nextUint8(),samplePosition:[h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8()],sampleLower:-1/0,sampleUpper:1/0};ke.channelType&64?(ke.sampleLower=h._nextInt32(),ke.sampleUpper=h._nextInt32()):(ke.sampleLower=h._nextUint32(),ke.sampleUpper=h._nextUint32()),m.samples[de]=ke}r.dataFormatDescriptor.length=0,r.dataFormatDescriptor.push(m);let w=new Bp(e,u,c,!0);for(;w._offset<c;){let de=w._nextUint32(),ke=w._scan(de),Fe=lxe(ke);if(r.keyValue[Fe]=w._nextUint8Array(de-ke.byteLength-1),Fe.match(/^ktx/i)){let N=lxe(r.keyValue[Fe]);r.keyValue[Fe]=N.substring(0,N.lastIndexOf("\0"))}let J=de%4?4-de%4:0;w._skip(J)}if(f<=0)return r;let T=new Bp(e,l,f,!0),A=T._nextUint16(),D=T._nextUint16(),F=T._nextUint32(),j=T._nextUint32(),k=T._nextUint32(),I=T._nextUint32(),P=[];for(let de=0;de<a;de++)P.push({imageFlags:T._nextUint32(),rgbSliceByteOffset:T._nextUint32(),rgbSliceByteLength:T._nextUint32(),alphaSliceByteOffset:T._nextUint32(),alphaSliceByteLength:T._nextUint32()});let L=l+T._offset,G=L+F,V=G+j,X=V+k,Y=new Uint8Array(e.buffer,e.byteOffset+L,F),he=new Uint8Array(e.buffer,e.byteOffset+G,j),le=new Uint8Array(e.buffer,e.byteOffset+V,k),me=new Uint8Array(e.buffer,e.byteOffset+X,I);return r.globalData={endpointCount:A,selectorCount:D,imageDescs:P,endpointsData:Y,selectorsData:he,tablesData:le,extendedData:me},r}function pg(e,t){let r=new Array(t.mipMapLevels),n=t.width,i=t.height,a=0;for(let o=0;o<t.mipMapLevels;++o){let s=dAt(t,n,i,e,o),u=fAt(e,o,a,s);r[o]={compressed:!0,format:t.internalFormat,data:u,width:n,height:i,levelSize:s},n=Math.max(1,n>>1),i=Math.max(1,i>>1),a+=s}return r}function fAt(e,t,r,n){return Array.isArray(e)?e[t].levelData:new Uint8Array(e.buffer,e.byteOffset+r,n)}function dAt(e,t,r,n,i){return Array.isArray(n)?e.sizeFunction(n[i]):e.sizeFunction(t,r)}var pAt={131:ce.COMPRESSED_RGB_S3TC_DXT1_EXT,132:ce.COMPRESSED_SRGB_S3TC_DXT1_EXT,133:ce.COMPRESSED_RGBA_S3TC_DXT1_EXT,134:ce.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,135:ce.COMPRESSED_RGBA_S3TC_DXT3_EXT,136:ce.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,137:ce.COMPRESSED_RGBA_S3TC_DXT5_EXT,138:ce.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,139:ce.COMPRESSED_RED_RGTC1_EXT,140:ce.COMPRESSED_SIGNED_RED_RGTC1_EXT,141:ce.COMPRESSED_RED_GREEN_RGTC2_EXT,142:ce.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,147:ce.COMPRESSED_RGB8_ETC2,148:ce.COMPRESSED_SRGB8_ETC2,149:ce.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,150:ce.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,151:ce.COMPRESSED_RGBA8_ETC2_EAC,152:ce.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,153:ce.COMPRESSED_R11_EAC,154:ce.COMPRESSED_SIGNED_R11_EAC,155:ce.COMPRESSED_RG11_EAC,156:ce.COMPRESSED_SIGNED_RG11_EAC,157:ce.COMPRESSED_RGBA_ASTC_4x4_KHR,158:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,159:ce.COMPRESSED_RGBA_ASTC_5x4_KHR,160:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,161:ce.COMPRESSED_RGBA_ASTC_5x5_KHR,162:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,163:ce.COMPRESSED_RGBA_ASTC_6x5_KHR,164:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,165:ce.COMPRESSED_RGBA_ASTC_6x6_KHR,166:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,167:ce.COMPRESSED_RGBA_ASTC_8x5_KHR,168:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,169:ce.COMPRESSED_RGBA_ASTC_8x6_KHR,170:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,171:ce.COMPRESSED_RGBA_ASTC_8x8_KHR,172:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,173:ce.COMPRESSED_RGBA_ASTC_10x5_KHR,174:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,175:ce.COMPRESSED_RGBA_ASTC_10x6_KHR,176:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,177:ce.COMPRESSED_RGBA_ASTC_10x8_KHR,178:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,179:ce.COMPRESSED_RGBA_ASTC_10x10_KHR,180:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,181:ce.COMPRESSED_RGBA_ASTC_12x10_KHR,182:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,183:ce.COMPRESSED_RGBA_ASTC_12x12_KHR,184:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,1000054e3:ce.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,1000054001:ce.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,1000066e3:ce.COMPRESSED_RGBA_ASTC_4x4_KHR,1000066001:ce.COMPRESSED_RGBA_ASTC_5x4_KHR,1000066002:ce.COMPRESSED_RGBA_ASTC_5x5_KHR,1000066003:ce.COMPRESSED_RGBA_ASTC_6x5_KHR,1000066004:ce.COMPRESSED_RGBA_ASTC_6x6_KHR,1000066005:ce.COMPRESSED_RGBA_ASTC_8x5_KHR,1000066006:ce.COMPRESSED_RGBA_ASTC_8x6_KHR,1000066007:ce.COMPRESSED_RGBA_ASTC_8x8_KHR,1000066008:ce.COMPRESSED_RGBA_ASTC_10x5_KHR,1000066009:ce.COMPRESSED_RGBA_ASTC_10x6_KHR,1000066010:ce.COMPRESSED_RGBA_ASTC_10x8_KHR,1000066011:ce.COMPRESSED_RGBA_ASTC_10x10_KHR,1000066012:ce.COMPRESSED_RGBA_ASTC_12x10_KHR,1000066013:ce.COMPRESSED_RGBA_ASTC_12x12_KHR};function dxe(e){return pAt[e]}var Za=[171,75,84,88,32,50,48,187,13,10,26,10];function Z3(e){let t=new Uint8Array(e);return!(t.byteLength<Za.length||t[0]!==Za[0]||t[1]!==Za[1]||t[2]!==Za[2]||t[3]!==Za[3]||t[4]!==Za[4]||t[5]!==Za[5]||t[6]!==Za[6]||t[7]!==Za[7]||t[8]!==Za[8]||t[9]!==Za[9]||t[10]!==Za[10]||t[11]!==Za[11])}function pxe(e){let t=new Uint8Array(e),r=fxe(t),n=Math.max(1,r.levels.length),i=r.pixelWidth,a=r.pixelHeight,o=dxe(r.vkFormat);return pg(r.levels,{mipMapLevels:n,width:i,height:a,sizeFunction:s=>s.uncompressedByteLength,internalFormat:o})}var hAt={etc1:{basisFormat:0,compressed:!0,format:ce.COMPRESSED_RGB_ETC1_WEBGL},etc2:{basisFormat:1,compressed:!0},bc1:{basisFormat:2,compressed:!0,format:ce.COMPRESSED_RGB_S3TC_DXT1_EXT},bc3:{basisFormat:3,compressed:!0,format:ce.COMPRESSED_RGBA_S3TC_DXT5_EXT},bc4:{basisFormat:4,compressed:!0},bc5:{basisFormat:5,compressed:!0},"bc7-m6-opaque-only":{basisFormat:6,compressed:!0},"bc7-m5":{basisFormat:7,compressed:!0},"pvrtc1-4-rgb":{basisFormat:8,compressed:!0,format:ce.COMPRESSED_RGB_PVRTC_4BPPV1_IMG},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:ce.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG},"astc-4x4":{basisFormat:10,compressed:!0,format:ce.COMPRESSED_RGBA_ASTC_4X4_KHR},"atc-rgb":{basisFormat:11,compressed:!0},"atc-rgba-interpolated-alpha":{basisFormat:12,compressed:!0},rgba32:{basisFormat:13,compressed:!1},rgb565:{basisFormat:14,compressed:!1},bgr565:{basisFormat:15,compressed:!1},rgba4444:{basisFormat:16,compressed:!1}};async function e8(e,t={}){var r;if(!((r=t.basis)!=null&&r.containerFormat)||t.basis.containerFormat==="auto"){if(Z3(e)){let i=await SL((t==null?void 0:t.core)||{});return hxe(i.KTX2File,e,t)}let{BasisFile:n}=await TL((t==null?void 0:t.core)||{});return CL(n,e,t)}switch(t.basis.module){case"encoder":let n=await SL((t==null?void 0:t.core)||{});switch(t.basis.containerFormat){case"ktx2":return hxe(n.KTX2File,e,t);case"basis":default:return CL(n.BasisFile,e,t)}case"transcoder":default:let{BasisFile:i}=await TL(t.core||{});return CL(i,e,t)}}function CL(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("Failed to start basis transcoding");let i=n.getNumImages(),a=[];for(let o=0;o<i;o++){let s=n.getNumLevels(o),u=[];for(let c=0;c<s;c++)u.push(mAt(n,o,c,r));a.push(u)}return a}finally{n.close(),n.delete()}}function mAt(e,t,r,n){let i=e.getImageWidth(t,r),a=e.getImageHeight(t,r),o=e.getHasAlpha(),{compressed:s,format:u,basisFormat:c}=mxe(n,o),l=e.getImageTranscodedSizeInBytes(t,r,c),f=new Uint8Array(l);if(!e.transcodeImage(f,t,r,c,0,0))throw new Error("failed to start Basis transcoding");return{width:i,height:a,data:f,compressed:s,format:u,hasAlpha:o}}function hxe(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("failed to start KTX2 transcoding");let i=n.getLevels(),a=[];for(let o=0;o<i;o++)a.push(gAt(n,o,r));return[a]}finally{n.close(),n.delete()}}function gAt(e,t,r){let{alphaFlag:n,height:i,width:a}=e.getImageLevelInfo(t,0,0),{compressed:o,format:s,basisFormat:u}=mxe(r,n),c=e.getImageTranscodedSizeInBytes(t,0,0,u),l=new Uint8Array(c);if(!e.transcodeImage(l,t,0,0,u,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{width:a,height:i,data:l,compressed:o,levelSize:c,hasAlpha:n,format:s}}function mxe(e,t){var n;let r=(n=e.basis)==null?void 0:n.format;return r==="auto"&&(r=hg()),typeof r=="object"&&(r=t?r.alpha:r.noAlpha),r=r.toLowerCase(),hAt[r]}function hg(){let e=Cy();return e.has("astc")?"astc-4x4":e.has("dxt")?{alpha:"bc3",noAlpha:"bc1"}:e.has("pvrtc")?{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"}:e.has("etc1")?"etc1":e.has("etc2")?"etc2":"rgb565"}var gxe={dataType:null,batchType:null,name:"Basis",id:"basis",module:"textures",version:dg,worker:!0,extensions:["basis","ktx2"],mimeTypes:["application/octet-stream","image/ktx2"],tests:["sB"],binary:!0,options:{basis:{format:"auto",libraryPath:"libs/",containerFormat:"auto",module:"transcoder"}}},Fp={...gxe,parse:e8};var eo={MAGIC_NUMBER:542327876,HEADER_LENGTH:31,MAGIC_NUMBER_INDEX:0,HEADER_SIZE_INDEX:1,HEADER_FLAGS_INDEX:2,HEADER_HEIGHT_INDEX:3,HEADER_WIDTH_INDEX:4,MIPMAPCOUNT_INDEX:7,HEADER_PF_FLAGS_INDEX:20,HEADER_PF_FOURCC_INDEX:21,DDSD_MIPMAPCOUNT:131072,DDPF_FOURCC:4},vAt={DXT1:ce.COMPRESSED_RGB_S3TC_DXT1_EXT,DXT3:ce.COMPRESSED_RGBA_S3TC_DXT3_EXT,DXT5:ce.COMPRESSED_RGBA_S3TC_DXT5_EXT,"ATC ":ce.COMPRESSED_RGB_ATC_WEBGL,ATCA:ce.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,ATCI:ce.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL},bAt=xxe,xAt=t8,yAt=t8,_At={DXT1:xxe,DXT3:t8,DXT5:t8,"ATC ":bAt,ATCA:xAt,ATCI:yAt};function vxe(e){return new Uint32Array(e,0,eo.HEADER_LENGTH)[eo.MAGIC_NUMBER_INDEX]===eo.MAGIC_NUMBER}function bxe(e){let t=new Int32Array(e,0,eo.HEADER_LENGTH),r=t[eo.HEADER_PF_FOURCC_INDEX];_t(Boolean(t[eo.HEADER_PF_FLAGS_INDEX]&eo.DDPF_FOURCC),"DDS: Unsupported format, must contain a FourCC code");let n=wAt(r),i=vAt[n],a=_At[n];_t(i&&a,`DDS: Unknown pixel format ${r}`);let o=1;t[eo.HEADER_FLAGS_INDEX]&eo.DDSD_MIPMAPCOUNT&&(o=Math.max(1,t[eo.MIPMAPCOUNT_INDEX]));let s=t[eo.HEADER_WIDTH_INDEX],u=t[eo.HEADER_HEIGHT_INDEX],c=t[eo.HEADER_SIZE_INDEX]+4,l=new Uint8Array(e,c);return pg(l,{mipMapLevels:o,width:s,height:u,sizeFunction:a,internalFormat:i})}function xxe(e,t){return(e+3>>2)*(t+3>>2)*8}function t8(e,t){return(e+3>>2)*(t+3>>2)*16}function wAt(e){return String.fromCharCode(e&255,e>>8&255,e>>16&255,e>>24&255)}var Mo={MAGIC_NUMBER:55727696,MAGIC_NUMBER_EXTRA:1347834371,HEADER_LENGTH:13,HEADER_SIZE:52,MAGIC_NUMBER_INDEX:0,PIXEL_FORMAT_INDEX:2,COLOUR_SPACE_INDEX:4,HEIGHT_INDEX:6,WIDTH_INDEX:7,MIPMAPCOUNT_INDEX:11,METADATA_SIZE_INDEX:12},AAt={0:[ce.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],1:[ce.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],2:[ce.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],3:[ce.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],6:[ce.COMPRESSED_RGB_ETC1_WEBGL],7:[ce.COMPRESSED_RGB_S3TC_DXT1_EXT],9:[ce.COMPRESSED_RGBA_S3TC_DXT3_EXT],11:[ce.COMPRESSED_RGBA_S3TC_DXT5_EXT],22:[ce.COMPRESSED_RGB8_ETC2],23:[ce.COMPRESSED_RGBA8_ETC2_EAC],24:[ce.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],25:[ce.COMPRESSED_R11_EAC],26:[ce.COMPRESSED_RG11_EAC],27:[ce.COMPRESSED_RGBA_ASTC_4X4_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR],28:[ce.COMPRESSED_RGBA_ASTC_5X4_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR],29:[ce.COMPRESSED_RGBA_ASTC_5X5_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR],30:[ce.COMPRESSED_RGBA_ASTC_6X5_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR],31:[ce.COMPRESSED_RGBA_ASTC_6X6_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR],32:[ce.COMPRESSED_RGBA_ASTC_8X5_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR],33:[ce.COMPRESSED_RGBA_ASTC_8X6_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR],34:[ce.COMPRESSED_RGBA_ASTC_8X8_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR],35:[ce.COMPRESSED_RGBA_ASTC_10X5_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR],36:[ce.COMPRESSED_RGBA_ASTC_10X6_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR],37:[ce.COMPRESSED_RGBA_ASTC_10X8_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR],38:[ce.COMPRESSED_RGBA_ASTC_10X10_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR],39:[ce.COMPRESSED_RGBA_ASTC_12X10_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR],40:[ce.COMPRESSED_RGBA_ASTC_12X12_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR]},EAt={0:yxe,1:yxe,2:_xe,3:_xe,6:Dy,7:Dy,9:By,11:By,22:Dy,23:By,24:Dy,25:Dy,26:By,27:By,28:TAt,29:SAt,30:kAt,31:CAt,32:DAt,33:BAt,34:FAt,35:OAt,36:IAt,37:PAt,38:RAt,39:jAt,40:MAt};function wxe(e){let r=new Uint32Array(e,0,Mo.HEADER_LENGTH)[Mo.MAGIC_NUMBER_INDEX];return r===Mo.MAGIC_NUMBER||r===Mo.MAGIC_NUMBER_EXTRA}function Axe(e){let t=new Uint32Array(e,0,Mo.HEADER_LENGTH),r=t[Mo.PIXEL_FORMAT_INDEX],n=t[Mo.COLOUR_SPACE_INDEX],i=AAt[r]||[],a=i.length>1&&n?i[1]:i[0],o=EAt[r],s=t[Mo.MIPMAPCOUNT_INDEX],u=t[Mo.WIDTH_INDEX],c=t[Mo.HEIGHT_INDEX],l=Mo.HEADER_SIZE+t[Mo.METADATA_SIZE_INDEX],f=new Uint8Array(e,l);return pg(f,{mipMapLevels:s,width:u,height:c,sizeFunction:o,internalFormat:a})}function yxe(e,t){return e=Math.max(e,16),t=Math.max(t,8),e*t/4}function _xe(e,t){return e=Math.max(e,8),t=Math.max(t,8),e*t/2}function Dy(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*8}function By(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*16}function TAt(e,t){return Math.floor((e+4)/5)*Math.floor((t+3)/4)*16}function SAt(e,t){return Math.floor((e+4)/5)*Math.floor((t+4)/5)*16}function kAt(e,t){return Math.floor((e+5)/6)*Math.floor((t+4)/5)*16}function CAt(e,t){return Math.floor((e+5)/6)*Math.floor((t+5)/6)*16}function DAt(e,t){return Math.floor((e+7)/8)*Math.floor((t+4)/5)*16}function BAt(e,t){return Math.floor((e+7)/8)*Math.floor((t+5)/6)*16}function FAt(e,t){return Math.floor((e+7)/8)*Math.floor((t+7)/8)*16}function OAt(e,t){return Math.floor((e+9)/10)*Math.floor((t+4)/5)*16}function IAt(e,t){return Math.floor((e+9)/10)*Math.floor((t+5)/6)*16}function PAt(e,t){return Math.floor((e+9)/10)*Math.floor((t+7)/8)*16}function RAt(e,t){return Math.floor((e+9)/10)*Math.floor((t+9)/10)*16}function jAt(e,t){return Math.floor((e+11)/12)*Math.floor((t+9)/10)*16}function MAt(e,t){return Math.floor((e+11)/12)*Math.floor((t+11)/12)*16}function Exe(e){if(Z3(e))return pxe(e);if(vxe(e))return bxe(e);if(wxe(e))return Axe(e);throw new Error("Texture container format not recognized")}var Txe={dataType:null,batchType:null,name:"Texture Containers",id:"compressed-texture",module:"textures",version:dg,worker:!0,extensions:["ktx","ktx2","dds","pvr"],mimeTypes:["image/ktx2","image/ktx","image/vnd-ms.dds","image/x-dds","application/octet-stream"],binary:!0,options:{"compressed-texture":{libraryPath:"libs/",useBasis:!1}}},r8={...Txe,parse:async(e,t)=>{var r;return t={...t},(r=t==null?void 0:t["compressed-texture"])!=null&&r.useBasis?(t.basis={format:{alpha:"BC3",noAlpha:"BC1"},...t.basis,containerFormat:"ktx2",module:"encoder"},(await e8(e,t))[0]):Exe(e)}};var DL={name:"Basis Universal Supercompressed GPU Texture",id:"ktx2-basis-writer",module:"textures",version:dg,extensions:["ktx2"],worker:!0,options:{useSRGB:!1,qualityLevel:10,encodeUASTC:!1,mipmaps:!1}};var mg=!0,Sxe=1735152710,OL=12,n8=8,LAt=1313821514,qAt=5130562,NAt=0,UAt=0,GAt=1;function zAt(e,t=0){return`${String.fromCharCode(e.getUint8(t+0))}${String.fromCharCode(e.getUint8(t+1))}${String.fromCharCode(e.getUint8(t+2))}${String.fromCharCode(e.getUint8(t+3))}`}function kxe(e,t=0,r={}){let n=new DataView(e),{magic:i=Sxe}=r,a=n.getUint32(t,!1);return a===i||a===Sxe}function Cxe(e,t,r=0,n={}){let i=new DataView(t),a=zAt(i,r+0),o=i.getUint32(r+4,mg),s=i.getUint32(r+8,mg);switch(Object.assign(e,{header:{byteOffset:r,byteLength:s,hasBinChunk:!1},type:a,version:o,json:{},binChunks:[]}),r+=OL,e.version){case 1:return HAt(e,i,r);case 2:return VAt(e,i,r,n={});default:throw new Error(`Invalid GLB version ${e.version}. Only supports version 1 and 2.`)}}function HAt(e,t,r){_t(e.header.byteLength>OL+n8);let n=t.getUint32(r+0,mg),i=t.getUint32(r+4,mg);return r+=n8,_t(i===NAt),BL(e,t,r,n),r+=n,r+=FL(e,t,r,e.header.byteLength),r}function VAt(e,t,r,n){return _t(e.header.byteLength>OL+n8),$At(e,t,r,n),r+e.header.byteLength}function $At(e,t,r,n){for(;r+8<=e.header.byteLength;){let i=t.getUint32(r+0,mg),a=t.getUint32(r+4,mg);switch(r+=n8,a){case LAt:BL(e,t,r,i);break;case qAt:FL(e,t,r,i);break;case UAt:n.strict||BL(e,t,r,i);break;case GAt:n.strict||FL(e,t,r,i);break;default:break}r+=Ja(i,4)}return r}function BL(e,t,r,n){let i=new Uint8Array(t.buffer,r,n),o=new TextDecoder("utf8").decode(i);return e.json=JSON.parse(o),Ja(n,4)}function FL(e,t,r,n){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:r,byteLength:n,arrayBuffer:t.buffer}),Ja(n,4)}function IL(e,t){var i;if(e.startsWith("data:")||e.startsWith("http:")||e.startsWith("https:"))return e;let n=((i=t==null?void 0:t.core)==null?void 0:i.baseUri)||t.baseUri||t.uri;if(!n)throw new Error(`'baseUri' must be provided to resolve relative url ${e}`);return n.substr(0,n.lastIndexOf("/")+1)+e}var RL={};Oi(RL,{decode:()=>iEt,name:()=>nEt});var WAt="B9h9z9tFBBBF8fL9gBB9gLaaaaaFa9gEaaaB9gFaFa9gEaaaFaEMcBFFFGGGEIIILF9wFFFLEFBFKNFaFCx/IFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBF8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBGy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBEn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBIi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBKI9z9iqlBOc+x8ycGBM/qQFTa8jUUUUBCU/EBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAGTkUUUBRNCUoBAG9uC/wgBZHKCUGAKCUG9JyRVAECFJRICBRcGXEXAcAF9PQFAVAFAclAcAVJAF9JyRMGXGXAG9FQBAMCbJHKC9wZRSAKCIrCEJCGrRQANCUGJRfCBRbAIRTEXGXAOATlAQ9PQBCBRISEMATAQJRIGXAS9FQBCBRtCBREEXGXAOAIlCi9PQBCBRISLMANCU/CBJAEJRKGXGXGXGXGXATAECKrJ2BBAtCKZrCEZfIBFGEBMAKhB83EBAKCNJhB83EBSEMAKAI2BIAI2BBHmCKrHYAYCE6HYy86BBAKCFJAICIJAYJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCGJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCEJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCIJAYAmJHY2BBAI2BFHmCKrHPAPCE6HPy86BBAKCLJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCKJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCOJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCNJAYAmJHY2BBAI2BGHmCKrHPAPCE6HPy86BBAKCVJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCcJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCMJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCSJAYAmJHm2BBAI2BEHICKrHYAYCE6HYy86BBAKCQJAmAYJHm2BBAICIrCEZHYAYCE6HYy86BBAKCfJAmAYJHm2BBAICGrCEZHYAYCE6HYy86BBAKCbJAmAYJHK2BBAICEZHIAICE6HIy86BBAKAIJRISGMAKAI2BNAI2BBHmCIrHYAYCb6HYy86BBAKCFJAICNJAYJHY2BBAmCbZHmAmCb6Hmy86BBAKCGJAYAmJHm2BBAI2BFHYCIrHPAPCb6HPy86BBAKCEJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCIJAmAYJHm2BBAI2BGHYCIrHPAPCb6HPy86BBAKCLJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCKJAmAYJHm2BBAI2BEHYCIrHPAPCb6HPy86BBAKCOJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCNJAmAYJHm2BBAI2BIHYCIrHPAPCb6HPy86BBAKCVJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCcJAmAYJHm2BBAI2BLHYCIrHPAPCb6HPy86BBAKCMJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCSJAmAYJHm2BBAI2BKHYCIrHPAPCb6HPy86BBAKCQJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCfJAmAYJHm2BBAI2BOHICIrHYAYCb6HYy86BBAKCbJAmAYJHK2BBAICbZHIAICb6HIy86BBAKAIJRISFMAKAI8pBB83BBAKCNJAICNJ8pBB83BBAICTJRIMAtCGJRtAECTJHEAS9JQBMMGXAIQBCBRISEMGXAM9FQBANAbJ2BBRtCBRKAfREEXAEANCU/CBJAKJ2BBHTCFrCBATCFZl9zAtJHt86BBAEAGJREAKCFJHKAM9HQBMMAfCFJRfAIRTAbCFJHbAG9HQBMMABAcAG9sJANCUGJAMAG9sTkUUUBpANANCUGJAMCaJAG9sJAGTkUUUBpMAMCBAIyAcJRcAIQBMC9+RKSFMCBC99AOAIlAGCAAGCA9Ly6yRKMALCU/EBJ8kUUUUBAKM+OmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUFT+JUUUBpALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM+lLKFaF99GaG99FaG99GXGXAGCI9HQBAF9FQFEXGXGX9DBBB8/9DBBB+/ABCGJHG1BB+yAB1BBHE+yHI+L+TABCFJHL1BBHK+yHO+L+THN9DBBBB9gHVyAN9DBB/+hANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE86BBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG86BBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG86BBABCIJRBAFCaJHFQBSGMMAF9FQBEXGXGX9DBBB8/9DBBB+/ABCIJHG8uFB+yAB8uFBHE+yHI+L+TABCGJHL8uFBHK+yHO+L+THN9DBBBB9gHVyAN9DB/+g6ANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE87FBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG87FBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG87FBABCNJRBAFCaJHFQBMMM/SEIEaE99EaF99GXAF9FQBCBREABRIEXGXGX9D/zI818/AICKJ8uFBHLCEq+y+VHKAI8uFB+y+UHO9DB/+g6+U9DBBB8/9DBBB+/AO9DBBBB9gy+SHN+L9DBBB9P9d9FQBAN+oRVSFMCUUUU94RVMAICIJ8uFBRcAICGJ8uFBRMABALCFJCEZAEqCFWJAV87FBGXGXAKAM+y+UHN9DB/+g6+U9DBBB8/9DBBB+/AN9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRMSFMCUUUU94RMMABALCGJCEZAEqCFWJAM87FBGXGXAKAc+y+UHK9DB/+g6+U9DBBB8/9DBBB+/AK9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRcSFMCUUUU94RcMABALCaJCEZAEqCFWJAc87FBGXGX9DBBU8/AOAO+U+TANAN+U+TAKAK+U+THO9DBBBBAO9DBBBB9gy+R9DB/+g6+U9DBBB8/+SHO+L9DBBB9P9d9FQBAO+oRcSFMCUUUU94RcMABALCEZAEqCFWJAc87FBAICNJRIAECIJREAFCaJHFQBMMM9JBGXAGCGrAF9sHF9FQBEXABAB8oGBHGCNWCN91+yAGCi91CnWCUUU/8EJ+++U84GBABCIJRBAFCaJHFQBMMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEM/lFFFaGXGXAFABqCEZ9FQBABRESFMGXGXAGCT9PQBABRESFMABREEXAEAF8oGBjGBAECIJAFCIJ8oGBjGBAECNJAFCNJ8oGBjGBAECSJAFCSJ8oGBjGBAECTJREAFCTJRFAGC9wJHGCb9LQBMMAGCI9JQBEXAEAF8oGBjGBAFCIJRFAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF2BB86BBAECFJREAFCFJRFAGCaJHGQBMMABMoFFGaGXGXABCEZ9FQBABRESFMAFCgFZC+BwsN9sRIGXGXAGCT9PQBABRESFMABREEXAEAIjGBAECSJAIjGBAECNJAIjGBAECIJAIjGBAECTJREAGC9wJHGCb9LQBMMAGCI9JQBEXAEAIjGBAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF86BBAECFJREAGCaJHGQBMMABMMMFBCUNMIT9kBB",KAt="B9h9z9tFBBBF8dL9gBB9gLaaaaaFa9gEaaaB9gGaaB9gFaFaEQSBBFBFFGEGEGIILF9wFFFLEFBFKNFaFCx/aFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBG8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBIy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBKi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBNn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBcI9z9iqlBMc/j9JSIBTEM9+FLa8jUUUUBCTlRBCBRFEXCBRGCBREEXABCNJAGJAECUaAFAGrCFZHIy86BBAEAIJREAGCFJHGCN9HQBMAFCx+YUUBJAE86BBAFCEWCxkUUBJAB8pEN83EBAFCFJHFCUG9HQBMMkRIbaG97FaK978jUUUUBCU/KBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAG/8cBBCUoBAG9uC/wgBZHKCUGAKCUG9JyRNAECFJRKCBRVGXEXAVAF9PQFANAFAVlAVANJAF9JyRcGXGXAG9FQBAcCbJHIC9wZHMCE9sRSAMCFWRQAICIrCEJCGrRfCBRbEXAKRTCBRtGXEXGXAOATlAf9PQBCBRKSLMALCU/CBJAtAM9sJRmATAfJRKCBREGXAMCoB9JQBAOAKlC/gB9JQBCBRIEXAmAIJREGXGXGXGXGXATAICKrJ2BBHYCEZfIBFGEBMAECBDtDMIBSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMIBAKCTJRKMGXGXGXGXGXAYCGrCEZfIBFGEBMAECBDtDMITSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMITAKCTJRKMGXGXGXGXGXAYCIrCEZfIBFGEBMAECBDtDMIASEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMIAAKCTJRKMGXGXGXGXGXAYCKrfIBFGEBMAECBDtDMI8wSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCIJAnDeBJAYCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCNJAnDeBJAYCx+YUUBJ2BBJRKSFMAEAKDBBBDMI8wAKCTJRKMAICoBJREAICUFJAM9LQFAERIAOAKlC/fB9LQBMMGXAEAM9PQBAECErRIEXGXAOAKlCi9PQBCBRKSOMAmAEJRYGXGXGXGXGXATAECKrJ2BBAICKZrCEZfIBFGEBMAYCBDtDMIBSEMAYAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAYAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAYAKDBBBDMIBAKCTJRKMAICGJRIAECTJHEAM9JQBMMGXAK9FQBAKRTAtCFJHtCI6QGSFMMCBRKSEMGXAM9FQBALCUGJAbJREALAbJDBGBRnCBRYEXAEALCU/CBJAYJHIDBIBHdCFD9tAdCFDbHPD9OD9hD9RHdAIAMJDBIBHiCFD9tAiAPD9OD9hD9RHiDQBTFtGmEYIPLdKeOnH8ZAIAQJDBIBHpCFD9tApAPD9OD9hD9RHpAIASJDBIBHyCFD9tAyAPD9OD9hD9RHyDQBTFtGmEYIPLdKeOnH8cDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGEAnD9uHnDyBjGBAEAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnA8ZA8cDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnAdAiDQNiV8ZcpMyS8cQ8df8eb8fHdApAyDQNiV8ZcpMyS8cQ8df8eb8fHiDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnAdAiDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJREAYCTJHYAM9JQBMMAbCIJHbAG9JQBMMABAVAG9sJALCUGJAcAG9s/8cBBALALCUGJAcCaJAG9sJAG/8cBBMAcCBAKyAVJRVAKQBMC9+RKSFMCBC99AOAKlAGCAAGCA9Ly6yRKMALCU/KBJ8kUUUUBAKMNBT+BUUUBM+KmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUF/8MBALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM/xLGEaK978jUUUUBCAlHE8kUUUUBGXGXAGCI9HQBGXAFC98ZHI9FQBABRGCBRLEXAGAGDBBBHKCiD+rFCiD+sFD/6FHOAKCND+rFCiD+sFD/6FAOD/gFAKCTD+rFCiD+sFD/6FHND/gFD/kFD/lFHVCBDtD+2FHcAOCUUUU94DtHMD9OD9RD/kFHO9DBB/+hDYAOAOD/mFAVAVD/mFANAcANAMD9OD9RD/kFHOAOD/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHcD/kFCgFDtD9OAKCUUU94DtD9OD9QAOAND/mFAcD/kFCND+rFCU/+EDtD9OD9QAVAND/mFAcD/kFCTD+rFCUU/8ODtD9OD9QDMBBAGCTJRGALCIJHLAI9JQBMMAIAF9PQFAEAFCEZHLCGWHGqCBCTAGl/8MBAEABAICGWJHIAG/8cBBGXAL9FQBAEAEDBIBHKCiD+rFCiD+sFD/6FHOAKCND+rFCiD+sFD/6FAOD/gFAKCTD+rFCiD+sFD/6FHND/gFD/kFD/lFHVCBDtD+2FHcAOCUUUU94DtHMD9OD9RD/kFHO9DBB/+hDYAOAOD/mFAVAVD/mFANAcANAMD9OD9RD/kFHOAOD/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHcD/kFCgFDtD9OAKCUUU94DtD9OD9QAOAND/mFAcD/kFCND+rFCU/+EDtD9OD9QAVAND/mFAcD/kFCTD+rFCUU/8ODtD9OD9QDMIBMAIAEAG/8cBBSFMABAFC98ZHGT+HUUUBAGAF9PQBAEAFCEZHICEWHLJCBCAALl/8MBAEABAGCEWJHGAL/8cBBAEAIT+HUUUBAGAEAL/8cBBMAECAJ8kUUUUBM+yEGGaO97GXAF9FQBCBRGEXABCTJHEAEDBBBHICBDtHLCUU98D8cFCUU98D8cEHKD9OABDBBBHOAIDQILKOSQfbPden8c8d8e8fCggFDtD9OD/6FAOAIDQBFGENVcMTtmYi8ZpyHICTD+sFD/6FHND/gFAICTD+rFCTD+sFD/6FHVD/gFD/kFD/lFHI9DB/+g6DYAVAIALD+2FHLAVCUUUU94DtHcD9OD9RD/kFHVAVD/mFAIAID/mFANALANAcD9OD9RD/kFHIAID/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHLD/kFCTD+rFAVAND/mFALD/kFCggEDtD9OD9QHVAIAND/mFALD/kFCaDbCBDnGCBDnECBDnKCBDnOCBDncCBDnMCBDnfCBDnbD9OHIDQNVi8ZcMpySQ8c8dfb8e8fD9QDMBBABAOAKD9OAVAIDQBFTtGEmYILPdKOenD9QDMBBABCAJRBAGCIJHGAF9JQBMMM94FEa8jUUUUBCAlHE8kUUUUBABAFC98ZHIT+JUUUBGXAIAF9PQBAEAFCEZHLCEWHFJCBCAAFl/8MBAEABAICEWJHBAF/8cBBAEALT+JUUUBABAEAF/8cBBMAECAJ8kUUUUBM/hEIGaF97FaL978jUUUUBCTlRGGXAF9FQBCBREEXAGABDBBBHIABCTJHLDBBBHKDQILKOSQfbPden8c8d8e8fHOCTD+sFHNCID+rFDMIBAB9DBBU8/DY9D/zI818/DYANCEDtD9QD/6FD/nFHNAIAKDQBFGENVcMTtmYi8ZpyHICTD+rFCTD+sFD/6FD/mFHKAKD/mFANAICTD+sFD/6FD/mFHVAVD/mFANAOCTD+rFCTD+sFD/6FD/mFHOAOD/mFD/kFD/kFD/lFCBDtD+4FD/jF9DB/+g6DYHND/mF9DBBX9LDYHID/kFCggEDtHcD9OAVAND/mFAID/kFCTD+rFD9QHVAOAND/mFAID/kFCTD+rFAKAND/mFAID/kFAcD9OD9QHNDQBFTtGEmYILPdKOenHID8dBAGDBIBDyB+t+J83EBABCNJAID8dFAGDBIBDyF+t+J83EBALAVANDQNVi8ZcMpySQ8c8dfb8e8fHND8dBAGDBIBDyG+t+J83EBABCiJAND8dFAGDBIBDyE+t+J83EBABCAJRBAECIJHEAF9JQBMMM/3FGEaF978jUUUUBCoBlREGXAGCGrAF9sHIC98ZHL9FQBCBRGABRFEXAFAFDBBBHKCND+rFCND+sFD/6FAKCiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMBBAFCTJRFAGCIJHGAL9JQBMMGXALAI9PQBAEAICEZHGCGWHFqCBCoBAFl/8MBAEABALCGWJHLAF/8cBBGXAG9FQBAEAEDBIBHKCND+rFCND+sFD/6FAKCiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMIBMALAEAF/8cBBMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEMMMFBCUNMIT9tBB",JAt=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),XAt=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]),YAt={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},QAt={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};async function Dxe(e,t,r,n,i,a="NONE"){let o=await ZAt();rEt(o,o.exports[QAt[i]],e,t,r,n,o.exports[YAt[a||"NONE"]])}var PL;async function ZAt(){return PL||(PL=eEt()),PL}async function eEt(){let e=WAt;WebAssembly.validate(JAt)&&(e=KAt,console.log("Warning: meshopt_decoder is using experimental SIMD support"));let t=await WebAssembly.instantiate(tEt(e),{});return await t.instance.exports.__wasm_call_ctors(),t.instance}function tEt(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;++n){let i=e.charCodeAt(n);t[n]=i>96?i-71:i>64?i-65:i>47?i+4:i>46?63:62}let r=0;for(let n=0;n<e.length;++n)t[r++]=t[n]<60?XAt[t[n]]:(t[n]-60)*64+t[++n];return t.buffer.slice(0,r)}function rEt(e,t,r,n,i,a,o){let s=e.exports.sbrk,u=n+3&-4,c=s(u*i),l=s(a.length),f=new Uint8Array(e.exports.memory.buffer);f.set(a,l);let d=t(c,n,i,l,a.length);if(d===0&&o&&o(c,u,i),r.set(f.subarray(c,c+n*i)),s(c-s(0)),d!==0)throw new Error(`Malformed buffer data: ${d}`)}var i8="EXT_meshopt_compression",nEt=i8;async function iEt(e,t){var i,a;let r=new Yt(e);if(!((i=t==null?void 0:t.gltf)!=null&&i.decompressMeshes)||!((a=t.gltf)!=null&&a.loadBuffers))return;let n=[];for(let o of e.json.bufferViews||[])n.push(aEt(r,o));await Promise.all(n),r.removeExtension(i8)}async function aEt(e,t){let r=e.getObjectExtension(t,i8);if(r){let{byteOffset:n=0,byteLength:i=0,byteStride:a,count:o,mode:s,filter:u="NONE",buffer:c}=r,l=e.gltf.buffers[c],f=new Uint8Array(l.arrayBuffer,l.byteOffset+n,i),d=new Uint8Array(e.gltf.buffers[t.buffer].arrayBuffer,t.byteOffset,t.byteLength);await Dxe(d,o,a,f,s,u),e.removeObjectExtension(t,i8)}}var jL={};Oi(jL,{name:()=>oEt,preprocess:()=>sEt});var gg="EXT_texture_webp",oEt=gg;function sEt(e,t){let r=new Yt(e);if(!yL("image/webp")){if(r.getRequiredExtensions().includes(gg))throw new Error(`gltf: Required extension ${gg} not supported by browser`);return}let{json:n}=r;for(let i of n.textures||[]){let a=r.getObjectExtension(i,gg);a&&(i.source=a.source),r.removeObjectExtension(i,gg)}r.removeExtension(gg)}var ML={};Oi(ML,{name:()=>uEt,preprocess:()=>cEt});var a8="KHR_texture_basisu",uEt=a8;function cEt(e,t){let r=new Yt(e),{json:n}=r;for(let i of n.textures||[]){let a=r.getObjectExtension(i,a8);a&&(i.source=a.source,r.removeObjectExtension(i,a8))}r.removeExtension(a8)}var qL={};Oi(qL,{decode:()=>hEt,encode:()=>mEt,name:()=>dEt,preprocess:()=>pEt});function Bxe(e){let t={};for(let r in e){let n=e[r];if(r!=="indices"){let i=LL(n);t[r]=i}}return t}function LL(e){let{buffer:t,size:r,count:n}=lEt(e);return{value:t,size:r,byteOffset:0,count:n,type:U3(r),componentType:qf(t)}}function lEt(e){let t=e,r=1,n=0;return e&&e.value&&(t=e.value,r=e.size||1),t&&(ArrayBuffer.isView(t)||(t=fEt(t,Float32Array)),n=t.length/r),{buffer:t,size:r,count:n}}function fEt(e,t,r=!1){return e?Array.isArray(e)?new t(e):r&&!(e instanceof t)?new t(e):e:null}var Nf="KHR_draco_mesh_compression",dEt=Nf;function pEt(e,t,r){let n=new Yt(e);for(let i of Fxe(n))n.getObjectExtension(i,Nf)}async function hEt(e,t,r){var a;if(!((a=t==null?void 0:t.gltf)!=null&&a.decompressMeshes))return;let n=new Yt(e),i=[];for(let o of Fxe(n))n.getObjectExtension(o,Nf)&&i.push(gEt(n,o,t,r));await Promise.all(i),n.removeExtension(Nf)}function mEt(e,t={}){let r=new Yt(e);for(let n of r.json.meshes||[])vEt(n,t),r.addRequiredExtension(Nf)}async function gEt(e,t,r,n){let i=e.getObjectExtension(t,Nf);if(!i)return;let a=e.getTypedArrayForBufferView(i.bufferView),o=jd(a.buffer,a.byteOffset),s={...r};delete s["3d-tiles"];let u=await Va(o,kp,s,n),c=Bxe(u.attributes);for(let[l,f]of Object.entries(c))if(l in t.attributes){let d=t.attributes[l],p=e.getAccessor(d);p!=null&&p.min&&(p!=null&&p.max)&&(f.min=p.min,f.max=p.max)}t.attributes=c,u.indices&&(t.indices=LL(u.indices)),e.removeObjectExtension(t,Nf),bEt(t)}function vEt(e,t,r=4,n,i){var l;if(!n.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");let a=n.DracoWriter.encodeSync({attributes:e}),o=(l=i==null?void 0:i.parseSync)==null?void 0:l.call(i,{attributes:e}),s=n._addFauxAttributes(o.attributes),u=n.addBufferView(a);return{primitives:[{attributes:s,mode:r,extensions:{[Nf]:{bufferView:u,attributes:s}}}]}}function bEt(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*Fxe(e){for(let t of e.json.meshes||[])for(let r of t.primitives)yield r}var NL={};Oi(NL,{decode:()=>wEt,name:()=>xEt});var s8="KHR_texture_transform",xEt=s8,o8=new Z,yEt=new ir,_Et=new ir;async function wEt(e,t){var a;if(!new Yt(e).hasExtension(s8)||!((a=t.gltf)!=null&&a.loadBuffers))return;let i=e.json.materials||[];for(let o=0;o<i.length;o++)AEt(o,e)}function AEt(e,t){var a,o,s,u;let r=(a=t.json.materials)==null?void 0:a[e],n=[(o=r==null?void 0:r.pbrMetallicRoughness)==null?void 0:o.baseColorTexture,r==null?void 0:r.emissiveTexture,r==null?void 0:r.normalTexture,r==null?void 0:r.occlusionTexture,(s=r==null?void 0:r.pbrMetallicRoughness)==null?void 0:s.metallicRoughnessTexture],i=[];for(let c of n)c&&((u=c==null?void 0:c.extensions)!=null&&u[s8])&&EEt(t,e,c,i)}function EEt(e,t,r,n){let i=TEt(r,n);if(!i)return;let a=e.json.meshes||[];for(let o of a)for(let s of o.primitives){let u=s.material;Number.isFinite(u)&&t===u&&SEt(e,s,i)}}function TEt(e,t){var o;let r=(o=e.extensions)==null?void 0:o[s8],{texCoord:n=0}=e,{texCoord:i=n}=r;if(!(t.findIndex(([s,u])=>s===n&&u===i)!==-1)){let s=DEt(r);return n!==i&&(e.texCoord=i),t.push([n,i]),{originalTexCoord:n,texCoord:i,matrix:s}}return null}function SEt(e,t,r){var s,u;let{originalTexCoord:n,texCoord:i,matrix:a}=r,o=t.attributes[`TEXCOORD_${n}`];if(Number.isFinite(o)){let c=(s=e.json.accessors)==null?void 0:s[o];if(c&&c.bufferView!==void 0){let l=(u=e.json.bufferViews)==null?void 0:u[c.bufferView];if(l){let{arrayBuffer:f,byteOffset:d}=e.buffers[l.buffer],p=(d||0)+(c.byteOffset||0)+(l.byteOffset||0),{ArrayType:h,length:m}=og(c,l),g=N3[c.componentType],x=q3[c.type],y=l.byteStride||g*x,w=new Float32Array(m);for(let T=0;T<c.count;T++){let A=new h(f,p+T*y,2);o8.set(A[0],A[1],1),o8.transformByMatrix3(a),w.set([o8[0],o8[1]],T*x)}n===i?kEt(c,e,w,c.bufferView):CEt(i,c,t,e,w)}}}}function kEt(e,t,r,n){e.componentType=5126,e.byteOffset=0;let o=(t.json.accessors||[]).reduce((c,l)=>l.bufferView===n?c+1:c,0)>1;t.buffers.push({arrayBuffer:zi(r.buffer),byteOffset:0,byteLength:r.buffer.byteLength});let s=t.buffers.length-1;if(t.json.bufferViews=t.json.bufferViews||[],o){t.json.bufferViews.push({buffer:s,byteLength:r.buffer.byteLength,byteOffset:0}),e.bufferView=t.json.bufferViews.length-1;return}let u=t.json.bufferViews[n];u&&(u.buffer=s,u.byteOffset=0,u.byteLength=r.buffer.byteLength,u.byteStride!==void 0&&delete u.byteStride)}function CEt(e,t,r,n,i){n.buffers.push({arrayBuffer:zi(i.buffer),byteOffset:0,byteLength:i.buffer.byteLength}),n.json.bufferViews=n.json.bufferViews||[];let a=n.json.bufferViews;a.push({buffer:n.buffers.length-1,byteLength:i.buffer.byteLength,byteOffset:0});let o=n.json.accessors;o&&(o.push({bufferView:(a==null?void 0:a.length)-1,byteOffset:0,componentType:5126,count:t.count,type:"VEC2"}),r.attributes[`TEXCOORD_${e}`]=o.length-1)}function DEt(e){let{offset:t=[0,0],rotation:r=0,scale:n=[1,1]}=e,i=new ir().set(1,0,0,0,1,0,t[0],t[1],1),a=yEt.set(Math.cos(r),Math.sin(r),0,-Math.sin(r),Math.cos(r),0,0,0,1),o=_Et.set(n[0],0,0,0,n[1],0,0,0,1);return i.multiplyRight(a).multiplyRight(o)}var UL={};Oi(UL,{decode:()=>FEt,encode:()=>OEt,name:()=>BEt});var Op="KHR_lights_punctual",BEt=Op;async function FEt(e){let t=new Yt(e),{json:r}=t,n=t.getExtension(Op);n&&(t.json.lights=n.lights,t.removeExtension(Op));for(let i of r.nodes||[]){let a=t.getObjectExtension(i,Op);a&&(i.light=a.light),t.removeObjectExtension(i,Op)}}async function OEt(e){let t=new Yt(e),{json:r}=t;if(r.lights){let n=t.addExtension(Op);Yn(!n.lights),n.lights=r.lights,delete r.lights}if(t.json.lights){for(let n of t.json.lights){let i=n.node;t.addObjectExtension(i,Op,n)}delete t.json.lights}}var zL={};Oi(zL,{decode:()=>PEt,encode:()=>REt,name:()=>IEt});var Fy="KHR_materials_unlit",IEt=Fy;async function PEt(e){let t=new Yt(e),{json:r}=t;for(let n of r.materials||[])n.extensions&&n.extensions.KHR_materials_unlit&&(n.unlit=!0),t.removeObjectExtension(n,Fy);t.removeExtension(Fy)}function REt(e){let t=new Yt(e),{json:r}=t;if(t.materials)for(let n of r.materials||[])n.unlit&&(delete n.unlit,t.addObjectExtension(n,Fy,{}),t.addExtension(Fy))}var HL={};Oi(HL,{decode:()=>MEt,encode:()=>LEt,name:()=>jEt});var Oy="KHR_techniques_webgl",jEt=Oy;async function MEt(e){let t=new Yt(e),{json:r}=t,n=t.getExtension(Oy);if(n){let i=qEt(n,t);for(let a of r.materials||[]){let o=t.getObjectExtension(a,Oy);o&&(a.technique=Object.assign({},o,i[o.technique]),a.technique.values=NEt(a.technique,t)),t.removeObjectExtension(a,Oy)}t.removeExtension(Oy)}}async function LEt(e,t){}function qEt(e,t){let{programs:r=[],shaders:n=[],techniques:i=[]}=e,a=new TextDecoder;return n.forEach(o=>{if(Number.isFinite(o.bufferView))o.code=a.decode(t.getTypedArrayForBufferView(o.bufferView));else throw new Error("KHR_techniques_webgl: no shader code")}),r.forEach(o=>{o.fragmentShader=n[o.fragmentShader],o.vertexShader=n[o.vertexShader]}),i.forEach(o=>{o.program=r[o.program]}),i}function NEt(e,t){let r=Object.assign({},e.values);return Object.keys(e.uniforms||{}).forEach(n=>{e.uniforms[n].value&&!(n in r)&&(r[n]=e.uniforms[n].value)}),Object.keys(r).forEach(n=>{typeof r[n]=="object"&&r[n].index!==void 0&&(r[n].texture=t.getTexture(r[n].index))}),r}var Oxe=[X3,K3,RL,jL,ML,qL,UL,zL,HL,NL,AL],UEt=[X3,K3];function Ixe(e,t={},r){var i;let n=Oxe.filter(a=>jxe(a.name,t));for(let a of n)(i=a.preprocess)==null||i.call(a,e,t,r)}async function Pxe(e,t={},r){var i;let n=Oxe.filter(a=>jxe(a.name,t));for(let a of n)await((i=a.decode)==null?void 0:i.call(a,e,t,r))}function Rxe(e,t={}){var r;for(let n of UEt)e=((r=n.encode)==null?void 0:r.call(n,e,t))??e;return e}function jxe(e,t){var i;let r=((i=t==null?void 0:t.gltf)==null?void 0:i.excludeExtensions)||{};return!(e in r&&!r[e])}var VL="KHR_binary_glTF";function Mxe(e){let t=new Yt(e),{json:r}=t;for(let n of r.images||[]){let i=t.getObjectExtension(n,VL);i&&Object.assign(n,i),t.removeObjectExtension(n,VL)}r.buffers&&r.buffers[0]&&delete r.buffers[0].uri,t.removeExtension(VL)}var Lxe={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},zEt={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},$L=class{idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}};json;normalize(t,r){this.json=t.json;let n=t.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:console.warn(`glTF: Unknown version ${n.asset.version}`);return}if(!r.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),Mxe(t),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}_addAsset(t){t.asset=t.asset||{},t.asset.version="2.0",t.asset.generator=t.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(t){for(let r in Lxe)this._convertTopLevelObjectToArray(t,r)}_convertTopLevelObjectToArray(t,r){let n=t[r];if(!(!n||Array.isArray(n))){t[r]=[];for(let i in n){let a=n[i];a.id=a.id||i;let o=t[r].length;t[r].push(a),this.idToIndexMap[r][i]=o}}}_convertObjectIdsToArrayIndices(t){for(let r in Lxe)this._convertIdsToIndices(t,r);"scene"in t&&(t.scene=this._convertIdToIndex(t.scene,"scene"));for(let r of t.textures)this._convertTextureIds(r);for(let r of t.meshes)this._convertMeshIds(r);for(let r of t.nodes)this._convertNodeIds(r);for(let r of t.scenes)this._convertSceneIds(r)}_convertTextureIds(t){t.source&&(t.source=this._convertIdToIndex(t.source,"image"))}_convertMeshIds(t){for(let r of t.primitives){let{attributes:n,indices:i,material:a}=r;for(let o in n)n[o]=this._convertIdToIndex(n[o],"accessor");i&&(r.indices=this._convertIdToIndex(i,"accessor")),a&&(r.material=this._convertIdToIndex(a,"material"))}}_convertNodeIds(t){t.children&&(t.children=t.children.map(r=>this._convertIdToIndex(r,"node"))),t.meshes&&(t.meshes=t.meshes.map(r=>this._convertIdToIndex(r,"mesh")))}_convertSceneIds(t){t.nodes&&(t.nodes=t.nodes.map(r=>this._convertIdToIndex(r,"node")))}_convertIdsToIndices(t,r){t[r]||(console.warn(`gltf v1: json doesn't contain attribute ${r}`),t[r]=[]);for(let n of t[r])for(let i in n){let a=n[i],o=this._convertIdToIndex(a,i);n[i]=o}}_convertIdToIndex(t,r){let n=zEt[r];if(n in this.idToIndexMap){let i=this.idToIndexMap[n][t];if(!Number.isFinite(i))throw new Error(`gltf v1: failed to resolve ${r} with id ${t}`);return i}return t}_updateObjects(t){for(let r of this.json.buffers)delete r.type}_updateMaterial(t){var r,n,i;for(let a of t.materials){a.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};let o=((r=a.values)==null?void 0:r.tex)||((n=a.values)==null?void 0:n.texture2d_0)||((i=a.values)==null?void 0:i.diffuseTex),s=t.textures.findIndex(u=>u.id===o);s!==-1&&(a.pbrMetallicRoughness.baseColorTexture={index:s})}}};function qxe(e,t={}){return new $L().normalize(e,t)}async function Nxe(e,t,r=0,n,i){var a,o,s;return HEt(e,t,r,n),qxe(e,{normalize:(a=n==null?void 0:n.gltf)==null?void 0:a.normalize}),Ixe(e,n,i),(o=n==null?void 0:n.gltf)!=null&&o.loadBuffers&&e.json.buffers&&await VEt(e,n,i),(s=n==null?void 0:n.gltf)!=null&&s.loadImages&&await $Et(e,n,i),await Pxe(e,n,i),e}function HEt(e,t,r,n){var o,s;if((o=n.core)!=null&&o.baseUri&&(e.baseUri=(s=n.core)==null?void 0:s.baseUri),t instanceof ArrayBuffer&&!kxe(t,r,n.glb)&&(t=new TextDecoder().decode(t)),typeof t=="string")e.json=WB(t);else if(t instanceof ArrayBuffer){let u={};r=Cxe(u,t,r,n.glb),Yn(u.type==="glTF",`Invalid GLB magic string ${u.type}`),e._glb=u,e.json=u.json}else Yn(!1,"GLTF: must be ArrayBuffer or string");let i=e.json.buffers||[];if(e.buffers=new Array(i.length).fill(null),e._glb&&e._glb.header.hasBinChunk){let{binChunks:u}=e._glb;e.buffers[0]={arrayBuffer:u[0].arrayBuffer,byteOffset:u[0].byteOffset,byteLength:u[0].byteLength}}let a=e.json.images||[];e.images=new Array(a.length).fill({})}async function VEt(e,t,r){var i,a;let n=e.json.buffers||[];for(let o=0;o<n.length;++o){let s=n[o];if(s.uri){let{fetch:u}=r;Yn(u);let c=IL(s.uri,t),l=await((i=r==null?void 0:r.fetch)==null?void 0:i.call(r,c)),f=await((a=l==null?void 0:l.arrayBuffer)==null?void 0:a.call(l));e.buffers[o]={arrayBuffer:f,byteOffset:0,byteLength:f.byteLength},delete s.uri}else e.buffers[o]===null&&(e.buffers[o]={arrayBuffer:new ArrayBuffer(s.byteLength),byteOffset:0,byteLength:s.byteLength})}}async function $Et(e,t,r){let n=WEt(e),i=e.json.images||[],a=[];for(let o of n)a.push(KEt(e,i[o],o,t,r));return await Promise.all(a)}function WEt(e){let t=new Set,r=e.json.textures||[];for(let n of r)n.source!==void 0&&t.add(n.source);return Array.from(t).sort()}async function KEt(e,t,r,n,i){let a;if(t.uri&&!t.hasOwnProperty("bufferView")){let c=IL(t.uri,n),{fetch:l}=i;a=await(await l(c)).arrayBuffer(),t.bufferView={data:a}}if(Number.isFinite(t.bufferView)){let c=rxe(e.json,e.buffers,t.bufferView);a=jd(c.buffer,c.byteOffset,c.byteLength)}Yn(a,"glTF image has no data");let o=n,s={...o,core:{...o==null?void 0:o.core,mimeType:t.mimeType},basis:o.basis||{format:hg()}},u=await Va(a,[ag,Fp],s,i);u&&u[0]&&(u={compressed:!0,mipmaps:!1,width:u[0].width,height:u[0].height,data:u[0]}),e.images=e.images||[],e.images[r]=u}var Yc={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:Y3,extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"],parse:JEt,options:{gltf:{normalize:!0,loadBuffers:!0,loadImages:!0,decompressMeshes:!0}}};async function JEt(e,t={},r){var o;let n={...Yc.options,...t};n.gltf={...Yc.options.gltf,...n.gltf};let i=((o=t==null?void 0:t.glb)==null?void 0:o.byteOffset)||0;return await Nxe({},e,i,n,r)}var XEt=1179937895,YEt=1313821514,QEt=5130562,Nu=!0;function Uxe(e,t,r=0,n={}){let{magic:i=XEt,version:a=2,json:o={},binary:s}=e,u=r;t&&(t.setUint32(r+0,i,Nu),t.setUint32(r+4,a,Nu),t.setUint32(r+8,0,Nu));let c=r+8;r+=12;let l=r;t&&(t.setUint32(r+0,0,Nu),t.setUint32(r+4,YEt,Nu)),r+=8;let f=JSON.stringify(o);if(r=f0(t,r,f,4),t){let d=r-l-8;t.setUint32(l+0,d,Nu)}if(s){let d=r;if(t&&(t.setUint32(r+0,0,Nu),t.setUint32(r+4,QEt,Nu)),r+=8,r=mw(t,r,s,4),t){let p=r-d-8;t.setUint32(d+0,p,Nu)}}if(t){let d=r-u;t.setUint32(c,d,Nu)}return r}function WL(e,t,r,n){return ZEt(e),Uxe(e,t,r,n)}function ZEt(e){if(e.buffers&&e.buffers.length>1)throw new Error("encodeGLTF: multiple buffers not yet implemented")}var KL={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:Y3,extensions:["glb"],mimeTypes:["model/gltf-binary"],binary:!0,options:{gltf:{}},encode:async(e,t={})=>Gxe(e,t),encodeSync:Gxe};function Gxe(e,t={}){let{byteOffset:r=0}=t,n=Rxe(e),i=WL(n,null,r,t),a=new ArrayBuffer(i),o=new DataView(a);return WL(n,o,r,t),a}var eTt={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},tTt={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Lo={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},rTt={magFilter:Lo.TEXTURE_MAG_FILTER,minFilter:Lo.TEXTURE_MIN_FILTER,wrapS:Lo.TEXTURE_WRAP_S,wrapT:Lo.TEXTURE_WRAP_T},nTt={[Lo.TEXTURE_MAG_FILTER]:Lo.LINEAR,[Lo.TEXTURE_MIN_FILTER]:Lo.NEAREST_MIPMAP_LINEAR,[Lo.TEXTURE_WRAP_S]:Lo.REPEAT,[Lo.TEXTURE_WRAP_T]:Lo.REPEAT};function iTt(){return{id:"default-sampler",parameters:nTt}}function aTt(e){return tTt[e]}function oTt(e){return eTt[e]}var JL=class{baseUri="";jsonUnprocessed;json;buffers=[];images=[];postProcess(t,r={}){let{json:n,buffers:i=[],images:a=[]}=t,{baseUri:o=""}=t;return Yn(n),this.baseUri=o,this.buffers=i,this.images=a,this.jsonUnprocessed=n,this.json=this._resolveTree(t.json,r),this.json}_resolveTree(t,r={}){let n={...t};return this.json=n,t.bufferViews&&(n.bufferViews=t.bufferViews.map((i,a)=>this._resolveBufferView(i,a))),t.images&&(n.images=t.images.map((i,a)=>this._resolveImage(i,a))),t.samplers&&(n.samplers=t.samplers.map((i,a)=>this._resolveSampler(i,a))),t.textures&&(n.textures=t.textures.map((i,a)=>this._resolveTexture(i,a))),t.accessors&&(n.accessors=t.accessors.map((i,a)=>this._resolveAccessor(i,a))),t.materials&&(n.materials=t.materials.map((i,a)=>this._resolveMaterial(i,a))),t.meshes&&(n.meshes=t.meshes.map((i,a)=>this._resolveMesh(i,a))),t.nodes&&(n.nodes=t.nodes.map((i,a)=>this._resolveNode(i,a)),n.nodes=n.nodes.map((i,a)=>this._resolveNodeChildren(i))),t.skins&&(n.skins=t.skins.map((i,a)=>this._resolveSkin(i,a))),t.scenes&&(n.scenes=t.scenes.map((i,a)=>this._resolveScene(i,a))),typeof this.json.scene=="number"&&n.scenes&&(n.scene=n.scenes[this.json.scene]),n}getScene(t){return this._get(this.json.scenes,t)}getNode(t){return this._get(this.json.nodes,t)}getSkin(t){return this._get(this.json.skins,t)}getMesh(t){return this._get(this.json.meshes,t)}getMaterial(t){return this._get(this.json.materials,t)}getAccessor(t){return this._get(this.json.accessors,t)}getCamera(t){return this._get(this.json.cameras,t)}getTexture(t){return this._get(this.json.textures,t)}getSampler(t){return this._get(this.json.samplers,t)}getImage(t){return this._get(this.json.images,t)}getBufferView(t){return this._get(this.json.bufferViews,t)}getBuffer(t){return this._get(this.json.buffers,t)}_get(t,r){if(typeof r=="object")return r;let n=t&&t[r];return n||console.warn(`glTF file error: Could not find ${t}[${r}]`),n}_resolveScene(t,r){return{...t,id:t.id||`scene-${r}`,nodes:(t.nodes||[]).map(n=>this.getNode(n))}}_resolveNode(t,r){let n={...t,id:(t==null?void 0:t.id)||`node-${r}`};return t.mesh!==void 0&&(n.mesh=this.getMesh(t.mesh)),t.camera!==void 0&&(n.camera=this.getCamera(t.camera)),t.skin!==void 0&&(n.skin=this.getSkin(t.skin)),t.meshes!==void 0&&t.meshes.length&&(n.mesh=t.meshes.reduce((i,a)=>{let o=this.getMesh(a);return i.id=o.id,i.primitives=i.primitives.concat(o.primitives),i},{primitives:[]})),n}_resolveNodeChildren(t){return t.children&&(t.children=t.children.map(r=>this.getNode(r))),t}_resolveSkin(t,r){let n=typeof t.inverseBindMatrices=="number"?this.getAccessor(t.inverseBindMatrices):void 0;return{...t,id:t.id||`skin-${r}`,inverseBindMatrices:n}}_resolveMesh(t,r){let n={...t,id:t.id||`mesh-${r}`,primitives:[]};return t.primitives&&(n.primitives=t.primitives.map(i=>{let a={...i,attributes:{},indices:void 0,material:void 0},o=i.attributes;for(let s in o)a.attributes[s]=this.getAccessor(o[s]);return i.indices!==void 0&&(a.indices=this.getAccessor(i.indices)),i.material!==void 0&&(a.material=this.getMaterial(i.material)),a})),n}_resolveMaterial(t,r){let n={...t,id:t.id||`material-${r}`};if(n.normalTexture&&(n.normalTexture={...n.normalTexture},n.normalTexture.texture=this.getTexture(n.normalTexture.index)),n.occlusionTexture&&(n.occlusionTexture={...n.occlusionTexture},n.occlusionTexture.texture=this.getTexture(n.occlusionTexture.index)),n.emissiveTexture&&(n.emissiveTexture={...n.emissiveTexture},n.emissiveTexture.texture=this.getTexture(n.emissiveTexture.index)),n.emissiveFactor||(n.emissiveFactor=n.emissiveTexture?[1,1,1]:[0,0,0]),n.pbrMetallicRoughness){n.pbrMetallicRoughness={...n.pbrMetallicRoughness};let i=n.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture={...i.baseColorTexture},i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture={...i.metallicRoughnessTexture},i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return n}_resolveAccessor(t,r){let n=aTt(t.componentType),i=oTt(t.type),a=n*i,o={...t,id:t.id||`accessor-${r}`,bytesPerComponent:n,components:i,bytesPerElement:a,value:void 0,bufferView:void 0,sparse:void 0};if(t.bufferView!==void 0&&(o.bufferView=this.getBufferView(t.bufferView)),o.bufferView){let s=o.bufferView.buffer,{ArrayType:u,byteLength:c}=og(o,o.bufferView),l=(o.bufferView.byteOffset||0)+(o.byteOffset||0)+s.byteOffset,f=$l(s.arrayBuffer,l,c);o.bufferView.byteStride&&(f=this._getValueFromInterleavedBuffer(s,l,o.bufferView.byteStride,o.bytesPerElement,o.count)),o.value=new u(f)}return o}_getValueFromInterleavedBuffer(t,r,n,i,a){let o=new Uint8Array(a*i);for(let s=0;s<a;s++){let u=r+s*n;o.set(new Uint8Array(t.arrayBuffer.slice(u,u+i)),s*i)}return o.buffer}_resolveTexture(t,r){return{...t,id:t.id||`texture-${r}`,sampler:typeof t.sampler=="number"?this.getSampler(t.sampler):iTt(),source:typeof t.source=="number"?this.getImage(t.source):void 0}}_resolveSampler(t,r){let n={id:t.id||`sampler-${r}`,...t,parameters:{}};for(let i in n){let a=this._enumSamplerParameter(i);a!==void 0&&(n.parameters[a]=n[i])}return n}_enumSamplerParameter(t){return rTt[t]}_resolveImage(t,r){let n={...t,id:t.id||`image-${r}`,image:null,bufferView:t.bufferView!==void 0?this.getBufferView(t.bufferView):void 0},i=this.images[r];return i&&(n.image=i),n}_resolveBufferView(t,r){let n=t.buffer,i=this.buffers[n].arrayBuffer,a=this.buffers[n].byteOffset||0;return t.byteOffset&&(a+=t.byteOffset),{id:`bufferView-${r}`,...t,buffer:this.buffers[n],data:new Uint8Array(i,a,t.byteLength)}}_resolveCamera(t,r){let n={...t,id:t.id||`camera-${r}`};return n.perspective,n.orthographic,n}};function Iy(e,t){return new JL().postProcess(e,t)}var u8={URI:0,EMBEDDED:1};function c8(e,t,r,n){e.rotateYtoZ=!0;let i=(e.byteOffset||0)+(e.byteLength||0)-r;if(i===0)throw new Error("glTF byte length must be greater than 0.");return e.gltfUpAxis=n!=null&&n["3d-tiles"]&&n["3d-tiles"].assetGltfUpAxis?n["3d-tiles"].assetGltfUpAxis:"Y",e.gltfArrayBuffer=jd(t,r,i),e.gltfByteOffset=0,e.gltfByteLength=i,r%4===0||console.warn(`${e.type}: embedded glb is not aligned to a 4-byte boundary.`),(e.byteOffset||0)+(e.byteLength||0)}async function l8(e,t,r,n){let i=(r==null?void 0:r["3d-tiles"])||{};if(sTt(e,t,r),i.loadGLTF){if(!n)return;if(e.gltfUrl){let{fetch:a}=n,o=await a(e.gltfUrl,r==null?void 0:r.core);e.gltfArrayBuffer=await o.arrayBuffer(),e.gltfByteOffset=0}if(e.gltfArrayBuffer){let a=await Va(e.gltfArrayBuffer,Yc,r,n);e.gltf=Iy(a),e.gpuMemoryUsageInBytes=Sy(e.gltf),delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength}}}function sTt(e,t,r){switch(t){case u8.URI:if(e.gltfArrayBuffer){let n=new Uint8Array(e.gltfArrayBuffer,e.gltfByteOffset),a=new TextDecoder().decode(n);e.gltfUrl=a.replace(/[\s\0]+$/,"")}delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength;break;case u8.EMBEDDED:break;default:throw new Error("b3dm: Illegal glTF format field")}}async function zxe(e,t,r,n,i){var o;r=uTt(e,t,r,n,i),await l8(e,u8.EMBEDDED,n,i);let a=(o=e==null?void 0:e.gltf)==null?void 0:o.extensions;return a&&a.CESIUM_RTC&&(e.rtcCenter=a.CESIUM_RTC.center),r}function uTt(e,t,r,n,i){r=Lf(e,t,r),r=rg(e,t,r),r=ng(e,t,r,n),r=c8(e,t,r,n);let a=new Jc(e.featureTableJson,e.featureTableBinary);return e.rtcCenter=a.getGlobalProperty("RTC_CENTER",mt.FLOAT,3),r}async function Hxe(e,t,r,n,i){return r=cTt(e,t,r,n,i),await l8(e,e.gltfFormat||0,n,i),r}function cTt(e,t,r,n,i){var c;if(r=Lf(e,t,r),e.version!==1)throw new Error(`Instanced 3D Model version ${e.version} is not supported`);r=rg(e,t,r);let a=new DataView(t);if(e.gltfFormat=a.getUint32(r,!0),r+=4,r=ng(e,t,r,n),r=c8(e,t,r,n),!((c=e==null?void 0:e.header)!=null&&c.featureTableJsonByteLength)||e.header.featureTableJsonByteLength===0)throw new Error("i3dm parser: featureTableJsonByteLength is zero.");let o=new Jc(e.featureTableJson,e.featureTableBinary),s=o.getGlobalProperty("INSTANCES_LENGTH");if(o.featuresLength=s,!Number.isFinite(s))throw new Error("i3dm parser: INSTANCES_LENGTH must be defined");e.eastNorthUp=o.getGlobalProperty("EAST_NORTH_UP"),e.rtcCenter=o.getGlobalProperty("RTC_CENTER",mt.FLOAT,3);let u=new Cp(e.batchTableJson,e.batchTableBinary,s);return lTt(e,o,u,s),r}function lTt(e,t,r,n){let i=new Array(n),a=new Z,o=new Z,s=new Z,u=new Z,c=new ir,l=new Po,f=new Z,d={},p=new gr,h=[],m=[],g=[],x=[];for(let y=0;y<n;y++){let w;if(t.hasProperty("POSITION"))w=t.getProperty("POSITION",mt.FLOAT,3,y,a);else if(t.hasProperty("POSITION_QUANTIZED")){w=t.getProperty("POSITION_QUANTIZED",mt.UNSIGNED_SHORT,3,y,a);let I=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",mt.FLOAT,3);if(!I)throw new Error("i3dm parser: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let P=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",mt.FLOAT,3);if(!P)throw new Error("i3dm parser: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let L=65535;for(let G=0;G<3;G++)w[G]=w[G]/L*P[G]+I[G]}if(!w)throw new Error("i3dm: POSITION or POSITION_QUANTIZED must be defined for each instance.");a.copy(w),d.translation=a,e.normalUp=t.getProperty("NORMAL_UP",mt.FLOAT,3,y,h),e.normalRight=t.getProperty("NORMAL_RIGHT",mt.FLOAT,3,y,m);let T=!1;if(e.normalUp){if(!e.normalRight)throw new Error("i3dm: Custom orientation requires both NORMAL_UP and NORMAL_RIGHT.");e.hasCustomOrientation=!0}else{if(e.octNormalUp=t.getProperty("NORMAL_UP_OCT32P",mt.UNSIGNED_SHORT,2,y,h),e.octNormalRight=t.getProperty("NORMAL_RIGHT_OCT32P",mt.UNSIGNED_SHORT,2,y,m),e.octNormalUp)throw e.octNormalRight?new Error("i3dm: oct-encoded orientation not implemented"):new Error("i3dm: oct-encoded orientation requires NORMAL_UP_OCT32P and NORMAL_RIGHT_OCT32P");e.eastNorthUp?(Ot.WGS84.eastNorthUpToFixedFrame(a,p),p.getRotationMatrix3(c)):c.identity()}T&&(u.copy(o).cross(s).normalize(),c.setColumn(0,o),c.setColumn(1,s),c.setColumn(2,u)),l.fromMatrix3(c),d.rotation=l,f.set(1,1,1);let A=t.getProperty("SCALE",mt.FLOAT,1,y,g);Number.isFinite(A)&&f.multiplyByScalar(A);let D=t.getProperty("SCALE_NON_UNIFORM",mt.FLOAT,3,y,h);D&&f.scale(D),d.scale=f;let F=t.getProperty("BATCH_ID",mt.UNSIGNED_SHORT,1,y,x);F===void 0&&(F=y);let j=new gr().fromQuaternion(d.rotation);p.identity(),p.translate(d.translation),p.multiplyRight(j),p.scale(d.scale);let k=p.clone();i[y]={modelMatrix:k,batchId:F}}e.instances=i}async function Vxe(e,t,r,n,i,a){r=Lf(e,t,r);let o=new DataView(t);for(e.tilesLength=o.getUint32(r,!0),r+=4,e.tiles=[];e.tiles.length<e.tilesLength&&(e.byteLength||0)-r>12;){let s={shape:"tile3d"};e.tiles.push(s),r=await a(t,r,n,i,s)}return r}async function $xe(e,t,r,n){var i,a;if(e.rotateYtoZ=!0,e.gltfUpAxis=(i=r==null?void 0:r["3d-tiles"])!=null&&i.assetGltfUpAxis?r["3d-tiles"].assetGltfUpAxis:"Y",(a=r==null?void 0:r["3d-tiles"])!=null&&a.loadGLTF){if(!n)return t.byteLength;let o=await Va(t,Yc,r,n);e.gltf=Iy(o),e.gpuMemoryUsageInBytes=Sy(e.gltf)}else e.gltfArrayBuffer=t;return t.byteLength}async function XL(e,t=0,r,n,i={shape:"tile3d"}){switch(i.byteOffset=t,i.type=_be(e,t),i.type){case pi.COMPOSITE:return await Vxe(i,e,t,r,n,XL);case pi.BATCHED_3D_MODEL:return await zxe(i,e,t,r,n);case pi.GLTF:return await $xe(i,e,r,n);case pi.INSTANCED_3D_MODEL:return await Hxe(i,e,t,r,n);case pi.POINT_CLOUD:return await Nbe(i,e,t,r,n);default:throw new Error(`3DTileLoader: unknown type ${i.type}`)}}async function YL(e,t,r){if(new Uint32Array(e.slice(0,4))[0]!==1952609651)throw new Error("Wrong subtree file magic number");if(new Uint32Array(e.slice(4,8))[0]!==1)throw new Error("Wrong subtree file verson, must be 1");let a=Wxe(e.slice(8,16)),o=new Uint8Array(e,24,a),u=new TextDecoder("utf8").decode(o),c=JSON.parse(u),l=Wxe(e.slice(16,24)),f=new ArrayBuffer(0);if(l&&(f=e.slice(24+a)),await f8(c,c.tileAvailability,f,r),Array.isArray(c.contentAvailability))for(let d of c.contentAvailability)await f8(c,d,f,r);else await f8(c,c.contentAvailability,f,r);return await f8(c,c.childSubtreeAvailability,f,r),c}async function f8(e,t,r,n){let i=Number.isFinite(t.bitstream)?t.bitstream:t.bufferView;if(typeof i!="number")return;let a=e.bufferViews[i],o=e.buffers[a.buffer];if(!(n!=null&&n.baseUrl))throw new Error("Url is not provided");if(!n.fetch)throw new Error("fetch is not provided");if(o.uri){let u=`${(n==null?void 0:n.baseUrl)||""}/${o.uri}`,l=await(await n.fetch(u)).arrayBuffer();t.explicitBitstream=new Uint8Array(l,a.byteOffset,a.byteLength);return}let s=e.buffers.slice(0,a.buffer).reduce((u,c)=>u+c.byteLength,0);t.explicitBitstream=new Uint8Array(r.slice(s,s+o.byteLength),a.byteOffset,a.byteLength)}function Wxe(e){let t=new DataView(e),r=t.getUint32(0,!0),n=t.getUint32(4,!0);return r+2**32*n}var d8={dataType:null,batchType:null,id:"3d-tiles-subtree",name:"3D Tiles Subtree",module:"3d-tiles",version:Zm,extensions:["subtree"],mimeTypes:["application/octet-stream"],tests:["subtree"],parse:YL,options:{}};var qo=null;try{qo=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function Gr(e,t,r){this.low=e|0,this.high=t|0,this.unsigned=!!r}Gr.prototype.__isLong__;Object.defineProperty(Gr.prototype,"__isLong__",{value:!0});function Wi(e){return(e&&e.__isLong__)===!0}function Kxe(e){var t=Math.clz32(e&-e);return e?31-t:t}Gr.isLong=Wi;var Jxe={},Xxe={};function Ip(e,t){var r,n,i;return t?(e>>>=0,(i=0<=e&&e<256)&&(n=Xxe[e],n)?n:(r=pr(e,0,!0),i&&(Xxe[e]=r),r)):(e|=0,(i=-128<=e&&e<128)&&(n=Jxe[e],n)?n:(r=pr(e,e<0?-1:0,!1),i&&(Jxe[e]=r),r))}Gr.fromInt=Ip;function No(e,t){if(isNaN(e))return t?Qc:Ts;if(t){if(e<0)return Qc;if(e>=eye)return nye}else{if(e<=-Qxe)return Fa;if(e+1>=Qxe)return rye}return e<0?No(-e,t).neg():pr(e%bg|0,e/bg|0,t)}Gr.fromNumber=No;function pr(e,t,r){return new Gr(e,t,r)}Gr.fromBits=pr;var p8=Math.pow;function ZL(e,t,r){if(e.length===0)throw Error("empty string");if(typeof t=="number"?(r=t,t=!1):t=!!t,e==="NaN"||e==="Infinity"||e==="+Infinity"||e==="-Infinity")return t?Qc:Ts;if(r=r||10,r<2||36<r)throw RangeError("radix");var n;if((n=e.indexOf("-"))>0)throw Error("interior hyphen");if(n===0)return ZL(e.substring(1),t,r).neg();for(var i=No(p8(r,8)),a=Ts,o=0;o<e.length;o+=8){var s=Math.min(8,e.length-o),u=parseInt(e.substring(o,o+s),r);if(s<8){var c=No(p8(r,s));a=a.mul(c).add(No(u))}else a=a.mul(i),a=a.add(No(u))}return a.unsigned=t,a}Gr.fromString=ZL;function Ss(e,t){return typeof e=="number"?No(e,t):typeof e=="string"?ZL(e,t):pr(e.low,e.high,typeof t=="boolean"?t:e.unsigned)}Gr.fromValue=Ss;var Yxe=1<<16,fTt=1<<24,bg=Yxe*Yxe,eye=bg*bg,Qxe=eye/2,Zxe=Ip(fTt),Ts=Ip(0);Gr.ZERO=Ts;var Qc=Ip(0,!0);Gr.UZERO=Qc;var vg=Ip(1);Gr.ONE=vg;var tye=Ip(1,!0);Gr.UONE=tye;var QL=Ip(-1);Gr.NEG_ONE=QL;var rye=pr(-1,2147483647,!1);Gr.MAX_VALUE=rye;var nye=pr(-1,-1,!0);Gr.MAX_UNSIGNED_VALUE=nye;var Fa=pr(0,-2147483648,!1);Gr.MIN_VALUE=Fa;var Se=Gr.prototype;Se.toInt=function(){return this.unsigned?this.low>>>0:this.low};Se.toNumber=function(){return this.unsigned?(this.high>>>0)*bg+(this.low>>>0):this.high*bg+(this.low>>>0)};Se.toString=function(t){if(t=t||10,t<2||36<t)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(Fa)){var r=No(t),n=this.div(r),i=n.mul(r).sub(this);return n.toString(t)+i.toInt().toString(t)}else return"-"+this.neg().toString(t);for(var a=No(p8(t,6),this.unsigned),o=this,s="";;){var u=o.div(a),c=o.sub(u.mul(a)).toInt()>>>0,l=c.toString(t);if(o=u,o.isZero())return l+s;for(;l.length<6;)l="0"+l;s=""+l+s}};Se.getHighBits=function(){return this.high};Se.getHighBitsUnsigned=function(){return this.high>>>0};Se.getLowBits=function(){return this.low};Se.getLowBitsUnsigned=function(){return this.low>>>0};Se.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Fa)?64:this.neg().getNumBitsAbs();for(var t=this.high!=0?this.high:this.low,r=31;r>0&&!(t&1<<r);r--);return this.high!=0?r+33:r+1};Se.isZero=function(){return this.high===0&&this.low===0};Se.eqz=Se.isZero;Se.isNegative=function(){return!this.unsigned&&this.high<0};Se.isPositive=function(){return this.unsigned||this.high>=0};Se.isOdd=function(){return(this.low&1)===1};Se.isEven=function(){return(this.low&1)===0};Se.equals=function(t){return Wi(t)||(t=Ss(t)),this.unsigned!==t.unsigned&&this.high>>>31===1&&t.high>>>31===1?!1:this.high===t.high&&this.low===t.low};Se.eq=Se.equals;Se.notEquals=function(t){return!this.eq(t)};Se.neq=Se.notEquals;Se.ne=Se.notEquals;Se.lessThan=function(t){return this.comp(t)<0};Se.lt=Se.lessThan;Se.lessThanOrEqual=function(t){return this.comp(t)<=0};Se.lte=Se.lessThanOrEqual;Se.le=Se.lessThanOrEqual;Se.greaterThan=function(t){return this.comp(t)>0};Se.gt=Se.greaterThan;Se.greaterThanOrEqual=function(t){return this.comp(t)>=0};Se.gte=Se.greaterThanOrEqual;Se.ge=Se.greaterThanOrEqual;Se.compare=function(t){if(Wi(t)||(t=Ss(t)),this.eq(t))return 0;var r=this.isNegative(),n=t.isNegative();return r&&!n?-1:!r&&n?1:this.unsigned?t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1:this.sub(t).isNegative()?-1:1};Se.comp=Se.compare;Se.negate=function(){return!this.unsigned&&this.eq(Fa)?Fa:this.not().add(vg)};Se.neg=Se.negate;Se.add=function(t){Wi(t)||(t=Ss(t));var r=this.high>>>16,n=this.high&65535,i=this.low>>>16,a=this.low&65535,o=t.high>>>16,s=t.high&65535,u=t.low>>>16,c=t.low&65535,l=0,f=0,d=0,p=0;return p+=a+c,d+=p>>>16,p&=65535,d+=i+u,f+=d>>>16,d&=65535,f+=n+s,l+=f>>>16,f&=65535,l+=r+o,l&=65535,pr(d<<16|p,l<<16|f,this.unsigned)};Se.subtract=function(t){return Wi(t)||(t=Ss(t)),this.add(t.neg())};Se.sub=Se.subtract;Se.multiply=function(t){if(this.isZero())return this;if(Wi(t)||(t=Ss(t)),qo){var r=qo.mul(this.low,this.high,t.low,t.high);return pr(r,qo.get_high(),this.unsigned)}if(t.isZero())return this.unsigned?Qc:Ts;if(this.eq(Fa))return t.isOdd()?Fa:Ts;if(t.eq(Fa))return this.isOdd()?Fa:Ts;if(this.isNegative())return t.isNegative()?this.neg().mul(t.neg()):this.neg().mul(t).neg();if(t.isNegative())return this.mul(t.neg()).neg();if(this.lt(Zxe)&&t.lt(Zxe))return No(this.toNumber()*t.toNumber(),this.unsigned);var n=this.high>>>16,i=this.high&65535,a=this.low>>>16,o=this.low&65535,s=t.high>>>16,u=t.high&65535,c=t.low>>>16,l=t.low&65535,f=0,d=0,p=0,h=0;return h+=o*l,p+=h>>>16,h&=65535,p+=a*l,d+=p>>>16,p&=65535,p+=o*c,d+=p>>>16,p&=65535,d+=i*l,f+=d>>>16,d&=65535,d+=a*c,f+=d>>>16,d&=65535,d+=o*u,f+=d>>>16,d&=65535,f+=n*l+i*c+a*u+o*s,f&=65535,pr(p<<16|h,f<<16|d,this.unsigned)};Se.mul=Se.multiply;Se.divide=function(t){if(Wi(t)||(t=Ss(t)),t.isZero())throw Error("division by zero");if(qo){if(!this.unsigned&&this.high===-2147483648&&t.low===-1&&t.high===-1)return this;var r=(this.unsigned?qo.div_u:qo.div_s)(this.low,this.high,t.low,t.high);return pr(r,qo.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?Qc:Ts;var n,i,a;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return Qc;if(t.gt(this.shru(1)))return tye;a=Qc}else{if(this.eq(Fa)){if(t.eq(vg)||t.eq(QL))return Fa;if(t.eq(Fa))return vg;var o=this.shr(1);return n=o.div(t).shl(1),n.eq(Ts)?t.isNegative()?vg:QL:(i=this.sub(t.mul(n)),a=n.add(i.div(t)),a)}else if(t.eq(Fa))return this.unsigned?Qc:Ts;if(this.isNegative())return t.isNegative()?this.neg().div(t.neg()):this.neg().div(t).neg();if(t.isNegative())return this.div(t.neg()).neg();a=Ts}for(i=this;i.gte(t);){n=Math.max(1,Math.floor(i.toNumber()/t.toNumber()));for(var s=Math.ceil(Math.log(n)/Math.LN2),u=s<=48?1:p8(2,s-48),c=No(n),l=c.mul(t);l.isNegative()||l.gt(i);)n-=u,c=No(n,this.unsigned),l=c.mul(t);c.isZero()&&(c=vg),a=a.add(c),i=i.sub(l)}return a};Se.div=Se.divide;Se.modulo=function(t){if(Wi(t)||(t=Ss(t)),qo){var r=(this.unsigned?qo.rem_u:qo.rem_s)(this.low,this.high,t.low,t.high);return pr(r,qo.get_high(),this.unsigned)}return this.sub(this.div(t).mul(t))};Se.mod=Se.modulo;Se.rem=Se.modulo;Se.not=function(){return pr(~this.low,~this.high,this.unsigned)};Se.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};Se.clz=Se.countLeadingZeros;Se.countTrailingZeros=function(){return this.low?Kxe(this.low):Kxe(this.high)+32};Se.ctz=Se.countTrailingZeros;Se.and=function(t){return Wi(t)||(t=Ss(t)),pr(this.low&t.low,this.high&t.high,this.unsigned)};Se.or=function(t){return Wi(t)||(t=Ss(t)),pr(this.low|t.low,this.high|t.high,this.unsigned)};Se.xor=function(t){return Wi(t)||(t=Ss(t)),pr(this.low^t.low,this.high^t.high,this.unsigned)};Se.shiftLeft=function(t){return Wi(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?pr(this.low<<t,this.high<<t|this.low>>>32-t,this.unsigned):pr(0,this.low<<t-32,this.unsigned)};Se.shl=Se.shiftLeft;Se.shiftRight=function(t){return Wi(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?pr(this.low>>>t|this.high<<32-t,this.high>>t,this.unsigned):pr(this.high>>t-32,this.high>=0?0:-1,this.unsigned)};Se.shr=Se.shiftRight;Se.shiftRightUnsigned=function(t){return Wi(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?pr(this.low>>>t|this.high<<32-t,this.high>>>t,this.unsigned):t===32?pr(this.high,0,this.unsigned):pr(this.high>>>t-32,0,this.unsigned)};Se.shru=Se.shiftRightUnsigned;Se.shr_u=Se.shiftRightUnsigned;Se.rotateLeft=function(t){var r;return Wi(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?pr(this.high,this.low,this.unsigned):t<32?(r=32-t,pr(this.low<<t|this.high>>>r,this.high<<t|this.low>>>r,this.unsigned)):(t-=32,r=32-t,pr(this.high<<t|this.low>>>r,this.low<<t|this.high>>>r,this.unsigned))};Se.rotl=Se.rotateLeft;Se.rotateRight=function(t){var r;return Wi(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?pr(this.high,this.low,this.unsigned):t<32?(r=32-t,pr(this.high<<r|this.low>>>t,this.low<<r|this.high>>>t,this.unsigned)):(t-=32,r=32-t,pr(this.low<<r|this.high>>>t,this.high<<r|this.low>>>t,this.unsigned))};Se.rotr=Se.rotateRight;Se.toSigned=function(){return this.unsigned?pr(this.low,this.high,!1):this};Se.toUnsigned=function(){return this.unsigned?this:pr(this.low,this.high,!0)};Se.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()};Se.toBytesLE=function(){var t=this.high,r=this.low;return[r&255,r>>>8&255,r>>>16&255,r>>>24,t&255,t>>>8&255,t>>>16&255,t>>>24]};Se.toBytesBE=function(){var t=this.high,r=this.low;return[t>>>24,t>>>16&255,t>>>8&255,t&255,r>>>24,r>>>16&255,r>>>8&255,r&255]};Gr.fromBytes=function(t,r,n){return n?Gr.fromBytesLE(t,r):Gr.fromBytesBE(t,r)};Gr.fromBytesLE=function(t,r){return new Gr(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,r)};Gr.fromBytesBE=function(t,r){return new Gr(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],r)};var xg=Gr;var dTt=16;function Py(e){e==="X"&&(e="");let t=e.padEnd(dTt,"0");return xg.fromString(t,!0,16)}function e7(e){if(e.isZero())return"X";let t=e.countTrailingZeros(),r=t%4;t=(t-r)/4;let n=t;t*=4;let a=e.shiftRightUnsigned(t).toString(16).replace(/0+$/,"");return Array(17-n-a.length).join("0")+a}function t7(e,t){let r=pTt(e).shiftRightUnsigned(2);return e.add(xg.fromNumber(2*t+1-4).multiply(r))}function pTt(e){return e.and(e.not().add(1))}var hTt=3,mTt=30,gTt=2*mTt+1,iye=180/Math.PI;function oye(e){if(e.length===0)throw new Error(`Invalid Hilbert quad key ${e}`);let t=e.split("/"),r=parseInt(t[0],10),n=t[1],i=n.length,a=0,o=[0,0];for(let s=i-1;s>=0;s--){a=i-s;let u=n[s],c=0,l=0;u==="1"?l=1:u==="2"?(c=1,l=1):u==="3"&&(c=1);let f=Math.pow(2,a-1);vTt(f,o,c,l),o[0]+=f*c,o[1]+=f*l}if(r%2===1){let s=o[0];o[0]=o[1],o[1]=s}return{face:r,ij:o,level:a}}function sye(e){if(e.isZero())return"";let t=e.toString(2);for(;t.length<hTt+gTt;)t="0"+t;let r=t.lastIndexOf("1"),n=t.substring(0,3),i=t.substring(3,r),a=i.length/2,o=xg.fromString(n,!0,2).toString(10),s="";if(a!==0)for(s=xg.fromString(i,!0,2).toString(4);s.length<a;)s="0"+s;return`${o}/${s}`}function r7(e,t,r){let n=1<<t;return[(e[0]+r[0])/n,(e[1]+r[1])/n]}function aye(e){return e>=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function n7(e){return[aye(e[0]),aye(e[1])]}function i7(e,[t,r]){switch(e){case 0:return[1,t,r];case 1:return[-t,1,r];case 2:return[-t,-r,1];case 3:return[-1,-r,-t];case 4:return[r,-1,-t];case 5:return[r,t,-1];default:throw new Error("Invalid face")}}function a7([e,t,r]){let n=Math.atan2(r,Math.sqrt(e*e+t*t));return[Math.atan2(t,e)*iye,n*iye]}function vTt(e,t,r,n){if(n===0){r===1&&(t[0]=e-1-t[0],t[1]=e-1-t[1]);let i=t[0];t[0]=t[1],t[1]=i}}function uye(e){let t=r7(e.ij,e.level,[.5,.5]),r=n7(t),n=i7(e.face,r);return a7(n)}var bTt=100;function o7(e){let{face:t,ij:r,level:n}=e,i=[[0,0],[0,1],[1,1],[1,0],[0,0]],a=Math.max(1,Math.ceil(bTt*Math.pow(2,-n))),o=new Float64Array(4*a*2+2),s=0,u=0;for(let c=0;c<4;c++){let l=i[c].slice(0),f=i[c+1],d=(f[0]-l[0])/a,p=(f[1]-l[1])/a;for(let h=0;h<a;h++){l[0]+=d,l[1]+=p;let m=r7(r,n,l),g=n7(m),x=i7(t,g),y=a7(x);Math.abs(y[1])>89.999&&(y[0]=u);let w=y[0]-u;y[0]+=w>180?-360:w<-180?360:0,o[s++]=y[0],o[s++]=y[1],u=y[0]}}return o[s++]=o[0],o[s++]=o[1],o}function yg(e){let t=xTt(e);return oye(t)}function xTt(e){if(e.indexOf("/")>0)return e;let t=Py(e);return sye(t)}function s7(e){let t=yg(e);return uye(t)}function lye(e){let t;if(e.face===2||e.face===5){let r=null,n=0;for(let i=0;i<4;i++){let a=`${e.face}/${i}`,o=yg(a),s=o7(o);(typeof r>"u"||r===null)&&(r=new Float64Array(4*s.length)),r.set(s,n),n+=s.length}t=cye(r)}else{let r=o7(e);t=cye(r)}return t}function cye(e){if(e.length%2!==0)throw new Error("Invalid corners");let t=[],r=[];for(let n=0;n<e.length;n+=2)t.push(e[n]),r.push(e[n+1]);return t.sort((n,i)=>n-i),r.sort((n,i)=>n-i),{west:t[0],east:t[t.length-1],north:r[r.length-1],south:r[0]}}function u7(e,t){let r=(t==null?void 0:t.minimumHeight)||0,n=(t==null?void 0:t.maximumHeight)||0,i=yg(e),a=lye(i),o=a.west,s=a.south,u=a.east,c=a.north,l=[];return l.push(new Z(o,c,r)),l.push(new Z(u,c,r)),l.push(new Z(u,s,r)),l.push(new Z(o,s,r)),l.push(new Z(o,c,n)),l.push(new Z(u,c,n)),l.push(new Z(u,s,n)),l.push(new Z(o,s,n)),l}function h8(e){let t=e.token,r={minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight},n=u7(t,r),i=s7(t),a=i[0],o=i[1],s=Ot.WGS84.cartographicToCartesian([a,o,r.maximumHeight]),u=new Z(s[0],s[1],s[2]);n.push(u);let c=_y(n);return[...c.center,...c.halfAxes]}var yTt=4,_Tt=8,wTt={QUADTREE:yTt,OCTREE:_Tt};function ATt(e,t,r){if(e!=null&&e.box){let n=Py(e.s2VolumeInfo.token),i=t7(n,t),a=e7(i),o={...e.s2VolumeInfo};switch(o.token=a,r){case"OCTREE":let c=e.s2VolumeInfo,l=c.maximumHeight-c.minimumHeight,f=l/2,d=c.minimumHeight+l/2;c.minimumHeight=d-f,c.maximumHeight=d+f;break;default:break}return{box:h8(o),s2VolumeInfo:o}}}async function l7(e){let{subtree:t,subtreeData:r={level:0,x:0,y:0,z:0},parentData:n={mortonIndex:0,localLevel:-1,localX:0,localY:0,localZ:0},childIndex:i=0,implicitOptions:a,loaderOptions:o,s2VolumeBox:s}=e,{subdivisionScheme:u,subtreeLevels:c,maximumLevel:l,contentUrlTemplate:f,subtreesUriTemplate:d,basePath:p}=a,h={children:[],lodMetricValue:0,contentUrl:""};if(!l)return DB.once(`Missing 'maximumLevel' or 'availableLevels' property. The subtree ${f} won't be loaded...`),h;let m=n.localLevel+1,g=r.level+m;if(g>l)return h;let x=wTt[u],y=Math.log2(x),w=i&1,T=i>>1&1,A=i>>2&1,D=Pp(n.localX,w,1),F=Pp(n.localY,T,1),j=Pp(n.localZ,A,1),k=Pp(r.x,D,m),I=Pp(r.y,F,m),P=Pp(r.z,j,m),L=Pp(n.mortonIndex,i,y),G=m===c&&c7(t.childSubtreeAvailability,L),V,X,Y,he;if(G){let de=`${p}/${d}`,ke=m8(de,g,k,I,P);V=await Kr(ke,d8,o),he=0,X={level:g,x:k,y:I,z:P},Y={mortonIndex:0,localLevel:0,localX:0,localY:0,localZ:0}}else V=t,he=(x**m-1)/(x-1)+L,X=r,Y={mortonIndex:L,localLevel:m,localX:D,localY:F,localZ:j};if(!c7(V.tileAvailability,he))return h;c7(V.contentAvailability,he)&&(h.contentUrl=m8(f,g,k,I,P));for(let de=0;de<x;de++){let ke=ATt(s,de,u),Fe=await l7({subtree:V,subtreeData:X,parentData:Y,childIndex:de,implicitOptions:a,loaderOptions:o,s2VolumeBox:ke});(Fe.contentUrl||Fe.children.length)&&h.children.push(Fe)}return h.contentUrl||h.children.length?ETt(h,{level:g,x:k,y:I,z:P},a,s):h}function c7(e,t){let r;return Array.isArray(e)?(r=e[0],e.length>1&&DB.once('Not supported extension "3DTILES_multiple_contents" has been detected')):r=e,"constant"in r?Boolean(r.constant):r.explicitBitstream?kTt(t,r.explicitBitstream):!1}function ETt(e,t,r,n){let{basePath:i,refine:a,getRefine:o,lodMetricType:s,getTileType:u,rootLodMetricValue:c,rootBoundingVolume:l}=r,f=e.contentUrl&&e.contentUrl.replace(`${i}/`,""),d=c/2**t.level,p=n!=null&&n.box?{box:n.box}:l,h=TTt(p,t,r.subdivisionScheme);return{children:e.children,contentUrl:e.contentUrl,content:{uri:f},id:e.contentUrl,refine:o(a),type:u(e),lodMetricType:s,lodMetricValue:d,geometricError:d,transform:e.transform,boundingVolume:h}}function TTt(e,t,r){if(e.region){let{level:n,x:i,y:a,z:o}=t,[s,u,c,l,f,d]=e.region,p=2**n,h=(c-s)/p,[m,g]=[s+h*i,s+h*(i+1)],x=(l-u)/p,[y,w]=[u+x*a,u+x*(a+1)],T,A;if(r==="OCTREE"){let D=(d-f)/p;[T,A]=[f+D*o,f+D*(o+1)]}else[T,A]=[f,d];return{region:[m,y,g,w,T,A]}}if(e.box)return e;throw new Error(`Unsupported bounding volume type ${JSON.stringify(e)}`)}function Pp(e,t,r){return(e<<r)+t}function m8(e,t,r,n,i){let a=STt({level:t,x:r,y:n,z:i});return e.replace(/{level}|{x}|{y}|{z}/gi,o=>a[o])}function STt(e){let t={};for(let r in e)t[`{${r}}`]=e[r];return t}function kTt(e,t){let r=Math.floor(e/8),n=e%8;return(t[r]>>n&1)===1}function d7(e,t=""){if(!t)return"empty";let n=t.split("?")[0].split(".").pop();switch(n){case"pnts":return"pointcloud";case"i3dm":case"b3dm":case"glb":case"gltf":return"scenegraph";default:return n||"empty"}}function p7(e){switch(e){case"REPLACE":case"replace":return 2;case"ADD":case"add":return 1;default:return e}}function f7(e,t){if(/^[a-z][0-9a-z+.-]*:/i.test(t)){let n=new URL(e,`${t}/`);return decodeURI(n.toString())}else if(e.startsWith("/"))return e;return wa.resolve(t,e)}function fye(e,t){var i;if(!e)return null;let r;if(e.content){let a=e.content.uri||((i=e.content)==null?void 0:i.url);typeof a<"u"&&(r=f7(a,t))}return{...e,id:r,contentUrl:r,lodMetricType:"geometricError",lodMetricValue:e.geometricError,transformMatrix:e.transform,type:d7(e,r),refine:p7(e.refine)}}async function hye(e,t,r){let n=null,i=pye(e.root);i&&e.root?n=await dye(e.root,e,t,i,r):n=fye(e.root,t);let a=[];for(a.push(n);a.length>0;){let o=a.pop()||{},s=o.children||[],u=[];for(let c of s){let l=pye(c),f;l?f=await dye(c,e,t,l,r):f=fye(c,t),f&&(u.push(f),a.push(f))}o.children=u}return n}async function dye(e,t,r,n,i){var T,A,D;let{subdivisionScheme:a,maximumLevel:o,availableLevels:s,subtreeLevels:u,subtrees:{uri:c}}=n,l=m8(c,0,0,0,0),f=f7(l,r),d=await Kr(f,d8,i),p=(T=e.content)==null?void 0:T.uri,h=p?f7(p,r):"",m=(A=t==null?void 0:t.root)==null?void 0:A.refine,g=e.geometricError,x=(D=e.boundingVolume.extensions)==null?void 0:D["3DTILES_bounding_volume_S2"];if(x){let j={box:h8(x),s2VolumeInfo:x};e.boundingVolume=j}let y=e.boundingVolume,w={contentUrlTemplate:h,subtreesUriTemplate:c,subdivisionScheme:a,subtreeLevels:u,maximumLevel:Number.isFinite(s)?s-1:o,refine:m,basePath:r,lodMetricType:"geometricError",rootLodMetricValue:g,rootBoundingVolume:y,getTileType:d7,getRefine:p7};return await CTt(e,r,d,w,i)}async function CTt(e,t,r,n,i){if(!e)return null;let{children:a,contentUrl:o}=await l7({subtree:r,implicitOptions:n,loaderOptions:i}),s,u=null;return o&&(s=o,u={uri:o.replace(`${t}/`,"")}),{...e,id:s,contentUrl:s,lodMetricType:"geometricError",lodMetricValue:e.geometricError,transformMatrix:e.transform,type:d7(e,s),refine:p7(e.refine),content:u||e.content,children:a}}function pye(e){var t;return((t=e==null?void 0:e.extensions)==null?void 0:t["3DTILES_implicit_tiling"])||(e==null?void 0:e.implicitTiling)}var Uu={dataType:null,batchType:null,id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:Zm,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:DTt,options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};async function DTt(e,t={},r){let n=t["3d-tiles"]||{},i;return n.isTileset==="auto"?i=(r==null?void 0:r.url)&&r.url.indexOf(".json")!==-1:i=n.isTileset,i?BTt(e,t,r):FTt(e,t,r)}async function BTt(e,t,r){var u;let n=JSON.parse(new TextDecoder().decode(e)),i=(r==null?void 0:r.url)||"",a=OTt(i),o=await hye(n,a,t||{});return{...n,shape:"tileset3d",loader:Uu,url:i,queryString:(r==null?void 0:r.queryString)||"",basePath:a,root:o||n.root,type:"TILES3D",lodMetricType:"geometricError",lodMetricValue:((u=n.root)==null?void 0:u.geometricError)||0}}async function FTt(e,t,r){let n={content:{shape:"tile3d",featureIds:null}};return await XL(e,0,t,r,n.content),n.content}function OTt(e){return wa.dirname(e)}var mye="https://api.cesium.com/v1/assets";async function gye(e,t){var a;if(!t){let o=await ITt(e);for(let s of o.items)s.type==="3DTILES"&&(t=s.id)}let r=await PTt(e,t),n=r.type,i=((a=r.options)==null?void 0:a.url)||r.url;return _t(n==="3DTILES"&&i),r.headers={Authorization:`Bearer ${r.accessToken||e}`},r}async function ITt(e){_t(e);let t=mye,r={Authorization:`Bearer ${e}`},n=await sa(t,{headers:r});if(!n.ok)throw new Error(n.statusText);return await n.json()}async function PTt(e,t){_t(e,t);let r={Authorization:`Bearer ${e}`},n=`${mye}/${t}`,i=await sa(`${n}`,{headers:r});if(!i.ok)throw new Error(i.statusText);let a=await i.json();if(i=await sa(`${n}/endpoint`,{headers:r}),!i.ok)throw new Error(i.statusText);let o=await i.json();return a={...a,...o},a}async function RTt(e,t={}){t=t["cesium-ion"]||{};let{accessToken:r}=t,n=t.assetId;if(!Number.isFinite(n)){let i=e.match(/\/([0-9]+)\/tileset.json/);n=i&&i[1]}return gye(r,n)}var g8={...Uu,id:"cesium-ion",name:"Cesium Ion",preload:RTt,parse:async(e,t,r)=>(t={...t},t["3d-tiles"]=t["cesium-ion"],t.loader=g8,Uu.parse(e,t,r)),options:{"cesium-ion":{...Uu.options["3d-tiles"],accessToken:null}}};var Twe=Dt(Ewe(),1),t4t="4.4.0-alpha.11",tN={dataType:null,batchType:null,id:"zip",module:"zip",name:"Zip Archive",version:t4t,extensions:["zip"],mimeTypes:["application/zip"],category:"archive",tests:["PK"],options:{},parse:r4t};async function r4t(e,t={}){let r=[],n={};try{let i=new Twe.default;return(await i.loadAsync(e,t)).forEach((o,s)=>{let u=s.name,c=n4t(i,u,t).then(l=>{n[o]=l});r.push(c)}),await Promise.all(r),n}catch(i){throw t.log.error(`Unable to read zip archive: ${i}`),i}}async function n4t(e,t,r={}){try{return await e.file(t).async(r.dataType||"arraybuffer")}catch(n){return r.log.error(`Unable to read ${t} from zip archive: ${n}`),n}}function g1(e){return typeof e=="bigint"?e:BigInt(e)}function kwe(e){let t=Number(e);if(!Number.isFinite(t))throw new Error("Offset is out of bounds");return t}function Swe(e,t){return e<0?Math.max(t+e,0):Math.min(e,t)}async function Xr(e,t,r){let n=g1(t),a=g1(r)-n;if(a<0)throw new Error("Invalid range requested");return await e.read(n,kwe(a))}async function Jp(e,t,r){let n=await Xr(e,t,r);return new DataView(n)}async function Cwe(e,t){return(await Jp(e,t,g1(t)+2n)).getUint16(0,!0)}async function rN(e,t){return(await Jp(e,t,g1(t)+4n)).getUint32(0,!0)}async function b1(e,t){return(await Jp(e,t,g1(t)+8n)).getBigUint64(0,!0)}async function x1(e){if(e.bigsize>0n)return e.bigsize;if(e.size>0)return BigInt(e.size);if(e.stat){let t=await e.stat();if((t==null?void 0:t.bigsize)!==void 0)return t.bigsize;if((t==null?void 0:t.size)!==void 0)return BigInt(t.size)}return 0n}var v1=class{handle;size;bigsize;url;constructor(t,r=""){this.handle=t,this.size=t.byteLength,this.bigsize=BigInt(t.byteLength),this.url=r}async close(){}async stat(){return{size:this.size,bigsize:this.bigsize,isDirectory:!1}}async read(t=0,r){let n=kwe(t),i=r?n+r:this.size,a=Swe(n,this.size),o=Swe(i,this.size),u=Math.max(o,a)-a;return u<=0?new ArrayBuffer(0):$l(this.handle.buffer,a,u)}};var i4t=1024,Xp=async(e,t)=>{let r=await x1(e),n=new Uint8Array(await Xr(e,r-3n,r+1n)),i=[n[3],n[2],n[1],void 0],a=-1,o=r-4n;do{let s=o;o-=BigInt(i4t),o=o>=0n?o:0n;let u=new Uint8Array(await Xr(e,o,s));for(let c=u.length-1;c>-1;c--)if(i[3]=i[2],i[2]=i[1],i[1]=i[0],i[0]=u[c],i.every((l,f)=>l===t[f])){a=c;break}}while(a===-1&&o>0n);return o+BigInt(a)};var a4t=new Uint8Array([1,0]);function s4(e){let t={...e,zip64Length:(e.offset?1:0)*8+(e.size?1:0)*16},r=[];for(let n of o4t){if(!t[n.name??""]&&!n.default)continue;let i=new DataView(new ArrayBuffer(n.size));Dwe[n.size](i,0,t[n.name??""]??n.default),r.push(i.buffer)}return bn(...r)}function ki(e,t,r,n){Dwe[t](e,Number(r),n)}var Dwe={2:(e,t,r)=>{e.setUint16(t,Number(r>65535?65535:r),!0)},4:(e,t,r)=>{e.setUint32(t,Number(r>4294967295?4294967295:r),!0)},8:(e,t,r)=>{e.setBigUint64(t,BigInt(r),!0)}},o4t=[{size:2,default:new DataView(a4t.buffer).getUint16(0,!0)},{size:2,name:"zip64Length"},{size:8,name:"size"},{size:8,name:"size"},{size:8,name:"offset"}];var Bwe=new Uint8Array([80,75,5,6]),Fwe=new Uint8Array([80,75,6,7]),Owe=new Uint8Array([80,75,6,6]),Iwe=8n,s4t=10n,Pwe=12n,Rwe=16n,u4t=22n,jwe=8n,Mwe=24n,c4t=32n,Lwe=40n,qwe=48n,l4t=56n,u4=async e=>{let t=await Xp(e,Bwe),r=BigInt(await Cwe(e,t+Iwe)),n=BigInt(await rN(e,t+Pwe)),i=BigInt(await rN(e,t+Rwe)),a=t-20n,o=0n,s=await Xr(e,a,a+4n);if(pu(s,Fwe.buffer)){o=await b1(e,a+jwe);let u=await Xr(e,o,o+4n);if(!pu(u,Owe.buffer))throw new Error("zip64 EoCD not found");r=await b1(e,o+Mwe),n=await b1(e,o+Lwe),i=await b1(e,o+qwe)}else a=0n;return{cdRecordsNumber:r,cdStartOffset:i,cdByteSize:n,offsets:{zip64EoCDOffset:o,zip64EoCDLocatorOffset:a,zipEoCDOffset:t}}};function Nwe(e,t,r,n,i){let a=new DataView(e),o=t.zip64EoCDOffset?t.zipEoCDOffset-t.zip64EoCDOffset:0n;if(Number(i)<=65535&&(ki(a,2,o+Iwe,i),ki(a,2,o+s4t,i)),n-r<=4294967295&&ki(a,4,o+Pwe,n-r),r<4294967295&&ki(a,4,o+Rwe,r),t.zip64EoCDLocatorOffset&&t.zip64EoCDOffset){let s=t.zip64EoCDLocatorOffset-t.zip64EoCDOffset;ki(a,8,s+jwe,n),ki(a,8,qwe,r),ki(a,8,Mwe,i),ki(a,8,c4t,i),ki(a,8,Lwe,n-r)}return new Uint8Array(a.buffer)}function Uwe(e){let t=new DataView(new ArrayBuffer(Number(u4t)));for(let i of f4t)ki(t,i.size,i.offset,e[i.name??""]??i.default??0);let r=p4t(e),n=d4t(e);return bn(n,r,t.buffer)}var f4t=[{offset:0,size:4,default:new DataView(Bwe.buffer).getUint32(0,!0)},{offset:4,size:2,default:0},{offset:6,size:2,default:0},{offset:8,size:2,name:"recordsNumber"},{offset:10,size:2,name:"recordsNumber"},{offset:12,size:4,name:"cdSize"},{offset:16,size:4,name:"cdOffset"},{offset:20,size:2,default:0}];function d4t(e){let t=new DataView(new ArrayBuffer(Number(l4t)));for(let r of m4t)ki(t,r.size,r.offset,e[r.name??""]??r.default??0);return t.buffer}function p4t(e){let t=new DataView(new ArrayBuffer(Number(20)));for(let r of h4t)ki(t,r.size,r.offset,e[r.name??""]??r.default??0);return t.buffer}var h4t=[{offset:0,size:4,default:new DataView(Fwe.buffer).getUint32(0,!0)},{offset:4,size:4,default:0},{offset:8,size:8,name:"eoCDStart"},{offset:16,size:4,default:1}],m4t=[{offset:0,size:4,default:new DataView(Owe.buffer).getUint32(0,!0)},{offset:4,size:8,default:44},{offset:12,size:2,default:45},{offset:14,size:2,default:45},{offset:16,size:4,default:0},{offset:20,size:4,default:0},{offset:24,size:8,name:"recordsNumber"},{offset:32,size:8,name:"recordsNumber"},{offset:40,size:8,name:"cdSize"},{offset:48,size:8,name:"cdOffset"}];var g4t=20,v4t=24,b4t=28,x4t=30,y4t=32,_4t=42,y1=46n,Qp=new Uint8Array([80,75,1,2]),Yp=async(e,t)=>{let r=await x1(t);if(e>=r)return null;let n=await Jp(t,e,e+y1),i=n.buffer.slice(0,4);if(!pu(i,Qp.buffer))return null;let a=BigInt(n.getUint32(g4t,!0)),o=BigInt(n.getUint32(v4t,!0)),s=n.getUint16(x4t,!0),u=BigInt(n.getUint16(y4t,!0)),c=n.getUint16(b4t,!0),l=await Xr(t,e+y1,e+y1+BigInt(c+s)),f=l.slice(0,c),d=new TextDecoder().decode(f),p=e+y1+BigInt(c),h=n.getUint32(_4t,!0),m=BigInt(h),g=new DataView(l.slice(c,l.byteLength)),x={uncompressedSize:o,compressedSize:a,localHeaderOffset:m,startDisk:u},y=w4t(x,g);return{...x,...y,extraFieldLength:s,fileNameLength:c,fileName:d,extraOffset:p}};async function*Ju(e){let{cdStartOffset:t,cdByteSize:r}=await u4(e),n=new v1(new DataView(await Xr(e,t,t+r))),i=await Yp(0n,n);for(;i;)yield i,i=await Yp(i.extraOffset+BigInt(i.extraFieldLength),n)}var Gwe=(...e)=>e[0]+e[1]*16,w4t=(e,t)=>{let r=A4t(e),n={};if(r.length>0){let i=r.reduce((s,u)=>s+u.length,0),a=new Uint8Array(t.buffer).findIndex((s,u,c)=>Gwe(c[u],c[u+1])===1&&Gwe(c[u+2],c[u+3])===i),o=0;for(let s of r){let u=o;n[s.name]=t.getBigUint64(a+4+u,!0),o=u+s.length}}return n},A4t=e=>{let t=[];return e.uncompressedSize===BigInt(4294967295)&&t.push({name:"uncompressedSize",length:8}),e.compressedSize===BigInt(4294967295)&&t.push({name:"compressedSize",length:8}),e.localHeaderOffset===BigInt(4294967295)&&t.push({name:"localHeaderOffset",length:8}),e.startDisk===BigInt(4294967295)&&t.push({name:"startDisk",length:4}),t};function nN(e){let t={...e,fnlength:e.fileName.length,extraLength:0},r=new ArrayBuffer(0),n={};t.offset>=4294967295&&(n.offset=t.offset,t.offset=BigInt(4294967295)),t.length>=4294967295&&(n.size=t.length,t.length=4294967295),Object.keys(n).length&&(r=s4(n),t.extraLength=r.byteLength);let i=new DataView(new ArrayBuffer(Number(y1)));for(let s of E4t)ki(i,s.size,s.offset,t[s.name??""]??s.default??0);let a=new TextEncoder().encode(t.fileName);return bn(i.buffer,a,r)}var E4t=[{offset:0,size:4,default:new DataView(Qp.buffer).getUint32(0,!0)},{offset:4,size:2,default:45},{offset:6,size:2,default:45},{offset:8,size:2,default:0},{offset:10,size:2,default:0},{offset:12,size:2,default:0},{offset:14,size:2,default:0},{offset:16,size:4,name:"crc32"},{offset:20,size:4,name:"length"},{offset:24,size:4,name:"length"},{offset:28,size:2,name:"fnlength"},{offset:30,size:2,default:0,name:"extraLength"},{offset:32,size:2,default:0},{offset:34,size:2,default:0},{offset:36,size:2,default:0},{offset:38,size:4,default:0},{offset:42,size:4,name:"offset"}];var T4t=8,S4t=18,k4t=22,C4t=26,D4t=28,_1=30n,iN=new Uint8Array([80,75,3,4]),Os=async(e,t)=>{let r=await Jp(t,e,e+_1),n=r.buffer.slice(0,4);if(!pu(n,iN.buffer))return null;let i=r.getUint16(C4t,!0),a=r.getUint16(D4t,!0),o=await Xr(t,e+_1,e+_1+BigInt(i+a)),s=o.slice(0,i),u=new DataView(o.slice(i,o.byteLength)),c=new TextDecoder().decode(s).split("\\").join("/"),l=e+_1+BigInt(i+a),f=r.getUint16(T4t,!0),d=BigInt(r.getUint32(S4t,!0)),p=BigInt(r.getUint32(k4t,!0)),h=4;return p===BigInt(4294967295)&&(p=u.getBigUint64(h,!0),h+=8),d===BigInt(4294967295)&&(d=u.getBigUint64(h,!0),h+=8),l===BigInt(4294967295)&&(l=u.getBigUint64(h,!0)),{fileNameLength:i,fileName:c,extraFieldLength:a,fileDataOffset:l,compressedSize:d,compressionMethod:f}};function aN(e){let t={...e,extraLength:0,fnlength:e.fileName.length},r=new ArrayBuffer(0),n={};t.length>=4294967295&&(n.size=t.length,t.length=4294967295),Object.keys(n).length&&(r=s4(n),t.extraLength=r.byteLength);let i=new DataView(new ArrayBuffer(Number(_1)));for(let s of B4t)ki(i,s.size,s.offset,t[s.name??""]??s.default??0);let a=new TextEncoder().encode(t.fileName);return bn(i.buffer,a,r)}var B4t=[{offset:0,size:4,default:new DataView(iN.buffer).getUint32(0,!0)},{offset:4,size:2,default:45},{offset:6,size:2,default:0},{offset:8,size:2,default:0},{offset:10,size:2,default:0},{offset:12,size:2,default:0},{offset:14,size:4,name:"crc32"},{offset:18,size:4,name:"length"},{offset:22,size:4,name:"length"},{offset:26,size:2,name:"fnlength"},{offset:28,size:2,default:0,name:"extraLength"}];async function F4t(e){let t=await u4(e),r=t.cdStartOffset,n=(await e.stat()).bigsize,i=Number(t.offsets.zip64EoCDOffset?t.offsets.zip64EoCDOffset-r:t.offsets.zipEoCDOffset-r),a=await Xr(e,r,n);await e.truncate(Number(r));let o=a.slice(0,i),s=a.slice(i,a.byteLength);return[o,s,t]}async function Hwe(e,t,r){let n=parseInt(await new Ub().hash(t,"hex"),16),i=aN({crc32:n,fileName:e,length:t.byteLength}),a=nN({crc32:n,fileName:e,offset:r,length:t.byteLength});return[new Uint8Array(bn(i,t)),new Uint8Array(a)]}async function oN(e,t,r){let n=new Hi(e,"a+"),[i,a,o]=await F4t(n),s=(await n.stat()).bigsize,u=s,[c,l]=await Hwe(r,t,u);await n.append(c),s+=BigInt(c.byteLength);let f=bn(i,l),d=s;await n.append(new Uint8Array(f)),s+=BigInt(f.byteLength);let p=s,h=Nwe(a,o.offsets,d,p,o.cdRecordsNumber+1n);await n.append(h),s+=BigInt(h.byteLength)}async function sN(e,t,r){let n=O4t(e),i=new Hi(t,"w"),a=[],o=[];for await(let l of n)await zwe(l,i,o,a);if(r){let l=await r(a);await zwe(l,i,o)}let s=(await i.stat()).bigsize,u=bn(...o);await i.append(new Uint8Array(u));let c=(await i.stat()).bigsize;await i.append(new Uint8Array(Uwe({recordsNumber:o.length,cdSize:u.byteLength,cdOffset:s,eoCDStart:c})))}async function zwe(e,t,r,n){let i=(await t.stat()).bigsize;n==null||n.push({fileName:e.path,localHeaderOffset:i});let[a,o]=await Hwe(e.path,e.file,i);await t.append(a),r.push(Kn(o))}function O4t(e){async function*t(){let r=await Vwe(e);for(let n of r){let i=await(await sa(wa.join(e,n))).arrayBuffer();yield{path:n,file:i}}}return t()}async function Vwe(e,t="",r){let n=r||new Nb({}),i=await n.readdir(c4(e,t)),a=[];for(let o of i){let s=c4(e,t,o);if((await n.stat(s)).isDirectory){let u=await Vwe(e,c4(t,o));a.push(...u)}else a.push(c4(t,o))}return a}function c4(...e){let t=e.filter(r=>r.length);return wa.join(...t)}var $g=class{constructor(t){this.compressBatches=this.compressBatches.bind(this),this.decompressBatches=this.decompressBatches.bind(this)}async preload(t={}){u0(t)}async compress(t){return await this.preload(),this.compressSync(t)}async decompress(t,r){return await this.preload(),this.decompressSync(t,r)}compressSync(t){throw new Error(`${this.name}: sync compression not supported`)}decompressSync(t,r){throw new Error(`${this.name}: sync decompression not supported`)}async*compressBatches(t){let r=await this.concatenate(t);yield this.compress(r)}async*decompressBatches(t){let r=await this.concatenate(t);yield this.decompress(r)}concatenate(t){return Md(t)}improveError(t){return t.message.includes(this.name)||(t.message=`${this.name} ${t.message}`),t}};var w1=class extends $g{name="uncompressed";extensions=[];contentEncodings=[];isSupported=!0;options;constructor(t){super(t),this.options=t||{}}compressSync(t){return t}decompressSync(t){return t}async*compressBatches(t){return yield*t}async*decompressBatches(t){return yield*t}};var Zp=Dt(Gq(),1),cl=Dt(require("zlib"),1),ll=class extends $g{name="deflate";extensions=[];contentEncodings=["deflate"];isSupported=!0;options;_chunks=[];constructor(t={}){super(t),this.options=t}async compress(t){var r,n;if(!dr&&((r=this.options.deflate)!=null&&r.useZlib)){let i=(n=this.options.deflate)!=null&&n.gzip?await d0(cl.default.gzip)(t):await d0(cl.default.deflate)(t);return Kn(i)}return this.compressSync(t)}async decompress(t){var r,n;if(!dr&&((r=this.options.deflate)!=null&&r.useZlib)){let i=(n=this.options.deflate)!=null&&n.gzip?await d0(cl.default.gunzip)(t):await d0(cl.default.inflate)(t);return Kn(i)}return this.decompressSync(t)}compressSync(t){var a,o,s,u;if(!dr&&((a=this.options.deflate)!=null&&a.useZlib)){let c=(o=this.options.deflate)!=null&&o.gzip?cl.default.gzipSync(t):cl.default.deflateSync(t);return Kn(c)}let r=((s=this.options)==null?void 0:s.deflate)||{},n=new Uint8Array(t),i=(u=this.options)!=null&&u.raw?Zp.default.deflateRaw:Zp.default.deflate;return Kn(i(n,r).buffer)}decompressSync(t){var a,o,s,u;if(!dr&&((a=this.options.deflate)!=null&&a.useZlib)){let c=(o=this.options.deflate)!=null&&o.gzip?cl.default.gunzipSync(t):cl.default.inflateSync(t);return Kn(c)}let r=((s=this.options)==null?void 0:s.deflate)||{},n=new Uint8Array(t),i=(u=this.options)!=null&&u.raw?Zp.default.inflateRaw:Zp.default.inflate;return Kn(i(n,r).buffer)}async*compressBatches(t){var i;let r=((i=this.options)==null?void 0:i.deflate)||{},n=new Zp.default.Deflate(r);yield*this.transformBatches(n,t)}async*decompressBatches(t){var i;let r=((i=this.options)==null?void 0:i.deflate)||{},n=new Zp.default.Inflate(r);yield*this.transformBatches(n,t)}async*transformBatches(t,r){t.onData=this._onData.bind(this),t.onEnd=this._onEnd.bind(this);for await(let o of r){let s=new Uint8Array(o);if(!t.push(s,!1))throw new Error(`${this._getError()}write`);yield*this._getChunks()}let n=new Uint8Array(0),i=t.push(n,!0);yield*this._getChunks()}_onData(t){this._chunks.push(t)}_onEnd(t){if(t!==0)throw new Error(this._getError(t)+this._chunks.length)}_getChunks(){let t=this._chunks;return this._chunks=[],t}_getError(t=0){let r={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};return`${this.name}: ${r[t]}`}};var A1=class extends ll{name="gzip";extensions=["gz","gzip"];contentEncodings=["gzip","x-gzip"];isSupported=!0;constructor(t){super({...t,deflate:{...t==null?void 0:t.gzip,gzip:!0}})}};var $we={0:async e=>e,8:async e=>await new ll({raw:!0}).decompress(e)},fl=class{file=null;fileName;archive=null;constructor(t){if(typeof t=="string"){if(this.fileName=t,dr)throw new Error("ZipFileSystem cannot open file paths in browser environments");this.file=new Hi(t)}else t instanceof Blob||t instanceof ArrayBuffer?this.file=new Lb(t):t instanceof dl?(this.file=t.file,this.archive=t,this.fileName=t.fileName):this.file=t}async destroy(){this.file&&await this.file.close()}async readdir(){if(!this.file)throw new Error("No data detected in the zip archive");let t=[],r=Ju(this.file);for await(let n of r)t.push(n.fileName);return t}async stat(t){let r=await this.getCDFileHeader(t);return{...r,size:Number(r.uncompressedSize)}}async fetch(t){this.fileName&&t.indexOf(this.fileName)===0&&(t=t.substring(this.fileName.length+1));let r;if(this.archive)r=await this.archive.getFile(t,"http");else{if(!this.file)throw new Error("No data detected in the zip archive");let i=await this.getCDFileHeader(t),a=await Os(i.localHeaderOffset,this.file);if(!a)throw new Error("Local file header has not been found in the zip archive`");let o=$we[a.compressionMethod.toString()];if(!o)throw Error("Only Deflation compression is supported");let s=await Xr(this.file,a.fileDataOffset,a.fileDataOffset+a.compressedSize);r=await o(s)}let n=new Response(r);return Object.defineProperty(n,"url",{value:t?`${this.fileName||""}/${t}`:this.fileName||""}),n}async getCDFileHeader(t){if(!this.file)throw new Error("No data detected in the zip archive");let r=Ju(this.file),n=null;for await(let i of r)if(i.fileName===t){n=i;break}if(!n)throw new Error("File has not been found in the zip archive");return n}};var dl=class{file;fileName;constructor(t,r,n){this.file=t,this.fileName=n}async getFileWithoutHash(t){return await(await new fl(this.file).fetch(t)).arrayBuffer()}};function E1(e){let t=new DataView(e),r={};for(let n=0;n<e.byteLength;n=n+24){let i=t.getBigUint64(n+16,!0),a=I4t(e,n,16);r[a]=i}return r}function I4t(e,t,r){return[...new Uint8Array(e,t,r)].map(n=>n.toString(16).padStart(2,"0")).join("")}async function uN(e){let t=Ju(e);return P4t(t)}async function P4t(e){let t=new gu,r=new TextEncoder,n={};for await(let i of e){let a=i.fileName.split("\\").join("/").toLocaleLowerCase(),o=r.encode(a).buffer,s=await t.hash(o,"hex");n[s]=i.localHeaderOffset}return n}async function T1(e){let t=new gu,r=new TextEncoder,n=[];for await(let a of e){let o=a.fileName.split("\\").join("/");o!=="3dSceneLayer.json.gz"&&(o=o.toLocaleLowerCase());let s=r.encode(o).buffer,u=await t.hash(s,"hex");n.push(bn(j4t(u),M4t(a.localHeaderOffset)))}let i=n.sort(R4t);return hw(i)}function R4t(e,t){let r=new BigUint64Array(e),n=new BigUint64Array(t);return Number(r[0]===n[0]?r[1]-n[1]:r[0]-n[0])}function j4t(e){var r;let t=(r=e.match(/../g))==null?void 0:r.map(n=>parseInt(n,16));return new Uint8Array(t??new Array(16)).buffer}function M4t(e){return new BigUint64Array([e]).buffer}var L4t={0:e=>new w1().decompress(e),8:e=>new ll({raw:!0}).decompress(e)},S1=class extends dl{hashTable;constructor(t,r,n){super(t,r,n),this.hashTable=r}async getFile(t){let r=await this.getFileBytes(t.toLocaleLowerCase());if(r||(r=await this.getFileBytes(t)),!r)throw new Error(`No such file in the archive: ${t}`);return r}async getFileBytes(t){let r;if(this.hashTable){let n=new TextEncoder().encode(t).buffer,i=await new gu().hash(n,"hex"),a=this.hashTable[i];if(a===void 0)return null;let o=await Os(a,this.file);if(!o)return null;let s=await Xr(this.file,o.fileDataOffset,o.fileDataOffset+o.compressedSize),u=L4t[o.compressionMethod];if(!u)throw Error("Only Deflation compression is supported");r=await u(s)}else r=await this.getFileWithoutHash(t);return r}};function Qf(e,t,r){if(!t)return r+12;let{magic:i,version:a=1,byteLength:o=12}=e;return _t(Array.isArray(i)&&Number.isFinite(a)&&Number.isFinite(o)),t.setUint8(r+0,i[0]),t.setUint8(r+1,i[1]),t.setUint8(r+2,i[2]),t.setUint8(r+3,i[3]),t.setUint32(r+4,a,!0),t.setUint32(r+8,o,!0),r+=12,r}function Zf(e,t,r){e&&e.setUint32(t+8,r,!0)}function Wwe(e,t,r,n,i){e={magic:Mf.COMPOSITE,tiles:[],...e};let a=r;r+=Qf(e,t,r),t&&t.setUint32(r,e.tiles.length,!0),r+=4;for(let o=0;o<e.tiles.length;++o)r+=i(e.tiles[o],t,r,n);return Zf(t,a,r-a),r}function Kwe(e,t,r,n){let{featuresLength:i=0,batchTable:a}=e,s=JSON.stringify({BATCH_LENGTH:i}),u=a?JSON.stringify(a):"",c=Ja(s.length,8),l=u?Ja(u.length,8):0;e={magic:Mf.BATCHED_MODEL,...e};let f=r;r=Qf(e,t,r),t&&(t.setUint32(12,c,!0),t.setUint32(16,0,!0),t.setUint32(20,l,!0),t.setUint32(24,0,!0)),r+=16,r=f0(t,r,s,8),a&&(r=f0(t,r,u,8));let d=e.gltfEncoded;return d&&(r=jb(t,r,d,d.byteLength)),Zf(t,f,r-f),r}function Jwe(e,t,r,n){let{featuresLength:i=1,gltfFormat:a=1,gltfUri:o=""}=e,s=o.length,u={INSTANCES_LENGTH:i,POSITION:new Array(i*3).fill(0)},c=JSON.stringify(u),l=c.length;e={magic:Mf.INSTANCED_MODEL,...e};let f=r;return r=Qf(e,t,0),t&&(t.setUint32(12,l,!0),t.setUint32(16,0,!0),t.setUint32(20,0,!0),t.setUint32(24,0,!0),t.setUint32(28,a,!0)),r+=20,r+=l0(t,r,c,l),r+=l0(t,r,o,s),Zf(t,f,r-f),r}var q4t={POINTS_LENGTH:1,POSITIONS:{byteOffset:0}};function Xwe(e,t,r,n){let{featureTableJson:i=q4t}=e,a=JSON.stringify(i);a=JB(a,4);let{featureTableJsonByteLength:o=a.length}=e,s=new ArrayBuffer(12),u=s.byteLength;e={magic:Mf.POINT_CLOUD,...e};let c=r;return r+=Qf(e,t,0),t&&(t.setUint32(r+0,o,!0),t.setUint32(r+4,u,!0),t.setUint32(r+8,0,!0),t.setUint32(r+12,0,!0)),r+=16,r+=l0(t,r,a,o),r+=jb(t,r,s,u),Zf(t,c,r-c),r}function lN(e,t){let r=cN(e,null,0,t),n=new ArrayBuffer(r),i=new DataView(n);return cN(e,i,0,t),n}function cN(e,t,r,n){switch(_t(typeof e.type=="string"),e.type){case pi.COMPOSITE:return Wwe(e,t,r,n,cN);case pi.POINT_CLOUD:return Xwe(e,t,r,n);case pi.BATCHED_3D_MODEL:return Kwe(e,t,r,n);case pi.INSTANCED_3D_MODEL:return Jwe(e,t,r,n);default:throw new Error("3D Tiles: unknown tile type")}}var fN={name:"3D Tile",id:"3d-tiles",module:"3d-tiles",version:Zm,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],binary:!0,options:{["3d-tiles"]:{}},encode:async(e,t)=>Ywe(e,t),encodeSync:Ywe};function Ywe(e,t){return lN(e,t)}var Jo=require("path");var Qwe=Dt(require("crypto")),f4=new Uint8Array(256),l4=f4.length;function dN(){return l4>f4.length-16&&(Qwe.default.randomFillSync(f4),l4=0),f4.slice(l4,l4+=16)}var Ci=[];for(let e=0;e<256;++e)Ci.push((e+256).toString(16).slice(1));function Zwe(e,t=0){return Ci[e[t+0]]+Ci[e[t+1]]+Ci[e[t+2]]+Ci[e[t+3]]+"-"+Ci[e[t+4]]+Ci[e[t+5]]+"-"+Ci[e[t+6]]+Ci[e[t+7]]+"-"+Ci[e[t+8]]+Ci[e[t+9]]+"-"+Ci[e[t+10]]+Ci[e[t+11]]+Ci[e[t+12]]+Ci[e[t+13]]+Ci[e[t+14]]+Ci[e[t+15]]}var eAe=Dt(require("crypto")),pN={randomUUID:eAe.default.randomUUID};function N4t(e,t,r){if(pN.randomUUID&&!t&&!e)return pN.randomUUID();e=e||{};let n=e.random||(e.rng||dN)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){r=r||0;for(let i=0;i<16;++i)t[r+i]=n[i];return t}return Zwe(n)}var Xu=N4t;var dh=Dt(require("process"),1),ak=Dt(Is(),1),ok=Dt(gN(),1);var h4=require("path"),gAe=Dt(Is(),1);var dAe=()=>({folderPattern:{path:"folderPattern",default:"BASIC"},archiveCompressionType:{path:"archiveCompressionType",default:"STORE"},resourceCompressionType:{path:"resourceCompressionType",default:"GZIP"},I3SVersion:{path:"I3SVersion",default:"1.8"},nodeCount:{path:"nodeCount"}});var eh=require("fs"),Wg=require("path");var pAe=require("zlib"),d4=require("fs");function p4(e){let t=`${e}.gz`,r=(0,pAe.createGzip)(),n=(0,d4.createReadStream)(e),i=(0,d4.createWriteStream)(t);return new Promise((a,o)=>{n.on("end",()=>{console.log(`${t} compressed and saved.`),a(t)}),n.on("error",s=>{console.log(`${t}: compression error!`),o(s)}),n.pipe(r).pipe(i)})}async function Ia(e,t,r="index.json"){let n;t instanceof Promise?n=new Uint8Array(await t):t instanceof ArrayBuffer?n=new Uint8Array(t):n=t,await eh.promises.mkdir(e,{recursive:!0});let i=(0,Wg.join)(e,r);try{await eh.promises.writeFile(i,n)}catch(a){throw a}return console.log(`${i} saved.`),i}async function Yu(e,t,r="index.json",n=!0,i){let a=await Ia(e,t,r);if(n){if(i)return i.includes(a)?null:(i.push(a),`${a}.gz`);let o=await p4(a);return await B1(a),o}return a}async function Kg(e,t){return new Promise((r,n)=>{let i=0;console.log(`load ${e}/${t}.`);let a=setInterval(()=>{let o=(0,Wg.join)(e,t);Kr(o,XB).then(s=>{clearInterval(a),r(s)}).catch(()=>{i++,i>100&&(clearInterval(a),n(new Error(`Cannon load ${e}/${t}.`)))})},200)})}async function C1(e){try{return await eh.promises.stat(e),!0}catch{return!1}}function D1(e){return eh.promises.rm(e,{recursive:!0})}function B1(e){return eh.promises.unlink(e)}function hAe(e){return(0,Wg.isAbsolute)(e)?e:(0,Wg.join)(process.cwd(),e)}async function mAe(e,t){try{await eh.promises.rename(e,t)}catch(r){console.log("Can't rename file",r)}}var Di=class{nodesPerPage;nodesCounter;writeFile;converter;nodePages;length=0;constructor(t,r,n){this.nodesPerPage=r,this.nodesCounter=0,this.nodePages=[{}],this.nodePages[0].nodes=[],this.writeFile=t,this.converter=n,this.length=0}useWriteFunction(t){this.writeFile=t}getNodePageFileName(t){let r=(0,h4.join)(this.converter.layers0Path,"nodepages"),n=`${t.toString()}.json`;return{filePath:r,fileName:n}}async loadNodePage(t){let{filePath:r,fileName:n}=this.getNodePageFileName(t),i=(0,h4.join)(r,n);return await C1(i)?(console.log(`load ${i}.`),await Kg(r,n)):{nodes:[]}}getPageIndexByNodeId(t){return Math.floor(t/this.nodesPerPage)}async getPageByNodeId(t){let r=this.getPageIndexByNodeId(t);return this.converter.options.instantNodeWriting?await this.loadNodePage(r):this.nodePages[r]}async getNodeById(t,r){let n=t%this.nodesPerPage;return r=r||await this.getPageByNodeId(t),r.nodes[n]}async addChildRelation(t,r){var i;if(t==null)return;let n=await this.getNodeById(t);(i=n.children)==null||i.push(r),await this.saveNode(n)}async push(t,r){if(t.index=this.nodesCounter++,!this.converter.options.instantNodeWriting){let n=this.nodePages[this.nodePages.length-1];n.nodes.length===this.nodesPerPage&&(n={nodes:[]},this.nodePages.push(n)),n.nodes.push(t)}return await this.addChildRelation(r,t.index),Di.updateResourceInMesh(t),await this.saveNode(t),t}async saveNode(t){if(!this.converter.options.instantNodeWriting)return;let r=this.getPageIndexByNodeId(t.index),n=await this.getPageByNodeId(t.index),{filePath:i,fileName:a}=this.getNodePageFileName(r),o=await this.getNodeById(t.index,n);o?Di.updateAll(o,t):n.nodes.push(t);let s=JSON.stringify(n);await this.converter.writeQueue.enqueue({archiveKey:`nodePages/${r.toString()}.json.gz`,writePromise:()=>this.writeFile(i,s,a,!0,this.converter.compressList)},!0)}async saveMetadata(){let t=(0,gAe.default)({nodeCount:this.nodesCounter},dAe()),r=!1;await this.converter.writeQueue.enqueue({archiveKey:"metadata.json",writePromise:()=>this.writeFile(this.converter.layers0Path,JSON.stringify(t),"metadata.json",r)})}async save(){if(this.converter.options.instantNodeWriting){await this.saveMetadata();return}for(let[t,r]of this.nodePages.entries()){let n=JSON.stringify(r),i=(0,h4.join)(this.converter.layers0Path,"nodepages");await this.converter.writeQueue.enqueue({archiveKey:`nodePages/${t.toString()}.json.gz`,writePromise:()=>this.writeFile(i,n,`${t.toString()}.json`)})}await this.saveMetadata()}static updateResourceInMesh(t){t.mesh&&isFinite(t.index)&&(t.mesh.geometry.resource=t.index)}static updateAll(t,r){return Object.assign(t,r,{index:t.index}),Di.updateResourceInMesh(t),t}static updateMaterialByNodeId(t,r){t.mesh&&(t.mesh.material={definition:r,resource:t.index})}static updateVertexCountByNodeId(t,r){t.mesh&&(t.mesh.geometry.vertexCount=r)}static updateNodeAttributeByNodeId(t){!t.mesh||!t.index||(t.mesh.attribute.resource=t.index)}static updateFeatureCountByNodeId(t,r){t.mesh&&(t.mesh.geometry.featureCount=r)}static updateTexelCountHintByNodeId(t,r){!t.mesh||!t.mesh.material||(t.mesh.material.texelCountHint=r)}};var F1=require("path"),m4=require("fs");function Jg(e){if(typeof e=="number"){let a=Math.floor(e/1e3),o=e-a*1e3;return vAe(a,o)}let t=1e6,r=e[0],n=e[1]/t;return vAe(r,n)}function vAe(e,t){let r=Math.floor(e/3600);e=e-r*3600;let n=Math.floor(e/60);e=e-n*60;let i=Math.floor(e),a="";return r&&(a+=`${r}h `),n&&(a+=`${n}m `),i&&(a+=`${i}s`),a||(a+=`${Math.floor(t)}ms`),a}async function g4(e){let{slpk:t,outputPath:r,tilesetName:n}=e,i=hAe(r);try{if(t){let s=(0,F1.join)(i,`${n}.slpk`);return(await m4.promises.stat(s)).size}let a=(0,F1.join)(i,n);return await bAe(a)}catch(a){return console.log("Calculate file sizes error: ",a),null}}async function bAe(e){let t=0,r=await m4.promises.readdir(e);for(let n of r){let i=await m4.promises.stat((0,F1.join)(e,n));i.isDirectory()?t+=await bAe((0,F1.join)(e,n)):t+=i.size}return t}var jAe=require("module"),y4=require("path");var MAe=Dt(gN(),1);var th=3,Xg=9;function yAe(e){let{positions:t,normals:r,texCoords:n,colors:i,uvRegions:a,featureIndices:o}=e,s=t.length/Xg;if(!o.length)return{faceRange:new Uint32Array([0,s-1]),featureIds:[0],featureCount:1,positions:t,normals:r,texCoords:n,colors:i,uvRegions:a};let u=Y4t(o),c=Q4t({...u,...e}),l=Z4t(c);return ekt(l,u.featureCount)}function Y4t(e){let t=1,r=1,n=xAe(e.slice(0,th)),i=[],a=[],o=[n];i[0]=0,a[0]=n;for(let c=th;c<e.length;c+=th){let l=xAe(e.slice(c,c+th));n!==l&&(i[t]=c/th-1,i[t+1]=c/th,a[r]=l,o.includes(l)||o.push(l),t+=2,r+=1),n=l}i[t]=e.length/th-1;let s=new Uint32Array(i),u=o.length;return{faceRange:s,featureCount:u,featureIds:a}}function xAe(e){let t={},r=e[0],n=1;for(let i of e)t[i]=(t[i]||0)+1,n=n>t[i]?n:t[i],r=n>t[i]?r:i;return r}function Q4t(e){let{featureIds:t,positions:r,normals:n,colors:i,uvRegions:a,texCoords:o,faceRange:s=new Uint32Array(0)}=e,u=[],c=new Float32Array(r),l=new Float32Array(n),f=new Uint8Array(i),d=new Float32Array(o),p=new Uint16Array(a),h=0,m=0,g=0,x=0,y=0;for(let w=0;w<t.length;w++){let T=s[w*2],A=s[w*2+1],D=O1("positions",T,A),F=O1("normals",T,A),j=O1("colors",T,A),k=O1("uvRegions",T,A),I=O1("texCoords",T,A);u.push({featureId:t[w],positions:c.subarray(h,h+D),normals:l.subarray(m,m+F),colors:f.subarray(g,g+j),uvRegions:p.subarray(x,x+k),texCoords:d.subarray(y,y+I)}),h+=D,m+=F,g+=j,x+=k,y+=I}return u}function O1(e,t,r){let a=r-t+1,o=a*3;switch(e){case"positions":case"normals":return a*Xg;case"colors":case"uvRegions":return o*4;case"texCoords":return o*2;default:return 0}}function Z4t(e){let t=[];for(let n of e){let i=t.find(a=>a.featureId===n.featureId);i?i.attributes.push(n):t.push({featureId:n.featureId,attributes:[n]})}let r=[];for(let n of t){let i=_Ae(n.attributes);r.push({featureId:n.featureId,...i})}return r}function ekt(e,t){let n=[e[0].featureId||0],i=[0],a=0,o=0;for(let c=1;c<e.length;c++){let l=e[c];n.push(l.featureId||0);let f=e[a];i.push(f.positions.length/Xg-1+o),i.push(f.positions.length/Xg+o),o+=f.positions.length/Xg,a+=1}let s=_Ae(e);return i.push(s.positions.length/Xg-1),{faceRange:new Uint32Array(i),featureIds:n,featureCount:t,...s}}function _Ae(e){let t=e.map(({positions:f})=>f),r=t.length>1?Ka(...t):t[0],n=e.map(({normals:f})=>f),i=n.length>1?Ka(...n):n[0],a=e.map(({colors:f})=>f),o=a.length>1?Ka(...a):a[0],s=e.map(({texCoords:f})=>f),u=s.length>1?Ka(...s):s[0],c=e.map(({uvRegions:f})=>f),l=c.length>1?Ka(...c):c[0];return{positions:r,normals:i,colors:o,texCoords:u,uvRegions:l}}function v4(e,t){let r,n,i,a=Ot.WGS84.cartesianToCartographic(e.center,new Z);return t&&(a[2]=a[2]-t.getHeight(a[1],a[0])),e instanceof di?(n=e.halfSize,r=new Z(n[0],n[1],n[2]).len(),i=e.quaternion):(r=e.radius,n=[r,r,r],i=new Po().fromMatrix3(new ir([n[0],0,0,0,n[1],0,0,0,n[2]])).normalize()),{mbs:[a[0],a[1],a[2],r],obb:{center:[a[0],a[1],a[2]],halfSize:n,quaternion:i}}}function wAe(e,t){let r=tkt(e),n=_y(r),i=eL(r),a=Ot.WGS84.cartesianToCartographic(i.center,new Z),o=Ot.WGS84.cartesianToCartographic(n.center,new Z);return t&&(a[2]=a[2]-t.getHeight(a[1],a[0]),o[2]=o[2]-t.getHeight(o[1],o[0])),{mbs:[a[0],a[1],a[2],i.radius],obb:{center:o,halfSize:n.halfSize,quaternion:n.quaternion}}}function tkt(e){let t=[];for(let r=0;r<e.length;r+=3){let n=new Z([e[r],e[r+1],e[r+2]]);t.push(n)}return t}function AAe(e){let t;e instanceof ua?t=e:t=e.getBoundingSphere();let r=t.center,n=t.radius,i=Ot.WGS84.cartesianToCartographic(new Z(r[0]+n,r[1]+n,r[2]+n),new Z),a=Ot.WGS84.cartesianToCartographic(new Z(r[0]-n,r[1]-n,r[2]-n),new Z);return{xmin:Math.min(a[0],i[0]),xmax:Math.max(a[0],i[0]),ymin:Math.min(a[1],i[1]),ymax:Math.max(a[1],i[1]),zmin:Math.min(a[2],i[2]),zmax:Math.max(a[2],i[2])}}function vN(e){let t=e[3],r=new Z(e[0],e[1],e[2]),n=new ir([t,0,0,0,t,0,0,0,t]);return new di(r,n)}function EAe(e,t,r){var s,u,c,l,f,d,p,h;let n=((u=(s=e.gltf)==null?void 0:s.scene)==null?void 0:u.nodes)||((f=(l=(c=e.gltf)==null?void 0:c.scenes)==null?void 0:l[0])==null?void 0:f.nodes)||((d=e.gltf)==null?void 0:d.nodes)||[],i=((h=(p=e.gltf)==null?void 0:p.images)==null?void 0:h.map(m=>{var y,w;if((y=m==null?void 0:m.image)!=null&&y.compressed)return null;let g=(w=m==null?void 0:m.image)==null?void 0:w.data,x=new Uint8Array(g.length);return x.set(g),{data:x,compressed:!1,height:m.image.height,width:m.image.width,components:m.image.components,mimeType:m.mimeType}}))||[];TAe(n);let{cartographicOrigin:a,modelMatrix:o}=nkt(e,t,r);return{nodes:n,images:i,cartographicOrigin:a,cartesianModelMatrix:o}}function rkt(e){let t={};for(let r in e)t[r]={value:e[r].value};return t}function nkt(e,t,r){let{rtcCenter:n,gltfUpAxis:i}=e,{center:a}=r,o=new gr(t);switch(n&&o.translate(n),i){case"Z":break;case"Y":let c=new gr().rotateX(Math.PI/2);o=o.multiplyRight(c);break;case"X":let l=new gr().rotateY(-Math.PI/2);o=o.multiplyRight(l);break;default:break}let s=new Z(a),u=Ot.WGS84.cartesianToCartographic(s,new Z);return{modelMatrix:o,cartographicOrigin:u}}function TAe(e){var t;for(let r=0;r<e.length;r++){let n=e[r];n.mesh&&(e[r]={...n,mesh:{...n.mesh,primitives:(t=n.mesh)==null?void 0:t.primitives.map(i=>{var a,o,s;return{...i,indices:{value:(a=i==null?void 0:i.indices)==null?void 0:a.value},attributes:rkt(i.attributes),material:{id:(o=i==null?void 0:i.material)==null?void 0:o.id,uniqueId:(s=i==null?void 0:i.material)==null?void 0:s.uniqueId}}})}}),n.children&&TAe(n.children)}}function SAe(e,t){var n,i;let r=(i=(n=e.gltf)==null?void 0:n.extensions)==null?void 0:i[jo];if(!(r!=null&&r.featureTextures))return null;for(let a in r.featureTextures)if(r.featureTextures[a].class===t)return a;return null}function kAe(e,t,r,n){let i=t==null?void 0:t.extensions;if(!i)return[];for(let[a,o]of Object.entries(i||{}))switch(a){case jo:return akt(e,o,r,n);case $3:return ikt(e,o);default:return[]}return[]}function ikt(e,t){for(let r of t.featureIds)if(typeof r.propertyTable<"u")return r.data;return[]}function akt(e,t,r,n){var o,s,u,c,l,f,d;let i=(o=t==null?void 0:t.featureIdAttributes)==null?void 0:o[0];if((s=i==null?void 0:i.featureIds)!=null&&s.attribute)return e[i.featureIds.attribute].value;if((u=i==null?void 0:i.featureIds)!=null&&u.hasOwnProperty("constant")&&((c=i==null?void 0:i.featureIds)!=null&&c.hasOwnProperty("divisor"))){let p=((l=e==null?void 0:e.POSITIONS)==null?void 0:l.value.length)/3||0;return okt(p,i.featureIds.constant,i.featureIds.divisor)}let a=(t==null?void 0:t.featureIdTextures)&&(t==null?void 0:t.featureIdTextures[0]);if(a){let h=`TEXCOORD_${((d=(f=a==null?void 0:a.featureIds)==null?void 0:f.texture)==null?void 0:d.texCoord)||0}`,m=e[h].value;return skt(a,m,r)}return n?e[n].value:[]}function okt(e,t=0,r=0){let n=[];if(r>0){let i=t,a=r;for(let o=0;o<e;o++)n.push(i),a-=1,a===0&&(i++,a=r)}else n=Array(e).fill(t,0,e);return n}function skt(e,t,r){var c,l,f;if(!(r!=null&&r.length))return[];let n={r:0,g:1,b:2,a:3},i=(l=(c=e==null?void 0:e.featureIds)==null?void 0:c.texture)==null?void 0:l.index,a=(f=e==null?void 0:e.featureIds)==null?void 0:f.channels;if(!a||i===void 0)return[];let o=r[i],s=[],u=n[a];if(o&&(o!=null&&o.width)&&(o!=null&&o.height)&&(o!=null&&o.components))for(let d=0;d<t.length;d+=2){let p=t[d],h=t[d+1],m=Math.min(P3(p)*o.width|0,o.width-1),x=(Math.min(P3(h)*o.height|0,o.height-1)*o.width+m)*o.components+u,y=new Uint8Array(o.data)[x];s.push(y)}else console.warn(`Can't get batch Ids from ${(o==null?void 0:o.mimeType)||""} compressed texture`);return s}function CAe(e,t){let r={};for(let n in t){let i=t[n];r[n]=ukt(i,e)}return r}function ukt(e,t){let r=[];if(e)for(let n in t){let i=e[n]||null;r.push(i)}return r}function DAe(e,t){let r=!1;for(let n of Object.values(t))(!e||!n||e.length!==n.length)&&(r=!0);return r}function ckt(e){return typeof e=="string"||typeof e=="bigint"?nn.STRING_TYPE:typeof e=="number"?Number.isInteger(e)?nn.SHORT_INT_TYPE:nn.DOUBLE_TYPE:nn.STRING_TYPE}function BAe(e){let t={};for(let r in e){let n=e[r][0],i=ckt(n);t[r]=i}return t}var FAe=(e,t)=>{var a,o,s,u,c,l,f,d;let r={},n=(u=(s=(o=(a=e.extensions)==null?void 0:a[jo])==null?void 0:o.schema)==null?void 0:s.classes)==null?void 0:u[t];if(n){for(let p in n.properties){let h=n.properties[p],m=lkt(h);r[p]=m}return r}let i=(d=(f=(l=(c=e.extensions)==null?void 0:c[Xc])==null?void 0:l.schema)==null?void 0:f.classes)==null?void 0:d[t];if(i){for(let p in i.properties){let h=i.properties[p],m=fkt(h);r[p]=m}return r}return null},lkt=e=>{let t;switch(e.type){case"INT8":case"UINT8":case"INT16":case"UINT16":case"INT32":case"UINT32":t=nn.SHORT_INT_TYPE;break;case"FLOAT32":case"FLOAT64":t=nn.DOUBLE_TYPE;break;case"INT64":case"UINT64":case"BOOLEAN":case"ENUM":case"STRING":case"ARRAY":t=nn.STRING_TYPE;break;default:t=nn.STRING_TYPE;break}return t},fkt=e=>{let t;if(e.array)t=nn.STRING_TYPE;else switch(e.componentType){case"INT8":case"UINT8":case"INT16":case"UINT16":case"INT32":case"UINT32":t=nn.SHORT_INT_TYPE;break;case"FLOAT32":case"FLOAT64":t=nn.DOUBLE_TYPE;break;case"INT64":case"UINT64":t=nn.STRING_TYPE;break;default:t=nn.STRING_TYPE;break}return t};var b4=e=>{let t=new Uint32Array(e);for(let r=0;r<e;r++)t[r]=r;return t};var oCt={},dkt=1,pkt=1,Ps=3,I1=2,hkt=4,mkt="string",gkt="Int32",vkt="Float64",bkt="Oid32",OAe=["CUSTOM_ATTRIBUTE_2","_BATCHID","BATCHID"],ed=new Z;async function bN({tileContent:e,tileTransform:t,tileBoundingVolume:r,addNodeToNodePage:n,propertyTable:i,featuresHashArray:a,attributeStorageInfo:o,draco:s,generateBoundingVolumes:u,shouldMergeMaterials:c,geoidHeightModel:l,libraries:f,metadataClass:d}){var w;let p=u,h=await Ikt((w=e.gltf)==null?void 0:w.materials,c),m=EAe(e,t,r),g=SAe(e,d),x=await _kt(m,h,p,g);u&&xkt(x,l);let y=[];for(let T of h){let A=T.mergedMaterials[0].originalMaterialId;if(!x.has(A))continue;let D=x.get(A);if(!D)continue;let{material:F,texture:j}=T,k=await n();y.push(await ykt({convertedAttributes:D,material:F,texture:j,tileContent:e,nodeId:k,featuresHashArray:a,propertyTable:i,attributeStorageInfo:o,draco:s,libraries:f}))}return y.length?y:null}function xkt(e,t){for(let r of e.values()){let n=wAe(r.positions,t);r.boundingVolumes=n;let i=n.obb.center;for(let a=0;a<r.positions.length;a+=Ps){let o=r.positions.subarray(a,a+Ps);Ot.WGS84.cartesianToCartographic(Array.from(o),ed),t&&(ed[2]=ed[2]-t.getHeight(ed[1],ed[0])),ed=ed.subtract(i),r.positions.set(ed,a)}}}async function ykt({convertedAttributes:e,material:t,texture:r,tileContent:n,nodeId:i,featuresHashArray:a,propertyTable:o,attributeStorageInfo:s,draco:u,libraries:c}){var I;let l=e.boundingVolumes,f=e.positions.length/Ps,{faceRange:d,featureIds:p,positions:h,normals:m,colors:g,uvRegions:x,texCoords:y,featureCount:w}=yAe(e),T={};o&&(T=Hkt(p,e.featureIndices,a,o));let A=new Uint32Array(2),D=Zkt(p);A.set([f,w],0);let F=new Uint8Array(bn(A.buffer,h.buffer,m.buffer,r?y.buffer:new ArrayBuffer(0),g.buffer,x,D.buffer,d.buffer)),j=u?eCt(f,e,{positions:h,normals:m,texCoords:r?y:new Float32Array(0),colors:g,uvRegions:x,featureIds:p,faceRange:d},c):null,k=[];return s&&o&&(k=Kkt(p,T,o,s)),{nodeId:i,geometry:F,compressedGeometry:j,texture:r,hasUvRegions:Boolean(x.length),sharedResources:qkt(((I=n.gltf)==null?void 0:I.materials)||[],i),meshMaterial:t,vertexCount:f,attributes:k,featureCount:w,boundingVolumes:l}}async function _kt(e,t,r,n){let{nodes:i,images:a,cartographicOrigin:o,cartesianModelMatrix:s}=e,u=new Map;for(let c of t){let l={positions:new Float32Array(0),normals:new Float32Array(0),texCoords:new Float32Array(0),colors:new Uint8Array(0),uvRegions:new Uint16Array(0),featureIndicesGroups:[],featureIndices:[],boundingVolumes:null,mergedMaterials:c.mergedMaterials};for(let f of c.mergedMaterials)u.set(f.originalMaterialId,l)}LAe({nodes:i,images:a,cartographicOrigin:o,cartesianModelMatrix:s,attributesMap:u,useCartesianPositions:r,featureTexture:n});for(let c of u.keys()){let l=u.get(c);if(l){if(l.positions.length===0){u.delete(c);continue}l.featureIndicesGroups&&(l.featureIndices=l.featureIndicesGroups.reduce((f,d)=>f.concat(d)),delete l.featureIndicesGroups)}}return u}function LAe({nodes:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o=new gr([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),featureTexture:s}){if(e)for(let u of e)Akt({node:u,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o,featureTexture:s})}function wkt(e,t){let r=t,{matrix:n,rotation:i,scale:a,translation:o}=e;return n&&(r=t.multiplyRight(n)),o&&(r=r.translate(o)),i&&(r=r.rotateXYZ(i)),a&&(r=r.scale(a)),r}function Akt({node:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o=new gr([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),featureTexture:s}){let u=wkt(e,o),c=e.mesh;c&&Ekt({mesh:c,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:u,featureTexture:s}),LAe({nodes:e.children||[],images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:u,featureTexture:s})}function Ekt({mesh:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a=!1,matrix:o,featureTexture:s}){var u;for(let c of e.primitives){let l=null,f;c.material?(l=i.get(c.material.id),f=(u=l==null?void 0:l.mergedMaterials.find(({originalMaterialId:h})=>{var m;return h===((m=c.material)==null?void 0:m.id)}))==null?void 0:u.uvRegion):i.has("default")&&(l=i.get("default")),_t(l!==null,"Primitive - material mapping failed"),_t(c.mode===void 0||c.mode===mt.TRIANGLES||c.mode===mt.TRIANGLE_STRIP,`Primitive - unsupported mode ${c.mode}`);let d=c.attributes;if(!l)continue;let p=Tkt(c);l.positions=Ka(l.positions,IAe({vertices:d.POSITION.value,cartographicOrigin:r,cartesianModelMatrix:n,nodeMatrix:o,indices:p,attributeSpecificTransformation:Skt,useCartesianPositions:a})),l.normals=Ka(l.normals,IAe({vertices:d.NORMAL&&d.NORMAL.value,cartographicOrigin:r,cartesianModelMatrix:n,nodeMatrix:o,indices:p,attributeSpecificTransformation:kkt,useCartesianPositions:!1})),l.texCoords=Ka(l.texCoords,Ckt(d.TEXCOORD_0&&d.TEXCOORD_0.value,p)),l.colors=Ka(l.colors,Dkt(d.COLOR_0,p)),f&&(l.uvRegions=Ka(l.uvRegions,Bkt(f,p))),l.featureIndicesGroups=l.featureIndicesGroups||[],l.featureIndicesGroups.push(Fkt(Okt(d,c,t,s),p))}}function Tkt(e){var r;let t=(r=e.indices)==null?void 0:r.value;if(!t){let n=e.attributes.POSITION.value;return b4(n.length/Ps)}if(t&&e.mode===mt.TRIANGLE_STRIP){let n=t.constructor,i=new n((t.length-2)*3),a=0,o=t.slice(0,3);i.set(o,0);for(let s=1;s+2<t.length;s++)a+=3,o=t.slice(s,s+3),s%2===0?i.set(o,a):i.set(o.reverse(),a);t=i}return t}function IAe(e){let{vertices:t,indices:r,attributeSpecificTransformation:n}=e,i=new Float32Array(r.length*Ps);if(!t)return i;for(let a=0;a<r.length;a++){let o=r[a]*Ps,s=t.subarray(o,o+Ps),u=new Z(Array.from(s));u=n(u,e),i[a*Ps]=u.x,i[a*Ps+1]=u.y,i[a*Ps+2]=u.z}return i}function Skt(e,t){let{cartesianModelMatrix:r,cartographicOrigin:n,nodeMatrix:i,useCartesianPositions:a}=t;return i&&(e=e.transform(i)),e=e.transform(r),a||(Ot.WGS84.cartesianToCartographic([e[0],e[1],e[2]],e),e=e.subtract(n)),e}function kkt(e,t){let{cartesianModelMatrix:r,nodeMatrix:n}=t;return n&&(e=e.transformAsVector(n)),e=e.transformAsVector(r),e}function Ckt(e,t){let r=new Float32Array(t.length*I1);if(!e)return r.fill(1),r;for(let n=0;n<t.length;n++){let i=t[n]*I1,a=e.subarray(i,i+I1);r[n*I1]=a[0],r[n*I1+1]=a[1]}return r}function Dkt(e,t){let r=(e==null?void 0:e.components)||hkt,n=new Uint8Array(t.length*r);if(!e)return n.fill(255),n;let i=e.value;for(let a=0;a<t.length;a++){let o=t[a]*r,s=i.subarray(o,o+r),u=new Uint8Array(r);for(let c=0;c<s.length;c++)u[c]=s[c]*255;n.set(u,a*r)}return n}function Bkt(e,t){let r=new Uint16Array(t.length*4);for(let n=0;n<r.length;n+=4)r.set(e,n);return r}function Fkt(e,t){if(!e.length||!t.length)return[];let r=[];for(let n=0;n<t.length;n++){let i=t[n];r.push(e[i])}return r}function Okt(e,t,r,n){let i=kAe(e,t,r,n);if(i.length)return i;for(let a=0;a<OAe.length;a++){let o=OAe[a];if(e[o]&&e[o].value)return e[o].value}return[]}async function Ikt(e=[],t){let r=[];for(let n of e)r.push(jkt(n));return t&&(r=await Pkt(r)),r}async function Pkt(e){var r,n;let t=[];for(;e.length>0;){let i=e.splice(0,1)[0],a=[];for(let o=0;o<e.length;o++){let s=e[o];(i.texture&&s.texture||!i.texture&&!s.texture)&&(i=await Rkt(i,s),a.push(o))}if(i.texture&&a.length){let o=(r=i.mergedMaterials)==null?void 0:r.reduce((c,{textureSize:l})=>c+((l==null?void 0:l.width)||0),0),s=(n=i.mergedMaterials)==null?void 0:n.reduce((c,{textureSize:l})=>Math.max(c,(l==null?void 0:l.height)||0),0),u=-1;for(let c of i.mergedMaterials)if(c.textureSize){let l=u+1+c.textureSize.width/o*2**(Uint16Array.BYTES_PER_ELEMENT*8)-1;c.uvRegion=new Uint16Array([u+1,0,l,c.textureSize.height/s*2**(Uint16Array.BYTES_PER_ELEMENT*8)-1]),u=l}i.texture.image.width=o,i.texture.image.height=s}for(let o of a.reverse())e.splice(o,1);t.push(i)}return t.length||t.push({material:Lkt(),mergedMaterials:[{originalMaterialId:"default"}]}),t}async function Rkt(e,t){var r,n;if((r=e.texture)!=null&&r.bufferView&&((n=t.texture)!=null&&n.bufferView)&&e.mergedMaterials&&t.mergedMaterials){let i=Buffer.from(e.texture.bufferView.data),a=Buffer.from(t.texture.bufferView.data);try{let{joinImages:o}=await import("join-images"),s=await o([i,a],{direction:"horizontal"});e.texture.bufferView.data=await s.toFormat(e.texture.mimeType==="image/png"?"png":"jpeg").toBuffer()}catch(o){throw console.log("Join images into a texture atlas has failed. Consider usage `--split-nodes` option. (See documentation https://loaders.gl/modules/tile-converter/docs/cli-reference/tile-converter)"),o}e.material.pbrMetallicRoughness.baseColorTexture.textureSetDefinitionId=1}return e.mergedMaterials=e.mergedMaterials.concat(t.mergedMaterials),e}function jkt(e){var i,a,o,s,u;let t={doubleSided:e.doubleSided,emissiveFactor:(i=e.emissiveFactor)==null?void 0:i.map(c=>Math.round(c*255)),alphaMode:Mkt(e.alphaMode),pbrMetallicRoughness:{roughnessFactor:((a=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:a.roughnessFactor)||dkt,metallicFactor:((o=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:o.metallicFactor)||pkt}},r;(s=e==null?void 0:e.pbrMetallicRoughness)!=null&&s.baseColorTexture?(r=e.pbrMetallicRoughness.baseColorTexture.texture.source,t.pbrMetallicRoughness.baseColorTexture={textureSetDefinitionId:0}):e.emissiveTexture&&(r=e.emissiveTexture.texture.source,t.pbrMetallicRoughness.baseColorTexture={textureSetDefinitionId:0}),e.id=Number.isFinite(e.id)?e.id:Xu();let n=[{originalMaterialId:e.id}];if(r)n[0].textureSize={width:r.image.width,height:r.image.height};else{let c=(u=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:u.baseColorFactor;t.pbrMetallicRoughness.baseColorFactor=c&&c.map(l=>Math.round(l*255))||void 0}return{material:t,texture:r,mergedMaterials:n}}function Mkt(e){switch(e){case"OPAQUE":return"opaque";case"MASK":return"mask";case"BLEND":return"blend";default:return"opaque"}}function Lkt(){return{alphaMode:"opaque",pbrMetallicRoughness:{metallicFactor:1,roughnessFactor:1}}}function qkt(e,t){let r={};if(!e||!e.length)return r;r.materialDefinitionInfos=[];for(let n of e){let{materialDefinitionInfo:i,textureDefinitionInfo:a}=Nkt(n,t);r.materialDefinitionInfos.push(i),a&&(r.textureDefinitionInfos=r.textureDefinitionInfos||[],r.textureDefinitionInfos.push(a))}return r}function Nkt(e,t){var s;let r=((s=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:s.baseColorTexture)||e.emissiveTexture,n=null;r&&(n=Gkt(r.texture,t));let{baseColorFactor:i,metallicFactor:a}=(e==null?void 0:e.pbrMetallicRoughness)||{},o=i;return(!i||i[3]===0)&&e.emissiveFactor&&(o=e.emissiveFactor,o[3]=o[3]||1),{materialDefinitionInfo:Ukt(o||[1,1,1,1],a),textureDefinitionInfo:n}}function Ukt(e,t=1){let r=.00015686274509803922,n=new Io(0,0,0,1),i=new Io(1,1,1,1),a=new Io(r,r,r,0),o=new Io(e),s=i.subtract(a).multiply(o),u=s.lerp(s,n,t);a[3]=1;let c=a.lerp(a,o,t);return{params:{diffuse:u.toArray(),specular:c.toArray(),renderMode:"solid"}}}function Gkt(e,t){var r,n,i,a;return{encoding:(r=e==null?void 0:e.source)!=null&&r.mimeType?[e.source.mimeType]:void 0,images:[{id:zkt(e,t),size:(n=e.source)==null?void 0:n.image.width,length:(i=e.source)!=null&&i.image.data.length?[(a=e.source)==null?void 0:a.image.data.length]:void 0}]}}function zkt(e,t){var m;let{width:r,height:n}=((m=e.source)==null?void 0:m.image)||{};if(!r||!n)return"";let i=1,a=0,o=t+1,s=32-o.toString(2).length,u="0".repeat(s).concat(o.toString(2)),c=i<<28,l=a<<24,f=r-1<<12,d=n-1<<0,p=c+l+f+d;return BigInt(`0b${p.toString(2)}${u}`).toString()}function Hkt(e,t,r,n){let i=Vkt(e,n,r);return PAe(t,i),PAe(e,i),i}function Vkt(e,t,r){let n={};for(let i=0;i<e.length;i++){let a=e[i],o=Wkt(i,t,r);n[a.toString()]=o}return n}function $kt(e,t){let r="";for(let n in e)r+=e[n][t];return r}function Wkt(e,t,r){let n=$kt(t,e),i=(0,MAe.default)(n);return r.includes(i)?r.indexOf(i):r.push(i)-1}function PAe(e,t){for(let r=0;r<e.length;r++)e[r]=t[e[r]]}function Kkt(e,t,r,n){let i=[],o=DAe(e,r)?CAe(t,r):r,s={OBJECTID:e,...o};for(let u in s){let c=Xkt(u,n);if(c){let l=s[u],f=Jkt(c,l);i.push(f)}}return i}function Jkt(e,t){let r;switch(e){case bkt:case gkt:r=Ykt(t);break;case vkt:r=Qkt(t);break;case mkt:r=RAe(t);break;default:r=RAe(t)}return r}function Xkt(e,t){let r=t.find(n=>n.name===e);return r?r.attributeValues?r.attributeValues.valueType:(console.error(`attributeValues is null, attribute=${r}`),""):(console.error(`attribute is null, key=${e}, attributeStorageInfo=${JSON.stringify(t,null,2)}`),"")}function Ykt(e){let t=new Uint32Array([e.length]),r=new Uint32Array(e);return bn(t.buffer,r.buffer)}function Qkt(e){let t=new Uint32Array([e.length]),r=new Uint8Array(4),n=new Float64Array(e);return bn(t.buffer,r.buffer,n.buffer)}function RAe(e){let t=new Uint32Array([e.length]),r=0,n=new Uint32Array(e.length),i=[];for(let o=0;o<e.length;o++){let s=`${String(e[o])}\0`,u=Buffer.from(s),c=u.length;r+=c,n[o]=c,i.push(u)}let a=new Uint32Array([r]);return bn(t.buffer,a.buffer,n.buffer,...i)}function Zkt(e){let t=new BigUint64Array(e.length);for(let r=0;r<e.length;r++)t[r]=BigInt(e[r]);return t}async function eCt(e,t,r,n){let{positions:i,normals:a,texCoords:o,colors:s,uvRegions:u,featureIds:c,faceRange:l}=r,f=new Uint32Array(e);for(let g=0;g<f.length;g++)f.set([g],g);let d=new Uint32Array(t.featureIndices.length?t.featureIndices:e),p=rCt(d,l),h={positions:i,normals:a,colors:s,"feature-index":p};o.length&&(h.texCoords=o);let m={"feature-index":{"i3s-attribute-type":"feature-index","i3s-feature-ids":new Int32Array(c)}};return u.length&&(h["uv-region"]=u,m["uv-region"]={"i3s-attribute-type":"uv-region"}),$m({attributes:h,indices:f},I3,{...I3.options,reuseWorkers:!0,_nodeWorkers:!0,modules:n,useLocalLibraries:!0,draco:{method:"MESH_SEQUENTIAL_ENCODING",attributesMetadata:m},["draco-writer"]:{workerUrl:tCt()}})}function tCt(){try{let t=(0,jAe.createRequire)(oCt.url).resolve("@loaders.gl/draco/package.json");return(0,y4.join)((0,y4.dirname)(t),"src/workers/draco-writer-worker-node.cjs")}catch{return"./modules/draco/src/workers/draco-writer-worker-node.cjs"}}function rCt(e,t){let r=new Uint32Array(e.length),n=0,i=0;for(let a=1;a<t.length;a+=2){let o=(t[a]+1)*Ps;r.fill(n,i,o),n++,i=o+1}return r}function qAe(e,t){if(!e)return null;let r,n=e.batchTableJson;if(n)return n;let{extensionName:i,extension:a}=aCt(e);switch(i){case Xc:return r=nCt(a,t),r;case jo:return r=iCt(a,t),r;default:return null}}function nCt(e,t){if(e.propertyTables){for(let r of e.propertyTables)if(r.class===t||!t)return x4(r)}if(e.propertyTextures){for(let r of e.propertyTextures)if(r.class===t||!t)return x4(r)}return null}function iCt(e,t){if(e.featureTables)for(let r in e.featureTables){let n=e.featureTables[r];if(n.class===t||!t)return x4(n)}if(e.featureTextures)for(let r in e.featureTextures){let n=e.featureTextures[r];if(n.class===t||!t)return x4(n)}return null}function x4(e){let t={};for(let r in e.properties)t[r]=e.properties[r].data;return t}function aCt(e){var a,o,s,u;let t=[jo,Xc];if(!((a=e==null?void 0:e.gltf)==null?void 0:a.extensionsUsed))return{extensionName:null,extension:null};let n="";for(let c of((o=e==null?void 0:e.gltf)==null?void 0:o.extensionsUsed)||[])if(t.includes(c)){n=c;break}if(!n)return{extensionName:null,extension:null};let i=(u=(s=e==null?void 0:e.gltf)==null?void 0:s.extensions)==null?void 0:u[n];return{extensionName:n,extension:i}}var UAe=Dt(Is(),1),GAe=require("path");var NAe=()=>({serviceItemId:{path:"serviceItemId"},serviceName:{path:"layerName"},name:{path:"layerName"},currentVersion:{path:"currentVersion",default:10.7},serviceVersion:{path:"serviceVersion",default:"1.8"},supportedBindings:{path:"supportedBindings",default:["REST"]},layers:{path:"layers0",transform:e=>[e]}});async function zAe(e,t,r){let n={serviceItemId:Xu().replace(/-/gi,""),layerName:e,layers0:t},i=(0,UAe.default)(n,NAe()),a=(0,GAe.join)(r,"SceneServer");await Ia(a,JSON.stringify(i))}var xN=16;function HAe(e,t){let r=[],n=e.boundingVolume,i=e.lodMetricValue||.1,a={metricType:"maxScreenThreshold",maxError:t.mbs[3]*2*xN/i},o={metricType:"maxScreenThresholdSQ",maxError:Math.PI*.25*a.maxError*a.maxError};return n.constructor.name==="OrientedBoundingBox"?(r.push(o),r.push(a)):(r.push(a),r.push(o)),r}function yN(e){var n,i;let t=(n=e.lodSelection)==null?void 0:n.find(a=>a.metricType==="maxScreenThreshold"),r=t==null?void 0:t.maxError;if(!r){let a=(i=e.lodSelection)==null?void 0:i.find(o=>o.metricType==="maxScreenThresholdSQ");a&&(r=Math.sqrt(a.maxError/(Math.PI*.25)))}return r||(r=xN),e.mbs[3]*2*xN/r}var sCt=[9,-18,-88,0,96,90,0,0,-60,-20,-9,18,8,0,-96,30,0,0,60,-20,9,-88,-18,90,96,0,-20,-60,0,0,186,-42,-42,-150,-96,-150,60,60,60,60,54,162,-78,30,-24,-90,-60,60,-60,60,-9,-32,18,30,24,0,20,-60,0,0,-9,8,18,30,-96,0,-20,60,0,0,54,-78,162,-90,-24,30,60,-60,60,-60,-54,78,78,90,144,90,-60,-60,-60,-60,9,-8,-18,-30,-24,0,20,60,0,0,-9,18,-32,0,24,30,0,0,-60,20,9,-18,-8,0,-24,-30,0,0,60,20],uCt=372,cCt=[0,0,-131,0,138,144,0,0,-102,-31,0,0,7,0,-138,42,0,0,102,-31,62,0,-31,0,0,-62,0,0,0,31,124,0,-62,0,0,-124,0,0,0,62,124,0,-62,0,0,-124,0,0,0,62,62,0,-31,0,0,-62,0,0,0,31,0,0,45,0,-183,-9,0,93,18,0,0,0,216,0,33,87,0,-93,12,-93,0,0,156,0,153,99,0,-93,-12,-93,0,0,-45,0,-3,9,0,93,-18,0,0,0,-55,0,48,42,0,0,-84,31,0,0,-7,0,-48,-42,0,0,84,31],lCt=372,fCt=[18,-36,-122,0,120,135,0,0,-84,-31,-18,36,-2,0,-120,51,0,0,84,-31,36,-165,-27,93,147,-9,0,-93,18,0,210,45,-111,-93,-57,-192,0,93,12,93,162,141,-75,-93,-129,-180,0,93,-12,93,-36,-21,27,93,39,9,0,-93,-18,0,0,0,62,0,0,31,0,0,0,-31,0,0,124,0,0,62,0,0,0,-62,0,0,124,0,0,62,0,0,0,-62,0,0,62,0,0,31,0,0,0,-31,-18,36,-64,0,66,51,0,0,-102,31,18,-36,2,0,-66,-51,0,0,102,31],dCt=12,_N=(3+1)*(3+2)/2,pCt=2,Yg=class{constructor(t){this._v00=0,this._v01=0,this._v10=0,this._v11=0,this._t=[],this.options=t,this._ix=this.options._width,this._iy=this.options._height}getHeight(t,r){if(t=Math.abs(t)>90?NaN:t,isNaN(t)||isNaN(r))return NaN;let n=hCt(r,360);r=n!==-180?n:180;let i=r*this.options._rlonres,a=-t*this.options._rlatres,o=Math.floor(i),s=Math.min(Math.round((this.options._height-1)/2-1),Math.floor(a));i-=o,a-=s,s+=(this.options._height-1)/2,o+=o<0?this.options._width:o>=this.options._width?-this.options._width:0;let u=0,c=0,l=0,f=0,d=new Array(_N);if(o===this._ix&&s===this._iy)this.options.cubic?d=this._t:(u=this._v00,c=this._v01,l=this._v10,f=this._v11);else if(!this.options.cubic)u=this._rawval(o,s),c=this._rawval(o+1,s),l=this._rawval(o,s+1),f=this._rawval(o+1,s+1);else{let h=[this._rawval(o,s-1),this._rawval(o+1,s-1),this._rawval(o-1,s),this._rawval(o,s),this._rawval(o+1,s),this._rawval(o+2,s),this._rawval(o-1,s+1),this._rawval(o,s+1),this._rawval(o+1,s+1),this._rawval(o+2,s+1),this._rawval(o,s+2),this._rawval(o+1,s+2)],m=cCt;s!==0&&(m=s===this.options._height-2?fCt:sCt);let g=uCt;s!==0&&(g=s===this.options._height-2?lCt:240);for(let x=0;x<_N;++x){d[x]=0;for(let y=0;y<dCt;++y)d[x]+=h[y]*m[_N*y+x];d[x]/=g}}if(!this.options.cubic){let h=(1-i)*u+i*c,m=(1-i)*l+i*f,g=(1-a)*h+a*m,x=this.options._offset+this.options._scale*g;return this._ix=o,this._iy=s,this._v00=u,this._v01=c,this._v10=l,this._v11=f,x}let p=d[0]+i*(d[1]+i*(d[3]+i*d[6]))+a*(d[2]+i*(d[4]+i*d[7])+a*(d[5]+i*d[8]+a*d[9]));return p=this.options._offset+this.options._scale*p,this._ix=o,this._iy=s,this._t=d,p}_rawval(t,r){t<0?t+=this.options._width:t>=this.options._width&&(t-=this.options._width),(r<0||r>=this.options._height)&&(r=r<0?-r:2*(this.options._height-1)-r,t+=(t<this.options._width/2?1:-1)*this.options._width/2);let n=this.options._datastart+pCt*(r*this.options._swidth+t),i=this.options.data[n],a=this.options.data[n+1];return i<<8|a}};function hCt(e,t){t=Math.abs(t);let r=VAe(e,t);return 2*Math.abs(r)===t?r-=VAe(e,2*t)-r:2*Math.abs(r)>t&&(r+=r<0?t:-t),r}function VAe(e,t){return e-Math.floor(e/t)*t}var mCt=10,gCt=65535;function wN(e,t){let r=vCt(e),n=r.next();if(n.done||n.value.line!=="P5")throw new Error("Geoid model file: File not in PGM format");let i=Number.MAX_VALUE,a=0,o=-1,s=-1,u="NONE",c="UNKNOWN",l=0,f=0,d=null,p=null;do{n=r.next();let x=n.value.line;if(x.length)if(x[0]==="#"){let y=x.split(" "),w=y[0],T=y[1];if(w!=="#"||!T)continue;let A=y.length>2?y.slice(2):[];if(T==="Description")u=A.join(" ");else if(T==="DateTime")c=A.join(" ");else if(T==="Offset"){if(!y[2])throw new Error("Geoid model file: Error reading offset");i=parseInt(y[2],10)}else if(T==="Scale"){if(!y[2])throw new Error("Geoid model file: Error reading scale");a=parseFloat(y[2])}else T===(t.cubic?"MaxCubicError":"MaxBilinearError")?isFinite(parseFloat(y[2]))&&(o=parseFloat(y[2])):T===(t.cubic?"RMSCubicError":"RMSBilinearError")&&isFinite(parseFloat(y[2]))&&(s=parseFloat(y[2]))}else{let y=x.split(" ");if(y=y.filter(w=>w!==""),l=parseInt(y[0],10),f=parseInt(y[1],10),!(l&&f))throw new Error("Geoid model file: Error reading raster size");break}}while(!n.done);n=r.next();let h=parseInt(n.value.line,10);if(n.done)throw new Error("Geoid model file: Error reading maxval");if(h!==gCt)throw new Error("Geoid model file: Incorrect value of maxval");if(d=n.value.offset,p=l,i===Number.MAX_VALUE)throw new Error("Geoid model file: Offset not set");if(a===0)throw new Error("Geoid model file: Scale not set");if(a<0)throw new Error("Geoid model file: Scale must be positive");if(f<2||l<2)throw new Error("Geoid model file: Raster size too small");if(l&1)throw new Error("Geoid model file: Raster width is odd");if(!(f&1))throw new Error("Geoid model file: Raster height is even");let m=l/360,g=(f-1)/180;return new Yg({cubic:t.cubic,_width:l,_height:f,_rlonres:m,_rlatres:g,_offset:i,_scale:a,_swidth:p,_datastart:d,_maxerror:o,_rmserror:s,_description:u,_datetime:c,data:e})}function*vCt(e){let t=0;do{let r=e.indexOf(mCt,t);if(r!==-1){let n=e.subarray(t,r);t=r+1,yield{offset:t,line:$Ae(n)}}else{let n=e.subarray(t,e.length);t=e.length,yield{offset:t,line:$Ae(n)}}}while(t<e.length);return{offset:t,line:""}}function $Ae(e){let t="";for(let r of e)t+=String.fromCharCode(r);return t}var bCt="4.4.0-alpha.11";var _4={dataType:null,batchType:null,name:"PGM - Netpbm grayscale image format",id:"pgm",module:"tile-converter",version:bCt,mimeTypes:["image/x-portable-graymap"],parse:async(e,t)=>wN(new Uint8Array(e),(t==null?void 0:t.pgm)||{}),extensions:["pgm"],options:{pgm:{cubic:!1}}};var Qg=Dt(Is(),1);var WAe={id:{path:"id",transform:e=>e.toUpperCase()},profile:{path:"profile",default:"meshpyramids"},version:{path:"version",default:"1.8"},resourcePattern:{path:"resourcePattern",default:["3dNodeIndexDocument","Attributes","SharedResource","Geometry"]},rootNode:{path:"rootNode",default:"./nodes/root"},extent:{path:"extent"},indexCRS:{path:"indexCRS",default:"http://www.opengis.net/def/crs/EPSG/0/4326"},vertexCRS:{path:"vertexCRS",default:"http://www.opengis.net/def/crs/EPSG/0/4326"},normalReferenceFrame:{path:"normalReferenceFrame",default:"east-north-up"},attributeEncoding:{path:"attributeEncoding",default:"application/octet-stream; version=1.6"},textureEncoding:{path:"textureEncoding",default:["image/jpeg","image/ktx2"]},lodType:{path:"lodType",default:"MeshPyramid"},lodModel:{path:"lodModel",default:"node-switching"},defaultGeometrySchema:{path:"defaultGeometrySchema",default:{geometryType:"triangles",header:[{property:"vertexCount",type:"UInt32"},{property:"featureCount",type:"UInt32"}],topology:"PerAttributeArray",ordering:["position","normal","uv0","color"],vertexAttributes:{position:{valueType:"Float32",valuesPerElement:3},normal:{valueType:"Float32",valuesPerElement:3},uv0:{valueType:"Float32",valuesPerElement:2},color:{valueType:"UInt8",valuesPerElement:4}},featureAttributeOrder:["id","faceRange"],featureAttributes:{id:{valueType:"UInt64",valuesPerElement:1},faceRange:{valueType:"UInt32",valuesPerElement:2}}}}};var xCt=()=>({wkid:{path:"wkid",default:4326},latestWkid:{path:"latestWkid",default:4326},vcsWkid:{path:"vcsWkid",default:5773},latestVcsWkid:{path:"latestVcsWkid",default:5773}}),yCt=()=>({heightModel:{path:"heightModel",default:"gravity_related_height"},vertCRS:{path:"vertCRS",default:"EGM96_Geoid"},heightUnit:{path:"heightUnit",default:"meter"}}),_Ct=()=>({nodesPerPage:{path:"nodesPerPage"},lodSelectionMetricType:{path:"lodSelectionMetricType",default:"maxScreenThresholdSQ"}}),wCt=()=>({xmin:{path:"xmin"},ymin:{path:"ymin"},xmax:{path:"xmax"},ymax:{path:"ymax"},zmin:{path:"zmin"},zmax:{path:"zmax"}}),KAe=()=>({version:{path:"version",transform:e=>e.toUpperCase()},id:{path:"id",default:0},name:{path:"name"},href:{path:"href",default:"./layers/0"},layerType:{path:"layerType",default:"IntegratedMesh"},spatialReference:{path:"spatialReference",transform:e=>(0,Qg.default)(e,xCt())},capabilities:{path:"capabilities",default:["View","Query"]},store:{path:"store",transform:e=>(0,Qg.default)(e,WAe)},fullExtent:{path:"fullExtent",transform:e=>(0,Qg.default)(e,wCt())},heightModelInfo:{path:"heightModelInfo",transform:e=>(0,Qg.default)(e,yCt())},nodePages:{path:"nodePages",transform:e=>(0,Qg.default)(e,_Ct())},materialDefinitions:{path:"materialDefinitions",default:[]},textureSetDefinitions:{path:"textureSetDefinitions",default:[]},geometryDefinitions:{path:"geometryDefinitions",default:[]},attributeStorageInfo:{path:"attributeStorageInfo",default:[]},fields:{path:"fields",default:[]},popupInfo:{path:"popupInfo",default:null}});var AN=Dt(Is(),1),ACt=()=>({offset:{default:8},position:{default:{type:"Float32",component:3}},normal:{default:{type:"Float32",component:3}},uv0:{path:"hasTexture",transform:e=>e&&{type:"Float32",component:2}||!1,omitValues:[!1]},color:{default:{type:"UInt8",component:4}},uvRegion:{path:"hasUvRegions",transform:e=>e&&{type:"UInt16",component:4}||!1,omitValues:[!1]},featureId:{default:{binding:"per-feature",type:"UInt64",component:1}},faceRange:{default:{binding:"per-feature",type:"UInt32",component:2}}}),ECt=()=>({"compressedAttributes.encoding":{default:"draco"},"compressedAttributes.attributes":{path:"geometryConfig",transform:e=>{let t=["position","normal"];return e.hasTexture&&t.push("uv0"),t.push("color"),e.hasUvRegions&&t.push("uv-region"),t.push("feature-index"),t}}}),JAe=()=>({geometryBuffers:{path:"geometryConfig",transform:e=>{let t=[(0,AN.default)(e,ACt())];return e.draco&&t.push((0,AN.default)({geometryConfig:e},ECt())),t}}});var P1=Dt(Is(),1),TCt=()=>({renderMode:{path:"renderMode",default:"solid"},shininess:{path:"shininess",default:1},reflectivity:{path:"reflectivity",default:0},ambient:{path:"ambient",default:[1,1,1]},diffuse:{path:"diffuse",default:[1,1,1]},specular:{path:"specular",default:[0,0,0]},useVertexColorAlpha:{path:"useVertexColorAlpha",default:!1},vertexRegions:{path:"vertexRegions",default:!1},vertexColors:{path:"vertexColors",default:!0}}),SCt=()=>({name:{path:"name",default:"standard"},type:{path:"type",default:"standard"},params:{path:"params",transform:(e,t,r)=>(0,P1.default)(r,TCt())}}),kCt=()=>({id:{path:"id"},size:{path:"size"},href:{path:"href",default:["../textures/0"]},length:{path:"length"}}),CCt=()=>({encoding:{path:"encoding"},wrap:{path:"wrap",default:["none"]},atlas:{path:"atlas",default:!1},uvSet:{path:"uvSet",default:"uv0"},channels:{path:"channels",default:"rgb"},images:{path:"images",transform:(e,t,r)=>e.map(n=>(0,P1.default)(n,kCt()))}}),XAe=()=>({materialDefinitions:{path:"materialDefinitionInfos",transform:DCt},textureDefinitions:{path:"textureDefinitionInfos",transform:BCt}});function DCt(e,t,r){let n={};for(let[i,a]of e.entries())n[`Mat${r.nodePath}${i}`]=(0,P1.default)(a,SCt());return n}function BCt(e,t,r){if(!e)return null;let n={};for(let[i,a]of e.entries()){let o=`${r.nodePath}${i}`;a.imageIndex=o,n[o]=(0,P1.default)(a,CCt())}return n}var FCt=new Float32Array([-1,-1,1,1,-1,1,1,1,1,-1,1,1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1,-1,-1,1,-1,-1,1,1,1,1,1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1]);function QAe(e){var r,n;if(!((r=e==null?void 0:e.parentNode)!=null&&r.obb)||!((n=e==null?void 0:e.parentNode)!=null&&n.mbs))return[];let t=[];return OCt(t,e),ICt(t,e),t}function OCt(e,t){var o;let r=PCt(t.parentNode.obb),n=RCt(t);if(jCt(r,n))return;let a=`OBB of Tile (${t.id}) doesn't fit into Parent (${(o=t.parentNode)==null?void 0:o.id}) tile OBB`;e.push(a)}function ICt(e,t){var a;let r=YAe(t.mbs),n=YAe(t.parentNode.mbs);if(r.center.distanceTo(n.center)+r.radius>n.radius){let o=`MBS of Tile (${t.id}) doesn't fit into Parent (${(a=t.parentNode)==null?void 0:a.id}) tile MBS`;e.push(o)}}function YAe(e){return new ua([e[0],e[1],e[2]],e[3])}function PCt(e){let{center:t,halfSize:r,quaternion:n}=e;return new di().fromCenterHalfSizeQuaternion(t,r,n)}function RCt(e){let t=e.obb.halfSize,r=FCt,n=Ot.WGS84.cartographicToCartesian(e.obb.center),i=[];for(let a=0;a<r.length;a+=3){let s=new Z(r[a]*=t[0],r[a+1]*=t[1],r[a+2]*=t[2]).transformByQuaternion(e.obb.quaternion).add(n);i=i.concat(s)}return i}function jCt(e,t){let r=!0;for(let n=0;n<t.length/3;n+=3){let i=[t[n],t[n+1],t[n+2]],a=Ot.WGS84.cartesianToCartographic(i);if(e.distanceTo(a)>0){r=!1;break}}return r}var w4=class extends Array{enqueue(t){this.push(t)}dequeue(){return this.shift()}peek(){return this[0]}isEmpty(){return this.length===0}};var ZAe=Dt(require("process"),1),MCt=4*1024*1024*1024,Zg=class extends w4{intervalId;conversionDump;writePromise=null;fileMap={};listeningInterval;writeConcurrency;constructor(t,r=2e3,n=400){super(),this.conversionDump=t,this.listeningInterval=r,this.writeConcurrency=n}async enqueue(t,r=!1){if(r){let{archiveKey:n,writePromise:i}=t,a=await i();n&&a&&(this.fileMap[n]=a)}else super.enqueue(t),ZAe.default.memoryUsage().rss>MCt&&await this.startWrite()}startListening(){this.intervalId=setInterval(()=>this.startWrite.bind(this),this.listeningInterval)}stopListening(){this.intervalId&&clearInterval(this.intervalId)}async startWrite(){this.writePromise||(this.writePromise=this.doWrite()),await this.writePromise,this.writePromise=null}async finalize(){this.stopListening(),await this.startWrite()}async doWrite(){for(;this.length;){let t=[],r=[],n=[];for(let a=0;a<this.writeConcurrency;a++){let o=this.dequeue();if(!o)break;let{archiveKey:s,sourceId:u,outputId:c,resourceType:l,writePromise:f}=o;r.push(s),n.push({sourceId:u,outputId:c,resourceType:l});let d=f();t.push(d)}let i=await Promise.allSettled(t);this.updateFileMap(r,i),await this.conversionDump.updateConvertedTilesDump(n,i)}}updateFileMap(t,r){for(let n=0;n<t.length;n++){let i=t[n];i&&"value"in r[n]&&(this.fileMap[i]=r[n].value)}}};var ev="Tile converter does not work in browser, only in node js environment",td=".dump.json";var TN=require("path"),SN=Dt(Is(),1);var eEe=Dt(Is(),1),tEe=()=>({mbs:{path:"mbs"},obb:{path:"obb"}}),LCt=()=>({href:{path:"href"}}),qCt=()=>({id:{path:"id"},...LCt(),...tEe()}),EN=()=>({version:{path:"version"},id:{path:"id"},path:{path:"path"},level:{path:"level"},...tEe(),lodSelection:{path:"lodSelection",default:[{metricType:"maxScreenThresholdSQ",maxError:196349.54374999998},{metricType:"maxScreenThreshold",maxError:999.9999999999999}]},children:{path:"children",default:null},neighbors:{path:"neighbors",default:null},parentNode:{path:"parentNode",transform:e=>(0,eEe.default)(e,qCt()),default:null},sharedResource:{path:"sharedResource",default:null},featureData:{path:"featureData",default:null},geometryData:{path:"geometryData",default:null},textureData:{path:"textureData",default:null},attributeData:{path:"attributeData",default:null}});var Rs=class{id;inPageId;data=null;children=[];converter;_finalized=!1;get finalized(){return this._finalized}constructor(t,r){this.inPageId=t,this.id=t===0?"root":t.toString(),this.converter=r}async addData(t){return this.converter.options.instantNodeWriting?await this.write(t):this.data=t,this}async addChildren(t){let r=[];for(let i of t){let a=await i.load();r.push({id:i.id,href:`../${i.id}`,obb:a.obb,mbs:a.mbs})}this.children=this.children.concat(t);let n=this.data;this.converter.options.instantNodeWriting&&(n=await this.load()),n&&(n.children=n.children??[],n.children=n.children.concat(r)),this.converter.options.instantNodeWriting&&n&&await this.write(n)}async addNeighbors(){var r;if(this.finalized)return;let t=await this.load();for(let n of this.children){let i=await n.load();if(i.neighbors=i.neighbors??[],Number((r=t==null?void 0:t.children)==null?void 0:r.length)<1e3)for(let a of t.children||[])n.id!==a.id&&i.neighbors.push({...a});else console.warn(`Node ${n.id}: neighbors attribute is omited because of large number of neigbors`),delete i.neighbors;this.converter.options.instantNodeWriting&&i&&await n.write(i),await n.save()}this.finalize()}async save(){this.data&&await this.write(this.data)}finalize(){this._finalized=!0;for(let t of this.children)t.flush()}async write(t){let r=(0,TN.join)(this.converter.layers0Path,"nodes",this.id);await this.converter.writeQueue.enqueue({archiveKey:`nodes/${this.id}/3dNodeIndexDocument.json.gz`,writePromise:()=>Yu(r,JSON.stringify(t),"3dNodeIndexDocument.json",!0,this.converter.compressList)},!0)}async load(){if(this.data)return this.data;let t=this.id,r=(0,TN.join)(this.converter.layers0Path,"nodes",t);return await Kg(r,"3dNodeIndexDocument.json")}flush(){this.data=null}static async createRootNode(t,r){let n=Rs.createRootNodeIndexDocument(t);return await new Rs(0,r).addData(n)}static async createNode({parentNode:t,boundingVolumes:r,lodSelection:n,nodeInPage:i,resources:a,converter:o}){let s=await Rs.createNodeIndexDocument(t,r,n,i,a);return await new Rs(i.index,o).addData(s)}static createRootNodeIndexDocument(t){let r={version:`{${Xu().toUpperCase()}}`,id:"root",level:0,lodSelection:[{metricType:"maxScreenThresholdSQ",maxError:0},{metricType:"maxScreenThreshold",maxError:0}],...t,children:[]};return(0,SN.default)(r,EN())}static async createNodeIndexDocument(t,r,n,i,a){var l,f,d,p,h;let o=i.index,s=await t.load(),u={version:s.version,id:o.toString(),level:s.level+1,...r,lodSelection:n,parentNode:{id:t.id,href:`../${t.id}`,mbs:s.mbs,obb:s.obb},children:[],neighbors:[]},c=(0,SN.default)(u,EN());if(i.mesh&&(c.geometryData=[{href:"./geometries/0"}],c.sharedResource={href:"./shared"},("texture"in a&&a.texture||"texelCountHint"in a&&a.texelCountHint)&&(c.textureData=[{href:"./textures/0"},{href:"./textures/1"}]),"attributes"in a&&a.attributes&&a.attributes.length&&((f=(l=t.converter.layers0)==null?void 0:l.attributeStorageInfo)!=null&&f.length)||"attributesCount"in a&&a.attributesCount&&((p=(d=t.converter.layers0)==null?void 0:d.attributeStorageInfo)!=null&&p.length))){let m=("attributes"in a?(h=a.attributes)==null?void 0:h.length:a.attributesCount)||0;c.attributeData=[];let g=m<t.converter.layers0.attributeStorageInfo.length?m:t.converter.layers0.attributeStorageInfo.length;for(let x=0;x<g;x++){let y=t.converter.layers0.attributeStorageInfo[x].key;c.attributeData.push({href:`./attributes/${y}/0`})}}return c}};var kN=async(e,t,r)=>{let n=R1(t);if(!e||!t.contentUrl||!n)return;let i={...r,[e.loader.id]:{isTileset:n,assetGltfUpAxis:e.asset&&e.asset.gltfUpAxis||"Y"}},a=await A4(t.contentUrl,e.loader,i);a.root&&(t.children=[a.root])},CN=async(e,t,r)=>{let n=R1(t);if(!e||!t.contentUrl||n)return null;let i={...r,[e.loader.id]:{...r[e.loader.id]||{},isTileset:n,assetGltfUpAxis:e.asset&&e.asset.gltfUpAxis||"Y"}};return await A4(t.contentUrl,e.loader,i)};async function A4(e,t,r){let n=e.split(".3tz"),i;if(n.length===1)i=null;else if(n.length===2)i=n[1].slice(1),i===""&&(i="tileset.json");else throw new Error("Unexpected URL format");if(i){let a=`${n[0]}.3tz`,o=NCt(a),s=await UCt(o),u=new S1(o,s,a),c=new fl(u),l=await Kr(i,t,r);return await c.destroy(),l}return await Kr(e,t,r)}function R1(e){return(e==null?void 0:e.type)==="json"||(e==null?void 0:e.type)==="3tz"}function NCt(e){return e.startsWith("http://")||e.startsWith("https://")?new p0(e):dr?new p0(e):new Hi(e)}async function UCt(e){let t,r=await Xp(e,Qp),n=await Yp(r,e);if((n==null?void 0:n.fileName)==="@3dtilesIndex1@"){let i=await Os(n.localHeaderOffset,e);if(!i)throw new Error("corrupted 3tz");let a=i.fileDataOffset,o=await Xr(e,a,a+i.compressedSize);t=E1(o)}return t}var E4=async({tile:e,traversalProps:t,processTile:r,postprocessTile:n,maxDepth:i,level:a=0})=>{if(i&&a>i)return;let o=[],s=await r(e,t);o.push(s);for(let u of e.children)await E4({tile:u,traversalProps:s,processTile:r,postprocessTile:n,maxDepth:i,level:a+1});n&&await n(o,t)};var GCt=["POINTS","LINES","LINE_LOOP","LINE_STRIP","TRIANGLES","TRIANGLE_STRIP","TRIANGLE_FAN"],rEe=async e=>{let t={meshTopologyTypes:new Set,metadataClasses:new Set};if(!(e!=null&&e.gltfArrayBuffer))return t;let n=(await Ya(e.gltfArrayBuffer,Yc,{gltf:{normalize:!1,loadBuffers:!1,loadImages:!1,decompressMeshes:!1}})).json;if(!n)return t;let i=zCt(n),a=HCt(n);return{meshTopologyTypes:i,metadataClasses:a}},zCt=e=>{let t=new Set;for(let r of e.meshes||[])for(let n of r.primitives){let{mode:i}=n;typeof i!="number"&&(i=4),t.add(GCt[i])}return t},HCt=e=>{var i,a,o,s,u,c;let t=new Set,r=(o=(a=(i=e.extensions)==null?void 0:i[jo])==null?void 0:a.schema)==null?void 0:o.classes;if(r)for(let l of Object.keys(r))t.add(l);let n=(c=(u=(s=e.extensions)==null?void 0:s[Xc])==null?void 0:u.schema)==null?void 0:c.classes;if(n)for(let l of Object.keys(n))t.add(l);return t},nEe=(e,t)=>{for(let r of t.meshTopologyTypes)e.meshTopologyTypes.add(r);for(let r of t.metadataClasses)e.metadataClasses.add(r)};var iEe=Dt(require("process"),1);var VCt=.2,tv=class{_stepsTotal=0;_stepsDone=0;startTime=0;stopTime=0;timeOfUpdatingStepsDone=0;milliSecForOneStep=0;trust=!1;numberOfDigitsInPercentage=0;threshold;getTime;constructor(t={}){this.getTime=t.getTime||iEe.default.hrtime.bigint,this.threshold=t.threshold||VCt}get stepsTotal(){return this._stepsTotal}set stepsTotal(t){this._stepsTotal=t,this.numberOfDigitsInPercentage=this.stepsTotal>100?Math.ceil(Math.log10(this.stepsTotal))-2:0}get stepsDone(){return this._stepsDone}set stepsDone(t){if(this._stepsDone=t,this.timeOfUpdatingStepsDone=this.getCurrentTimeInMilliSeconds(),this._stepsDone){let n=(this.timeOfUpdatingStepsDone-this.startTime)/this._stepsDone;this.trust=this.isVelocityTrust(n,this.milliSecForOneStep),this.milliSecForOneStep=n}}startMonitoring(){this.startTime=this.getCurrentTimeInMilliSeconds(),this.milliSecForOneStep=0,this.trust=!1,this.timeOfUpdatingStepsDone=0,this.stopTime=0,this.stepsDone=0}stopMonitoring(){this.stopTime=this.getCurrentTimeInMilliSeconds()}getPercent(){return this._stepsTotal?this._stepsDone/this._stepsTotal*100:null}getPercentString(){let t=this.getPercent();return t!==null?t.toFixed(this.numberOfDigitsInPercentage):""}getTimeCurrentlyElapsed(){return(this.stopTime?this.stopTime:this.getCurrentTimeInMilliSeconds())-this.startTime}getTimeRemaining(){return!this._stepsTotal||!this._stepsDone||!this.startTime?null:{timeRemaining:(this._stepsTotal-this._stepsDone)*this.milliSecForOneStep,trust:this.trust}}getTimeRemainingString(){let t=this.getTimeRemaining();return t!=null&&t.trust?Jg(t.timeRemaining):""}isVelocityTrust(t,r){return r?Math.abs((t-r)/r)<this.threshold:!1}getCurrentTimeInMilliSeconds(){return Number(this.getTime()/BigInt(1e6))}};var L6e=require("util");var cd=require("path"),q6e=Dt(require("process"),1),N6e=Dt(j6e(),1);var M6e={type:"object",properties:{options:{type:"object",properties:{inputUrl:{type:"string"},outputPath:{type:"string"},tilesetName:{type:"string"},maxDepth:{type:"number"},slpk:{type:"boolean"},egmFilePath:{type:"string"},token:{type:"string"},draco:{type:"boolean"},mergeMaterials:{type:"boolean"},generateTextures:{type:"boolean"},generateBoundingVolumes:{type:"boolean"},metadataClass:{type:"string"},analyze:{type:"boolean"}},required:["inputUrl","outputPath","tilesetName"]},tilesConverted:{type:"object",patternProperties:{".*":{type:"object",properties:{nodes:{type:"array",items:{type:"object",properties:{nodeId:{type:["number","string"]},done:{type:"boolean"},progress:{type:"object",patternProperties:{".*":{type:"boolean"}}},dumpMetadata:{type:"object",properties:{boundingVolumes:{type:["object","null"],properties:{mbs:{type:"array",minItems:4,maxItems:4,items:{type:"number"}},obb:{type:"object",properties:{center:{type:"array",minItems:3,maxItems:3,items:{type:"number"}},halfSize:{type:"array",minItems:3,maxItems:3,items:{type:"number"}},quaternion:{type:"array",minItems:4,maxItems:4,items:{type:"number"}}},required:["center","halfSize","quaternion"]}},required:["mbs","obb"]},attributesCount:{type:"number"},featureCount:{type:"number"},geometry:{type:"boolean"},hasUvRegions:{type:"boolean"},materialId:{type:"number"},texelCountHint:{type:"number"},vertexCount:{type:"number"}},required:["boundingVolumes","featureCount","geometry","hasUvRegions","materialId","vertexCount"]}},required:["nodeId","done"]}}},required:["nodes"]}}},textureSetDefinitions:{type:"array",items:{type:"object",properties:{formats:{type:"array",items:{type:"object",properties:{name:{type:"string"},format:{enum:["jpg","png","ktx-etc2","dds","ktx2"]}},required:["name","format"]}},atlas:{type:"boolean"}},required:["formats"]}},attributeMetadataInfo:{type:"object",properties:{attributeStorageInfo:{type:"array",items:{type:"object",properties:{key:{type:"string"},name:{type:"string"},header:{type:"array",items:{type:"object",properties:{property:{type:"string"},valueType:{type:"string"}},required:["property","valueType"]}},ordering:{type:"array",items:{type:"string"}},attributeValues:{$ref:"#/$defs/AttributeValue"},attributeByteCounts:{$ref:"#/$defs/AttributeValue"},objectIds:{$ref:"#/$defs/AttributeValue"}},required:["key","name","header"]}},fields:{type:"array",items:{type:"object",properties:{name:{type:"string"},type:{$ref:"#/$defs/ESRIField"},alias:{type:"string"},domain:{$ref:"#/$defs/Domain"}},required:["name","type"]}},popupInfo:{type:"object",properties:{title:{type:"string"},description:{type:"string"},expressionInfos:{type:"array",items:{}},fieldInfos:{type:"array",items:{$ref:"#/$defs/FieldInfo"}},mediaInfos:{type:"array",items:{}},popupElements:{type:"array",items:{type:"object",properties:{text:{type:"string"},type:{type:"string"},fieldInfos:{type:"array",items:{$ref:"#/$defs/FieldInfo"}}}}}}}},required:["attributeStorageInfo","fields"]},materialDefinitions:{type:"array",items:{type:"object",properties:{pbrMetallicRoughness:{type:"object",properties:{baseColorFactor:{type:"array",minItems:4,maxItems:4,items:{type:"number"}},baseColorTexture:{$ref:"#/$defs/I3SMaterialTexture"},metallicFactor:{type:"number"},roughnessFactor:{type:"number"},metallicRoughnessTexture:{$ref:"#/$defs/I3SMaterialTexture"}},required:["metallicFactor","roughnessFactor"]},normalTexture:{$ref:"#/$defs/I3SMaterialTexture"},occlusionTexture:{$ref:"#/$defs/I3SMaterialTexture"},emissiveTexture:{$ref:"#/$defs/I3SMaterialTexture"},emissiveFactor:{type:"array",minItems:3,maxItems:3,items:{type:"number"}},alphaMode:{enum:["opaque","mask","blend"]},alphaCutoff:{type:"number"},doubleSided:{type:"boolean"},cullFace:{enum:["none","front","back"]}},required:["pbrMetallicRoughness","alphaMode"]}}},required:["options","tilesConverted"],$defs:{AttributeValue:{type:"object",properties:{valueType:{type:"string"},encoding:{type:"string"},valuesPerElement:{type:"number"}},required:["valueType"]},ESRIField:{enum:["esriFieldTypeDate","esriFieldTypeSingle","esriFieldTypeDouble","esriFieldTypeGUID","esriFieldTypeGlobalID","esriFieldTypeInteger","esriFieldTypeOID","esriFieldTypeSmallInteger","esriFieldTypeString"]},Domain:{type:"object",properties:{type:{type:"string"},name:{type:"string"},description:{type:"string"},fieldType:{type:"string"},range:{type:"array",items:{type:"number"}},codedValues:{type:"array",items:{type:"object",properties:{name:{type:"string"},code:{type:["string","number"]}},required:["name","code"]}},mergePolicy:{type:"string"},splitPolicy:{type:"string"}},required:["type","name"]},FieldInfo:{type:"object",properties:{fieldName:{type:"string"},visible:{type:"boolean"},isEditable:{type:"boolean"},label:{type:"string"}},required:["fieldName","visible","isEditable","label"]},I3SMaterialTexture:{type:"object",properties:{textureSetDefinitionId:{type:"number"},texCoord:{type:"number"},factor:{type:"number"}},required:["textureSetDefinitionId"]}}};var fh=class{restored=!1;options;tilesConverted;textureSetDefinitions;attributeMetadataInfo;materialDefinitions;constructor(){this.tilesConverted={}}async createDump(t){let{tilesetName:r,slpk:n,egmFilePath:i,inputUrl:a,outputPath:o,draco:s=!0,maxDepth:u,token:c,generateTextures:l,generateBoundingVolumes:f,mergeMaterials:d=!0,metadataClass:p,analyze:h=!1,outputVersion:m="1.1"}=t;this.options={tilesetName:r,slpk:n,egmFilePath:i,inputUrl:a,outputPath:o,draco:s,maxDepth:u,token:c,generateTextures:l,generateBoundingVolumes:f,mergeMaterials:d,metadataClass:p,analyze:h,outputVersion:m};let g=(0,cd.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${td}`);if(await C1(g))try{let x=await Kg((0,cd.join)(this.options.outputPath,this.options.tilesetName),`${this.options.tilesetName}${td}`),{options:y,tilesConverted:w,textureSetDefinitions:T,attributeMetadataInfo:A,materialDefinitions:D}=x;if(new N6e.default().compile(M6e)(x)&&(0,L6e.isDeepStrictEqual)(y,JSON.parse(JSON.stringify(this.options)))){this.tilesConverted=w,this.textureSetDefinitions=T,this.attributeMetadataInfo=A,this.materialDefinitions=D,this.restored=!0;return}}catch(x){console.log("Can't open dump file",x)}await this.deleteDumpFile()}reset(){this.restored=!1,this.tilesConverted={},this.textureSetDefinitions&&delete this.textureSetDefinitions,this.attributeMetadataInfo&&delete this.attributeMetadataInfo,this.materialDefinitions&&delete this.materialDefinitions}async updateDumpFile(){var t;if((t=this.options)!=null&&t.outputPath&&this.options.tilesetName)try{let r=q6e.default.hrtime();await Ia((0,cd.join)(this.options.outputPath,this.options.tilesetName),JSON.stringify({options:this.options,tilesConverted:this.tilesConverted,textureSetDefinitions:this.textureSetDefinitions,attributeMetadataInfo:this.attributeMetadataInfo,materialDefinitions:this.materialDefinitions}),`${this.options.tilesetName}${td}.${r[0]}.${r[1]}`),await mAe((0,cd.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${td}.${r[0]}.${r[1]}`),(0,cd.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${td}`))}catch(r){console.log("Can't update dump file",r)}}async deleteDumpFile(){var t;(t=this.options)!=null&&t.outputPath&&this.options.tilesetName&&await C1((0,cd.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${td}`))&&await B1((0,cd.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${td}`))}getRecord(t){return this.tilesConverted[t]}setRecord(t,r){this.tilesConverted[t]=r}async addNode(t,r,n){let{nodes:i}=this.getRecord(t)||{nodes:[]};i.push({nodeId:r,done:!1,dumpMetadata:n}),i.length===1&&this.setRecord(t,{nodes:i}),await this.updateDumpFile()}clearDumpRecord(t){this.setRecord(t,{nodes:[]})}addTexturesDefinitions(t){this.textureSetDefinitions=t}updateDoneStatus(t,r,n,i){var o;let a=(o=this.tilesConverted[t])==null?void 0:o.nodes.find(s=>s.nodeId===r);a&&(a.progress||(a.progress={}),a.progress[n]=i,i||(a.done=!1))}async updateConvertedTilesDump(t,r){for(let n=0;n<t.length;n++)if(t[n]&&"value"in r[n]){let{sourceId:i,resourceType:a,outputId:o}=t[n];this.updateNodes(i,o,a)}await this.updateDumpFile()}updateNodes(t,r,n){if(!(!t||!n||!r)){for(let i of this.tilesConverted[t].nodes)if(i.nodeId===r&&i.progress){i.progress[n]=!0;let a=!1;for(let o in i.progress)if(a=i.progress[o],!a)break;i.done=a,i.done&&delete i.progress;break}}}async updateConvertedNodesDumpFile(t,r,n){var a;let i=(a=this.tilesConverted[t])==null?void 0:a.nodes.find(o=>o.nodeId===r);i&&(i.done=n,await this.updateDumpFile())}isFileConversionComplete(t){var n,i,a;let r=!0;for(let o of((n=this.tilesConverted[t])==null?void 0:n.nodes)||[])if(!o.done){r=!1;break}return r&&((a=(i=this.tilesConverted[t])==null?void 0:i.nodes)==null?void 0:a.length)>0}setMaterialsDefinitions(t){this.materialDefinitions=t}};var G6e,mIt=(G6e=dh.default.env)==null?void 0:G6e.IonToken,U6e=64,gIt="3DTILES",vIt="3DObject",bIt=1800,xIt="https://",ld="phase1-count",gv=class{attributeMetadataInfo;nodePages;options;layers0Path;materialMap;materialDefinitions;geometryMap;geometryConfigs;vertexCounter;layers0;featuresHashArray;refinementCounter;validate;boundingVolumeWarnings=[];conversionStartTime=[0,0];refreshTokenTime=[0,0];sourceTileset=null;loadOptions={core:{_nodeWorkers:!0,reuseWorkers:!0,useLocalLibraries:!0},basis:{format:"rgba32",workerUrl:"./modules/textures/dist/basis-worker-node.js"},draco:{workerUrl:"./modules/draco/dist/draco-worker-node.js"},modules:{}};geoidHeightModel=null;Loader=Uu;generateTextures;generateBoundingVolumes;layersHasTexture;workerSource={};writeQueue=new Zg(new fh);compressList=null;preprocessData={meshTopologyTypes:new Set,metadataClasses:new Set};progresses={};conversionDump;constructor(){this.attributeMetadataInfo=new n3,this.nodePages=new Di(Ia,U6e,this),this.options={},this.layers0Path="",this.materialMap=new Map,this.materialDefinitions=[],this.geometryMap=new Map,this.geometryConfigs=[],this.vertexCounter=0,this.layers0=null,this.featuresHashArray=[],this.refinementCounter={tilesCount:0,tilesWithAddRefineCount:0},this.validate=!1,this.generateTextures=!1,this.generateBoundingVolumes=!1,this.layersHasTexture=!1,this.compressList=null,this.conversionDump=new fh}async convert(t){var x;if(dr)return console.log(ev),ev;this.conversionStartTime=dh.default.hrtime();let{tilesetName:r,egmFilePath:n,inputUrl:i,validate:a,outputPath:o,draco:s=!0,maxDepth:u,token:c,generateTextures:l,generateBoundingVolumes:f,instantNodeWriting:d=!1,mergeMaterials:p=!0,inquirer:h,metadataClass:m,analyze:g=!1}=t;this.options={outputPath:o,tilesetName:r,maxDepth:u,egmFilePath:n,draco:s,token:c,inputUrl:i,instantNodeWriting:d,mergeMaterials:p,inquirer:h,metadataClass:m},this.progresses[ld]=new tv,this.compressList=this.options.instantNodeWriting&&[]||null,this.validate=Boolean(a),this.Loader=i.indexOf(xIt)!==-1?g8:Uu,this.generateTextures=Boolean(l),this.generateBoundingVolumes=Boolean(f),this.writeQueue=new Zg(this.conversionDump),this.writeQueue.startListening(),n.toLowerCase()==="none"?console.log('--egm chousen to be "none", skip loading egm file'):(console.log("Loading egm file..."),this.geoidHeightModel=await Kr(n,_4),console.log("Loading egm file completed!")),this.nodePages.useWriteFunction(Yu);try{let y=await this._fetchPreloadOptions(),w=i;if(y.url&&(w=y.url),y.headers){(x=this.loadOptions).core||(x.core={});let A=this.loadOptions.core.fetch;if(typeof A=="function")this.loadOptions.core.fetch=(D,F)=>A(D,{...F||{},headers:y.headers});else{let D=A&&typeof A=="object"?A:{};this.loadOptions.core.fetch={...D,headers:y.headers}}}this.sourceTileset=await A4(w,this.Loader,this.loadOptions),(this.Loader===Uu||g?await this.preprocessConversion():!0)&&!g&&await this.selectMetadataClass()&&(await this._createAndSaveTileset(o,r),await this._finishConversion({outputPath:o,tilesetName:r}))}catch(y){throw y}finally{await this.writeQueue.finalize(),Gi.getWorkerFarm({}).destroy()}return"success"}async preprocessConversion(){console.log("Analyze source tileset");let t=this.sourceTileset.root;await E4({tile:t,traversalProps:null,processTile:this.analyzeTile.bind(this),postprocessTile:void 0,maxDepth:this.options.maxDepth});let{meshTopologyTypes:r,metadataClasses:n}=this.preprocessData;return console.log("------------------------------------------------"),console.log("Preprocess results:"),console.log(`Tile count: ${this.progresses[ld].stepsTotal}`),console.log(`glTF mesh topology types: ${Array.from(r).join(", ")}`),n.size?console.log(`Feature metadata classes have been found: ${Array.from(n).join(", ")}`):console.log("Feature metadata classes have not been found"),!r.has("TRIANGLES")&&!r.has("TRIANGLE_STRIP")?(console.log("The tileset is of unsupported mesh topology types. The conversion will be interrupted."),console.log("------------------------------------------------"),!1):(console.log("------------------------------------------------"),!0)}async analyzeTile(t,r){if(R1(t))return await kN(this.sourceTileset,t,this.loadOptions),null;t.id&&(this.progresses[ld].stepsTotal+=1,console.log(`[analyze]: ${t.id}`));let i=null;try{i=await CN(this.sourceTileset,t,{...this.loadOptions,"3d-tiles":{...this.loadOptions["3d-tiles"],loadGLTF:!1}})}catch{console.log(`[warning]: Failed to load ${t.contentUrl}. An I3S tile with empty content will be added to the output tileset`)}let a=await rEe(i);return nEe(this.preprocessData,a),null}async selectMetadataClass(){var r;let{metadataClasses:t}=this.preprocessData;if(t.size>1)if((r=this.options.metadataClass)!=null&&r.length)console.log(`${this.options.metadataClass} has been selected`);else if(this.options.inquirer){let n=await this.options.inquirer.prompt([{name:"metadataClass",type:"list",message:"Select feature metadata data class to convert...",choices:Array.from(t)}]);this.options.metadataClass=n.metadataClass,console.log(`${n.metadataClass} has been selected`)}else return console.log(`A feature metadata class has not been selected. Start the converter with option "--metadata-class". For example, "npx tile-converter ... --metadata-class ${Array.from(t)[0]}"`),console.log("------------------------------------------------"),!1;return!0}async _createAndSaveTileset(t,r){var c,l,f;let n=(0,Jo.join)(`${t}`,`${r}`);await this.conversionDump.createDump(this.options),this.conversionDump.restored&&this.options.inquirer&&((await this.options.inquirer.prompt([{name:"resumeConversion",type:"confirm",message:"Dump file of the previous conversion exists, do you want to resume that conversion?"}])).resumeConversion||this.conversionDump.reset()),this.layers0Path=(0,Jo.join)(n,"SceneServer","layers","0");let i=this.conversionDump.restored?(0,Jo.join)(this.layers0Path,"nodepages"):n;try{await D1(i)}catch{}if(this.conversionDump.restored&&this.conversionDump.attributeMetadataInfo&&this.attributeMetadataInfo.fromObject(this.conversionDump.attributeMetadataInfo),this.materialDefinitions=[],this.materialMap=new Map,this.conversionDump.restored&&this.conversionDump.materialDefinitions){for(let d=0;d<this.conversionDump.materialDefinitions.length;d++){let p=(0,ok.default)(JSON.stringify(this.conversionDump.materialDefinitions[d]));this.materialMap.set(p,d)}this.materialDefinitions=this.conversionDump.materialDefinitions}let a=this.sourceTileset.root,o=wy(a.boundingVolume,new gr(a.transform),null);this._formLayers0(r,o,(f=(l=(c=this.sourceTileset)==null?void 0:c.root)==null?void 0:l.boundingVolume)==null?void 0:f.region);let s=v4(o,this.geoidHeightModel);await this.nodePages.push({index:0,lodThreshold:0,obb:s.obb,children:[]}),this.progresses[ld].startMonitoring();let u=await Rs.createRootNode(s,this);await E4({tile:a,traversalProps:{transform:new gr(a.transform),parentNodes:[u]},processTile:this.convertTile.bind(this),postprocessTile:this.finalizeTile.bind(this),maxDepth:this.options.maxDepth}),this.progresses[ld].stopMonitoring(),console.log("[finalizing conversion]"),this.layers0.attributeStorageInfo=this.attributeMetadataInfo.attributeStorageInfo,this.layers0.fields=this.attributeMetadataInfo.fields,this.layers0.popupInfo=this.attributeMetadataInfo.popupInfo,this.attributeMetadataInfo.attributeStorageInfo.length&&(this.layers0.layerType=vIt),this.conversionDump.restored&&this.conversionDump.textureSetDefinitions&&(this.layers0.textureSetDefinitions=this.conversionDump.textureSetDefinitions),this.layers0.materialDefinitions=this.materialDefinitions,this.layers0.geometryDefinitions=(0,ak.default)(this.geometryConfigs.map(d=>({geometryConfig:{...d,draco:this.options.draco}})),JAe()),this.layersHasTexture===!1&&(this.layers0.store.defaultGeometrySchema.ordering=this.layers0.store.defaultGeometrySchema.ordering.filter(d=>d!=="uv0")),await this._writeLayers0(),zAe(r,this.layers0,n);for(let d of this.compressList||[])await p4(d),await B1(d);await this.nodePages.save(),await this.writeQueue.finalize(),await this._createSlpk(n)}_formLayers0(t,r,n){var s;if(!((s=this.sourceTileset)!=null&&s.root))return;let i=AAe(r);n&&(i.zmin=n[4],i.zmax=n[5]);let a=[i.xmin,i.ymin,i.xmax,i.ymax],o={version:`{${Xu().toUpperCase()}}`,id:0,name:t,href:"./layers/0",store:{id:`{${Xu().toUpperCase()}}`,extent:a},nodePages:{nodesPerPage:U6e},compressGeometry:this.options.draco,fullExtent:i};this.layers0=(0,ak.default)(o,KAe())}async _writeLayers0(){await this.writeQueue.enqueue({archiveKey:"3dSceneLayer.json.gz",writePromise:()=>Yu(this.layers0Path,JSON.stringify(this.layers0),"3dSceneLayer.json")})}async _createSlpk(t){await this.conversionDump.deleteDumpFile();let r=(0,Jo.join)(t,"SceneServer","layers","0"),n=`${t}.slpk`;await sN(r,n,async i=>({path:"@specialIndexFileHASH128@",file:await T1(i)}));try{await D1(t)}catch{}}async convertTile(t,r){let n=R1(t);if(n||t.type==="empty")return n&&(t.id&&console.log(`[load]: ${t.id}`),await kN(this.sourceTileset,t,this.loadOptions)),r;t.id&&console.log(`[convert]: ${t.id}`);let{parentNodes:i,transform:a}=r,o=a.clone();t.transform&&(o=o.multiplyRight(t.transform));let s=i[0],u=await this._restoreNode(s,t,o),c;u===null?c=await this._createNode(s,t,o):c=u,await s.addChildren(c);let l={transform:o,parentNodes:c};if(t.id){this.progresses[ld].stepsDone+=1;let f="Calculating time left...",d=this.progresses[ld].getTimeRemainingString();d&&(f=`${d} left`);let p=this.progresses[ld].getPercentString(),h=p?` ${p}%, ${f}`:"";console.log(`[converted${h}]: ${t.id}`)}return l}async finalizeTile(t,r){for(let n of t)for(let i of n.parentNodes)await i.addNeighbors();for(let n of r.parentNodes)await n.save()}async _generateNodeIndexDocument(t,r,n,i,a){this.layersHasTexture=this.layersHasTexture||Boolean("texture"in r&&r.texture||"texelCountHint"in r&&r.texelCountHint),this.generateBoundingVolumes&&r.boundingVolumes&&(t=r.boundingVolumes);let o=HAe(i,t),s=o.find(f=>f.metricType==="maxScreenThresholdSQ")||{maxError:0};if(a){let f={center:[],halfSize:[],quaternion:[]};await this.nodePages.push({index:0,obb:f},n.inPageId)}let u=await this._updateNodeInNodePages(s,t,i,n.inPageId,r),c=await Rs.createNodeIndexDocument(n,t,o,u,r);return{node:await new Rs(u.index,this).addData(c),nodeInPage:u,nodeData:c}}async _restoreNode(t,r,n){if(this._checkAddRefinementTypeForTile(r),await this._updateTilesetOptions(),this.conversionDump.restored&&r.id&&this.conversionDump.isFileConversionComplete(r.id)){let i=wy(r.boundingVolume,n,null),a=v4(i,this.geoidHeightModel),o=[];for(let s of this.conversionDump.tilesConverted[r.id].nodes){let{node:u}=await this._generateNodeIndexDocument(a,{...s.dumpMetadata,nodeId:s.nodeId},t,r,!0);o.push(u)}return o}else this.conversionDump.restored&&r.id&&this.conversionDump.clearDumpRecord(r.id);return null}async _createNode(t,r,n){var p;this._checkAddRefinementTypeForTile(r),await this._updateTilesetOptions();let i=null;try{i=await CN(this.sourceTileset,r,this.loadOptions)}catch{console.log(`[warning]: Failed to load ${r.contentUrl}`)}let a=wy(r.boundingVolume,n,null),o=v4(a,this.geoidHeightModel),s=qAe(i,this.options.metadataClass);this.createAttributeStorageInfo(i,s),this.conversionDump.attributeMetadataInfo={attributeStorageInfo:this.attributeMetadataInfo.attributeStorageInfo,fields:this.attributeMetadataInfo.fields,popupInfo:this.attributeMetadataInfo.popupInfo};let u=await this._convertResources({sourceTile:r,transformationMatrix:n,boundingVolume:a,tileContent:i,parentId:t.inPageId,propertyTable:s}),c=[],l=[],f=[],d={geometry:null,compressedGeometry:null,texture:null,hasUvRegions:!1,sharedResources:null,meshMaterial:null,vertexCount:null,attributes:null,featureCount:null,boundingVolumes:null};for(let h of u||[d]){let{node:m,nodeInPage:g,nodeData:x}=await this._generateNodeIndexDocument(o,h,t,r,!1);if(c.push(m),g.mesh){if(r.id){let y={boundingVolumes:h.boundingVolumes,attributesCount:(p=h.attributes)==null?void 0:p.length,featureCount:h.featureCount,geometry:Boolean(h.geometry),hasUvRegions:h.hasUvRegions,materialId:g.mesh.material.definition,texelCountHint:g.mesh.material.texelCountHint,vertexCount:h.vertexCount};this.conversionDump.setMaterialsDefinitions(this.materialDefinitions),await this.conversionDump.addNode(r.id,g.index,y)}await this._writeResources(h,m.id,r)}this.validate&&(this.boundingVolumeWarnings=QAe(x),this.boundingVolumeWarnings&&this.boundingVolumeWarnings.length&&console.warn("Bounding Volume Warnings: ",...this.boundingVolumeWarnings)),l.push(g.index),f.push(g)}return c}async _convertResources({sourceTile:t,transformationMatrix:r,boundingVolume:n,tileContent:i,parentId:a,propertyTable:o}){if(!this.isContentSupported(t)||!i)return null;let s={center:[],halfSize:[],quaternion:[]};return await bN({tileContent:i,tileTransform:r,tileBoundingVolume:n,addNodeToNodePage:async()=>(await this.nodePages.push({index:0,obb:s},a)).index,propertyTable:o,featuresHashArray:this.featuresHashArray,attributeStorageInfo:this.attributeMetadataInfo.attributeStorageInfo,draco:this.options.draco??!1,generateBoundingVolumes:this.generateBoundingVolumes,shouldMergeMaterials:this.options.mergeMaterials??!1,geoidHeightModel:this.geoidHeightModel,libraries:this.loadOptions.modules,metadataClass:this.options.metadataClass})}async _updateNodeInNodePages(t,r,n,i,a){let{vertexCount:o,featureCount:s,geometry:u,hasUvRegions:c}=a,l={index:0,lodThreshold:t.maxError,obb:r.obb,children:[]};u&&this.isContentSupported(n)&&(l.mesh={geometry:{definition:this.findOrCreateGeometryDefinition(Boolean("texture"in a&&a.texture||"texelCountHint"in a&&a.texelCountHint),c),resource:0},attribute:{resource:0},material:{definition:0}});let f="nodeId"in a?a.nodeId:void 0,d;if(f?d=await this.nodePages.getNodeById(f):d=await this.nodePages.push(l,i),l.mesh||console.log(`[warning]: node ${d.index} is created with empty content`),Di.updateAll(d,l),"meshMaterial"in a&&a.meshMaterial?Di.updateMaterialByNodeId(d,this._findOrCreateMaterial(a.meshMaterial)):"materialId"in a&&a.materialId!==null&&Di.updateMaterialByNodeId(d,a.materialId),"texture"in a&&a.texture){let p=a.texture.image.height*a.texture.image.width;Di.updateTexelCountHintByNodeId(d,p)}else"texelCountHint"in a&&a.texelCountHint&&Di.updateTexelCountHintByNodeId(d,a.texelCountHint);return o&&(this.vertexCounter+=o,Di.updateVertexCountByNodeId(d,o)),Di.updateNodeAttributeByNodeId(d),s&&Di.updateFeatureCountByNodeId(d,s),this.nodePages.saveNode(d),d}async _writeResources(t,r,n){let{geometry:i,compressedGeometry:a,texture:o,sharedResources:s,attributes:u}=t,c=(0,Jo.join)(this.layers0Path,"nodes",r),l=(0,Jo.join)("nodes",r);await this._writeGeometries({geometryBuffer:i,compressedGeometry:a,childPath:c,slpkChildPath:l,sourceId:n.id||"",nodeId:parseInt(r)}),await this._writeShared({sharedResources:s,childPath:c,slpkChildPath:l,nodePath:r,sourceId:n.id||"",nodeId:parseInt(r)}),await this._writeTexture(o,c,l,n.id||"",parseInt(r)),await this._writeAttributes(u,c,l,n.id||"",parseInt(r))}async _writeGeometries({geometryBuffer:t,compressedGeometry:r,childPath:n,slpkChildPath:i,sourceId:a,nodeId:o}){if(!t)return;this.conversionDump.updateDoneStatus(a,o,"GEOMETRY",!1);let s=(0,Jo.join)(n,"geometries");if(await this.writeQueue.enqueue({archiveKey:`${i}/geometries/0.bin.gz`,sourceId:a,outputId:o,resourceType:"GEOMETRY",writePromise:()=>Yu(s,t,"0.bin")}),this.options.draco&&r){this.conversionDump.updateDoneStatus(a,o,"DRACO_GEOMETRY",!1);let u=(0,Jo.join)(n,"geometries");await this.writeQueue.enqueue({archiveKey:`${i}/geometries/1.bin.gz`,sourceId:a,outputId:o,resourceType:"DRACO_GEOMETRY",writePromise:()=>Yu(u,r,"1.bin")})}}async _writeShared({sharedResources:t,childPath:r,slpkChildPath:n,nodePath:i,sourceId:a,nodeId:o}){if(!t)return;t.nodePath=i;let s=(0,ak.default)(t,XAe()),u=JSON.stringify(s);this.conversionDump.updateDoneStatus(a,o,"SHARED",!1);let c=(0,Jo.join)(r,"shared");await this.writeQueue.enqueue({archiveKey:`${n}/shared/sharedResource.json.gz`,sourceId:a,outputId:o,resourceType:"SHARED",writePromise:()=>Yu(c,u,"sharedResource.json")})}async _writeTexture(t,r,n,i,a){if(t){let o=this._getFormatByMimeType(t==null?void 0:t.mimeType),s=[],u=t.bufferView.data;switch(o){case"jpg":case"png":{if(s.push({name:"0",format:o}),this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/${o}`,!1),await this.writeTextureFile({textureData:u,name:"0",format:o,childPath:r,slpkChildPath:n,sourceId:i,nodeId:a}),this.generateTextures){s.push({name:"1",format:"ktx2"});let c=t.image.data.subarray(),l=new Uint8Array(c),f=$m({...t.image,data:l},DL,{...DL.options,["ktx2-basis-writer"]:{workerUrl:"./modules/textures/dist/ktx2-basis-writer-worker-node.js"},reuseWorkers:!0,_nodeWorkers:!0,useLocalLibraries:!0});this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/ktx2`,!1),await this.writeTextureFile({textureData:f,name:"1",format:"ktx2",childPath:r,slpkChildPath:n,sourceId:i,nodeId:a})}break}case"ktx2":{if(s.push({name:"1",format:o}),this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/${o}`,!1),await this.writeTextureFile({textureData:u,name:"1",format:o,childPath:r,slpkChildPath:n,sourceId:i,nodeId:a}),this.generateTextures){s.push({name:"0",format:"jpg"});let c=$m(t.image.data[0],bL);this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/jpg`,!1),await this.writeTextureFile({textureData:c,name:"0",format:"jpg",childPath:r,slpkChildPath:n,sourceId:i,nodeId:a})}break}default:}this.layers0.textureSetDefinitions.length||(this.layers0.textureSetDefinitions.push({formats:s}),this.layers0.textureSetDefinitions.push({formats:s,atlas:!0}),this.layers0.textureSetDefinitions&&this.conversionDump.addTexturesDefinitions(this.layers0.textureSetDefinitions))}}async writeTextureFile({textureData:t,name:r,format:n,childPath:i,slpkChildPath:a,sourceId:o,nodeId:s}){let u=(0,Jo.join)(i,"textures"),c=!1;await this.writeQueue.enqueue({archiveKey:`${a}/textures/${r}.${n}`,sourceId:o,outputId:s,resourceType:`${"TEXTURE"}/${n}`,writePromise:()=>Yu(u,t,`${r}.${n}`,c)})}async _writeAttributes(t=[],r,n,i,a){if(t!=null&&t.length&&this.attributeMetadataInfo.attributeStorageInfo.length){let o=t.length<this.attributeMetadataInfo.attributeStorageInfo.length?t.length:this.attributeMetadataInfo.attributeStorageInfo.length;for(let s=0;s<o;s++){let u=this.attributeMetadataInfo.attributeStorageInfo[s].key,c=new Uint8Array(t[s]);this.conversionDump.updateDoneStatus(i,a,`${"ATTRIBUTES"}/${u}`,!1);let l=(0,Jo.join)(r,"attributes",u);await this.writeQueue.enqueue({archiveKey:`${n}/attributes/${u}.bin.gz`,sourceId:i,outputId:a,resourceType:`${"ATTRIBUTES"}/${u}`,writePromise:()=>Yu(l,c,"0.bin")})}}}_getFormatByMimeType(t){switch(t){case"image/jpeg":return"jpg";case"image/png":return"png";case"image/ktx2":return"ktx2";default:return"jpg"}}_findOrCreateMaterial(t){let r=(0,ok.default)(JSON.stringify(t));if(this.materialMap.has(r))return this.materialMap.get(r)||0;let n=this.materialDefinitions.push(t)-1;return this.materialMap.set(r,n),n}findOrCreateGeometryDefinition(t,r){let n={hasTexture:t,hasUvRegions:r},i=(0,ok.default)(JSON.stringify(n));if(this.geometryMap.has(i))return this.geometryMap.get(i)||0;let a=this.geometryConfigs.push(n)-1;return this.geometryMap.set(i,a),a}createAttributeStorageInfo(t,r){let n=null;this.options.metadataClass?!this.attributeMetadataInfo.attributeStorageInfo.length&&(t!=null&&t.gltf)&&(n=FAe(t.gltf,this.options.metadataClass)):r&&(n=BAe(r)),n&&this.attributeMetadataInfo.addMetadataInfo(n)}async _finishConversion(t){let{tilesCount:r,tilesWithAddRefineCount:n}=this.refinementCounter,i=n?n/r*100:0,a=await g4({outputPath:t.outputPath,tilesetName:t.tilesetName,slpk:!0}),o=dh.default.hrtime(this.conversionStartTime),s=Jg(o);console.log("------------------------------------------------"),console.log(`Finishing conversion of ${gIt}`),console.log(`Total conversion time: ${s}`),console.log("Vertex count: ",this.vertexCounter),console.log("File(s) size: ",a," bytes"),console.log('Percentage of tiles with "ADD" refinement type:',i,"%"),console.log("------------------------------------------------")}async _fetchPreloadOptions(){if(!this.Loader.preload)return{};let t={"cesium-ion":{accessToken:this.options.token||mIt}},r=await this.Loader.preload(this.options.inputUrl??"",t);return this.refreshTokenTime=dh.default.hrtime(),{...t,...r}}async _updateTilesetOptions(){var n;if(dh.default.hrtime(this.refreshTokenTime)[0]<bIt)return;this.refreshTokenTime=dh.default.hrtime();let r=await this._fetchPreloadOptions();if(r.headers){(n=this.loadOptions).core||(n.core={});let i=this.loadOptions.core.fetch;if(typeof i=="function")this.loadOptions.core.fetch=(a,o)=>i(a,{...o||{},headers:r.headers});else{let a=i&&typeof i=="object"?i:{};this.loadOptions.core.fetch={...a,headers:r.headers}}console.log("Authorization Bearer token has been updated")}}_checkAddRefinementTypeForTile(t){let r=1;t.refine===r&&(this.refinementCounter.tilesWithAddRefineCount+=1,console.warn('This tile uses "ADD" type of refinement')),this.refinementCounter.tilesCount+=1}isContentSupported(t){return["b3dm","glTF","scenegraph"].includes(t.type||"")}};var hSe=require("path"),gG=Dt(require("process"),1),mSe=Dt(Is(),1);function fG(e){switch(e){case"UInt8":return Uint8Array;case"UInt16":return Uint16Array;case"UInt32":return Uint32Array;case"Float32":return Float32Array;case"UInt64":return Float64Array;default:throw new Error(`parse i3s tile content: unknown type of data: ${e}`)}}var z6e={UInt8:mt.UNSIGNED_BYTE,UInt16:mt.UNSIGNED_SHORT,Float32:mt.FLOAT,UInt32:mt.UNSIGNED_INT,UInt64:mt.DOUBLE};function vv(e){switch(e){case"UInt8":return 1;case"UInt16":case"Int16":return 2;case"UInt32":case"Int32":case"Float32":return 4;case"UInt64":case"Int64":case"Float64":return 8;default:throw new Error(`parse i3s tile content: unknown size of data: ${e}`)}}var H6e="String",V6e="Oid32",$6e="Float64",W6e="Int16";function sk(e){let t;try{let r=new URL(e);t=`${r.origin}${r.pathname}`,t.startsWith("null")&&(t=null)}catch{t=null}return t||e}function bv(e,t=null){return t?`${e}?token=${t}`:e}function K6e(e,t){let{attributeData:r=[]}=t,n=[];for(let i=0;i<r.length;i++){let a=r[i].href.replace("./","");n.push(`${e}/${a}`)}return n}function J6e(e,t,r){let n=[],{attributeStorageInfo:i=[]}=e;for(let a=0;a<i.length;a++){let o=i[a].key;n.push(`${t}/nodes/${r}/attributes/${o}/0`)}return n}var uk=new Z([0,0,0]);function _It(e){switch(e){case"ktx-etc2":case"dds":return r8;case"ktx2":return Fp;case"jpg":case"png":default:return ag}}var wIt="i3s-attribute-type";async function Z6e(e,t,r,n,i){var o;let a={attributes:{},indices:null,featureIds:[],vertexCount:0,modelMatrix:new gr,coordinateSystem:0,byteLength:0,texture:null};if(t.textureUrl){let s=bv(t.textureUrl,(o=n==null?void 0:n.i3s)==null?void 0:o.token),u=_It(t.textureFormat),f=await(await((i==null?void 0:i.fetch)||fetch)(s)).arrayBuffer();if(n!=null&&n.i3s.decodeTextures){if(u===ag){let d={...t.textureLoaderOptions,image:{type:"data"}};try{let p=await Va(f,[],d,i);a.texture=p}catch{let h=await Ya(f,u,d,i);a.texture=h}}else if(u===r8||u===Fp){let d=await Kr(f,u,t.textureLoaderOptions);u===Fp&&(d=d[0]),a.texture={compressed:!0,mipmaps:!1,width:d[0].width,height:d[0].height,data:d}}}else a.texture=f}return a.material=FIt(t.materialDefinition,a.texture),a.material&&(a.texture=null),await AIt(e,a,t,r,n)}async function AIt(e,t,r,n,i){var f,d;let a=e.byteLength,o,s,u=0,c=0,l;if(r.isDracoGeometry){let p=await Ya(e,kp,{draco:{attributeNameEntry:wIt}});s=p.header.vertexCount,l=(f=p.indices)==null?void 0:f.value;let{POSITION:h,NORMAL:m,COLOR_0:g,TEXCOORD_0:x,["feature-index"]:y,["uv-region"]:w}=p.attributes;o={position:h,normal:m,color:g,uv0:x,uvRegion:w,id:y},EIt(o,p);let T=RIt(y);T&&PIt(o,T)}else{let{vertexAttributes:p,ordering:h,featureAttributes:m,featureAttributeOrder:g}=n.store.defaultGeometrySchema,x=SIt(e,n);u=x.byteOffset,s=x.vertexCount,c=x.featureCount;let{attributes:y,byteOffset:w}=Y6e(e,u,p,s,h),{attributes:T}=Y6e(e,w,m,c,g);IIt(T),o=TIt(y,T)}if(!((d=i==null?void 0:i.i3s)!=null&&d.coordinateSystem)||i.i3s.coordinateSystem===2){let p=CIt(o.position,r);t.modelMatrix=p.invert(),t.coordinateSystem=2}else t.modelMatrix=BIt(o.position),t.coordinateSystem=3;t.attributes={positions:o.position,normals:o.normal,colors:X6e(o.color),texCoords:o.uv0,uvRegions:X6e(o.uvRegion||o.region)},t.indices=l||null,o.id&&o.id.value&&(t.featureIds=o.id.value);for(let p in t.attributes)t.attributes[p]||delete t.attributes[p];return t.vertexCount=s,t.byteLength=a,t}function EIt(e,t){for(let r in t.loaderData.attributes){let n=t.loaderData.attributes[r];switch(n.name){case"POSITION":e.position.metadata=n.metadata;break;case"feature-index":e.id.metadata=n.metadata;break;default:break}}}function TIt(e,t){return{...e,...t}}function X6e(e){return e&&(e.normalized=!0,e)}function SIt(e,t){let r=0,n=0,i=0;for(let{property:a,type:o}of t.store.defaultGeometrySchema.header){let s=fG(o);switch(a){case"vertexCount".toString():n=new s(e,0,4)[0],r+=vv(o);break;case"featureCount".toString():i=new s(e,4,4)[0],r+=vv(o);break;default:break}}return{vertexCount:n,featureCount:i,byteOffset:r}}function Y6e(e,t,r,n,i){let a={};for(let o of i)if(r[o]){let{valueType:s,valuesPerElement:u}=r[o];if(t+n*u*vv(s)<=e.byteLength){let c=e.slice(t),l;if(s==="UInt64")l=kIt(c,n*u,vv(s));else{let f=fG(s);l=new f(c,0,n*u)}switch(a[o]={value:l,type:z6e[s],size:u},o){case"color":a.color.normalized=!0;break;case"position":case"region":case"normal":default:}t=t+n*u*vv(s)}else if(o!=="uv0")break}return{attributes:a,byteOffset:t}}function kIt(e,t,r){let n=[],i=new DataView(e),a=0;for(let o=0;o<t;o++){let s=i.getUint32(a,!0),u=i.getUint32(a+4,!0),c=s+2**32*u;n.push(c),a+=r}return new Uint32Array(n)}function CIt(e,t){let r=t.mbs,n=e.value,i=e.metadata,a=new gr,o=new Z(r[0],r[1],r[2]),s=new Z;return Ot.WGS84.cartographicToCartesian(o,s),Ot.WGS84.eastNorthUpToFixedFrame(s,a),e.value=DIt(n,i,o),a}function DIt(e,t={},r){let n=new Float64Array(e.length),i=t["i3s-scale_x"]&&t["i3s-scale_x"].double||1,a=t["i3s-scale_y"]&&t["i3s-scale_y"].double||1;for(let o=0;o<n.length;o+=3)n[o]=e[o]*i+r.x,n[o+1]=e[o+1]*a+r.y,n[o+2]=e[o+2]+r.z;for(let o=0;o<n.length;o+=3)Ot.WGS84.cartographicToCartesian(n.subarray(o,o+3),uk),n[o]=uk.x,n[o+1]=uk.y,n[o+2]=uk.z;return n}function BIt(e){var a,o;let t=e.metadata,r=((a=t==null?void 0:t["i3s-scale_x"])==null?void 0:a.double)||1,n=((o=t==null?void 0:t["i3s-scale_y"])==null?void 0:o.double)||1,i=new gr;return i[0]=r,i[5]=n,i}function FIt(e,t){let r;return e?r={...e,pbrMetallicRoughness:e.pbrMetallicRoughness?{...e.pbrMetallicRoughness}:{baseColorFactor:[255,255,255,255]}}:(r={pbrMetallicRoughness:{}},t?r.pbrMetallicRoughness.baseColorTexture={texCoord:0}:r.pbrMetallicRoughness.baseColorFactor=[255,255,255,255]),r.alphaCutoff=r.alphaCutoff||.25,r.alphaMode&&(r.alphaMode=r.alphaMode.toUpperCase()),r.emissiveFactor&&(r.emissiveFactor=Q6e(r.emissiveFactor)),r.pbrMetallicRoughness&&r.pbrMetallicRoughness.baseColorFactor&&(r.pbrMetallicRoughness.baseColorFactor=Q6e(r.pbrMetallicRoughness.baseColorFactor)),t&&OIt(r,t),r}function Q6e(e){let t=[...e];for(let r=0;r<e.length;r++)t[r]=e[r]/255;return t}function OIt(e,t){let r={source:{image:t}};e.pbrMetallicRoughness&&e.pbrMetallicRoughness.baseColorTexture?e.pbrMetallicRoughness.baseColorTexture={...e.pbrMetallicRoughness.baseColorTexture,texture:r}:e.emissiveTexture?e.emissiveTexture={...e.emissiveTexture,texture:r}:e.pbrMetallicRoughness&&e.pbrMetallicRoughness.metallicRoughnessTexture?e.pbrMetallicRoughness.metallicRoughnessTexture={...e.pbrMetallicRoughness.metallicRoughnessTexture,texture:r}:e.normalTexture?e.normalTexture={...e.normalTexture,texture:r}:e.occlusionTexture&&(e.occlusionTexture={...e.occlusionTexture,texture:r})}function IIt(e){let{id:t,faceRange:r}=e;if(!t||!r)return;let n=t.value,i=r.value,a=i[i.length-1]+1,o=new Uint32Array(a*3),s=0,u=0;for(let c=1;c<i.length;c+=2){let l=Number(n[s]),f=i[c],d=i[c-1],p=f-d+1,h=u+p*3;o.fill(l,u,h),s++,u=h}e.id.value=o}function PIt(e,t){let r=e.id.value,n=new Float32Array(r.length);for(let i=0;i<r.length;i++)n[i]=t[r[i]];e.id.value=n}function RIt(e){var t,r;return(r=(t=e==null?void 0:e.metadata)==null?void 0:t["i3s-feature-ids"])==null?void 0:r.intArray}var jIt="4.4.0-alpha.11",eSe={dataType:null,batchType:null,name:"I3S Content (Indexed Scene Layers)",id:"i3s-content",module:"i3s",worker:!0,version:jIt,mimeTypes:["application/octet-stream"],parse:MIt,extensions:["bin"],options:{"i3s-content":{}}};async function MIt(e,t,r){let{tile:n,_tileOptions:i,tileset:a,_tilesetOptions:o}=(t==null?void 0:t.i3s)||{},s=i||n,u=o||a;return!s||!u?null:await Z6e(e,s,u,t,r)}var LIt="4.4.0-alpha.11",tSe={dataType:null,batchType:null,name:"I3S Node Page",id:"i3s-node-page",module:"i3s",version:LIt,mimeTypes:["application/json"],parse:qIt,extensions:["json"],options:{i3s:{}}};async function qIt(e,t){return JSON.parse(new TextDecoder().decode(e))}var l_=class{tileset;nodePages=[];pendingNodePages=[];nodesPerPage;options;lodSelectionMetricType;textureDefinitionsSelectedFormats=[];nodesInNodePages;url;textureLoaderOptions={};constructor(t,r="",n){var i,a;this.tileset={...t},this.url=r,this.nodesPerPage=((i=t.nodePages)==null?void 0:i.nodesPerPage)||64,this.lodSelectionMetricType=(a=t.nodePages)==null?void 0:a.lodSelectionMetricType,this.options=n,this.nodesInNodePages=0,this.initSelectedFormatsForTextureDefinitions(t)}async getNodeById(t){var i;let r=Math.floor(t/this.nodesPerPage);if(!this.nodePages[r]&&!this.pendingNodePages[r]){let a=bv(`${this.url}/nodepages/${r}`,(i=this.options.i3s)==null?void 0:i.token);this.pendingNodePages[r]={status:"Pending",promise:Kr(a,tSe,this.options)},this.nodePages[r]=await this.pendingNodePages[r].promise,this.nodesInNodePages+=this.nodePages[r].nodes.length,this.pendingNodePages[r].status="Done"}this.pendingNodePages[r].status==="Pending"&&(this.nodePages[r]=await this.pendingNodePages[r].promise);let n=t%this.nodesPerPage;return this.nodePages[r].nodes[n]}async formTileFromNodePages(t){let r=await this.getNodeById(t),n=[],i=[];for(let p of r.children||[])i.push(this.getNodeById(p));let a=await Promise.all(i);for(let p of a)n.push({id:p.index.toString(),obb:p.obb});let o,s,u,c="jpg",l=[],f=!1;if(r&&r.mesh){let{url:p,isDracoGeometry:h}=r.mesh.geometry&&this.getContentUrl(r.mesh.geometry)||{isDracoGeometry:!1};o=p,f=h;let{textureData:m,materialDefinition:g}=this.getInformationFromMaterial(r.mesh.material);u=g,c=m.format||c,m.name&&(s=`${this.url}/nodes/${r.mesh.material.resource}/textures/${m.name}`),this.tileset.attributeStorageInfo&&(l=J6e(this.tileset,this.url,r.mesh.attribute.resource))}let d=this.getLodSelection(r);return dG({id:t.toString(),lodSelection:d,obb:r.obb,contentUrl:o,textureUrl:s,attributeUrls:l,materialDefinition:u,textureFormat:c,textureLoaderOptions:this.textureLoaderOptions,children:n,isDracoGeometry:f})}getContentUrl(t){let r=null,n=this.tileset.geometryDefinitions[t.definition],i=-1,a=this.options.i3s;if(a&&typeof a=="object"&&a.useDracoGeometry&&(i=n.geometryBuffers.findIndex(o=>o.compressedAttributes&&o.compressedAttributes.encoding==="draco")),i===-1&&(i=n.geometryBuffers.findIndex(o=>!o.compressedAttributes)),i!==-1){let o=Boolean(n.geometryBuffers[i].compressedAttributes);r={url:`${this.url}/nodes/${t.resource}/geometries/${i}`,isDracoGeometry:o}}return r}getLodSelection(t){let r=[];return this.lodSelectionMetricType==="maxScreenThresholdSQ"&&r.push({metricType:"maxScreenThreshold",maxError:Math.sqrt(t.lodThreshold/(Math.PI*.25))}),r.push({metricType:this.lodSelectionMetricType,maxError:t.lodThreshold}),r}getInformationFromMaterial(t){var n,i,a;let r={textureData:{name:null}};if(t){let o=(n=this.tileset.materialDefinitions)==null?void 0:n[t.definition];if(o){r.materialDefinition=o;let s=(a=(i=o==null?void 0:o.pbrMetallicRoughness)==null?void 0:i.baseColorTexture)==null?void 0:a.textureSetDefinitionId;typeof s=="number"&&(r.textureData=this.textureDefinitionsSelectedFormats[s]||r.textureData)}}return r}initSelectedFormatsForTextureDefinitions(t){this.textureDefinitionsSelectedFormats=[];let r=this.getSupportedTextureFormats(),n=t.textureSetDefinitions||[];for(let i of n){let a=i&&i.formats||[],o=null;for(let s of r){let u=a.find(c=>c.format===s);if(u){o=u;break}}o&&o.format==="ktx2"&&(this.textureLoaderOptions.basis={format:hg(),containerFormat:"ktx2",module:"encoder"}),this.textureDefinitionsSelectedFormats.push(o)}}getSupportedTextureFormats(){let t=[],r=this.options.i3s;if(!r||r.useCompressedTextures){let n=Cy();n.has("etc2")&&t.push("ktx-etc2"),n.has("dxt")&&t.push("dds"),t.push("ktx2")}return t.push("jpg"),t.push("png"),t}};function rSe(e,t){let r=t.url||"",n;e.geometryData&&(n=`${r}/${e.geometryData[0].href}`);let i;e.textureData&&(i=`${r}/${e.textureData[0].href}`);let a;e.attributeData&&(a=K6e(r,e));let o=e.children||[];return dG({...e,children:o,url:r,contentUrl:n,textureUrl:i,textureFormat:"jpg",attributeUrls:a,isDracoGeometry:!1})}function dG(e){var s,u;let t={},r=[0,0,0,1];if(e.mbs)r=e.mbs,t.sphere=[...Ot.WGS84.cartographicToCartesian(e.mbs.slice(0,3)),e.mbs[3]];else if(e.obb){t.box=[...Ot.WGS84.cartographicToCartesian(e.obb.center),...e.obb.halfSize,...e.obb.quaternion];let l=new di().fromCenterHalfSizeQuaternion(t.box.slice(0,3),e.obb.halfSize,e.obb.quaternion).getBoundingSphere();t.sphere=[...l.center,l.radius],r=[...e.obb.center,l.radius]}let n=(s=e.lodSelection)==null?void 0:s[0].metricType,i=(u=e.lodSelection)==null?void 0:u[0].maxError,a="mesh",o=2;return{...e,mbs:r,boundingVolume:t,lodMetricType:n,lodMetricValue:i,type:a,refine:o}}async function nSe(e,t,r){let n=sk(r.url||""),i,a;if(e.nodePages)i=new l_(e,n,t),a=await i.formTileFromNodePages(0);else{let o=t.i3s&&typeof t.i3s=="object"?t.i3s:{},s=bv(`${n}/nodes/root`,o.token);a=await Kr(s,bl,{...t,i3s:{...o,loadContent:!1,isTileHeader:!0,isTileset:!1}})}return{...e,loader:bl,url:n,basePath:n,type:"I3S",nodePagesTile:i,root:a,lodMetricType:a.lodMetricType,lodMetricValue:a.lodMetricValue}}var NIt="4.4.0-alpha.11",UIt=/layers\/[0-9]+$/,GIt=/\.slpk$/,zIt=/nodes\/([0-9-]+|root)$/,HIt="504b0304",VIt="PointCloud",bl={dataType:null,batchType:null,name:"I3S (Indexed Scene Layers)",id:"i3s",module:"i3s",version:NIt,mimeTypes:["application/octet-stream"],parse:$It,extensions:["bin"],options:{i3s:{token:void 0,isTileset:"auto",isTileHeader:"auto",tile:void 0,tileset:void 0,_tileOptions:void 0,_tilesetOptions:void 0,useDracoGeometry:!0,useCompressedTextures:!0,decodeTextures:!0,coordinateSystem:2}}};async function $It(e,t={},r){let n=r.url;if(t.i3s=t.i3s||{},XIt(e)===HIt)throw new Error("Files with .slpk extention currently are not supported by I3SLoader");let a=sk(n),o;t.i3s.isTileset==="auto"?o=UIt.test(a)||GIt.test(a):o=t.i3s.isTileset;let s;return t.i3s.isTileHeader==="auto"?s=zIt.test(a):s=t.i3s.isTileHeader,o?e=await KIt(e,t,r):s?e=await JIt(e,r):e=await WIt(e,t),e}async function WIt(e,t){return await Ya(e,eSe,t)}async function KIt(e,t,r){let n=JSON.parse(new TextDecoder().decode(e));if((n==null?void 0:n.layerType)===VIt)throw new Error("Point Cloud layers currently are not supported by I3SLoader");return await nSe(n,t,r)}async function JIt(e,t){return e=JSON.parse(new TextDecoder().decode(e)),rSe(e,t)}function XIt(e){return e instanceof ArrayBuffer?[...new Uint8Array(e,0,4)].map(t=>t.toString(16).padStart(2,"0")).join(""):null}var YIt=[{test:/^$/,extensions:["3dSceneLayer.json.gz"]},{test:/nodepages\/\d+$/,extensions:[".json.gz"]},{test:/sublayers\/\d+$/,extensions:["/3dSceneLayer.json.gz"]},{test:/nodes\/(\d+|root)$/,extensions:["/3dNodeIndexDocument.json.gz"]},{test:/nodes\/\d+\/textures\/.+$/,extensions:[".jpg",".png",".bin.dds.gz",".ktx",".ktx2"]},{test:/nodes\/\d+\/geometries\/\d+$/,extensions:[".bin.gz",".draco.gz"]},{test:/nodes\/\d+\/attributes\/f_\d+\/\d+$/,extensions:[".bin.gz"]},{test:/statistics\/(f_\d+\/\d+|summary)$/,extensions:[".json.gz"]},{test:/nodes\/\d+\/shared$/,extensions:["/sharedResource.json.gz"]}],ck=class extends dl{hashTable;_textEncoder=new TextEncoder;_textDecoder=new TextDecoder;_md5Hash=new gu;constructor(t,r,n){super(t,r,n),this.hashTable=r}async getFile(t,r="raw"){var n;if(r==="http"){let i=(n=YIt.find(a=>a.test.test(t)))==null?void 0:n.extensions;if(i){let a;for(let o of i)if(a=await this.getDataByPath(`${t}${o}`),a)break;if(a)return a}}if(r==="raw"){let i=await this.getDataByPath(`${t}.gz`);if(i)return i;let a=await this.getFileBytes(t);if(a)return a}throw new Error(`No such file in the archive: ${t}`)}async getDataByPath(t){let r=await this.getFileBytes(t.toLocaleLowerCase());if(r||(r=await this.getFileBytes(t)),!!r)return/\.gz$/.test(t)?await new A1().decompress(r):r}async getFileBytes(t){let r;if(this.hashTable){let n=this._textEncoder.encode(t),i=await this._md5Hash.hash(n.buffer,"hex"),a=this.hashTable[i];if(a===void 0)return;let o=await Os(a,this.file);if(!o)return;r=await Xr(this.file,o.fileDataOffset,o.fileDataOffset+o.compressedSize)}else try{r=await this.getFileWithoutHash(t)}catch{r=void 0}return r}};async function pG(e,t,r){let n=await Xp(e,Qp),i=await Yp(n,e),a;if((i==null?void 0:i.fileName)!=="@specialIndexFileHASH128@")a=await uN(e),t==null||t("SLPK doesnt contain hash file, hash info has been composed according to zip archive headers");else{let o=await Os(i.localHeaderOffset,e);if(!o)throw new Error("corrupted SLPK");let s=o.fileDataOffset,u=await Xr(e,s,s+o.compressedSize);a=E1(u)}return new ck(e,a,r)}function aSe(e,t){let{attributeName:r,attributeType:n}=t;return r?{[r]:n?QIt(n,e):null}:{}}function QIt(e,t){switch(e){case H6e:return tPt(t);case V6e:return iSe(t);case $6e:return ePt(t);case W6e:return ZIt(t);default:return iSe(t)}}function iSe(e){return new Uint32Array(e,4)}function ZIt(e){return new Int16Array(e,4)}function ePt(e){return new Float64Array(e,8)}function tPt(e){let i=[];try{let a=new DataView(e,0,4).getUint32(0,!0),o=new Uint32Array(e,8,a),s=8+a*4;for(let u of o){let c=new TextDecoder("utf-8"),l=new Uint8Array(e,s,u);i.push(c.decode(l)),s+=u}}catch(a){console.error("Parse string attribute error: ",a.message)}return i}var rPt="4.4.0-alpha.11";var hG={dataType:null,batchType:null,name:"I3S Attribute",id:"i3s-attribute",module:"i3s",version:rPt,mimeTypes:["application/binary"],parse:async(e,t)=>aSe(e,t),extensions:["bin"],options:{},binary:!0};function mG(e,t){let r=[e.center[0],e.center[1],e.center[2]+t.getHeight(e.center[1],e.center[0])],n=Ot.WGS84.cartographicToCartesian(r,new Z),i=new di().fromCenterHalfSizeQuaternion(n,e.halfSize,e.quaternion);return[...i.center,...i.halfAxes.toArray()]}var lk=Dt(Is(),1),nPt=()=>({version:{path:"version",default:"1.0"}}),oSe=()=>({boundingVolume:{path:"boundingVolume"},geometricError:{path:"geometricError"},refine:{path:"refine"},content:{path:"content"},children:{path:"children",transform:e=>e.map(t=>(0,lk.default)(t,oSe()))}}),sSe=()=>({asset:{path:"asset",transform:e=>(0,lk.default)(e,nPt())},geometricError:{path:"root",transform:e=>e.geometricError},root:{path:"root",transform:e=>(0,lk.default)(e,oSe())}});function uSe(e,t){let r=new Float32Array(e.length),n=aPt(t);for(let i=0;i<e.length;i+=2){let a=e.subarray(i,i+2),o=n.slice(i*2,i*2+4),s=iPt([a[0],a[1]]),u=[o[2]-o[0],o[3]-o[1]],c=[s[0]*u[0],s[1]*u[1]],l=[c[0]+o[0],c[1]+o[1]];r[i]=l[0],r[i+1]=l[1]}return r}function iPt(e){return[e[0]-Math.floor(e[0]),e[1]-Math.floor(e[1])]}function aPt(e){let r=[];for(let n=0;n<e.length;n++)r[n]=e[n]/65535;return r}var oPt=new gr([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]),cSe=new Z,lSe="KHR_materials_unlit",sPt=1,uPt=1,fk=class{rtcCenter;i3sTile;tileType;constructor(t={outputVersion:"1.1"}){this.tileType=t.outputVersion==="1.0"?pi.BATCHED_3D_MODEL:pi.GLTF}async convert(t,r=null,n){let i=await this.buildGLTF(t,r,n);return this.tileType===pi.BATCHED_3D_MODEL?l3({gltfEncoded:new Uint8Array(i),type:"b3dm",featuresLength:this._getFeaturesLength(r),batchTable:r},fN):i}async buildGLTF(t,r,n){let{tileContent:i,textureFormat:a,box:o}=t,{material:s,attributes:u,indices:c,modelMatrix:l}=i,f=new Yt,d=await this._addI3sTextureToGLTF(i,a,f),p=s==null?void 0:s.pbrMetallicRoughness;p&&(p.metallicFactor===void 0||p.metallicFactor===sPt)&&(p.roughnessFactor===void 0||p.roughnessFactor===uPt)&&(f.addObjectExtension(s,lSe,{}),f.addExtension(lSe));let h=this._convertI3sMaterialToGLTFMaterial(s,d),m=f.addMaterial(h),g=u.positions,x=g.value;u.uvRegions&&u.texCoords&&(u.texCoords.value=uSe(u.texCoords.value,u.uvRegions.value));let y=new Z(o),w=Ot.WGS84.cartesianToCartographic(y,new Z);u.positions.value=this._normalizePositions(x,y,w,l),this._createBatchIds(i,r),u.normals&&!this._checkNormals(u.normals.value)&&delete u.normals;let T=c||b4(x.length/g.size),A=f.addMesh({attributes:u,indices:T,material:m,mode:4});this.tileType===pi.GLTF&&this._createMetadataExtensions(f,A,r,n,i);let D=this._generateTransformMatrix(y),F=f.addNode({meshIndex:A,matrix:D}),j=f.addScene({nodeIndices:[F]});return f.setDefaultScene(j),f.createBinaryChunk(),l3(f.gltf,KL,{gltfBuilder:f})}_createMetadataExtensions(t,r,n,i,a){var c;let o=this._createPropertyAttibutes(n,i),s=J3(t,o),u=t.getMesh(r);for(let l of u.primitives)(c=a.attributes._BATCHID)!=null&&c.value&&W3(t,l,a.attributes._BATCHID.value,s)}_createPropertyAttibutes(t,r){if(!t||!r)return[];let n=[];for(let i in t){let a=this._convertAttributeStorageInfoToPropertyAttribute(i,r,t);a&&n.push(a)}return n}_convertAttributeStorageInfoToPropertyAttribute(t,r,n){let i=n[t],a=r.find(l=>l.name===t);if(!a)return null;let o=a.attributeValues;if(!(o!=null&&o.valueType))return null;let s,u;switch(o.valueType.toLowerCase()){case"oid32":s="SCALAR",u="UINT32";break;case"int32":s="SCALAR",u="INT32";break;case"uint32":s="SCALAR",u="UINT32";break;case"int16":s="SCALAR",u="INT16";break;case"uint16":s="SCALAR",u="UINT16";break;case"float64":s="SCALAR",u="FLOAT64";break;case"string":s="STRING";break;default:s="";break}let c={name:t,elementType:s,componentType:u,values:[]};return hM(i)?c.values=Array.from(i):i!==null&&(c.values=i),c}async _addI3sTextureToGLTF(t,r,n){let{texture:i,material:a,attributes:o}=t,s=null,u=i;if(!i&&a&&(u=a.pbrMetallicRoughness&&a.pbrMetallicRoughness.baseColorTexture&&a.pbrMetallicRoughness.baseColorTexture.texture.source.image),u){let c=this._deduceMimeTypeFromFormat(r),l=n.addImage(u,c);s=n.addTexture({imageIndex:l}),delete o.colors}return s}_normalizePositions(t,r,n,i){let a=new Float32Array(t.length);for(let o=0;o<t.length;o+=3){let s=t.subarray(o,o+3),u=new Z(r),c=new Z(Array.from(s)).transform(i).add(n);Ot.WGS84.cartographicToCartesian(c,cSe),c=cSe.subtract(u),a.set(c,o)}return a}_generateTransformMatrix(t){return new gr().translate(t).multiplyLeft(oPt)}_createBatchIds(t,r){let{featureIds:n}=t,{OBJECTID:i}=r||{};if(!(!n||!i)){for(let a=0;a<n.length;a++){let o=n[a],s=i.indexOf(o);n[a]=s}t.attributes._BATCHID={size:1,byteOffset:0,value:n}}}_deduceMimeTypeFromFormat(t){switch(t){case"jpg":return"image/jpeg";case"png":return"image/png";case"ktx2":return"image/ktx2";default:return console.warn(`Unexpected texture format in I3S: ${t}`),"image/jpeg"}}_convertI3sMaterialToGLTFMaterial(t,r){let n=r!==null;return t?(r!==null&&(t=this._setGLTFTexture(t,r)),t):(t={alphaMode:"OPAQUE",doubleSided:!1,pbrMetallicRoughness:{metallicFactor:0,roughnessFactor:1}},n?t.pbrMetallicRoughness.baseColorTexture={index:r,texCoord:0}:t.pbrMetallicRoughness.baseColorFactor=[1,1,1,1],t)}_setGLTFTexture(t,r){let n={...t,pbrMetallicRoughness:{...t.pbrMetallicRoughness}};return t.pbrMetallicRoughness&&t.pbrMetallicRoughness.baseColorTexture?n.pbrMetallicRoughness.baseColorTexture={index:r,texCoord:0}:t.emissiveTexture?n.emissiveTexture={index:r,texCoord:0}:t.pbrMetallicRoughness&&t.pbrMetallicRoughness.metallicRoughnessTexture?n.pbrMetallicRoughness.metallicRoughnessTexture={index:r,texCoord:0}:t.normalTexture?n.normalTexture={index:r,texCoord:0}:t.occlusionTexture&&(n.occlusionTexture={index:r,texCoord:0}),n}_getFeaturesLength(t){if(!t)return 0;let r=Object.keys(t)[0];return r?t[r].length:0}_checkNormals(t){return t.find(r=>r)}};var fSe=async(e,t,r,n)=>{if(!e||!t.contentUrl)return null;let i={...r,i3s:{...r.i3s,isTileset:!1,isTileHeader:!1,_tileOptions:{attributeUrls:t.attributeUrls||[],textureUrl:t.textureUrl,textureFormat:t.textureFormat,textureLoaderOptions:t.textureLoaderOptions,materialDefinition:t.materialDefinition,isDracoGeometry:t.isDracoGeometry,mbs:t.mbs},_tilesetOptions:{store:e.store,attributeStorageInfo:e.attributeStorageInfo,fields:e.fields}}};return await f_(t.contentUrl,bl,i,n)};async function dSe(e){let t=e.split(".slpk");if(t.length===2){let r=`${t[0]}.slpk`,n=new Hi(r),i=await pG(n,void 0,r);return new fl(i)}return null}async function f_(e,t,r,n){return n!==null?await Kr(e,t,{...r,core:{...r==null?void 0:r.core,fetch:n.fetch.bind(n)}}):await Kr(e,t,r)}async function pSe(e){if(!(e!=null&&e.file))return 0;let t=new Set,r=Ju(e.file);for await(let n of r){let i=n.fileName,a=/^nodes\/(\d+)\//.exec(i);a&&t.add(a[1])}return t.size}var cPt="I3S",xv=class{options;tilesetPath;vertexCounter;conversionStartTime;geoidHeightModel;sourceTileset;attributeStorageInfo;workerSource={};slpkFilesystem=null;loaderOptions={core:{_nodeWorkers:!0,reuseWorkers:!0,worker:!1},i3s:{coordinateSystem:3,decodeTextures:!1},"i3s-content":{workerUrl:"./modules/i3s/dist/i3s-content-worker-node.js"}};conversionDump;progress;fileExt;constructor(){this.options={},this.tilesetPath="",this.vertexCounter=0,this.conversionStartTime=[0,0],this.geoidHeightModel=null,this.sourceTileset=null,this.attributeStorageInfo=null,this.workerSource={},this.conversionDump=new fh,this.progress=new tv,this.fileExt=""}async convert(t){var m;if(dr)return console.log(ev),ev;let{inputUrl:r,outputPath:n,outputVersion:i,tilesetName:a,maxDepth:o,egmFilePath:s,inquirer:u,analyze:c}=t;this.conversionStartTime=gG.default.hrtime(),this.options={maxDepth:o,inquirer:u,outputVersion:i},this.fileExt=this.options.outputVersion==="1.0"?"b3dm":"glb",console.log("Loading egm file..."),this.geoidHeightModel=await Kr(s,_4),console.log("Loading egm file completed!"),this.slpkFilesystem=await dSe(r);let l=!0;if((c||this.slpkFilesystem)&&(l=await this.preprocessConversion(),!l||c)||(this.progress.startMonitoring(),this.sourceTileset=await f_(r,bl,{...this.loaderOptions,i3s:{...this.loaderOptions.i3s,isTileset:!0}},this.slpkFilesystem),!this.sourceTileset))return;let f=(m=this.sourceTileset)==null?void 0:m.root;if(f.obb||(f.obb=vN(f.mbs)),this.tilesetPath=(0,hSe.join)(`${n}`,`${a}`),this.attributeStorageInfo=this.sourceTileset.attributeStorageInfo,await this.conversionDump.createDump(t),this.conversionDump.restored&&this.options.inquirer&&((await this.options.inquirer.prompt([{name:"resumeConversion",type:"confirm",message:"Dump file of the previous conversion exists, do you want to resume that conversion?"}])).resumeConversion||this.conversionDump.reset()),!this.conversionDump.restored)try{await D1(this.tilesetPath)}catch{}let d={boundingVolume:{box:mG(f.obb,this.geoidHeightModel)},geometricError:yN(f),children:[],refine:"REPLACE"};await this._addChildren(f,d,1);let p=(0,mSe.default)({asset:{version:i},root:d},sSe());await Ia(this.tilesetPath,JSON.stringify(p),"tileset.json"),await this.conversionDump.deleteDumpFile(),this.progress.stopMonitoring(),await this._finishConversion({slpk:!1,outputPath:n,tilesetName:a}),this.slpkFilesystem&&this.slpkFilesystem.destroy(),Gi.getWorkerFarm({}).destroy()}async preprocessConversion(){console.log("Analyze source layer");let t=await pSe(this.slpkFilesystem);if(this.progress.stepsTotal=t,console.log("------------------------------------------------"),console.log("Preprocess results:"),this.slpkFilesystem){if(console.log(`Node count: ${t}`),t===0)return console.log("Node count is 0. The conversion will be interrupted."),console.log("------------------------------------------------"),!1}else console.log("Node count cannot be calculated for the remote dataset");return console.log("------------------------------------------------"),!0}async convertChildNode(t,r,n,i){let a=r,o=await this._loadChildNode(t,i);if(o.contentUrl){if(this.conversionDump.restored&&this.conversionDump.isFileConversionComplete(`${o.id}.${this.fileExt}`)&&(o.obb||o.mbs)){let{child:y}=this._createChildAndBoundingVolume(o);r.children.push(y),await this._addChildren(o,y,n+1);return}let f=await fSe(this.sourceTileset,o,this.loaderOptions,this.slpkFilesystem);if(!f){await this._addChildren(o,r,n+1);return}this.vertexCounter+=(f==null?void 0:f.vertexCount)||0;let d=null;this.attributeStorageInfo&&(d=await this._loadChildAttributes(o,this.attributeStorageInfo));let{child:p,boundingVolume:h}=this._createChildAndBoundingVolume(o),m={tileContent:f,box:h.box||[],textureFormat:o.textureFormat},x=await new fk({outputVersion:this.options.outputVersion}).convert(m,d,this.attributeStorageInfo);await this.conversionDump.addNode(`${o.id}.${this.fileExt}`,o.id),await Ia(this.tilesetPath,new Uint8Array(x),`${o.id}.${this.fileExt}`),await this.conversionDump.updateConvertedNodesDumpFile(`${o.id}.${this.fileExt}`,o.id,!0),r.children.push(p),a=p}this.progress.stepsDone+=1;let s="Calculating time left...",u=this.progress.getTimeRemainingString();u&&(s=`${u} left`);let c=this.progress.getPercentString(),l=c?` ${c}%, ${s}`:"";console.log(`[converted${l}]: ${i.id}`),await this._addChildren(o,a,n+1)}async _addChildren(t,r,n){if(!(this.options.maxDepth&&n>this.options.maxDepth))for(let i of t.children||[])await this.convertChildNode(t,r,n,i)}async _loadChildNode(t,r){var i;let n;if((i=this.sourceTileset)!=null&&i.nodePagesTile)console.log(`Node conversion: ${r.id}`),n=await this.sourceTileset.nodePagesTile.formTileFromNodePages(parseInt(r.id));else{let a=this._relativeUrlToFullUrl(t.url,r.href),o={i3s:{...this.loaderOptions,isTileHeader:!0,loadContent:!1}};console.log(`Node conversion: ${a}`),n=await f_(a,bl,o,this.slpkFilesystem)}return n}_createChildAndBoundingVolume(t){t.obb||(t.obb=vN(t.mbs));let r={box:mG(t.obb,this.geoidHeightModel)},n={boundingVolume:r,geometricError:yN(t),children:[],content:{uri:`${t.id}.${this.fileExt}`,boundingVolume:r}};return{boundingVolume:r,child:n}}_relativeUrlToFullUrl(t="",r){let n=t.split("/"),i=r.split("/");for(let a of i)switch(a){case".":continue;case"..":n=n.slice(0,-1);break;default:n.push(a)}return n.join("/")}async _loadChildAttributes(t,r){let n=[],{attributeUrls:i=[]}=t;for(let o=0;o<i.length;o++){let s=i[o],u=r[o],c={i3s:{attributeName:u.name,attributeType:this._getAttributeType(u)}};n.push(f_(s,hG,c,this.slpkFilesystem))}let a=await Promise.all(n);return this._replaceNestedArrays(a),Object.assign({},...a)}_getAttributeType(t){return t.attributeValues?t.attributeValues.valueType:t.objectIds?"Oid32":""}_replaceNestedArrays(t){for(let r=0;r<t.length;r++){let n=t[r];for(let i in n)n[i]=Array.from(n[i])}}async _finishConversion(t){let r=await g4(t),n=gG.default.hrtime(this.conversionStartTime),i=Jg(n);console.log("------------------------------------------------"),console.log(`Finish conversion of ${cPt}`),console.log(`Total conversion time: ${i}`),console.log("Vertex count: ",this.vertexCounter),console.log("File(s) size: ",r," bytes"),console.log("------------------------------------------------")}};var yv=require("path");var lPt="4.4.0-alpha.11",fPt="https://raw.githubusercontent.com/visgl/deck.gl-data/master/egm/egm2008-5.zip",dk=class{async install(t=""){console.log('Installing "EGM2008-5" model...');let r=await Kr(fPt,tN,{}),n=process.cwd();t&&(n=(0,yv.join)(n,t)),await Ia(n,new Uint8Array(r["geoids/egm2008-5.pgm"]),"egm2008-5.pgm"),console.log('Installing "I3S Content Loader" worker'),await this.installFromNpm("i3s","i3s-content-worker-node.js"),console.log('Installing "Draco Loader" worker'),await this.installFromNpm("draco","draco-worker-node.js"),console.log('Installing "Draco Writer" worker'),await this.installFromNpm("draco","draco-writer-worker-node.js"),console.log('Installing "Basis Loader" worker'),await this.installFromNpm("textures","basis-worker-node.js"),console.log('Installing "KTX2 Basis Writer" worker'),await this.installFromNpm("textures","ktx2-basis-writer-worker-node.js"),console.log('Installing "Draco decoder" library'),await this.installFromUrl(ju[Ur.DECODER],"draco",Ur.DECODER),await this.installFromUrl(ju[Ur.DECODER_WASM],"draco",Ur.DECODER_WASM),console.log('Installing "Draco encoder" library'),await this.installFromUrl(ju[Ur.ENCODER],"draco",Ur.ENCODER),console.log('Installing "Basis transcoder" library'),await this.installFromNpm("textures",qu.TRANSCODER,"libs"),await this.installFromNpm("textures",qu.TRANSCODER_WASM,"libs"),console.log('Installing "Basis encoder" library'),await this.installFromNpm("textures",qu.ENCODER,"libs"),await this.installFromNpm("textures",qu.ENCODER_WASM,"libs"),console.log('Installing "join-images" npm package');let i=new c0,a=(0,yv.dirname)(process.execPath);await i.start({command:`"${a}/${process.platform==="win32"?"npm.cmd":"npm"}"`,arguments:["install","sharp@0.30.4","join-images@1.1.3"],wait:0,ignoreStderr:!0,spawn:{shell:!0}}),console.log("All dependencies were installed succesfully.")}async installFromNpm(t,r,n=""){let i=await sa(`https://unpkg.com/@loaders.gl/${t}@${lPt}/dist/${n}/${r}`);if(i.status<200||i.status>=300)throw new Error(`Failed to load resource ${r}`);let a=await i.arrayBuffer();if(!a)return;let o=(0,yv.join)(process.cwd(),"modules",t,"dist",n);await Ia(o,a,r)}async installFromUrl(t,r,n){let a=await(await sa(t)).arrayBuffer();if(!a)return;let o=(0,yv.join)(process.cwd(),"modules",r,"dist","libs");await Ia(o,a,n)}};function Us(e,t){if(e+1>=t.length)return"";let r=t[e+1];return r.indexOf("--")===0?"":r}function gSe(e,t){let r=Us(e,t);return console.log(`Input tileset value: ${r}`),console.log(`Modified tileset value: ${r.replace(/\\/g,"/")}`),r.replace(/\\/g,"/")}function vSe(e){return e.reduce((t,r)=>{let n=r.indexOf("="),i=r.slice(0,n),a=r.slice(n+1,r.length);return r.includes("=")&&r.startsWith("--")&&a?t.concat(i,a):t.concat(r)},[])}function bSe(e,t){let r=Us(e,t),n=Number.parseInt(r);return isFinite(n)?n:NaN}function Gs(e,t){let r=Us(e,t).toLowerCase().trim();return["--no-draco","--split-nodes"].includes(t[e])&&!r?!1:!r||r==="true"}var _Se=require("fs/promises"),vG={I3S:"I3S",_3DTILES:"3DTILES"};async function dPt(){let[,,...e]=process.argv;e.length===0&&bG();let t=vSe(e),r=hPt(t);if(r.installDependencies){new dk().install("deps");return}if(r.addHash){let i=xSe(r,!0),a=i.tileset;if(!r.quiet)if(i.output==="data"){let s=i.tileset.substring(0,i.tileset.length-5);(await pk.default.prompt([{name:"isNewFileRequired",type:"list",message:"What would you like to do?",choices:[{name:"Add hash file to the current SLPK file",value:!1},{name:`Create a new file ${s}-hash.slpk with hash file inside`,value:!0}]}])).isNewFileRequired&&(a=`${s}-hash.slpk`)}else a=i.output;a!==i.tileset&&await(0,_Se.copyFile)(i.tileset,a);let o=await T1(Ju(new Hi(a)));await oN(a,o,"@specialIndexFileHASH128@");return}let n=xSe(r);await pPt(n)}dPt().catch(e=>{console.log(e),process.exit(1)});function bG(){console.log("cli: converter 3dTiles to I3S or I3S to 3dTiles..."),console.log('--install-dependencies [Run the script for installing dependencies. Run this options separate from others. Now "*.pgm" file installation is implemented]'),console.log("--max-depth [Maximal depth of hierarchical tiles tree traversal, default: infinite]"),console.log("--name [Tileset name]"),console.log('--output [Output folder, default: "data" folder]'),console.log("--instant-node-writing [Keep created 3DNodeIndexDocument files on disk instead of memory. This option reduces memory usage but decelerates conversion speed]"),console.log("--split-nodes [Prevent merging similar materials that could lead to incorrect visualization (I3S to 3DTiles conversion only)]"),console.log("--slpk [(Deprecated since version 4.3.0) Whether the converter generates *.slpk (Scene Layer Package) I3S output files. Note: For versions 4.3.0 and up *.slpk is the default output without this option specified.]"),console.log("--tileset [tileset.json file (3DTiles) / http://..../SceneServer/layers/0 resource (I3S)]"),console.log("--input-type [tileset input type: I3S or 3DTILES]"),console.log("--output-version [3DTiles version: 1.0 or 1.1, default: 1.1]. This option supports only 1.0/1.1 values for 3DTiles output. I3S output version setting is not supported yet."),console.log('--egm [location of Earth Gravity Model *.pgm file to convert heights from ellipsoidal to gravity-related format or "None" to not use it. A model file can be loaded from GeographicLib https://geographiclib.sourceforge.io/html/geoid.html], default: "./deps/egm2008-5.zip"'),console.log("--token [Token for Cesium ION tilesets authentication]"),console.log("--no-draco [Disable draco compression for geometry]"),console.log("--generate-textures [Enable KTX2 textures generation if only one of (JPG, PNG) texture is provided or generate JPG texture if only KTX2 is provided]"),console.log("--generate-bounding-volumes [Generate obb and mbs bounding volumes from geometry]"),console.log("--analyze [Analyze the input tileset content without conversion, default: false]"),console.log('--metadata-class [One of the list of feature metadata classes, detected by converter on "analyze" stage, default: not set]'),console.log("--validate [Enable validation]"),console.log("--quiet [Skip all prompts that stop conversion and wait for a user input: default: false]"),process.exit(0)}async function pPt(e){switch(console.log("------------------------------------------------"),console.log(`Starting conversion of ${e.inputType}`),console.log("------------------------------------------------"),e.inputType.toUpperCase()){case vG.I3S:await new xv().convert({inputUrl:e.tileset,outputPath:e.output,outputVersion:e.outputVersion,tilesetName:e.name,maxDepth:e.maxDepth,egmFilePath:e.egm,analyze:e.analyze,inquirer:e.quiet?void 0:pk.default});break;case vG._3DTILES:await new gv().convert({inputUrl:e.tileset,outputPath:e.output,tilesetName:e.name,maxDepth:e.maxDepth,egmFilePath:e.egm,token:e.token,draco:e.draco,mergeMaterials:e.mergeMaterials,generateTextures:e.generateTextures,generateBoundingVolumes:e.generateBoundingVolumes,validate:e.validate,instantNodeWriting:e.instantNodeWriting,metadataClass:e.metadataClass,analyze:e.analyze,inquirer:e.quiet?void 0:pk.default});break;default:bG()}}function xSe(e,t){let r={name:{getMessage:()=>console.log("Missed: --name [Tileset name]"),condition:i=>t||Boolean(i)||Boolean(e.analyze)},output:{getMessage:()=>console.log("Missed: --output [Output path name]")},egm:{getMessage:()=>console.log("Missed: --egm [*.pgm earth gravity model file path]")},tileset:{getMessage:()=>console.log("Missed: --tileset [tileset.json file]")},inputType:{getMessage:()=>console.log("Missed/Incorrect: --input-type [tileset input type: I3S or 3DTILES]"),condition:i=>t||Boolean(i)&&Object.values(vG).includes(i.toUpperCase())},outputVersion:{getMessage:()=>console.log('Incorrect: --output-version [1.0 or 1.1] is for --input-type "I3S" only'),condition:i=>t||Boolean(i)&&Object.values(["1.0","1.1"]).includes(i)&&Boolean(e.inputType==="I3S")||Boolean(e.inputType!=="I3S")||Boolean(e.analyze)}},n=[];for(let i in r){let a=e[i],o=r[i].condition;(o?o(a):a)||n.push(r[i].getMessage)}return n.length&&(n.forEach(i=>i()),process.exit(1)),e}function hPt(e){let t={output:"data",outputVersion:"1.1",instantNodeWriting:!1,mergeMaterials:!0,egm:(0,ySe.join)(process.cwd(),"deps","egm2008-5.pgm"),draco:!0,installDependencies:!1,generateTextures:!1,generateBoundingVolumes:!1,validate:!1,addHash:!1,quiet:!1};return e.forEach((r,n)=>{if(r.indexOf("--")===0)switch(r){case"--input-type":t.inputType=Us(n,e);break;case"--tileset":t.tileset=gSe(n,e);break;case"--name":t.name=Us(n,e);break;case"--output":t.output=Us(n,e);break;case"--output-version":t.outputVersion=Us(n,e);break;case"--instant-node-writing":t.instantNodeWriting=Gs(n,e);break;case"--split-nodes":t.mergeMaterials=Gs(n,e);break;case"--max-depth":t.maxDepth=bSe(n,e);break;case"--add-hash":t.addHash=Gs(n,e);break;case"--egm":t.egm=Us(n,e);break;case"--token":t.token=Us(n,e);break;case"--no-draco":t.draco=Gs(n,e);break;case"--validate":t.validate=Gs(n,e);break;case"--install-dependencies":t.installDependencies=Gs(n,e);break;case"--generate-textures":t.generateTextures=Gs(n,e);break;case"--generate-bounding-volumes":t.generateBoundingVolumes=Gs(n,e);break;case"--analyze":t.analyze=Gs(n,e);break;case"--quiet":t.quiet=Gs(n,e);break;case"--metadata-class":t.metadataClass=Us(n,e);break;case"--help":bG();break;case"--slpk":break;default:console.warn(`Unknown option ${r}`),process.exit(0)}}),t}
|
|
160
|
+
`).forEach(s=>{let u=a.exec(s);u&&i.push(Number(u[1]))});let o=e;for(;i.includes(o);)o++;t(o)})})}async function eLe(){var e;if(typeof process>"u"||!((e=process.versions)!=null&&e.node))throw new Error("ChildProcessProxy is only available in Node.js environments");return await import("child_process")}var Ote={command:"",arguments:[],port:5e3,autoPort:!0,wait:2e3,onSuccess:e=>{console.log(`Started ${e.props.command}`)}},c0=class{id;props={...Ote};childProcess=null;port=0;successTimer;constructor({id:t="browser-driver"}={}){this.id=t}async start(t){t={...Ote,...t},this.props=t;let r=await eLe(),n=[...t.arguments];return this.port=Number(t.port),t.portArg&&(t.autoPort&&(this.port=await Fte(t.port)),n.push(t.portArg,String(this.port))),await new Promise((i,a)=>{try{this._setTimeout(()=>{t.onSuccess&&t.onSuccess(this),i({})}),console.log(`Spawning ${t.command} ${t.arguments.join(" ")}`);let o=r.spawn(t.command,n,t.spawn);this.childProcess=o,o.stdout.on("data",s=>{console.log(s.toString())}),o.stderr.on("data",s=>{console.log(`Child process wrote to stderr: "${s}".`),t.ignoreStderr||(this._clearTimeout(),a(new Error(s)))}),o.on("error",s=>{console.log(`Child process errored with ${s}`),this._clearTimeout(),a(s)}),o.on("close",s=>{console.log(`Child process exited with ${s}`),this.childProcess=null,this._clearTimeout(),i({})})}catch(o){a(o)}})}async stop(){this.childProcess&&(this.childProcess.kill(),this.childProcess=null)}async exit(t=0){try{await this.stop(),process.exit(t)}catch(r){console.error(r.message||r),process.exit(1)}}_setTimeout(t){Number(this.props.wait)>0&&(this.successTimer=setTimeout(t,this.props.wait))}_clearTimeout(){this.successTimer&&clearTimeout(this.successTimer)}};function HB(e,t){var i,a;if(!Gi.isSupported())return!1;let r=(t==null?void 0:t._nodeWorkers)??((i=t==null?void 0:t.core)==null?void 0:i._nodeWorkers);if(!Rn&&!r)return!1;let n=(t==null?void 0:t.worker)??((a=t==null?void 0:t.core)==null?void 0:a.worker);return Boolean(e.worker&&n)}async function VB(e,t,r,n,i){let a=e.id,o=Rb(e,r),u=Gi.getWorkerFarm(r==null?void 0:r.core).getWorkerPool({name:a,url:o});r=JSON.parse(JSON.stringify(r)),n=JSON.parse(JSON.stringify(n||{}));let c=await u.startJob("process-on-worker",tLe.bind(null,i));return c.postMessage("process",{input:t,options:r,context:n}),await(await c.result).result}async function tLe(e,t,r,n){switch(r){case"done":t.done(n);break;case"error":t.error(new Error(n.error));break;case"process":let{id:i,input:a,options:o}=n;try{let s=await e(a,o);t.postMessage("done",{id:i,result:s})}catch(s){let u=s instanceof Error?s.message:"unknown error";t.postMessage("error",{id:i,error:u})}break;default:console.warn(`parse-with-worker unknown message ${r}`)}}function $B(e,t){var i,a;if(!Gi.isSupported())return!1;let r=(t==null?void 0:t._nodeWorkers)??((i=t==null?void 0:t.core)==null?void 0:i._nodeWorkers),n=(t==null?void 0:t.worker)??((a=t==null?void 0:t.core)==null?void 0:a.worker);return!dr&&!r?!1:Boolean(e.worker&&n)}function Pte(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?Ite(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?Ite(e,0,t):""}function Ite(e,t,r){if(e.byteLength<=t+r)return"";let n=new DataView(e),i="";for(let a=0;a<r;a++)i+=String.fromCharCode(n.getUint8(t+a));return i}function WB(e){try{return JSON.parse(e)}catch{throw new Error(`Failed to parse JSON from data starting with "${Pte(e)}"`)}}function pu(e,t,r){if(r=r||e.byteLength,e.byteLength<r||t.byteLength<r)return!1;let n=new Uint8Array(e),i=new Uint8Array(t);for(let a=0;a<n.length;++a)if(n[a]!==i[a])return!1;return!0}function bn(...e){return hw(e)}function hw(e){let t=e.map(a=>a instanceof ArrayBuffer?new Uint8Array(a):a),r=t.reduce((a,o)=>a+o.byteLength,0),n=new Uint8Array(r),i=0;for(let a of t)n.set(a,i),i+=a.byteLength;return n.buffer}function Ka(...e){let t=e,r=t&&t.length>1&&t[0].constructor||null;if(!r)throw new Error('"concatenateTypedArrays" - incorrect quantity of arguments or arguments have incompatible data types');let n=t.reduce((o,s)=>o+s.length,0),i=new r(n),a=0;for(let o of t)i.set(o,a),a+=o.length;return i}function jd(e,t,r){let n=r!==void 0?new Uint8Array(e).subarray(t,t+r):new Uint8Array(e).subarray(t);return new Uint8Array(n).buffer}function Ja(e,t){return _t(e>=0),_t(t>0),e+(t-1)&~(t-1)}function KB(e,t,r){let n;if(e instanceof ArrayBuffer)n=new Uint8Array(e);else{let i=e.byteOffset,a=e.byteLength;n=new Uint8Array(e.buffer||e.arrayBuffer,i,a)}return t.set(n,r),r+Ja(n.byteLength,4)}function JB(e,t){let r=e.length,i=Math.ceil(r/t)*t-r,a="";for(let o=0;o<i;++o)a+=" ";return e+a}function l0(e,t,r,n){if(e)for(let i=0;i<n;i++)e.setUint8(t+i,r.charCodeAt(i));return t+n}function jb(e,t,r,n){if(e)for(let i=0;i<n;i++)e.setUint8(t+i,r[i]);return t+n}function mw(e,t,r,n){let i=Ja(r.byteLength,n),a=i-r.byteLength;if(e){let o=new Uint8Array(e.buffer,e.byteOffset+t,r.byteLength),s=new Uint8Array(r);o.set(s);for(let u=0;u<a;++u)e.setUint8(t+r.byteLength+u,32)}return t+=i,t}function f0(e,t,r,n){let a=new TextEncoder().encode(r);return t=mw(e,t,a,n),t}async function Md(e){let t=[];for await(let r of e)t.push(rLe(r));return bn(...t)}function rLe(e){if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e)){let{buffer:t,byteOffset:r,byteLength:n}=e;return Rte(t,r,n)}return Rte(e)}function Rte(e,t=0,r=e.byteLength-t){let n=new Uint8Array(e,t,r),i=new Uint8Array(n.length);return i.set(n),i.buffer}var nLe="",jte={};function hu(e){for(let t in jte)if(e.startsWith(t)){let r=jte[t];e=e.replace(t,r)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${nLe}${e}`),e}var iLe="4.4.0-alpha.13",XB={dataType:null,batchType:null,name:"JSON",id:"json",module:"json",version:iLe,extensions:["json","geojson"],mimeTypes:["application/json"],category:"json",text:!0,parseTextSync:Mte,parse:async e=>Mte(new TextDecoder().decode(e)),options:{}};function Mte(e){return JSON.parse(e)}function Lte(e){return Buffer.isBuffer(e)?new Uint8Array(e.buffer,e.byteOffset,e.length).slice().buffer:e}function gw(e){return e&&typeof e=="object"&&e.isBuffer}function Kn(e){if(gw(e))return Lte(e);if(e instanceof ArrayBuffer)return e;if(OB(e))return $l(e);if(ArrayBuffer.isView(e)){let t=e.buffer;return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?t:t.slice(e.byteOffset,e.byteOffset+e.byteLength)}if(typeof e=="string"){let t=e;return new TextEncoder().encode(t).buffer}if(e&&typeof e=="object"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}function zi(e){if(e instanceof ArrayBuffer)return e;if(OB(e))return $l(e);let{buffer:t,byteOffset:r,byteLength:n}=e;return t instanceof ArrayBuffer&&r===0&&n===t.byteLength?t:$l(t,r,n)}function $l(e,t=0,r=e.byteLength-t){let n=new Uint8Array(e,t,r),i=new Uint8Array(n.length);return i.set(n),i.buffer}function YB(e){return ArrayBuffer.isView(e)?e:new Uint8Array(e)}function d0(e){return t=>new Promise((r,n)=>e(t,(i,a)=>i?n(i):r(a)))}var wa={};Oi(wa,{dirname:()=>sLe,filename:()=>oLe,join:()=>uLe,resolve:()=>cLe});function qte(){var t;if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=(t=window.location)==null?void 0:t.pathname;return(e==null?void 0:e.slice(0,e.lastIndexOf("/")+1))||""}function oLe(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(t+1):e}function sLe(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(0,t):""}function uLe(...e){let t="/";return e=e.map((r,n)=>(n&&(r=r.replace(new RegExp(`^${t}`),"")),n!==e.length-1&&(r=r.replace(new RegExp(`${t}$`),"")),r)),e.join(t)}function cLe(...e){let t=[];for(let a=0;a<e.length;a++)t[a]=e[a];let r="",n=!1,i;for(let a=t.length-1;a>=-1&&!n;a--){let o;a>=0?o=t[a]:(i===void 0&&(i=qte()),o=i),o.length!==0&&(r=`${o}/${r}`,n=o.charCodeAt(0)===Mb)}return r=lLe(r,!n),n?`/${r}`:r.length>0?r:"."}var Mb=47,QB=46;function lLe(e,t){let r="",n=-1,i=0,a,o=!1;for(let s=0;s<=e.length;++s){if(s<e.length)a=e.charCodeAt(s);else{if(a===Mb)break;a=Mb}if(a===Mb){if(!(n===s-1||i===1))if(n!==s-1&&i===2){if(r.length<2||!o||r.charCodeAt(r.length-1)!==QB||r.charCodeAt(r.length-2)!==QB){if(r.length>2){let u=r.length-1,c=u;for(;c>=0&&r.charCodeAt(c)!==Mb;--c);if(c!==u){r=c===-1?"":r.slice(0,c),n=s,i=0,o=!1;continue}}else if(r.length===2||r.length===1){r="",n=s,i=0,o=!1;continue}}t&&(r.length>0?r+="/..":r="..",o=!0)}else{let u=e.slice(n+1,s);r.length>0?r+=`/${u}`:r=u,o=!1}n=s,i=0}else a===QB&&i!==-1?++i:i=-1}return r}var Lb=class{handle;size;bigsize;url;constructor(t){this.handle=t instanceof ArrayBuffer?new Blob([t]):t,this.size=t instanceof ArrayBuffer?t.byteLength:t.size,this.bigsize=BigInt(this.size),this.url=t instanceof File?t.name:""}async close(){}async stat(){return{size:this.handle.size,bigsize:BigInt(this.handle.size),isDirectory:!1}}async read(t,r){return await this.handle.slice(Number(t),Number(t)+Number(r)).arrayBuffer()}};var p0=class{handle;size=0;bigsize=0n;url;constructor(t){this.handle=t,this.url=t}async close(){}async stat(){let t=await fetch(this.handle,{method:"HEAD"});if(!t.ok)throw new Error(`Failed to fetch HEAD ${this.handle}`);let r=parseInt(t.headers.get("Content-Length")||"0");return{size:r,bigsize:BigInt(r),isDirectory:!1}}async read(t=0,r=0){return await(await this.fetchRange(t,r)).arrayBuffer()}async fetchRange(t,r,n){let i=Number(t),a=Number(r),o;n||(o=new AbortController,n=o.signal);let s=this.handle,u=await fetch(s,{signal:n,headers:{Range:`bytes=${i}-${i+a-1}`}});switch(u.status){case 206:break;case 200:let c=u.headers.get("Content-Length");if(!c||Number(c)>r)throw o&&o.abort(),Error("content-length header missing or exceeding request. Server must support HTTP Byte Serving.");case 416:if(t===0){let l=u.headers.get("Content-Range");if(!l||!l.startsWith("bytes *"))throw Error("Missing content-length on 416 response");let f=Number(l.substr(8));u=await fetch(this.url,{signal:n,headers:{Range:`bytes=0-${f-1}`}})}break;default:if(u.status>=300)throw Error(`Bad response code: ${u.status}`)}return u}};var qb=new Error("Not implemented"),Hi=class{handle;size=0;bigsize=0n;url="";constructor(t,r,n){var i;if((i=globalThis.loaders)!=null&&i.NodeFile)return new globalThis.loaders.NodeFile(t,r,n);throw dr?new Error("Can't instantiate NodeFile in browser."):new Error("Can't instantiate NodeFile. Make sure to import @loaders.gl/polyfills first.")}async read(t,r){throw qb}async write(t,r,n){throw qb}async stat(){throw qb}async truncate(t){throw qb}async append(t){throw qb}async close(){}};var h0=new Error("Not implemented"),Nb=class{constructor(t){var r;if((r=globalThis.loaders)!=null&&r.NodeFileSystem)return new globalThis.loaders.NodeFileSystem(t);throw dr?new Error("Can't instantiate NodeFileSystem in browser."):new Error("Can't instantiate NodeFileSystem. Make sure to import @loaders.gl/polyfills first.")}readable=!0;writable=!0;async openReadableFile(t,r){throw h0}async openWritableFile(t,r,n){throw h0}async readdir(t=".",r){throw h0}async stat(t,r){throw h0}async unlink(t){throw h0}async fetch(t,r){throw h0}};var _c=Dt(require("fs"),1),Ld=class{handle;size;bigsize;url;constructor(t,r,n){t=hu(t),this.handle=_c.default.openSync(t,r,n);let i=_c.default.fstatSync(this.handle,{bigint:!0});this.size=Number(i.size),this.bigsize=i.size,this.url=t}async close(){return new Promise((t,r)=>{_c.default.close(this.handle,n=>n?r(n):t())})}async truncate(t){return new Promise((r,n)=>{_c.default.ftruncate(this.handle,t,i=>{i?n(i):(this.bigsize=BigInt(t),this.size=Number(this.bigsize),r())})})}async append(t){return new Promise((r,n)=>{_c.default.appendFile(this.handle,t,i=>{i?n(i):(this.bigsize=this.bigsize+BigInt(t.length),this.size=Number(this.bigsize),r())})})}async stat(){return await new Promise((t,r)=>_c.default.fstat(this.handle,{bigint:!0},(n,i)=>{let a={size:Number(i.size),bigsize:i.size,isDirectory:i.isDirectory()};n?r(n):t(a)}))}async read(t,r){let n=new ArrayBuffer(r),i=BigInt(t),a=0,o=new Uint8Array(n),s;for(;r>0;){let u=await hLe(this.handle,o,0,r,i);if(u===0)break;a+=u,i+=BigInt(u),r-=u,s!==void 0&&(s+=u)}return a<r?n.slice(0,a):n}async write(t,r=0,n=t.byteLength){return new Promise((i,a)=>{let o=Number(r),s=new Uint8Array(t,Number(r),n);_c.default.write(this.handle,s,0,n,o,(u,c)=>u?a(u):i(c))})}};async function hLe(e,t,r,n,i){return await new Promise((a,o)=>_c.default.read(e,t,r,n,i,(s,u)=>s?o(s):a(u)))}var yw=Dt(require("fs/promises"),1);var eF=Dt(require("fs"),1),ZB=require("stream");var vw=Dt(require("zlib"),1);function bw(e,t){switch(t==null?void 0:t.get("content-encoding")){case"br":return e.pipe(vw.default.createBrotliDecompress());case"gzip":return e.pipe(vw.default.createGunzip());case"deflate":return e.pipe(vw.default.createDeflate());default:return e}}async function Nte(e){let t=[];return await new Promise((r,n)=>{e.on("error",i=>n(i)),e.on("readable",()=>e.read()),e.on("data",i=>{typeof i=="string"&&n(new Error("Read stream not binary")),t.push(Kn(i))}),e.on("end",()=>{let i=mLe(t);r(i)})})}function mLe(e){let t=e.map(a=>a instanceof ArrayBuffer?new Uint8Array(a):a),r=t.reduce((a,o)=>a+o.byteLength,0),n=new Uint8Array(r),i=0;for(let a of t)n.set(a,i),i+=a.byteLength;return n.buffer}var gLe=e=>typeof e=="boolean",Ute=e=>typeof e=="function",vLe=e=>e!==null&&typeof e=="object",bLe=e=>vLe(e)&&Ute(e.read)&&Ute(e.pipe)&&gLe(e.readable);async function xw(e,t){let r=/^file:\/\//;e.replace(r,"/");let n=e.split("?")[0];n=hu(n);let i=new Headers;e.endsWith(".gz")&&i.set("content-encoding","gzip"),e.endsWith(".br")&&i.set("content-encoding","br");try{let a=await new Promise((f,d)=>{let p=eF.default.createReadStream(n,{encoding:null});p.once("readable",()=>f(p)),p.on("error",h=>d(h))}),o=a;bLe(a)?o=bw(a,i):typeof a=="string"?o=ZB.Readable.from([new TextEncoder().encode(a)]):o=ZB.Readable.from([a||new ArrayBuffer(0)]);let s=200,u="OK",c=xLe(n),l=new Response(o,{headers:c,status:s,statusText:u});return Object.defineProperty(l,"url",{value:e}),l}catch(a){let o=a.message,s=400,u=o,c={},l=new Response(o,{headers:c,status:s,statusText:u});return Object.defineProperty(l,"url",{value:e}),l}}function xLe(e){let t={};if(!t["content-length"]){let r=eF.default.statSync(e);t["content-length"]=r.size}return e.endsWith(".gz")&&(e=e.slice(0,-3),t["content-encoding"]="gzip"),new Headers(t)}var _w=class{readable=!0;writable=!0;constructor(){}async readdir(t=".",r){return await yw.default.readdir(t,r)}async stat(t){let r=await yw.default.stat(t,{bigint:!0});return{size:Number(r.size),bigsize:r.size,isDirectory:r.isDirectory()}}async unlink(t){return await yw.default.unlink(t)}async fetch(t,r){return await xw(t,r)}async openReadableFile(t,r="r"){return new Ld(t,r)}async openWritableFile(t,r="w",n){return new Ld(t,r,n)}};var wc=class{constructor(t={}){this.hashBatches=this.hashBatches.bind(this)}async preload(){}async*hashBatches(t,r="base64"){var o,s;let n=[];for await(let u of t)n.push(u),yield u;let i=await this.concatenate(n),a=await this.hash(i,r);(s=(o=this.options.crypto)==null?void 0:o.onEnd)==null||s.call(o,{hash:a})}async concatenate(t){return await Md(t)}};var m0=class{crc;constructor(){this.crc=-1}update(t){let r=_Le(),n=new Uint8Array(t);for(let i=0;i<n.byteLength;i++)this.crc=this.crc>>>8^r[(this.crc^n[i])&255];return this}finalize(){return this.crc=(this.crc^-1)>>>0,this.crc}},yLe=Uint32Array.of(0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117);function _Le(){return yLe}function Gte(e){e=`${e}`;for(let r=0;r<e.length;r++)if(e.charCodeAt(r)>255)return null;let t="";for(let r=0;r<e.length;r+=3){let n=[void 0,void 0,void 0,void 0];n[0]=e.charCodeAt(r)>>2,n[1]=(e.charCodeAt(r)&3)<<4,e.length>r+1&&(n[1]|=e.charCodeAt(r+1)>>4,n[2]=(e.charCodeAt(r+1)&15)<<2),e.length>r+2&&(n[2]|=e.charCodeAt(r+2)>>6,n[3]=e.charCodeAt(r+2)&63);for(let i=0;i<n.length;i++)typeof n[i]>"u"?t+="=":t+=wLe(n[i])}return t}function wLe(e){if(e<26)return String.fromCharCode(e+"A".charCodeAt(0));if(e<52)return String.fromCharCode(e-26+"a".charCodeAt(0));if(e<62)return String.fromCharCode(e-52+"0".charCodeAt(0));if(e===62)return"+";if(e===63)return"/"}function tF(e,t){switch(t){case"hex":return zte(e);case"base64":return Vte(zte(e));default:throw new Error(t)}}function Hte(e,t){switch(t){case"hex":return e;case"base64":return Vte(e);default:throw new Error(t)}}function Vte(e){e.length%2!==0&&(e=`0${e}`);let r=(e.match(/\w{2}/g)||[]).map(n=>String.fromCharCode(parseInt(n,16))).join("");return Gte(r)||""}function zte(e){let t=e.toString(16);return t==="0"?`0${t}`:t}var Ub=class extends wc{name="crc32";options;constructor(t={}){super(),this.options={crypto:{},...t},this.hashBatches=this.hashBatches.bind(this)}async hash(t,r){return this.hashSync(t,r)}hashSync(t,r){let n=new m0;n.update(t);let i=n.finalize();return tF(i,r)}async*hashBatches(t,r="base64"){var a,o;let n=new m0;for await(let s of t)n.update(s),yield s;let i=n.finalize();(o=(a=this.options.crypto)==null?void 0:a.onEnd)==null||o.call(a,{hash:tF(i,r)})}};var ww="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",$te=CLe("AGFzbQEAAAABDANgAX8AYAAAYAABfwIeAgdpbXBvcnRzA2xvZwAAB2ltcG9ydHMDbWVtAgABAzIxAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAgICAgIAAAAAAAaYARt/AUGBxpS6Bgt/AUGJ17b+fgt/AUH+uevFeQt/AUH2qMmBAQt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALB7oCJQhvbmVGdWxsQQAYCG9uZUZ1bGxCABkIb25lRnVsbEMAGghvbmVGdWxsRAAbBWxvb3BzAAEEbG9vcAACBXByaW1lAAMFbG9vcEEABAZsb29wQTEABQZsb29wQTIABgZsb29wQTMABwZsb29wQTQACAVsb29wQgAJBmxvb3BCMQAKBmxvb3BCMgALBmxvb3BCMwAMBmxvb3BCNAANBWxvb3BDAA4GbG9vcEMxAA8GbG9vcEMyABAGbG9vcEMzABEGbG9vcEM0ABIFbG9vcEQAEwZsb29wRDEAFAZsb29wRDIAFQZsb29wRDMAFgZsb29wRDQAFwRnZXRBACgEZ2V0QgApBGdldEMAKgRnZXREACsEZ2V0WAAsBHNldEEALQRzZXRCAC4Ec2V0QwAvBHNldEQAMARzZXRYADEKzA0xWwEBf0EAJAggAEEGdCEBAkADQCMIIAFGDQEjACQEIwEkBSMCJAYjAyQHEAIjBCMAaiQAIwUjAWokASMGIwJqJAIjByMDaiQDIwhBwABqJAgMAAsLIwgjGmokGgsTACMIIxpqJAkQAxAEEAkQDhATC6IBAEEAIwlqKAIAJApBBCMJaigCACQLQQgjCWooAgAkDEEMIwlqKAIAJA1BECMJaigCACQOQRQjCWooAgAkD0EYIwlqKAIAJBBBHCMJaigCACQRQSAjCWooAgAkEkEkIwlqKAIAJBNBKCMJaigCACQUQSwjCWooAgAkFUEwIwlqKAIAJBZBNCMJaigCACQXQTgjCWooAgAkGEE8IwlqKAIAJBkLCgAQBRAGEAcQCAsuAEH4yKq7fSMKahAYQdbunsZ+IwtqEBtB2+GBoQIjDGoQGkHunfeNfCMNahAZCy0AQa+f8Kt/Iw5qEBhBqoyfvAQjD2oQG0GTjMHBeiMQahAaQYGqmmojEWoQGQssAEHYsYLMBiMSahAYQa/vk9p4IxNqEBtBsbd9IxRqEBpBvq/zyngjFWoQGQstAEGiosDcBiMWahAYQZPj4WwjF2oQG0GOh+WzeiMYahAaQaGQ0M0EIxlqEBkLCgAQChALEAwQDQsuAEHiyviwfyMLahAcQcDmgoJ8IxBqEB9B0bT5sgIjFWoQHkGqj9vNfiMKahAdCy0AQd2gvLF9Iw9qEBxB06iQEiMUahAfQYHNh8V9IxlqEB5ByPfPvn4jDmoQHQsuAEHmm4ePAiMTahAcQdaP3Jl8IxhqEB9Bh5vUpn8jDWoQHkHtqeiqBCMSahAdCy0AQYXSj896IxdqEBxB+Me+ZyMMahAfQdmFvLsGIxFqEB5Bipmp6XgjFmoQHQsKABAPEBAQERASCysAQcLyaCMPahAgQYHtx7t4IxJqECNBosL17AYjFWoQIkGM8JRvIxhqECELLgBBxNT7pXojC2oQIEGpn/veBCMOahAjQeCW7bV/IxFqECJB8Pj+9XsjFGoQIQstAEHG/e3EAiMXahAgQfrPhNV+IwpqECNBheG8p30jDWoQIkGFuqAkIxBqECELLgBBuaDTzn0jE2oQIEHls+62fiMWahAjQfj5if0BIxlqECJB5ayxpXwjDGoQIQsKABAUEBUQFhAXCy0AQcTEpKF/IwpqECRBl/+rmQQjEWoQJ0Gnx9DceiMYahAmQbnAzmQjD2oQJQstAEHDs+2qBiMWahAkQZKZs/h4Iw1qECdB/ei/fyMUahAmQdG7kax4IwtqECULLQBBz/yh/QYjEmoQJEHgzbNxIxlqECdBlIaFmHojEGoQJkGho6DwBCMXahAlCy4AQYL9zbp/Iw5qECRBteTr6XsjFWoQJ0G7pd/WAiMMahAmQZGnm9x+IxNqECULKAEBf0F/IwFzIwNxIwEjAnFyIwBqIABqIgFBB3QgAUEZdnIjAWokAAsoAQF/QX8jAnMjAHEjAiMDcXIjAWogAGoiAUEWdCABQQp2ciMCaiQBCygBAX9BfyMDcyMBcSMDIwBxciMCaiAAaiIBQRF0IAFBD3ZyIwNqJAILKAEBf0F/IwBzIwJxIwAjAXFyIwNqIABqIgFBDHQgAUEUdnIjAGokAwsoAQF/IwJBfyMDc3EjASMDcXIjAGogAGoiAUEFdCABQRt2ciMBaiQACygBAX8jA0F/IwBzcSMCIwBxciMBaiAAaiIBQRR0IAFBDHZyIwJqJAELKAEBfyMAQX8jAXNxIwMjAXFyIwJqIABqIgFBDnQgAUESdnIjA2okAgsoAQF/IwFBfyMCc3EjACMCcXIjA2ogAGoiAUEJdCABQRd2ciMAaiQDCyIBAX8jASMCcyMDcyMAaiAAaiIBQQR0IAFBHHZyIwFqJAALIgEBfyMCIwNzIwBzIwFqIABqIgFBF3QgAUEJdnIjAmokAQsiAQF/IwMjAHMjAXMjAmogAGoiAUEQdCABQRB2ciMDaiQCCyIBAX8jACMBcyMCcyMDaiAAaiIBQQt0IAFBFXZyIwBqJAMLJQEBf0F/IwNzIwFyIwJzIwBqIABqIgFBBnQgAUEadnIjAWokAAslAQF/QX8jAHMjAnIjA3MjAWogAGoiAUEVdCABQQt2ciMCaiQBCyUBAX9BfyMBcyMDciMAcyMCaiAAaiIBQQ90IAFBEXZyIwNqJAILJQEBf0F/IwJzIwByIwFzIwNqIABqIgFBCnQgAUEWdnIjAGokAwsEACMACwQAIwELBAAjAgsEACMDCwQAIxoLBgAgACQACwYAIAAkAQsGACAAJAILBgAgACQDCwYAIAAkGgsA6gQEbmFtZQGSAzIAA2xvZwEFbG9vcHMCBGxvb3ADBXByaW1lBAVsb29wQQUGbG9vcEExBgZsb29wQTIHBmxvb3BBMwgGbG9vcEE0CQVsb29wQgoGbG9vcEIxCwZsb29wQjIMBmxvb3BCMw0GbG9vcEI0DgVsb29wQw8GbG9vcEMxEAZsb29wQzIRBmxvb3BDMxIGbG9vcEM0EwVsb29wRBQGbG9vcEQxFQZsb29wRDIWBmxvb3BEMxcGbG9vcEQ0GAhvbmVGdWxsQRkIb25lRnVsbEIaCG9uZUZ1bGxDGwhvbmVGdWxsRBwIdHdvRnVsbEEdCHR3b0Z1bGxCHgh0d29GdWxsQx8IdHdvRnVsbEQgCHRyZUZ1bGxBIQh0cmVGdWxsQiIIdHJlRnVsbEMjCHRyZUZ1bGxEJAhxdWFGdWxsQSUIcXVhRnVsbEImCHF1YUZ1bGxDJwhxdWFGdWxsRCgEZ2V0QSkEZ2V0QioEZ2V0QysEZ2V0RCwEZ2V0WC0Ec2V0QS4Ec2V0Qi8Ec2V0QzAEc2V0RDEEc2V0WALNATIAAQAAAQIAAAEIbnVtbG9vcHMCAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgCAAABAW4ZAgAAAQFuGgIAAAEBbhsCAAABAW4cAgAAAQFuHQIAAAEBbh4CAAABAW4fAgAAAQFuIAIAAAEBbiECAAABAW4iAgAAAQFuIwIAAAEBbiQCAAABAW4lAgAAAQFuJgIAAAEBbicCAAABAW4oACkAKgArACwALQEAAC4BAAAvAQAAMAEAADEBAAA="),rF=typeof WebAssembly<"u"&&$te?$te.buffer:!1,mu=ILe(),nF=240*16*16,Wte=Math.floor(nF*16*1.066666667),ALe=268435456-65536,ELe="Parameter must be ArrayBuffer, ArrayBufferView or string",TLe="Parameter exceeds max size of 255.9 Mbytes";rF||console.log("WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript");function iF(e){var t,r,n,i,a,o,s,u,c,l;let f=kLe(),d=SLe(),p={},h=new Date().getTime();return p.then=function(y){return s=y,g(),p},p.catch=function(y){return u=y,p},o=OLe(e),o||x(new TypeError(ELe)),o&&(a=o.length,rF&&a>Wte?a>ALe?x(new Error(TLe)):(t=new WebAssembly.Memory({initial:a>32e6?a>64e6?a>128e6?4096:2048:1024:512}),r=new Uint32Array(t.buffer),i={mem:t,log:console.log},n={imports:i},WebAssembly.instantiate(rF,n).then(m)):g(f(o))),p;function m(y){g(d(o,y.instance.exports,r))}function g(y){var w=Boolean(y)?y:c;Boolean(y)&&(l=new Date().getTime()),typeof s=="function"?Boolean(w)&&(s(w,l-h),s=u=null):Boolean(y)&&(c=y)}function x(y){typeof u=="function"&&u(y)}}function SLe(){var e,t,r,n,i,a,o,s,u,c,l,f,d,p=function(h){var m,g,x,y,w,T,A,D,F,j,k,I,P,L,G,V,X,Y,he,le,me,de,ke=new Date().getTime(),Fe=0,J=1732584193,N=-271733879,K=-1732584194,Q=271733878,Oe=0,Le=h.length*8,Je;for(Je=be(h,d),d[Le>>>5]|=128<<Le%32,d[(Le+64>>>9<<4)+14]=Le,Je=(Le+64>>>9<<4)+15,me=d;Oe<Je;)Je>Oe+Wte?(n(J),a(N),s(K),c(Q),t(nF),Oe=Oe+nF*16,J=r(),N=i(),K=o(),Q=u(),Fe++):(X=J,Y=N,he=K,le=Q,m=me[Oe+0]>>>0,g=me[Oe+1]>>>0,x=me[Oe+2]>>>0,y=me[Oe+3]>>>0,w=me[Oe+4]>>>0,T=me[Oe+5]>>>0,A=me[Oe+6]>>>0,D=me[Oe+7]>>>0,F=me[Oe+8]>>>0,j=me[Oe+9]>>>0,k=me[Oe+10]>>>0,I=me[Oe+11]>>>0,P=me[Oe+12]>>>0,L=me[Oe+13]>>>0,G=me[Oe+14]>>>0,V=me[Oe+15]>>>0,J=ie(7,25,J+(N&K|~N&Q)+m-680876936)+N,Q=ie(12,20,Q+(J&N|~J&K)+g-389564586)+J,K=ie(17,15,K+(Q&J|~Q&N)+x+606105819)+Q,N=ie(22,10,N+(K&Q|~K&J)+y-1044525330)+K,J=ie(7,25,J+(N&K|~N&Q)+w-176418897)+N,Q=ie(12,20,Q+(J&N|~J&K)+T+1200080426)+J,K=ie(17,15,K+(Q&J|~Q&N)+A-1473231341)+Q,N=ie(22,10,N+(K&Q|~K&J)+D-45705983)+K,J=ie(7,25,J+(N&K|~N&Q)+F+1770035416)+N,Q=ie(12,20,Q+(J&N|~J&K)+j-1958414417)+J,K=ie(17,15,K+(Q&J|~Q&N)+k-42063)+Q,N=ie(22,10,N+(K&Q|~K&J)+I-1990404162)+K,J=ie(7,25,J+(N&K|~N&Q)+P+1804603682)+N,Q=ie(12,20,Q+(J&N|~J&K)+L-40341101)+J,K=ie(17,15,K+(Q&J|~Q&N)+G-1502002290)+Q,N=ie(22,10,N+(K&Q|~K&J)+V+1236535329)+K,J=ie(5,27,J+(N&Q|K&~Q)+g-165796510)+N,Q=ie(9,23,Q+(J&K|N&~K)+A-1069501632)+J,K=ie(14,18,K+(Q&N|J&~N)+I+643717713)+Q,N=ie(20,12,N+(K&J|Q&~J)+m-373897302)+K,J=ie(5,27,J+(N&Q|K&~Q)+T-701558691)+N,Q=ie(9,23,Q+(J&K|N&~K)+k+38016083)+J,K=ie(14,18,K+(Q&N|J&~N)+V-660478335)+Q,N=ie(20,12,N+(K&J|Q&~J)+w-405537848)+K,J=ie(5,27,J+(N&Q|K&~Q)+j+568446438)+N,Q=ie(9,23,Q+(J&K|N&~K)+G-1019803690)+J,K=ie(14,18,K+(Q&N|J&~N)+y-187363961)+Q,N=ie(20,12,N+(K&J|Q&~J)+F+1163531501)+K,J=ie(5,27,J+(N&Q|K&~Q)+L-1444681467)+N,Q=ie(9,23,Q+(J&K|N&~K)+x-51403784)+J,K=ie(14,18,K+(Q&N|J&~N)+D+1735328473)+Q,N=ie(20,12,N+(K&J|Q&~J)+P-1926607734)+K,J=ie(4,28,J+(N^K^Q)+T-378558)+N,Q=ie(11,21,Q+(J^N^K)+F-2022574463)+J,K=ie(16,16,K+(Q^J^N)+I+1839030562)+Q,N=ie(23,9,N+(K^Q^J)+G-35309556)+K,J=ie(4,28,J+(N^K^Q)+g-1530992060)+N,Q=ie(11,21,Q+(J^N^K)+w+1272893353)+J,K=ie(16,16,K+(Q^J^N)+D-155497632)+Q,N=ie(23,9,N+(K^Q^J)+k-1094730640)+K,J=ie(4,28,J+(N^K^Q)+L+681279174)+N,Q=ie(11,21,Q+(J^N^K)+m-358537222)+J,K=ie(16,16,K+(Q^J^N)+y-722521979)+Q,N=ie(23,9,N+(K^Q^J)+A+76029189)+K,J=ie(4,28,J+(N^K^Q)+j-640364487)+N,Q=ie(11,21,Q+(J^N^K)+P-421815835)+J,K=ie(16,16,K+(Q^J^N)+V+530742520)+Q,N=ie(23,9,N+(K^Q^J)+x-995338651)+K,J=ie(6,26,J+(K^(N|~Q))+m-198630844)+N,Q=ie(10,22,Q+(N^(J|~K))+D+1126891415)+J,K=ie(15,17,K+(J^(Q|~N))+G-1416354905)+Q,N=ie(21,11,N+(Q^(K|~J))+T-57434055)+K,J=ie(6,26,J+(K^(N|~Q))+P+1700485571)+N,Q=ie(10,22,Q+(N^(J|~K))+y-1894986606)+J,K=ie(15,17,K+(J^(Q|~N))+k-1051523)+Q,N=ie(21,11,N+(Q^(K|~J))+g-2054922799)+K,J=ie(6,26,J+(K^(N|~Q))+F+1873313359)+N,Q=ie(10,22,Q+(N^(J|~K))+V-30611744)+J,K=ie(15,17,K+(J^(Q|~N))+A-1560198380)+Q,N=ie(21,11,N+(Q^(K|~J))+L+1309151649)+K,J=ie(6,26,J+(K^(N|~Q))+w-145523070)+N,Q=ie(10,22,Q+(N^(J|~K))+I-1120210379)+J,K=ie(15,17,K+(J^(Q|~N))+x+718787259)+Q,N=ie(21,11,N+(Q^(K|~J))+j-343485551)+K,Oe=Oe+16,J=J+X>>>0,N=N+Y>>>0,K=K+he>>>0,Q=Q+le>>>0);return mu.endian([J,N,K,Q]);function ie(ge,Ye,Ee){return Ee<<ge|Ee>>>Ye}function be(ge,Ye){for(var Ee=-1,nt=Math.floor((ge.length-1)/4),xt=0,Cr,re,Ie,$e;nt-8>Ee++;)xt=Ee<<2,Ye[Ee]=ge[xt+0]|ge[xt+1]<<8|ge[xt+2]<<16|ge[xt+3]<<24;for(Ee--;nt>Ee++;)xt=Ee<<2,Cr=typeof ge[xt+0]>"u"?0:ge[xt+0],re=typeof ge[xt+1]>"u"?0:ge[xt+1],Ie=typeof ge[xt+2]>"u"?0:ge[xt+2],$e=typeof ge[xt+3]>"u"?0:ge[xt+3],Ye[Ee]=Cr|re<<8|Ie<<16|$e<<24;return nt+1}};return function(h,m,g,x){var y;return t=m.loops,e=m.loop,r=m.getA,i=m.getB,o=m.getC,u=m.getD,l=m.getX,n=m.setA,a=m.setB,s=m.setC,c=m.setD,f=m.setX,d=g,y=mu.wordsToBytes(p(h)),x&&x.asBytes?y:mu.bytesconvertNumberToHex(y)}}function kLe(){var e=function(t,r){var n,i,a,o,s,u,c,l,f,d,p,h,m,g,x,y,w,T,A,D,F,j=new Date().getTime(),k=1732584193,I=-271733879,P=-1732584194,L=271733878,G=t.length*8;F=mu.bytesToWords(t);for(var V=0;V<F.length;V++)F[V]=(F[V]<<8|F[V]>>>24)&16711935|(F[V]<<24|F[V]>>>8)&4278255360;F[G>>>5]|=128<<G%32,F[(G+64>>>9<<4)+14]=G;for(var X=0;X<F.length;X+=16)w=k,T=I,A=P,D=L,n=F[X+0]>>>0,i=F[X+1]>>>0,a=F[X+2]>>>0,o=F[X+3]>>>0,s=F[X+4]>>>0,u=F[X+5]>>>0,c=F[X+6]>>>0,l=F[X+7]>>>0,f=F[X+8]>>>0,d=F[X+9]>>>0,p=F[X+10]>>>0,h=F[X+11]>>>0,m=F[X+12]>>>0,g=F[X+13]>>>0,x=F[X+14]>>>0,y=F[X+15]>>>0,k=Y(7,25,k+(I&P|~I&L)+n-680876936)+I,L=Y(12,20,L+(k&I|~k&P)+i-389564586)+k,P=Y(17,15,P+(L&k|~L&I)+a+606105819)+L,I=Y(22,10,I+(P&L|~P&k)+o-1044525330)+P,k=Y(7,25,k+(I&P|~I&L)+s-176418897)+I,L=Y(12,20,L+(k&I|~k&P)+u+1200080426)+k,P=Y(17,15,P+(L&k|~L&I)+c-1473231341)+L,I=Y(22,10,I+(P&L|~P&k)+l-45705983)+P,k=Y(7,25,k+(I&P|~I&L)+f+1770035416)+I,L=Y(12,20,L+(k&I|~k&P)+d-1958414417)+k,P=Y(17,15,P+(L&k|~L&I)+p-42063)+L,I=Y(22,10,I+(P&L|~P&k)+h-1990404162)+P,k=Y(7,25,k+(I&P|~I&L)+m+1804603682)+I,L=Y(12,20,L+(k&I|~k&P)+g-40341101)+k,P=Y(17,15,P+(L&k|~L&I)+x-1502002290)+L,I=Y(22,10,I+(P&L|~P&k)+y+1236535329)+P,k=Y(5,27,k+(I&L|P&~L)+i-165796510)+I,L=Y(9,23,L+(k&P|I&~P)+c-1069501632)+k,P=Y(14,18,P+(L&I|k&~I)+h+643717713)+L,I=Y(20,12,I+(P&k|L&~k)+n-373897302)+P,k=Y(5,27,k+(I&L|P&~L)+u-701558691)+I,L=Y(9,23,L+(k&P|I&~P)+p+38016083)+k,P=Y(14,18,P+(L&I|k&~I)+y-660478335)+L,I=Y(20,12,I+(P&k|L&~k)+s-405537848)+P,k=Y(5,27,k+(I&L|P&~L)+d+568446438)+I,L=Y(9,23,L+(k&P|I&~P)+x-1019803690)+k,P=Y(14,18,P+(L&I|k&~I)+o-187363961)+L,I=Y(20,12,I+(P&k|L&~k)+f+1163531501)+P,k=Y(5,27,k+(I&L|P&~L)+g-1444681467)+I,L=Y(9,23,L+(k&P|I&~P)+a-51403784)+k,P=Y(14,18,P+(L&I|k&~I)+l+1735328473)+L,I=Y(20,12,I+(P&k|L&~k)+m-1926607734)+P,k=Y(4,28,k+(I^P^L)+u-378558)+I,L=Y(11,21,L+(k^I^P)+f-2022574463)+k,P=Y(16,16,P+(L^k^I)+h+1839030562)+L,I=Y(23,9,I+(P^L^k)+x-35309556)+P,k=Y(4,28,k+(I^P^L)+i-1530992060)+I,L=Y(11,21,L+(k^I^P)+s+1272893353)+k,P=Y(16,16,P+(L^k^I)+l-155497632)+L,I=Y(23,9,I+(P^L^k)+p-1094730640)+P,k=Y(4,28,k+(I^P^L)+g+681279174)+I,L=Y(11,21,L+(k^I^P)+n-358537222)+k,P=Y(16,16,P+(L^k^I)+o-722521979)+L,I=Y(23,9,I+(P^L^k)+c+76029189)+P,k=Y(4,28,k+(I^P^L)+d-640364487)+I,L=Y(11,21,L+(k^I^P)+m-421815835)+k,P=Y(16,16,P+(L^k^I)+y+530742520)+L,I=Y(23,9,I+(P^L^k)+a-995338651)+P,k=Y(6,26,k+(P^(I|~L))+n-198630844)+I,L=Y(10,22,L+(I^(k|~P))+l+1126891415)+k,P=Y(15,17,P+(k^(L|~I))+x-1416354905)+L,I=Y(21,11,I+(L^(P|~k))+u-57434055)+P,k=Y(6,26,k+(P^(I|~L))+m+1700485571)+I,L=Y(10,22,L+(I^(k|~P))+o-1894986606)+k,P=Y(15,17,P+(k^(L|~I))+p-1051523)+L,I=Y(21,11,I+(L^(P|~k))+i-2054922799)+P,k=Y(6,26,k+(P^(I|~L))+f+1873313359)+I,L=Y(10,22,L+(I^(k|~P))+y-30611744)+k,P=Y(15,17,P+(k^(L|~I))+c-1560198380)+L,I=Y(21,11,I+(L^(P|~k))+g+1309151649)+P,k=Y(6,26,k+(P^(I|~L))+s-145523070)+I,L=Y(10,22,L+(I^(k|~P))+h-1120210379)+k,P=Y(15,17,P+(k^(L|~I))+a+718787259)+L,I=Y(21,11,I+(L^(P|~k))+d-343485551)+P,k=k+w>>>0,I=I+T>>>0,P=P+A>>>0,L=L+D>>>0;return mu.endian([k,I,P,L]);function Y(he,le,me){return me<<he|me>>>le}};return function(t,r){var n=mu.wordsToBytes(e(t,r)),i=r&&r.asBytes?n:mu.bytesconvertNumberToHex(n);return i}}function CLe(e){try{return DLe(e)}catch{return null}}function DLe(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");return typeof atob=="function"?FLe(atob(t)):BLe(t)}function BLe(e){for(var t=e.endsWith("==")?2:e.endsWith("=")?1:0,r=e.length*3/4-t,n=new Uint8Array(r),i=0,a=0,o,s,u,c;a<e.length;){if(o=ww.indexOf(e.charAt(a++)),s=ww.indexOf(e.charAt(a++)),u=ww.indexOf(e.charAt(a++)),c=ww.indexOf(e.charAt(a++)),o<0||s<0||u<0||c<0)throw new TypeError("Invalid base64 input");n[i++]=o<<2|s>>4,u<64&&i<r&&(n[i++]=(s&15)<<4|u>>2),c<64&&i<r&&(n[i++]=(u&3)<<6|c)}return n}function FLe(e){for(var t=e.length,r=new Uint8Array(t),n=0;n<t;)r[n]=e.charCodeAt(n),n++;return r}function OLe(e){return e instanceof Uint8Array?e:typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer?new Uint8Array(e):e&&typeof e=="object"&&ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):typeof e=="string"?new TextEncoder().encode(e):null}function ILe(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";return{rotl:function(t,r){return t<<r|t>>>32-r},endian:function(t){if(t.constructor==Number)return mu.rotl(t,8)&16711935|mu.rotl(t,24)&4278255360;for(var r=0;r<t.length;r++)t[r]=mu.endian(t[r]);return t},bytesToWords:function(t){for(var r=[],n=0,i=0;n<t.length;n++,i+=8)r[i>>>5]|=t[n]<<24-i%32;return r},wordsToBytes:function(t){for(var r=[],n=0;n<t.length*32;n+=8)r.push(t[n>>>5]>>>24-n%32&255);return r},bytesconvertNumberToHex:function(t){for(var r=[],n=0;n<t.length;n++)r.push((t[n]>>>4).toString(16)),r.push((t[n]&15).toString(16));return r.join("")}}}var gu=class extends wc{name="md5";options;constructor(t={}){super(),this.options=t}async hash(t,r){let i=await new Promise((a,o)=>iF(t).then(a).catch(o));return Hte(i,r)}};var Gb=Dt(require("crypto"),1),Aw=class extends wc{name="crypto-node";options;_algorithm;_hash;constructor(t){var r,n;if(super(),this.options=t,!((n=(r=this.options)==null?void 0:r.crypto)!=null&&n.algorithm))throw new Error(this.name)}async hash(t,r){var i,a,o,s;let n=(o=(a=(i=this.options)==null?void 0:i.crypto)==null?void 0:a.algorithm)==null?void 0:o.toLowerCase();try{if(!Gb.createHash)throw new Error("crypto.createHash not available");let u=(s=Gb.createHash)==null?void 0:s(n),c=new Uint8Array(t);return u.update(c).digest("base64")}catch(u){throw Error(`${n} hash not available. ${u}`)}}async*hashBatches(t,r="base64"){var a,o,s,u,c,l,f;if(!Gb.createHash)throw new Error("crypto.createHash not available");let n=(u=Gb.createHash)==null?void 0:u((s=(o=(a=this.options)==null?void 0:a.crypto)==null?void 0:o.algorithm)==null?void 0:s.toLowerCase());for await(let d of t){let p=new Uint8Array(d);n.update(p),yield d}let i=n.digest(r);(f=(l=(c=this.options)==null?void 0:c.crypto)==null?void 0:l.onEnd)==null||f.call(l,{hash:i})}};var Tne=require("process");var Kte=Dt(require("stream"),1),aF=class{},PLe=Kte.Readable||aF;function sF(e,t){let r=e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]();return new oF(r,t)}var oF=class extends PLe{_pulling;_bytesMode;_iterator;constructor(t,r){super(r),this._iterator=t,this._pulling=!1,this._bytesMode=!r||!r.objectMode}async _read(t){this._pulling||(this._pulling=!0,this._pulling=await this._pull(t,this._iterator))}async _destroy(t,r){var n,i,a,o;this._iterator&&(t?await((i=(n=this._iterator)==null?void 0:n.throw)==null?void 0:i.call(n,t)):await((o=(a=this._iterator)==null?void 0:a.return)==null?void 0:o.call(a,t)),r==null||r(null))}async _pull(t,r){var a;let n=this._bytesMode,i=null;for(;this.readable&&!(i=await r.next()).done&&(t!==null&&(t-=n&&ArrayBuffer.isView(i.value)?i.value.byteLength:1),!(!this.push(new Uint8Array(i.value))||t<=0)););return(i!=null&&i.done||!this.readable)&&(this.push(null)||!0)&&((a=r==null?void 0:r.return)==null||a.call(r)),!this.readable}};function Kb(){}function Tn(e){return typeof e=="object"&&e!==null||typeof e=="function"}var hre=Kb;function rr(e,t){try{Object.defineProperty(e,"name",{value:t,configurable:!0})}catch{}}var kF=Promise,RLe=Promise.resolve.bind(kF),jLe=Promise.prototype.then,MLe=Promise.reject.bind(kF),LLe=RLe;function jn(e){return new kF(e)}function nr(e){return jn(t=>t(e))}function it(e){return MLe(e)}function yu(e,t,r){return jLe.call(e,t,r)}function Aa(e,t,r){yu(yu(e,t,r),void 0,hre)}function uF(e,t){Aa(e,t)}function vF(e,t){Aa(e,void 0,t)}function Cc(e,t,r){return yu(e,t,r)}function A0(e){yu(e,void 0,hre)}var Hd=e=>{if(typeof queueMicrotask=="function")Hd=queueMicrotask;else{let t=nr(void 0);Hd=r=>yu(t,r)}return Hd(e)};function Vd(e,t,r){if(typeof e!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(e,t,r)}function Bc(e,t,r){try{return nr(Vd(e,t,r))}catch(n){return it(n)}}var Ea=class{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(t){let r=this._back,n=r;r._elements.length===16383&&(n={_elements:[],_next:void 0}),r._elements.push(t),n!==r&&(this._back=n,r._next=n),++this._size}shift(){let t=this._front,r=t,n=this._cursor,i=n+1,a=t._elements,o=a[n];return i===16384&&(r=t._next,i=0),--this._size,this._cursor=i,t!==r&&(this._front=r),a[n]=void 0,o}forEach(t){let r=this._cursor,n=this._front,i=n._elements;for(;!(r===i.length&&n._next===void 0||r===i.length&&(n=n._next,i=n._elements,r=0,i.length===0));)t(i[r]),++r}peek(){let t=this._front,r=this._cursor;return t._elements[r]}},mre=Symbol("[[AbortSteps]]"),gre=Symbol("[[ErrorSteps]]"),CF=Symbol("[[CancelSteps]]"),DF=Symbol("[[PullSteps]]"),BF=Symbol("[[ReleaseSteps]]");function vre(e,t){e._ownerReadableStream=t,t._reader=e,t._state==="readable"?bF(e):t._state==="closed"?function(r){bF(r),xre(r)}(e):bre(e,t._storedError)}function FF(e,t){return ps(e._ownerReadableStream,t)}function kc(e){let t=e._ownerReadableStream;t._state==="readable"?OF(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):function(r,n){bre(r,n)}(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),t._readableStreamController[BF](),t._reader=void 0,e._ownerReadableStream=void 0}function Lw(e){return new TypeError("Cannot "+e+" a stream using a released reader")}function bF(e){e._closedPromise=jn((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r})}function bre(e,t){bF(e),OF(e,t)}function OF(e,t){e._closedPromise_reject!==void 0&&(A0(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}function xre(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}var Jte=Number.isFinite||function(e){return typeof e=="number"&&isFinite(e)},qLe=Math.trunc||function(e){return e<0?Math.ceil(e):Math.floor(e)};function _u(e,t){if(e!==void 0&&typeof(r=e)!="object"&&typeof r!="function")throw new TypeError(`${t} is not an object.`);var r}function Ao(e,t){if(typeof e!="function")throw new TypeError(`${t} is not a function.`)}function yre(e,t){if(!function(r){return typeof r=="object"&&r!==null||typeof r=="function"}(e))throw new TypeError(`${t} is not an object.`)}function Dc(e,t,r){if(e===void 0)throw new TypeError(`Parameter ${t} is required in '${r}'.`)}function xF(e,t,r){if(e===void 0)throw new TypeError(`${t} is required in '${r}'.`)}function IF(e){return Number(e)}function Xte(e){return e===0?0:e}function PF(e,t){let r=Number.MAX_SAFE_INTEGER,n=Number(e);if(n=Xte(n),!Jte(n))throw new TypeError(`${t} is not a finite number`);if(n=function(i){return Xte(qLe(i))}(n),n<0||n>r)throw new TypeError(`${t} is outside the accepted range of 0 to ${r}, inclusive`);return Jte(n)&&n!==0?n:0}function RF(e,t){if(!Wl(e))throw new TypeError(`${t} is not a ReadableStream.`)}function b0(e){return new Ac(e)}function _re(e,t){e._reader._readRequests.push(t)}function jF(e,t,r){let n=e._reader._readRequests.shift();r?n._closeSteps():n._chunkSteps(t)}function $w(e){return e._reader._readRequests.length}function wre(e){let t=e._reader;return t!==void 0&&!!Kl(t)}var Ac=class{constructor(t){if(Dc(t,1,"ReadableStreamDefaultReader"),RF(t,"First parameter"),Xl(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");vre(this,t),this._readRequests=new Ea}get closed(){return Kl(this)?this._closedPromise:it(Ew("closed"))}cancel(t=void 0){return Kl(this)?this._ownerReadableStream===void 0?it(Lw("cancel")):FF(this,t):it(Ew("cancel"))}read(){if(!Kl(this))return it(Ew("read"));if(this._ownerReadableStream===void 0)return it(Lw("read from"));let t,r,n=jn((i,a)=>{t=i,r=a});return Jb(this,{_chunkSteps:i=>t({value:i,done:!1}),_closeSteps:()=>t({value:void 0,done:!0}),_errorSteps:i=>r(i)}),n}releaseLock(){if(!Kl(this))throw Ew("releaseLock");this._ownerReadableStream!==void 0&&function(t){kc(t);let r=new TypeError("Reader was released");Are(t,r)}(this)}};function Kl(e){return!!Tn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readRequests")&&e instanceof Ac}function Jb(e,t){let r=e._ownerReadableStream;r._disturbed=!0,r._state==="closed"?t._closeSteps():r._state==="errored"?t._errorSteps(r._storedError):r._readableStreamController[DF](t)}function Are(e,t){let r=e._readRequests;e._readRequests=new Ea,r.forEach(n=>{n._errorSteps(t)})}function Ew(e){return new TypeError(`ReadableStreamDefaultReader.prototype.${e} can only be used on a ReadableStreamDefaultReader`)}var cF,lF,fF;function Hb(e){return e.slice()}function Ere(e,t,r,n,i){new Uint8Array(e).set(new Uint8Array(r,n,i),t)}Object.defineProperties(Ac.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),rr(Ac.prototype.cancel,"cancel"),rr(Ac.prototype.read,"read"),rr(Ac.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Ac.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});var $d=e=>($d=typeof e.transfer=="function"?t=>t.transfer():typeof structuredClone=="function"?t=>structuredClone(t,{transfer:[t]}):t=>t,$d(e)),Wd=e=>(Wd=typeof e.detached=="boolean"?t=>t.detached:t=>t.byteLength===0,Wd(e));function Tre(e,t,r){if(e.slice)return e.slice(t,r);let n=r-t,i=new ArrayBuffer(n);return Ere(i,0,e,t,n),i}function Vb(e,t){let r=e[t];if(r!=null){if(typeof r!="function")throw new TypeError(`${String(t)} is not a function`);return r}}function Yte(e){try{let t=e.done,r=e.value;return yu(LLe(r),n=>({done:t,value:n}))}catch(t){return it(t)}}var nx=(fF=(cF=Symbol.asyncIterator)!==null&&cF!==void 0?cF:(lF=Symbol.for)===null||lF===void 0?void 0:lF.call(Symbol,"Symbol.asyncIterator"))!==null&&fF!==void 0?fF:"@@asyncIterator";function Sre(e,t="sync",r){if(r===void 0)if(t==="async"){if((r=Vb(e,nx))===void 0)return function(i){let a={next(){let o;try{o=kre(i)}catch(s){return it(s)}return Yte(o)},return(o){let s;try{let u=Vb(i.iterator,"return");if(u===void 0)return nr({done:!0,value:o});s=Vd(u,i.iterator,[o])}catch(u){return it(u)}return Tn(s)?Yte(s):it(new TypeError("The iterator.return() method must return an object"))}};return{iterator:a,nextMethod:a.next,done:!1}}(Sre(e,"sync",Vb(e,Symbol.iterator)))}else r=Vb(e,Symbol.iterator);if(r===void 0)throw new TypeError("The object is not iterable");let n=Vd(r,e,[]);if(!Tn(n))throw new TypeError("The iterator method must return an object");return{iterator:n,nextMethod:n.next,done:!1}}function kre(e){let t=Vd(e.nextMethod,e.iterator,[]);if(!Tn(t))throw new TypeError("The iterator.next() method must return an object");return t}var qw=class{constructor(t,r){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=t,this._preventCancel=r}next(){let t=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?Cc(this._ongoingPromise,t,t):t(),this._ongoingPromise}return(t){let r=()=>this._returnSteps(t);return this._ongoingPromise?Cc(this._ongoingPromise,r,r):r()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let t=this._reader,r,n,i=jn((a,o)=>{r=a,n=o});return Jb(t,{_chunkSteps:a=>{this._ongoingPromise=void 0,Hd(()=>r({value:a,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,kc(t),r({value:void 0,done:!0})},_errorSteps:a=>{this._ongoingPromise=void 0,this._isFinished=!0,kc(t),n(a)}}),i}_returnSteps(t){if(this._isFinished)return Promise.resolve({value:t,done:!0});this._isFinished=!0;let r=this._reader;if(!this._preventCancel){let n=FF(r,t);return kc(r),Cc(n,()=>({value:t,done:!0}))}return kc(r),nr({value:t,done:!0})}},Cre={next(){return Qte(this)?this._asyncIteratorImpl.next():it(Zte("next"))},return(e){return Qte(this)?this._asyncIteratorImpl.return(e):it(Zte("return"))},[nx](){return this}};function Qte(e){if(!Tn(e)||!Object.prototype.hasOwnProperty.call(e,"_asyncIteratorImpl"))return!1;try{return e._asyncIteratorImpl instanceof qw}catch{return!1}}function Zte(e){return new TypeError(`ReadableStreamAsyncIterator.${e} can only be used on a ReadableSteamAsyncIterator`)}Object.defineProperty(Cre,nx,{enumerable:!1});var Dre=Number.isNaN||function(e){return e!=e};function ere(e){let t=Tre(e.buffer,e.byteOffset,e.byteOffset+e.byteLength);return new Uint8Array(t)}function yF(e){let t=e._queue.shift();return e._queueTotalSize-=t.size,e._queueTotalSize<0&&(e._queueTotalSize=0),t.value}function MF(e,t,r){if(typeof(n=r)!="number"||Dre(n)||n<0||r===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");var n;e._queue.push({value:t,size:r}),e._queueTotalSize+=r}function Yl(e){e._queue=new Ea,e._queueTotalSize=0}function Bre(e){return e===DataView}var Jl=class{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!dF(this))throw pF("view");return this._view}respond(t){if(!dF(this))throw pF("respond");if(Dc(t,1,"respond"),t=PF(t,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Wd(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Pw(this._associatedReadableByteStreamController,t)}respondWithNewView(t){if(!dF(this))throw pF("respondWithNewView");if(Dc(t,1,"respondWithNewView"),!ArrayBuffer.isView(t))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Wd(t.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");Rw(this._associatedReadableByteStreamController,t)}};Object.defineProperties(Jl.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),rr(Jl.prototype.respond,"respond"),rr(Jl.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Jl.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});var bu=class{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!Gd(this))throw zb("byobRequest");return AF(this)}get desiredSize(){if(!Gd(this))throw zb("desiredSize");return Nre(this)}close(){if(!Gd(this))throw zb("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let t=this._controlledReadableByteStream._state;if(t!=="readable")throw new TypeError(`The stream (in ${t} state) is not in the readable state and cannot be closed`);$b(this)}enqueue(t){if(!Gd(this))throw zb("enqueue");if(Dc(t,1,"enqueue"),!ArrayBuffer.isView(t))throw new TypeError("chunk must be an array buffer view");if(t.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(t.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");let r=this._controlledReadableByteStream._state;if(r!=="readable")throw new TypeError(`The stream (in ${r} state) is not in the readable state and cannot be enqueued to`);Iw(this,t)}error(t=void 0){if(!Gd(this))throw zb("error");wo(this,t)}[CF](t){Fre(this),Yl(this);let r=this._cancelAlgorithm(t);return Ww(this),r}[DF](t){let r=this._controlledReadableByteStream;if(this._queueTotalSize>0)return void qre(this,t);let n=this._autoAllocateChunkSize;if(n!==void 0){let i;try{i=new ArrayBuffer(n)}catch(o){return void t._errorSteps(o)}let a={buffer:i,bufferByteLength:n,byteOffset:0,byteLength:n,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(a)}_re(r,t),Xd(this)}[BF](){if(this._pendingPullIntos.length>0){let t=this._pendingPullIntos.peek();t.readerType="none",this._pendingPullIntos=new Ea,this._pendingPullIntos.push(t)}}};function Gd(e){return!!Tn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableByteStream")&&e instanceof bu}function dF(e){return!!Tn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_associatedReadableByteStreamController")&&e instanceof Jl}function Xd(e){if(function(r){let n=r._controlledReadableByteStream;return n._state!=="readable"||r._closeRequested||!r._started?!1:!!(wre(n)&&$w(n)>0||qF(n)&&zre(n)>0||Nre(r)>0)}(e)){if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0,Aa(e._pullAlgorithm(),()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,Xd(e)),null),r=>(wo(e,r),null))}}function Fre(e){LF(e),e._pendingPullIntos=new Ea}function _F(e,t){let r=!1;e._state==="closed"&&(r=!0);let n=Ore(t);t.readerType==="default"?jF(e,n,r):function(i,a,o){let s=i._reader,u=s._readIntoRequests.shift();o?u._closeSteps(a):u._chunkSteps(a)}(e,n,r)}function Ore(e){let t=e.bytesFilled,r=e.elementSize;return new e.viewConstructor(e.buffer,e.byteOffset,t/r)}function Ow(e,t,r,n){e._queue.push({buffer:t,byteOffset:r,byteLength:n}),e._queueTotalSize+=n}function Ire(e,t,r,n){let i;try{i=Tre(t,r,r+n)}catch(a){throw wo(e,a),a}Ow(e,i,0,n)}function Pre(e,t){t.bytesFilled>0&&Ire(e,t.buffer,t.byteOffset,t.bytesFilled),x0(e)}function Rre(e,t){let r=Math.min(e._queueTotalSize,t.byteLength-t.bytesFilled),n=t.bytesFilled+r,i=r,a=!1,o=n-n%t.elementSize;o>=t.minimumFill&&(i=o-t.bytesFilled,a=!0);let s=e._queue;for(;i>0;){let u=s.peek(),c=Math.min(i,u.byteLength),l=t.byteOffset+t.bytesFilled;Ere(t.buffer,l,u.buffer,u.byteOffset,c),u.byteLength===c?s.shift():(u.byteOffset+=c,u.byteLength-=c),e._queueTotalSize-=c,jre(e,c,t),i-=c}return a}function jre(e,t,r){r.bytesFilled+=t}function Mre(e){e._queueTotalSize===0&&e._closeRequested?(Ww(e),ix(e._controlledReadableByteStream)):Xd(e)}function LF(e){e._byobRequest!==null&&(e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=null,e._byobRequest=null)}function wF(e){for(;e._pendingPullIntos.length>0;){if(e._queueTotalSize===0)return;let t=e._pendingPullIntos.peek();Rre(e,t)&&(x0(e),_F(e._controlledReadableByteStream,t))}}function NLe(e,t,r,n){let i=e._controlledReadableByteStream,a=t.constructor,o=function(d){return Bre(d)?1:d.BYTES_PER_ELEMENT}(a),{byteOffset:s,byteLength:u}=t,c=r*o,l;try{l=$d(t.buffer)}catch(d){return void n._errorSteps(d)}let f={buffer:l,bufferByteLength:l.byteLength,byteOffset:s,byteLength:u,bytesFilled:0,minimumFill:c,elementSize:o,viewConstructor:a,readerType:"byob"};if(e._pendingPullIntos.length>0)return e._pendingPullIntos.push(f),void tre(i,n);if(i._state!=="closed"){if(e._queueTotalSize>0){if(Rre(e,f)){let d=Ore(f);return Mre(e),void n._chunkSteps(d)}if(e._closeRequested){let d=new TypeError("Insufficient bytes to fill elements in the given buffer");return wo(e,d),void n._errorSteps(d)}}e._pendingPullIntos.push(f),tre(i,n),Xd(e)}else{let d=new a(f.buffer,f.byteOffset,0);n._closeSteps(d)}}function Lre(e,t){let r=e._pendingPullIntos.peek();LF(e),e._controlledReadableByteStream._state==="closed"?function(n,i){i.readerType==="none"&&x0(n);let a=n._controlledReadableByteStream;if(qF(a))for(;zre(a)>0;)_F(a,x0(n))}(e,r):function(n,i,a){if(jre(0,i,a),a.readerType==="none")return Pre(n,a),void wF(n);if(a.bytesFilled<a.minimumFill)return;x0(n);let o=a.bytesFilled%a.elementSize;if(o>0){let s=a.byteOffset+a.bytesFilled;Ire(n,a.buffer,s-o,o)}a.bytesFilled-=o,_F(n._controlledReadableByteStream,a),wF(n)}(e,t,r),Xd(e)}function x0(e){return e._pendingPullIntos.shift()}function Ww(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0}function $b(e){let t=e._controlledReadableByteStream;if(!e._closeRequested&&t._state==="readable")if(e._queueTotalSize>0)e._closeRequested=!0;else{if(e._pendingPullIntos.length>0){let r=e._pendingPullIntos.peek();if(r.bytesFilled%r.elementSize!=0){let n=new TypeError("Insufficient bytes to fill elements in the given buffer");throw wo(e,n),n}}Ww(e),ix(t)}}function Iw(e,t){let r=e._controlledReadableByteStream;if(e._closeRequested||r._state!=="readable")return;let{buffer:n,byteOffset:i,byteLength:a}=t;if(Wd(n))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let o=$d(n);if(e._pendingPullIntos.length>0){let s=e._pendingPullIntos.peek();if(Wd(s.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");LF(e),s.buffer=$d(s.buffer),s.readerType==="none"&&Pre(e,s)}wre(r)?(function(s){let u=s._controlledReadableByteStream._reader;for(;u._readRequests.length>0;){if(s._queueTotalSize===0)return;qre(s,u._readRequests.shift())}}(e),$w(r)===0?Ow(e,o,i,a):(e._pendingPullIntos.length>0&&x0(e),jF(r,new Uint8Array(o,i,a),!1))):qF(r)?(Ow(e,o,i,a),wF(e)):Ow(e,o,i,a),Xd(e)}function wo(e,t){let r=e._controlledReadableByteStream;r._state==="readable"&&(Fre(e),Yl(e),Ww(e),cne(r,t))}function qre(e,t){let r=e._queue.shift();e._queueTotalSize-=r.byteLength,Mre(e);let n=new Uint8Array(r.buffer,r.byteOffset,r.byteLength);t._chunkSteps(n)}function AF(e){if(e._byobRequest===null&&e._pendingPullIntos.length>0){let t=e._pendingPullIntos.peek(),r=new Uint8Array(t.buffer,t.byteOffset+t.bytesFilled,t.byteLength-t.bytesFilled),n=Object.create(Jl.prototype);(function(i,a,o){i._associatedReadableByteStreamController=a,i._view=o})(n,e,r),e._byobRequest=n}return e._byobRequest}function Nre(e){let t=e._controlledReadableByteStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function Pw(e,t){let r=e._pendingPullIntos.peek();if(e._controlledReadableByteStream._state==="closed"){if(t!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(t===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(r.bytesFilled+t>r.byteLength)throw new RangeError("bytesWritten out of range")}r.buffer=$d(r.buffer),Lre(e,t)}function Rw(e,t){let r=e._pendingPullIntos.peek();if(e._controlledReadableByteStream._state==="closed"){if(t.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(t.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(r.byteOffset+r.bytesFilled!==t.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(r.bufferByteLength!==t.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(r.bytesFilled+t.byteLength>r.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let n=t.byteLength;r.buffer=$d(t.buffer),Lre(e,n)}function Ure(e,t,r,n,i,a,o){t._controlledReadableByteStream=e,t._pullAgain=!1,t._pulling=!1,t._byobRequest=null,t._queue=t._queueTotalSize=void 0,Yl(t),t._closeRequested=!1,t._started=!1,t._strategyHWM=a,t._pullAlgorithm=n,t._cancelAlgorithm=i,t._autoAllocateChunkSize=o,t._pendingPullIntos=new Ea,e._readableStreamController=t,Aa(nr(r()),()=>(t._started=!0,Xd(t),null),s=>(wo(t,s),null))}function pF(e){return new TypeError(`ReadableStreamBYOBRequest.prototype.${e} can only be used on a ReadableStreamBYOBRequest`)}function zb(e){return new TypeError(`ReadableByteStreamController.prototype.${e} can only be used on a ReadableByteStreamController`)}function ULe(e,t){if((e=`${e}`)!="byob")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamReaderMode`);return e}function Gre(e){return new Ec(e)}function tre(e,t){e._reader._readIntoRequests.push(t)}function zre(e){return e._reader._readIntoRequests.length}function qF(e){let t=e._reader;return t!==void 0&&!!zd(t)}Object.defineProperties(bu.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),rr(bu.prototype.close,"close"),rr(bu.prototype.enqueue,"enqueue"),rr(bu.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(bu.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});var Ec=class{constructor(t){if(Dc(t,1,"ReadableStreamBYOBReader"),RF(t,"First parameter"),Xl(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!Gd(t._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");vre(this,t),this._readIntoRequests=new Ea}get closed(){return zd(this)?this._closedPromise:it(Tw("closed"))}cancel(t=void 0){return zd(this)?this._ownerReadableStream===void 0?it(Lw("cancel")):FF(this,t):it(Tw("cancel"))}read(t,r={}){if(!zd(this))return it(Tw("read"));if(!ArrayBuffer.isView(t))return it(new TypeError("view must be an array buffer view"));if(t.byteLength===0)return it(new TypeError("view must have non-zero byteLength"));if(t.buffer.byteLength===0)return it(new TypeError("view's buffer must have non-zero byteLength"));if(Wd(t.buffer))return it(new TypeError("view's buffer has been detached"));let n;try{n=function(u,c){var l;return _u(u,c),{min:PF((l=u==null?void 0:u.min)!==null&&l!==void 0?l:1,`${c} has member 'min' that`)}}(r,"options")}catch(u){return it(u)}let i=n.min;if(i===0)return it(new TypeError("options.min must be greater than 0"));if(function(u){return Bre(u.constructor)}(t)){if(i>t.byteLength)return it(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(i>t.length)return it(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return it(Lw("read from"));let a,o,s=jn((u,c)=>{a=u,o=c});return Hre(this,t,i,{_chunkSteps:u=>a({value:u,done:!1}),_closeSteps:u=>a({value:u,done:!0}),_errorSteps:u=>o(u)}),s}releaseLock(){if(!zd(this))throw Tw("releaseLock");this._ownerReadableStream!==void 0&&function(t){kc(t);let r=new TypeError("Reader was released");Vre(t,r)}(this)}};function zd(e){return!!Tn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readIntoRequests")&&e instanceof Ec}function Hre(e,t,r,n){let i=e._ownerReadableStream;i._disturbed=!0,i._state==="errored"?n._errorSteps(i._storedError):NLe(i._readableStreamController,t,r,n)}function Vre(e,t){let r=e._readIntoRequests;e._readIntoRequests=new Ea,r.forEach(n=>{n._errorSteps(t)})}function Tw(e){return new TypeError(`ReadableStreamBYOBReader.prototype.${e} can only be used on a ReadableStreamBYOBReader`)}function Xb(e,t){let{highWaterMark:r}=e;if(r===void 0)return t;if(Dre(r)||r<0)throw new RangeError("Invalid highWaterMark");return r}function Nw(e){let{size:t}=e;return t||(()=>1)}function Uw(e,t){_u(e,t);let r=e==null?void 0:e.highWaterMark,n=e==null?void 0:e.size;return{highWaterMark:r===void 0?void 0:IF(r),size:n===void 0?void 0:GLe(n,`${t} has member 'size' that`)}}function GLe(e,t){return Ao(e,t),r=>IF(e(r))}function zLe(e,t,r){return Ao(e,r),n=>Bc(e,t,[n])}function HLe(e,t,r){return Ao(e,r),()=>Bc(e,t,[])}function VLe(e,t,r){return Ao(e,r),n=>Vd(e,t,[n])}function $Le(e,t,r){return Ao(e,r),(n,i)=>Bc(e,t,[n,i])}function $re(e,t){if(!v0(e))throw new TypeError(`${t} is not a WritableStream.`)}Object.defineProperties(Ec.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),rr(Ec.prototype.cancel,"cancel"),rr(Ec.prototype.read,"read"),rr(Ec.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Ec.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});var WLe=typeof AbortController=="function",Tc=class{constructor(t={},r={}){t===void 0?t=null:yre(t,"First parameter");let n=Uw(r,"Second parameter"),i=function(o,s){_u(o,s);let u=o==null?void 0:o.abort,c=o==null?void 0:o.close,l=o==null?void 0:o.start,f=o==null?void 0:o.type,d=o==null?void 0:o.write;return{abort:u===void 0?void 0:zLe(u,o,`${s} has member 'abort' that`),close:c===void 0?void 0:HLe(c,o,`${s} has member 'close' that`),start:l===void 0?void 0:VLe(l,o,`${s} has member 'start' that`),write:d===void 0?void 0:$Le(d,o,`${s} has member 'write' that`),type:f}}(t,"First parameter");if(Kre(this),i.type!==void 0)throw new RangeError("Invalid type is specified");let a=Nw(n);(function(o,s,u,c){let l=Object.create(Kd.prototype),f,d,p,h;f=s.start!==void 0?()=>s.start(l):()=>{},d=s.write!==void 0?m=>s.write(m,l):()=>nr(void 0),p=s.close!==void 0?()=>s.close():()=>nr(void 0),h=s.abort!==void 0?m=>s.abort(m):()=>nr(void 0),tne(o,l,f,d,p,h,u,c)})(this,i,Xb(n,1),a)}get locked(){if(!v0(this))throw kw("locked");return y0(this)}abort(t=void 0){return v0(this)?y0(this)?it(new TypeError("Cannot abort a stream that already has a writer")):Gw(this,t):it(kw("abort"))}close(){return v0(this)?y0(this)?it(new TypeError("Cannot close a stream that already has a writer")):wu(this)?it(new TypeError("Cannot close an already-closing stream")):Jre(this):it(kw("close"))}getWriter(){if(!v0(this))throw kw("getWriter");return Wre(this)}};function Wre(e){return new vu(e)}function Kre(e){e._state="writable",e._storedError=void 0,e._writer=void 0,e._writableStreamController=void 0,e._writeRequests=new Ea,e._inFlightWriteRequest=void 0,e._closeRequest=void 0,e._inFlightCloseRequest=void 0,e._pendingAbortRequest=void 0,e._backpressure=!1}function v0(e){return!!Tn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_writableStreamController")&&e instanceof Tc}function y0(e){return e._writer!==void 0}function Gw(e,t){var r;if(e._state==="closed"||e._state==="errored")return nr(void 0);e._writableStreamController._abortReason=t,(r=e._writableStreamController._abortController)===null||r===void 0||r.abort(t);let n=e._state;if(n==="closed"||n==="errored")return nr(void 0);if(e._pendingAbortRequest!==void 0)return e._pendingAbortRequest._promise;let i=!1;n==="erroring"&&(i=!0,t=void 0);let a=jn((o,s)=>{e._pendingAbortRequest={_promise:void 0,_resolve:o,_reject:s,_reason:t,_wasAlreadyErroring:i}});return e._pendingAbortRequest._promise=a,i||NF(e,t),a}function Jre(e){let t=e._state;if(t==="closed"||t==="errored")return it(new TypeError(`The stream (in ${t} state) is not in the writable state and cannot be closed`));let r=jn((a,o)=>{let s={_resolve:a,_reject:o};e._closeRequest=s}),n=e._writer;var i;return n!==void 0&&e._backpressure&&t==="writable"&&VF(n),MF(i=e._writableStreamController,ene,0),Kw(i),r}function EF(e,t){e._state!=="writable"?UF(e):NF(e,t)}function NF(e,t){let r=e._writableStreamController;e._state="erroring",e._storedError=t;let n=e._writer;n!==void 0&&Yre(n,t),!function(i){return!(i._inFlightWriteRequest===void 0&&i._inFlightCloseRequest===void 0)}(e)&&r._started&&UF(e)}function UF(e){e._state="errored",e._writableStreamController[gre]();let t=e._storedError;if(e._writeRequests.forEach(n=>{n._reject(t)}),e._writeRequests=new Ea,e._pendingAbortRequest===void 0)return void Sw(e);let r=e._pendingAbortRequest;if(e._pendingAbortRequest=void 0,r._wasAlreadyErroring)return r._reject(t),void Sw(e);Aa(e._writableStreamController[mre](r._reason),()=>(r._resolve(),Sw(e),null),n=>(r._reject(n),Sw(e),null))}function wu(e){return e._closeRequest!==void 0||e._inFlightCloseRequest!==void 0}function Sw(e){e._closeRequest!==void 0&&(e._closeRequest._reject(e._storedError),e._closeRequest=void 0);let t=e._writer;t!==void 0&&HF(t,e._storedError)}function GF(e,t){let r=e._writer;r!==void 0&&t!==e._backpressure&&(t?function(n){Jw(n)}(r):VF(r)),e._backpressure=t}Object.defineProperties(Tc.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),rr(Tc.prototype.abort,"abort"),rr(Tc.prototype.close,"close"),rr(Tc.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Tc.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});var vu=class{constructor(t){if(Dc(t,1,"WritableStreamDefaultWriter"),$re(t,"First parameter"),y0(t))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=t,t._writer=this;let r=t._state;if(r==="writable")!wu(t)&&t._backpressure?Jw(this):rre(this),jw(this);else if(r==="erroring")TF(this,t._storedError),jw(this);else if(r==="closed")rre(this),jw(n=this),ane(n);else{let i=t._storedError;TF(this,i),ine(this,i)}var n}get closed(){return qd(this)?this._closedPromise:it(Nd("closed"))}get desiredSize(){if(!qd(this))throw Nd("desiredSize");if(this._ownerWritableStream===void 0)throw Wb("desiredSize");return function(t){let r=t._ownerWritableStream,n=r._state;return n==="errored"||n==="erroring"?null:n==="closed"?0:rne(r._writableStreamController)}(this)}get ready(){return qd(this)?this._readyPromise:it(Nd("ready"))}abort(t=void 0){return qd(this)?this._ownerWritableStream===void 0?it(Wb("abort")):function(r,n){return Gw(r._ownerWritableStream,n)}(this,t):it(Nd("abort"))}close(){if(!qd(this))return it(Nd("close"));let t=this._ownerWritableStream;return t===void 0?it(Wb("close")):wu(t)?it(new TypeError("Cannot close an already-closing stream")):Xre(this)}releaseLock(){if(!qd(this))throw Nd("releaseLock");this._ownerWritableStream!==void 0&&Qre(this)}write(t=void 0){return qd(this)?this._ownerWritableStream===void 0?it(Wb("write to")):Zre(this,t):it(Nd("write"))}};function qd(e){return!!Tn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_ownerWritableStream")&&e instanceof vu}function Xre(e){return Jre(e._ownerWritableStream)}function KLe(e,t){e._closedPromiseState==="pending"?HF(e,t):function(r,n){ine(r,n)}(e,t)}function Yre(e,t){e._readyPromiseState==="pending"?one(e,t):function(r,n){TF(r,n)}(e,t)}function Qre(e){let t=e._ownerWritableStream,r=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");Yre(e,r),KLe(e,r),t._writer=void 0,e._ownerWritableStream=void 0}function Zre(e,t){let r=e._ownerWritableStream,n=r._writableStreamController,i=function(s,u){try{return s._strategySizeAlgorithm(u)}catch(c){return Yb(s,c),1}}(n,t);if(r!==e._ownerWritableStream)return it(Wb("write to"));let a=r._state;if(a==="errored")return it(r._storedError);if(wu(r)||a==="closed")return it(new TypeError("The stream is closing or closed and cannot be written to"));if(a==="erroring")return it(r._storedError);let o=function(s){return jn((u,c)=>{let l={_resolve:u,_reject:c};s._writeRequests.push(l)})}(r);return function(s,u,c){try{MF(s,u,c)}catch(f){return void Yb(s,f)}let l=s._controlledWritableStream;!wu(l)&&l._state==="writable"&&GF(l,zF(s)),Kw(s)}(n,t,i),o}Object.defineProperties(vu.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),rr(vu.prototype.abort,"abort"),rr(vu.prototype.close,"close"),rr(vu.prototype.releaseLock,"releaseLock"),rr(vu.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(vu.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});var ene={},Kd=class{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!hF(this))throw mF("abortReason");return this._abortReason}get signal(){if(!hF(this))throw mF("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(t=void 0){if(!hF(this))throw mF("error");this._controlledWritableStream._state==="writable"&&nne(this,t)}[mre](t){let r=this._abortAlgorithm(t);return zw(this),r}[gre](){Yl(this)}};function hF(e){return!!Tn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledWritableStream")&&e instanceof Kd}function tne(e,t,r,n,i,a,o,s){t._controlledWritableStream=e,e._writableStreamController=t,t._queue=void 0,t._queueTotalSize=void 0,Yl(t),t._abortReason=void 0,t._abortController=function(){if(WLe)return new AbortController}(),t._started=!1,t._strategySizeAlgorithm=s,t._strategyHWM=o,t._writeAlgorithm=n,t._closeAlgorithm=i,t._abortAlgorithm=a;let u=zF(t);GF(e,u),Aa(nr(r()),()=>(t._started=!0,Kw(t),null),c=>(t._started=!0,EF(e,c),null))}function zw(e){e._writeAlgorithm=void 0,e._closeAlgorithm=void 0,e._abortAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function rne(e){return e._strategyHWM-e._queueTotalSize}function Kw(e){let t=e._controlledWritableStream;if(!e._started||t._inFlightWriteRequest!==void 0)return;if(t._state==="erroring")return void UF(t);if(e._queue.length===0)return;let r=e._queue.peek().value;r===ene?function(n){let i=n._controlledWritableStream;(function(o){o._inFlightCloseRequest=o._closeRequest,o._closeRequest=void 0})(i),yF(n);let a=n._closeAlgorithm();zw(n),Aa(a,()=>(function(o){o._inFlightCloseRequest._resolve(void 0),o._inFlightCloseRequest=void 0,o._state==="erroring"&&(o._storedError=void 0,o._pendingAbortRequest!==void 0&&(o._pendingAbortRequest._resolve(),o._pendingAbortRequest=void 0)),o._state="closed";let s=o._writer;s!==void 0&&ane(s)}(i),null),o=>(function(s,u){s._inFlightCloseRequest._reject(u),s._inFlightCloseRequest=void 0,s._pendingAbortRequest!==void 0&&(s._pendingAbortRequest._reject(u),s._pendingAbortRequest=void 0),EF(s,u)}(i,o),null))}(e):function(n,i){let a=n._controlledWritableStream;(function(s){s._inFlightWriteRequest=s._writeRequests.shift()})(a);let o=n._writeAlgorithm(i);Aa(o,()=>{(function(u){u._inFlightWriteRequest._resolve(void 0),u._inFlightWriteRequest=void 0})(a);let s=a._state;if(yF(n),!wu(a)&&s==="writable"){let u=zF(n);GF(a,u)}return Kw(n),null},s=>(a._state==="writable"&&zw(n),function(u,c){u._inFlightWriteRequest._reject(c),u._inFlightWriteRequest=void 0,EF(u,c)}(a,s),null))}(e,r)}function Yb(e,t){e._controlledWritableStream._state==="writable"&&nne(e,t)}function zF(e){return rne(e)<=0}function nne(e,t){let r=e._controlledWritableStream;zw(e),NF(r,t)}function kw(e){return new TypeError(`WritableStream.prototype.${e} can only be used on a WritableStream`)}function mF(e){return new TypeError(`WritableStreamDefaultController.prototype.${e} can only be used on a WritableStreamDefaultController`)}function Nd(e){return new TypeError(`WritableStreamDefaultWriter.prototype.${e} can only be used on a WritableStreamDefaultWriter`)}function Wb(e){return new TypeError("Cannot "+e+" a stream using a released writer")}function jw(e){e._closedPromise=jn((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r,e._closedPromiseState="pending"})}function ine(e,t){jw(e),HF(e,t)}function HF(e,t){e._closedPromise_reject!==void 0&&(A0(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="rejected")}function ane(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="resolved")}function Jw(e){e._readyPromise=jn((t,r)=>{e._readyPromise_resolve=t,e._readyPromise_reject=r}),e._readyPromiseState="pending"}function TF(e,t){Jw(e),one(e,t)}function rre(e){Jw(e),VF(e)}function one(e,t){e._readyPromise_reject!==void 0&&(A0(e._readyPromise),e._readyPromise_reject(t),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="rejected")}function VF(e){e._readyPromise_resolve!==void 0&&(e._readyPromise_resolve(void 0),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="fulfilled")}Object.defineProperties(Kd.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Kd.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});var nre=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:void 0,JLe=function(){let e=nre==null?void 0:nre.DOMException;return function(t){if(typeof t!="function"&&typeof t!="object"||t.name!=="DOMException")return!1;try{return new t,!0}catch{return!1}}(e)?e:void 0}()||function(){let e=function(t,r){this.message=t||"",this.name=r||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return rr(e,"DOMException"),e.prototype=Object.create(Error.prototype),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,configurable:!0}),e}();function ire(e,t,r,n,i,a){let o=b0(e),s=Wre(t);e._disturbed=!0;let u=!1,c=nr(void 0);return jn((l,f)=>{let d;if(a!==void 0){if(d=()=>{let A=a.reason!==void 0?a.reason:new JLe("Aborted","AbortError"),D=[];n||D.push(()=>t._state==="writable"?Gw(t,A):nr(void 0)),i||D.push(()=>e._state==="readable"?ps(e,A):nr(void 0)),y(()=>Promise.all(D.map(F=>F())),!0,A)},a.aborted)return void d();a.addEventListener("abort",d)}var p,h,m;if(x(e,o._closedPromise,A=>(n?w(!0,A):y(()=>Gw(t,A),!0,A),null)),x(t,s._closedPromise,A=>(i?w(!0,A):y(()=>ps(e,A),!0,A),null)),p=e,h=o._closedPromise,m=()=>(r?w():y(()=>function(A){let D=A._ownerWritableStream,F=D._state;return wu(D)||F==="closed"?nr(void 0):F==="errored"?it(D._storedError):Xre(A)}(s)),null),p._state==="closed"?m():uF(h,m),wu(t)||t._state==="closed"){let A=new TypeError("the destination writable stream closed before all data could be piped to it");i?w(!0,A):y(()=>ps(e,A),!0,A)}function g(){let A=c;return yu(c,()=>A!==c?g():void 0)}function x(A,D,F){A._state==="errored"?F(A._storedError):vF(D,F)}function y(A,D,F){function j(){return Aa(A(),()=>T(D,F),k=>T(!0,k)),null}u||(u=!0,t._state!=="writable"||wu(t)?j():uF(g(),j))}function w(A,D){u||(u=!0,t._state!=="writable"||wu(t)?T(A,D):uF(g(),()=>T(A,D)))}function T(A,D){return Qre(s),kc(o),a!==void 0&&a.removeEventListener("abort",d),A?f(D):l(void 0),null}A0(jn((A,D)=>{(function F(j){j?A():yu(u?nr(!0):yu(s._readyPromise,()=>jn((k,I)=>{Jb(o,{_chunkSteps:P=>{c=yu(Zre(s,P),void 0,Kb),k(!1)},_closeSteps:()=>k(!0),_errorSteps:I})})),F,D)})(!1)}))})}var xu=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Cw(this))throw Dw("desiredSize");return $F(this)}close(){if(!Cw(this))throw Dw("close");if(!w0(this))throw new TypeError("The stream is not in a state that permits close");Jd(this)}enqueue(t=void 0){if(!Cw(this))throw Dw("enqueue");if(!w0(this))throw new TypeError("The stream is not in a state that permits enqueue");return _0(this,t)}error(t=void 0){if(!Cw(this))throw Dw("error");hs(this,t)}[CF](t){Yl(this);let r=this._cancelAlgorithm(t);return Hw(this),r}[DF](t){let r=this._controlledReadableStream;if(this._queue.length>0){let n=yF(this);this._closeRequested&&this._queue.length===0?(Hw(this),ix(r)):Qb(this),t._chunkSteps(n)}else _re(r,t),Qb(this)}[BF](){}};function Cw(e){return!!Tn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableStream")&&e instanceof xu}function Qb(e){if(sne(e)){if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0,Aa(e._pullAlgorithm(),()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,Qb(e)),null),t=>(hs(e,t),null))}}function sne(e){let t=e._controlledReadableStream;return!w0(e)||!e._started?!1:Xl(t)&&$w(t)>0?!0:$F(e)>0}function Hw(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function Jd(e){if(!w0(e))return;let t=e._controlledReadableStream;e._closeRequested=!0,e._queue.length===0&&(Hw(e),ix(t))}function _0(e,t){if(!w0(e))return;let r=e._controlledReadableStream;if(Xl(r)&&$w(r)>0)jF(r,t,!1);else{let n;try{n=e._strategySizeAlgorithm(t)}catch(i){throw hs(e,i),i}try{MF(e,t,n)}catch(i){throw hs(e,i),i}}Qb(e)}function hs(e,t){let r=e._controlledReadableStream;r._state==="readable"&&(Yl(e),Hw(e),cne(r,t))}function $F(e){let t=e._controlledReadableStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function w0(e){let t=e._controlledReadableStream._state;return!e._closeRequested&&t==="readable"}function une(e,t,r,n,i,a,o){t._controlledReadableStream=e,t._queue=void 0,t._queueTotalSize=void 0,Yl(t),t._started=!1,t._closeRequested=!1,t._pullAgain=!1,t._pulling=!1,t._strategySizeAlgorithm=o,t._strategyHWM=a,t._pullAlgorithm=n,t._cancelAlgorithm=i,e._readableStreamController=t,Aa(nr(r()),()=>(t._started=!0,Qb(t),null),s=>(hs(t,s),null))}function Dw(e){return new TypeError(`ReadableStreamDefaultController.prototype.${e} can only be used on a ReadableStreamDefaultController`)}function XLe(e,t){return Gd(e._readableStreamController)?function(r){let n,i,a,o,s,u=b0(r),c=!1,l=!1,f=!1,d=!1,p=!1,h=jn(F=>{s=F});function m(F){vF(F._closedPromise,j=>(F!==u||(wo(a._readableStreamController,j),wo(o._readableStreamController,j),d&&p||s(void 0)),null))}function g(){zd(u)&&(kc(u),u=b0(r),m(u)),Jb(u,{_chunkSteps:F=>{Hd(()=>{l=!1,f=!1;let j=F,k=F;if(!d&&!p)try{k=ere(F)}catch(I){return wo(a._readableStreamController,I),wo(o._readableStreamController,I),void s(ps(r,I))}d||Iw(a._readableStreamController,j),p||Iw(o._readableStreamController,k),c=!1,l?y():f&&w()})},_closeSteps:()=>{c=!1,d||$b(a._readableStreamController),p||$b(o._readableStreamController),a._readableStreamController._pendingPullIntos.length>0&&Pw(a._readableStreamController,0),o._readableStreamController._pendingPullIntos.length>0&&Pw(o._readableStreamController,0),d&&p||s(void 0)},_errorSteps:()=>{c=!1}})}function x(F,j){Kl(u)&&(kc(u),u=Gre(r),m(u));let k=j?o:a,I=j?a:o;Hre(u,F,1,{_chunkSteps:P=>{Hd(()=>{l=!1,f=!1;let L=j?p:d;if(j?d:p)L||Rw(k._readableStreamController,P);else{let G;try{G=ere(P)}catch(V){return wo(k._readableStreamController,V),wo(I._readableStreamController,V),void s(ps(r,V))}L||Rw(k._readableStreamController,P),Iw(I._readableStreamController,G)}c=!1,l?y():f&&w()})},_closeSteps:P=>{c=!1;let L=j?p:d,G=j?d:p;L||$b(k._readableStreamController),G||$b(I._readableStreamController),P!==void 0&&(L||Rw(k._readableStreamController,P),!G&&I._readableStreamController._pendingPullIntos.length>0&&Pw(I._readableStreamController,0)),L&&G||s(void 0)},_errorSteps:()=>{c=!1}})}function y(){if(c)return l=!0,nr(void 0);c=!0;let F=AF(a._readableStreamController);return F===null?g():x(F._view,!1),nr(void 0)}function w(){if(c)return f=!0,nr(void 0);c=!0;let F=AF(o._readableStreamController);return F===null?g():x(F._view,!0),nr(void 0)}function T(F){if(d=!0,n=F,p){let j=Hb([n,i]),k=ps(r,j);s(k)}return h}function A(F){if(p=!0,i=F,d){let j=Hb([n,i]),k=ps(r,j);s(k)}return h}function D(){}return a=ore(D,y,T),o=ore(D,w,A),m(u),[a,o]}(e):function(r,n){let i=b0(r),a,o,s,u,c,l=!1,f=!1,d=!1,p=!1,h=jn(w=>{c=w});function m(){return l?(f=!0,nr(void 0)):(l=!0,Jb(i,{_chunkSteps:w=>{Hd(()=>{f=!1;let T=w,A=w;d||_0(s._readableStreamController,T),p||_0(u._readableStreamController,A),l=!1,f&&m()})},_closeSteps:()=>{l=!1,d||Jd(s._readableStreamController),p||Jd(u._readableStreamController),d&&p||c(void 0)},_errorSteps:()=>{l=!1}}),nr(void 0))}function g(w){if(d=!0,a=w,p){let T=Hb([a,o]),A=ps(r,T);c(A)}return h}function x(w){if(p=!0,o=w,d){let T=Hb([a,o]),A=ps(r,T);c(A)}return h}function y(){}return s=Zb(y,m,g),u=Zb(y,m,x),vF(i._closedPromise,w=>(hs(s._readableStreamController,w),hs(u._readableStreamController,w),d&&p||c(void 0),null)),[s,u]}(e)}function YLe(e){return Tn(t=e)&&t.getReader!==void 0?function(r){let n;function i(){let o;try{o=r.read()}catch(s){return it(s)}return Cc(o,s=>{if(!Tn(s))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(s.done)Jd(n._readableStreamController);else{let u=s.value;_0(n._readableStreamController,u)}})}function a(o){try{return nr(r.cancel(o))}catch(s){return it(s)}}return n=Zb(Kb,i,a,0),n}(e.getReader()):function(r){let n,i=Sre(r,"async");function a(){let s;try{s=kre(i)}catch(u){return it(u)}return Cc(nr(s),u=>{if(!Tn(u))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(u.done)Jd(n._readableStreamController);else{let c=u.value;_0(n._readableStreamController,c)}})}function o(s){let u=i.iterator,c;try{c=Vb(u,"return")}catch(l){return it(l)}return c===void 0?nr(void 0):Cc(Bc(c,u,[s]),l=>{if(!Tn(l))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return n=Zb(Kb,a,o,0),n}(e);var t}function QLe(e,t,r){return Ao(e,r),n=>Bc(e,t,[n])}function ZLe(e,t,r){return Ao(e,r),n=>Bc(e,t,[n])}function e7e(e,t,r){return Ao(e,r),n=>Vd(e,t,[n])}function t7e(e,t){if((e=`${e}`)!="bytes")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamType`);return e}function are(e,t){_u(e,t);let r=e==null?void 0:e.preventAbort,n=e==null?void 0:e.preventCancel,i=e==null?void 0:e.preventClose,a=e==null?void 0:e.signal;return a!==void 0&&function(o,s){if(!function(u){if(typeof u!="object"||u===null)return!1;try{return typeof u.aborted=="boolean"}catch{return!1}}(o))throw new TypeError(`${s} is not an AbortSignal.`)}(a,`${t} has member 'signal' that`),{preventAbort:Boolean(r),preventCancel:Boolean(n),preventClose:Boolean(i),signal:a}}Object.defineProperties(xu.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),rr(xu.prototype.close,"close"),rr(xu.prototype.enqueue,"enqueue"),rr(xu.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(xu.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});var Jn=class{constructor(t={},r={}){t===void 0?t=null:yre(t,"First parameter");let n=Uw(r,"Second parameter"),i=function(a,o){_u(a,o);let s=a,u=s==null?void 0:s.autoAllocateChunkSize,c=s==null?void 0:s.cancel,l=s==null?void 0:s.pull,f=s==null?void 0:s.start,d=s==null?void 0:s.type;return{autoAllocateChunkSize:u===void 0?void 0:PF(u,`${o} has member 'autoAllocateChunkSize' that`),cancel:c===void 0?void 0:QLe(c,s,`${o} has member 'cancel' that`),pull:l===void 0?void 0:ZLe(l,s,`${o} has member 'pull' that`),start:f===void 0?void 0:e7e(f,s,`${o} has member 'start' that`),type:d===void 0?void 0:t7e(d,`${o} has member 'type' that`)}}(t,"First parameter");if(WF(this),i.type==="bytes"){if(n.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");(function(a,o,s){let u=Object.create(bu.prototype),c,l,f;c=o.start!==void 0?()=>o.start(u):()=>{},l=o.pull!==void 0?()=>o.pull(u):()=>nr(void 0),f=o.cancel!==void 0?p=>o.cancel(p):()=>nr(void 0);let d=o.autoAllocateChunkSize;if(d===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");Ure(a,u,c,l,f,s,d)})(this,i,Xb(n,0))}else{let a=Nw(n);(function(o,s,u,c){let l=Object.create(xu.prototype),f,d,p;f=s.start!==void 0?()=>s.start(l):()=>{},d=s.pull!==void 0?()=>s.pull(l):()=>nr(void 0),p=s.cancel!==void 0?h=>s.cancel(h):()=>nr(void 0),une(o,l,f,d,p,u,c)})(this,i,Xb(n,1),a)}}get locked(){if(!Wl(this))throw Ud("locked");return Xl(this)}cancel(t=void 0){return Wl(this)?Xl(this)?it(new TypeError("Cannot cancel a stream that already has a reader")):ps(this,t):it(Ud("cancel"))}getReader(t=void 0){if(!Wl(this))throw Ud("getReader");return function(r,n){_u(r,n);let i=r==null?void 0:r.mode;return{mode:i===void 0?void 0:ULe(i,`${n} has member 'mode' that`)}}(t,"First parameter").mode===void 0?b0(this):Gre(this)}pipeThrough(t,r={}){if(!Wl(this))throw Ud("pipeThrough");Dc(t,1,"pipeThrough");let n=function(a,o){_u(a,o);let s=a==null?void 0:a.readable;xF(s,"readable","ReadableWritablePair"),RF(s,`${o} has member 'readable' that`);let u=a==null?void 0:a.writable;return xF(u,"writable","ReadableWritablePair"),$re(u,`${o} has member 'writable' that`),{readable:s,writable:u}}(t,"First parameter"),i=are(r,"Second parameter");if(Xl(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(y0(n.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");return A0(ire(this,n.writable,i.preventClose,i.preventAbort,i.preventCancel,i.signal)),n.readable}pipeTo(t,r={}){if(!Wl(this))return it(Ud("pipeTo"));if(t===void 0)return it("Parameter 1 is required in 'pipeTo'.");if(!v0(t))return it(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let n;try{n=are(r,"Second parameter")}catch(i){return it(i)}return Xl(this)?it(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):y0(t)?it(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):ire(this,t,n.preventClose,n.preventAbort,n.preventCancel,n.signal)}tee(){if(!Wl(this))throw Ud("tee");return Hb(XLe(this))}values(t=void 0){if(!Wl(this))throw Ud("values");return function(r,n){let i=b0(r),a=new qw(i,n),o=Object.create(Cre);return o._asyncIteratorImpl=a,o}(this,function(r,n){_u(r,n);let i=r==null?void 0:r.preventCancel;return{preventCancel:Boolean(i)}}(t,"First parameter").preventCancel)}[nx](t){return this.values(t)}static from(t){return YLe(t)}};function Zb(e,t,r,n=1,i=()=>1){let a=Object.create(Jn.prototype);return WF(a),une(a,Object.create(xu.prototype),e,t,r,n,i),a}function ore(e,t,r){let n=Object.create(Jn.prototype);return WF(n),Ure(n,Object.create(bu.prototype),e,t,r,0,void 0),n}function WF(e){e._state="readable",e._reader=void 0,e._storedError=void 0,e._disturbed=!1}function Wl(e){return!!Tn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readableStreamController")&&e instanceof Jn}function Xl(e){return e._reader!==void 0}function ps(e,t){if(e._disturbed=!0,e._state==="closed")return nr(void 0);if(e._state==="errored")return it(e._storedError);ix(e);let r=e._reader;if(r!==void 0&&zd(r)){let n=r._readIntoRequests;r._readIntoRequests=new Ea,n.forEach(i=>{i._closeSteps(void 0)})}return Cc(e._readableStreamController[CF](t),Kb)}function ix(e){e._state="closed";let t=e._reader;if(t!==void 0&&(xre(t),Kl(t))){let r=t._readRequests;t._readRequests=new Ea,r.forEach(n=>{n._closeSteps()})}}function cne(e,t){e._state="errored",e._storedError=t;let r=e._reader;r!==void 0&&(OF(r,t),Kl(r)?Are(r,t):Vre(r,t))}function Ud(e){return new TypeError(`ReadableStream.prototype.${e} can only be used on a ReadableStream`)}function lne(e,t){_u(e,t);let r=e==null?void 0:e.highWaterMark;return xF(r,"highWaterMark","QueuingStrategyInit"),{highWaterMark:IF(r)}}Object.defineProperties(Jn,{from:{enumerable:!0}}),Object.defineProperties(Jn.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),rr(Jn.from,"from"),rr(Jn.prototype.cancel,"cancel"),rr(Jn.prototype.getReader,"getReader"),rr(Jn.prototype.pipeThrough,"pipeThrough"),rr(Jn.prototype.pipeTo,"pipeTo"),rr(Jn.prototype.tee,"tee"),rr(Jn.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Jn.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(Jn.prototype,nx,{value:Jn.prototype.values,writable:!0,configurable:!0});var fne=e=>e.byteLength;rr(fne,"size");var ex=class{constructor(t){Dc(t,1,"ByteLengthQueuingStrategy"),t=lne(t,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!ure(this))throw sre("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!ure(this))throw sre("size");return fne}};function sre(e){return new TypeError(`ByteLengthQueuingStrategy.prototype.${e} can only be used on a ByteLengthQueuingStrategy`)}function ure(e){return!!Tn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_byteLengthQueuingStrategyHighWaterMark")&&e instanceof ex}Object.defineProperties(ex.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ex.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});var dne=()=>1;rr(dne,"size");var tx=class{constructor(t){Dc(t,1,"CountQueuingStrategy"),t=lne(t,"First parameter"),this._countQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!lre(this))throw cre("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!lre(this))throw cre("size");return dne}};function cre(e){return new TypeError(`CountQueuingStrategy.prototype.${e} can only be used on a CountQueuingStrategy`)}function lre(e){return!!Tn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_countQueuingStrategyHighWaterMark")&&e instanceof tx}function r7e(e,t,r){return Ao(e,r),n=>Bc(e,t,[n])}function n7e(e,t,r){return Ao(e,r),n=>Vd(e,t,[n])}function i7e(e,t,r){return Ao(e,r),(n,i)=>Bc(e,t,[n,i])}function a7e(e,t,r){return Ao(e,r),n=>Bc(e,t,[n])}Object.defineProperties(tx.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(tx.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});var rx=class{constructor(t={},r={},n={}){t===void 0&&(t=null);let i=Uw(r,"Second parameter"),a=Uw(n,"Third parameter"),o=function(d,p){_u(d,p);let h=d==null?void 0:d.cancel,m=d==null?void 0:d.flush,g=d==null?void 0:d.readableType,x=d==null?void 0:d.start,y=d==null?void 0:d.transform,w=d==null?void 0:d.writableType;return{cancel:h===void 0?void 0:a7e(h,d,`${p} has member 'cancel' that`),flush:m===void 0?void 0:r7e(m,d,`${p} has member 'flush' that`),readableType:g,start:x===void 0?void 0:n7e(x,d,`${p} has member 'start' that`),transform:y===void 0?void 0:i7e(y,d,`${p} has member 'transform' that`),writableType:w}}(t,"First parameter");if(o.readableType!==void 0)throw new RangeError("Invalid readableType specified");if(o.writableType!==void 0)throw new RangeError("Invalid writableType specified");let s=Xb(a,0),u=Nw(a),c=Xb(i,1),l=Nw(i),f;(function(d,p,h,m,g,x){function y(){return p}function w(j){return function(k,I){let P=k._transformStreamController;return k._backpressure?Cc(k._backpressureChangePromise,()=>{let L=k._writable;if(L._state==="erroring")throw L._storedError;return dre(P,I)}):dre(P,I)}(d,j)}function T(j){return function(k,I){let P=k._transformStreamController;if(P._finishPromise!==void 0)return P._finishPromise;let L=k._readable;P._finishPromise=jn((V,X)=>{P._finishPromise_resolve=V,P._finishPromise_reject=X});let G=P._cancelAlgorithm(I);return Mw(P),Aa(G,()=>(L._state==="errored"?g0(P,L._storedError):(hs(L._readableStreamController,I),gF(P)),null),V=>(hs(L._readableStreamController,V),g0(P,V),null)),P._finishPromise}(d,j)}function A(){return function(j){let k=j._transformStreamController;if(k._finishPromise!==void 0)return k._finishPromise;let I=j._readable;k._finishPromise=jn((L,G)=>{k._finishPromise_resolve=L,k._finishPromise_reject=G});let P=k._flushAlgorithm();return Mw(k),Aa(P,()=>(I._state==="errored"?g0(k,I._storedError):(Jd(I._readableStreamController),gF(k)),null),L=>(hs(I._readableStreamController,L),g0(k,L),null)),k._finishPromise}(d)}function D(){return function(j){return Vw(j,!1),j._backpressureChangePromise}(d)}function F(j){return function(k,I){let P=k._transformStreamController;if(P._finishPromise!==void 0)return P._finishPromise;let L=k._writable;P._finishPromise=jn((V,X)=>{P._finishPromise_resolve=V,P._finishPromise_reject=X});let G=P._cancelAlgorithm(I);return Mw(P),Aa(G,()=>(L._state==="errored"?g0(P,L._storedError):(Yb(L._writableStreamController,I),SF(k),gF(P)),null),V=>(Yb(L._writableStreamController,V),SF(k),g0(P,V),null)),P._finishPromise}(d,j)}d._writable=function(j,k,I,P,L=1,G=()=>1){let V=Object.create(Tc.prototype);return Kre(V),tne(V,Object.create(Kd.prototype),j,k,I,P,L,G),V}(y,w,A,T,h,m),d._readable=Zb(y,D,F,g,x),d._backpressure=void 0,d._backpressureChangePromise=void 0,d._backpressureChangePromise_resolve=void 0,Vw(d,!0),d._transformStreamController=void 0})(this,jn(d=>{f=d}),c,l,s,u),function(d,p){let h=Object.create(Sc.prototype),m,g,x;m=p.transform!==void 0?y=>p.transform(y,h):y=>{try{return hne(h,y),nr(void 0)}catch(w){return it(w)}},g=p.flush!==void 0?()=>p.flush(h):()=>nr(void 0),x=p.cancel!==void 0?y=>p.cancel(y):()=>nr(void 0),function(y,w,T,A,D){w._controlledTransformStream=y,y._transformStreamController=w,w._transformAlgorithm=T,w._flushAlgorithm=A,w._cancelAlgorithm=D,w._finishPromise=void 0,w._finishPromise_resolve=void 0,w._finishPromise_reject=void 0}(d,h,m,g,x)}(this,o),o.start!==void 0?f(o.start(this._transformStreamController)):f(void 0)}get readable(){if(!fre(this))throw pre("readable");return this._readable}get writable(){if(!fre(this))throw pre("writable");return this._writable}};function fre(e){return!!Tn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_transformStreamController")&&e instanceof rx}function pne(e,t){hs(e._readable._readableStreamController,t),KF(e,t)}function KF(e,t){Mw(e._transformStreamController),Yb(e._writable._writableStreamController,t),SF(e)}function SF(e){e._backpressure&&Vw(e,!1)}function Vw(e,t){e._backpressureChangePromise!==void 0&&e._backpressureChangePromise_resolve(),e._backpressureChangePromise=jn(r=>{e._backpressureChangePromise_resolve=r}),e._backpressure=t}Object.defineProperties(rx.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(rx.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});var Sc=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Bw(this))throw Fw("desiredSize");return $F(this._controlledTransformStream._readable._readableStreamController)}enqueue(t=void 0){if(!Bw(this))throw Fw("enqueue");hne(this,t)}error(t=void 0){if(!Bw(this))throw Fw("error");var r;r=t,pne(this._controlledTransformStream,r)}terminate(){if(!Bw(this))throw Fw("terminate");(function(t){let r=t._controlledTransformStream;Jd(r._readable._readableStreamController);let n=new TypeError("TransformStream terminated");KF(r,n)})(this)}};function Bw(e){return!!Tn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledTransformStream")&&e instanceof Sc}function Mw(e){e._transformAlgorithm=void 0,e._flushAlgorithm=void 0,e._cancelAlgorithm=void 0}function hne(e,t){let r=e._controlledTransformStream,n=r._readable._readableStreamController;if(!w0(n))throw new TypeError("Readable side is not in a state that permits enqueue");try{_0(n,t)}catch(a){throw KF(r,a),r._readable._storedError}(function(a){return!sne(a)})(n)!==r._backpressure&&Vw(r,!0)}function dre(e,t){return Cc(e._transformAlgorithm(t),void 0,r=>{throw pne(e._controlledTransformStream,r),r})}function Fw(e){return new TypeError(`TransformStreamDefaultController.prototype.${e} can only be used on a TransformStreamDefaultController`)}function gF(e){e._finishPromise_resolve!==void 0&&(e._finishPromise_resolve(),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}function g0(e,t){e._finishPromise_reject!==void 0&&(A0(e._finishPromise),e._finishPromise_reject(t),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}function pre(e){return new TypeError(`TransformStream.prototype.${e} can only be used on a TransformStream`)}Object.defineProperties(Sc.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),rr(Sc.prototype.enqueue,"enqueue"),rr(Sc.prototype.error,"error"),rr(Sc.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Sc.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});var Xw=class extends Jn{};var Yw=class{chunks;isWorking=!1;isCancelled=!1;constructor(t){this.chunks=t}start(t){this.work(t)}async work(t){let{chunks:r}=this;for(this.isWorking=!0;!this.isCancelled&&(t.desiredSize||0)>0;){let n;try{n=r.next()}catch(i){t.error(i);break}n&&(!n.done&&!this.isCancelled?t.enqueue(n.value):t.close())}this.isWorking=!1}pull(t){this.isWorking||this.work(t)}cancel(){this.isCancelled=!0}};var Qw=class extends Xw{_chunks;constructor(t){super(new Yw(t.values()),{type:"bytes"}),this._chunks=t}async*[Symbol.asyncIterator](t){let r=this.getReader();yield*this._chunks,r.releaseLock()}};var Yd=class{type;size;parts;constructor(t=[],r={}){this.parts=[],this.size=0;for(let n of t)if(typeof n=="string"){let i=new TextEncoder().encode(n);this.parts.push(i),this.size+=i.byteLength}else if(n instanceof Yd)this.size+=n.size,this.parts.push(...n.parts);else if(n instanceof ArrayBuffer)this.parts.push(new Uint8Array(n)),this.size+=n.byteLength;else if(n instanceof Uint8Array)this.parts.push(n),this.size+=n.byteLength;else if(ArrayBuffer.isView(n)){let{buffer:i,byteOffset:a,byteLength:o}=n;this.parts.push(new Uint8Array(i,a,o)),this.size+=o}else{let i=new TextEncoder().encode(String(n));this.parts.push(i),this.size+=i.byteLength}this.type=o7e(r.type)}slice(t=0,r=this.size,n=""){let{size:i,parts:a}=this,o=t<0?Math.max(i+t,0):Math.min(t,i),s=r<0?Math.max(i+r,0):Math.min(r,i),u=Math.max(s-o,0),c=new Yd([],{type:n});if(u===0)return c;let l=0,f=[];for(let d of a){let{byteLength:p}=d;if(o>0&&p<=o)o-=p,s-=p;else{let h=d.subarray(o,Math.min(p,s));if(f.push(h),l+=h.byteLength,o=0,l>=u)break}}return c.parts=f,c.size=l,c}async arrayBuffer(){return this._toArrayBuffer()}async text(){let t=new TextDecoder,r="";for(let n of this.parts)r+=t.decode(n);return r}stream(){return new Qw(this.parts)}toString(){return"[object Blob]"}get[Symbol.toStringTag](){return"Blob"}_toArrayBuffer(){let t=new ArrayBuffer(this.size),r=new Uint8Array(t),n=0;for(let i of this.parts)r.set(i,n),n+=i.byteLength;return t}};function o7e(e=""){let t=String(e).toLowerCase();return/[^\u0020-\u007E]/.test(t)?"":t}function s7e(){return typeof Blob>"u"&&!globalThis.Blob&&(globalThis.Blob=Yd),globalThis.Blob}var u7e=s7e();var Zw=class{onload;onabort;onerror;error;onloadstart;onloadend;onprogress;readyState;result;DONE;EMPTY;LOADING;addEventListener;removeEventListener;dispatchEvent;constructor(){this.onload=null}abort(){}async readAsArrayBuffer(t){let r=await t.arrayBuffer();this.onload&&this.onload({target:{result:r}})}async readAsBinaryString(t){throw Error("Not implemented")}async readAsDataURL(t){let r=await t.text(),n=`data://;base64,${Tv(r)}`;this.onload&&this.onload({target:{result:n}})}async readAsText(t){let r=await t.text();this.onload&&this.onload({target:{result:r}})}};var eA=class extends globalThis.Blob{name="";webkitRelativePath="";lastModified;constructor(t,r,n={}){super(t,n),this.name=String(r).replace(/\//g,":"),this.lastModified=(n==null?void 0:n.lastModified)||Date.now()}get[Symbol.toStringTag](){return"File"}};function mne(){return typeof FileReader>"u"&&!globalThis.FileReader&&(globalThis.FileReader=Zw),typeof File>"u"&&!globalThis.File&&(globalThis.File=eA),global}var c7e=mne();var JF=Dt(require("module"),1),gne=Dt(require("path"),1),rA=Dt(require("fs"),1);async function vne(e){if(e.startsWith("http"))return await(await fetch(e)).arrayBuffer();let t=rA.default.readFileSync(e);return zi(t.buffer)}async function bne(e){return e.startsWith("http")?await(await fetch(e)).text():rA.default.readFileSync(e,"utf8")}async function xne(e){if(e.startsWith("http")){let n=await(await fetch(e)).text();return tA(n)}e.startsWith("/")||(e=`${process.cwd()}/${e}`);let t=rA.default.readFileSync(e,"utf8");return tA(t)}function tA(e,t="",r){if(typeof t=="object"&&(r=t,t=""),t=t.replace("file://",""),typeof e!="string")throw new Error(`code must be a string, not ${typeof e}`);let n=JF.default._nodeModulePaths(gne.default.dirname(t)),i=typeof module<"u"&&(module==null?void 0:module.parent),a=new JF.default(t,i);return a.filename=t,a.paths=[].concat((r==null?void 0:r.prependPaths)||[]).concat(n).concat((r==null?void 0:r.appendPaths)||[]),a._compile(e,t),i&&i.children&&i.children.splice(i.children.indexOf(a),1),a.exports}var ms=class{map;constructor(t){this.map={},t instanceof ms?t.forEach((r,n)=>this.append(n,r)):Array.isArray(t)?t.forEach(r=>this.append(r[0],r[1])):t&&Object.getOwnPropertyNames(t).forEach(r=>this.append(r,t[r]))}append(t,r){t=ax(t),r=yne(r);let n=this.map[t];this.map[t]=n?`${n}, ${r}`:r}delete(t){delete this.map[ax(t)]}get(t){return t=ax(t),this.has(t)?this.map[t]:null}has(t){return this.map.hasOwnProperty(ax(t))}set(t,r){this.map[ax(t)]=yne(r)}forEach(t,r=null){for(let n in this.map)this.map.hasOwnProperty(n)&&(r?t.call(r,this.map[n],n,this):t(this.map[n],n,this))}keys(){let t=[];return this.forEach(function(r,n){t.push(n)}),XF(t)}values(){let t=[];return this.forEach(function(r){t.push(r)}),XF(t)}entries(){let t=[];return this.forEach(function(r,n){t.push([n,r])}),XF(t)}*[Symbol.iterator](){yield*this.entries()}};function ax(e){if(typeof e!="string"&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e)||e==="")throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function yne(e){return typeof e!="string"&&(e=String(e)),e}function XF(e){let t={next(){let r=e.shift();return{done:r===void 0,value:r}}};return t[Symbol.iterator]=function(){return t},t}function YF(e,t){if(!e)throw new Error(`@loaders.gl/polyfills assertion ${t}`)}var ZF=Dt(require("stream"),1),l7e=e=>typeof e=="boolean",_ne=e=>typeof e=="function",f7e=e=>e!==null&&typeof e=="object",QF=e=>f7e(e)&&_ne(e.read)&&_ne(e.pipe)&&l7e(e.readable),Fc=class{ok;status;statusText;headers;url;bodyUsed=!1;_body;constructor(t,r){let{headers:n,status:i=200,statusText:a="OK",url:o}=r||{};this.url=o,this.ok=i===200,this.status=i,this.statusText=a,this.headers=new ms((r==null?void 0:r.headers)||{}),QF(t)?this._body=bw(t,n):typeof t=="string"?this._body=ZF.Readable.from([new TextEncoder().encode(t)]):this._body=ZF.Readable.from([t||new ArrayBuffer(0)])}get body(){return YF(!this.bodyUsed),YF(QF(this._body)),this.bodyUsed=!0,this._body}async arrayBuffer(){return QF(this._body)?await Nte(this._body):this._body||new ArrayBuffer(0)}async text(){let t=await this.arrayBuffer();return new TextDecoder().decode(t)}async json(){let t=await this.text();return JSON.parse(t)}async blob(){if(typeof Blob>"u")throw new Error("Blob polyfill not installed");return new Blob([await this.arrayBuffer()])}};var Ane=Dt(require("http"),1),Ene=Dt(require("https"),1);function wne(e){let t=e.indexOf(","),r,n;return e.slice(t-7,t)===";base64"?(r=Buffer.from(e.slice(t+1),"base64"),n=e.slice(5,t-7).trim()):(r=Buffer.from(decodeURIComponent(e.slice(t+1))),n=e.slice(5,t).trim()),n?n.startsWith(";")&&(n=`text/plain${n}`):n="text/plain;charset=US-ASCII",{arrayBuffer:Kn(r),mimeType:n}}var eO=e=>e.startsWith("data:"),d7e=e=>e.startsWith("http:")||e.startsWith("https:");async function ox(e,t){try{if(globalThis.fetch!==ox&&(d7e(e)||eO(e)))return await fetch(e,t);if(eO(e)){let{arrayBuffer:c,mimeType:l}=wne(e);return new Fc(c,{headers:{"content-type":l},url:e})}let r={},n=e;e.endsWith(".gz")&&(e=e.slice(0,-3),r["content-encoding"]="gzip");let i=await p7e(n,t),a=v7e(e,i,r),{status:o,statusText:s}=g7e(i),u=!t||t.followRedirect||t.followRedirect===void 0;if(o>=300&&o<400&&a.has("location")&&u){let c=h7e(e,a.get("location"));return await ox(c,t)}return new Fc(i,{headers:a,status:o,statusText:s,url:e})}catch(r){return new Fc(null,{status:400,statusText:String(r),url:e})}}async function p7e(e,t){return await new Promise((r,n)=>{let i=m7e(e,t),a=e.startsWith("https:")?Ene.default.request(i,o=>r(o)):Ane.default.request(i,o=>r(o));a.on("error",o=>n(o)),a.end()})}function h7e(e,t){if(t.startsWith("http"))return t;let r=new URL(e);return r.pathname=t,r.href}function m7e(e,t){let r=(t==null?void 0:t.headers)||{},n={};for(let a of Object.keys(r))n[a.toLowerCase()]=r[a];n["accept-encoding"]=n["accept-encoding"]||"gzip,br,deflate";let i=new URL(e);return{hostname:i.hostname,path:i.pathname,method:"GET",...t,...t==null?void 0:t.fetch,headers:n,port:i.port}}function g7e(e){return e.statusCode?{status:e.statusCode,statusText:e.statusMessage||"NA"}:{status:200,statusText:"OK"}}function v7e(e,t,r={}){let n={};if(t&&t.headers){let i=t.headers;for(let a in i){let o=i[a];n[a.toLowerCase()]=String(o)}}if(!n["content-length"]){let i=b7e(e);Number.isFinite(i)&&(n["content-length"]=i)}return Object.assign(n,r),new ms(n)}function b7e(e){return eO(e)?e.length-5:null}var x7e=parseInt(Tne.versions.node.split(".")[0]);yG&&console.error("loaders.gl: The @loaders.gl/polyfills should only be used in Node.js environments");globalThis.loaders=globalThis.loaders||{};globalThis.loaders.makeNodeStream=sF;globalThis.loaders.NodeFile=Ld;globalThis.loaders.NodeFileSystem=_w;globalThis.loaders.fetchNode=xw;globalThis.loaders.NodeHash=Aw;globalThis.TextEncoder||(globalThis.TextEncoder=Ev);globalThis.TextDecoder||(globalThis.TextDecoder=fd);globalThis.ReadableStream||(globalThis.ReadableStream=ReadableStream);!("atob"in globalThis)&&Tv&&(globalThis.atob=Tv);!("btoa"in globalThis)&&yk&&(globalThis.btoa=yk);globalThis.loaders.encodeImageNode=TV;globalThis.loaders.parseImageNode=kB;globalThis.loaders.imageFormatsNode=SB;globalThis._parseImageNode=kB;globalThis._imageFormatsNode=SB;globalThis.loaders.readFileAsArrayBuffer=vne;globalThis.loaders.readFileAsText=bne;globalThis.loaders.requireFromFile=xne;globalThis.loaders.requireFromString=tA;x7e<18&&(!("Headers"in globalThis)&&ms&&(globalThis.Headers=ms),!("Response"in globalThis)&&Fc&&(globalThis.Response=Fc),!("fetch"in globalThis)&&ox&&(globalThis.fetch=ox));var ySe=require("path"),pk=Dt(Cge(),1);var nn={OBJECT_ID_TYPE:"OBJECTID",STRING_TYPE:"string",DOUBLE_TYPE:"double",SHORT_INT_TYPE:"Int32"};var n3=class{_attributeStorageInfo;_fields;_popupInfo;constructor(){this._attributeStorageInfo=[],this._fields=[]}get attributeStorageInfo(){return this._attributeStorageInfo}get fields(){return this._fields}get popupInfo(){return this._popupInfo}addMetadataInfo(t){if(!Object.keys(t).length)return;let r={OBJECTID:nn.OBJECT_ID_TYPE,...t},n=!1,i=this._attributeStorageInfo.length;for(let a in r)if(!this._attributeStorageInfo.find(s=>s.name===a)){let s=r[a],u=this.createStorageAttribute(i,a,s),c=this.getFieldAttributeType(s),l=this.createFieldAttribute(a,c);this._attributeStorageInfo.push(u),this._fields.push(l),i+=1,n=!0}if(n){let a=[];for(let o of this._attributeStorageInfo)a.push(o.name);this._popupInfo=this.createPopupInfo(a)}}fromObject(t){this._attributeStorageInfo=t.attributeStorageInfo,this._fields=t.fields,this._popupInfo=t.popupInfo}createStorageAttribute(t,r,n){let i={key:`f_${t}`,name:r,ordering:["attributeValues"],header:[{property:"count",valueType:"UInt32"}],attributeValues:{valueType:"Int32",valuesPerElement:1}};switch(n){case nn.OBJECT_ID_TYPE:this.setupIdAttribute(i);break;case nn.STRING_TYPE:this.setupStringAttribute(i);break;case nn.DOUBLE_TYPE:this.setupDoubleAttribute(i);break;case nn.SHORT_INT_TYPE:break;default:this.setupStringAttribute(i)}return i}getFieldAttributeType(t){switch(t){case nn.OBJECT_ID_TYPE:return"esriFieldTypeOID";case nn.STRING_TYPE:return"esriFieldTypeString";case nn.SHORT_INT_TYPE:return"esriFieldTypeInteger";case nn.DOUBLE_TYPE:return"esriFieldTypeDouble";default:return"esriFieldTypeString"}}setupIdAttribute(t){t.attributeValues={valueType:"Oid32",valuesPerElement:1}}setupStringAttribute(t){t.ordering.unshift("attributeByteCounts"),t.header.push({property:"attributeValuesByteCount",valueType:"UInt32"}),t.attributeValues={valueType:"String",encoding:"UTF-8",valuesPerElement:1},t.attributeByteCounts={valueType:"UInt32",valuesPerElement:1}}setupDoubleAttribute(t){t.attributeValues={valueType:"Float64",valuesPerElement:1}}createFieldAttribute(t,r){return{name:t,type:r,alias:t}}createPopupInfo(t){let r="{OBJECTID}",n=[],i=[],a=[],o=[];for(let s of t)i.push({fieldName:s,visible:!0,isEditable:!1,label:s});return a.push({fieldInfos:i,type:"fields"}),{title:r,mediaInfos:n,popupElements:a,fieldInfos:i,expressionInfos:o}}};var i3=class extends Error{constructor(t,r){super(t),this.reason=r.reason,this.url=r.url,this.response=r.response}reason;url;response};var Oxt=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,Ixt=/^([-\w.]+\/[-\w.+]+)/;function aM(e,t){return e.toLowerCase()===t.toLowerCase()}function Dge(e){let t=Ixt.exec(e);return t?t[1]:e}function oM(e){let t=Oxt.exec(e);return t?t[1]:""}var Bge=/\?.*/;function Fge(e){let t=e.match(Bge);return t&&t[0]}function Hm(e){return e.replace(Bge,"")}function Oge(e){if(e.length<50)return e;let t=e.slice(e.length-15);return`${e.substr(0,32)}...${t}`}function _p(e){return $a(e)?e.url:Wa(e)?("name"in e?e.name:"")||"":typeof e=="string"?e:""}function fy(e){if($a(e)){let t=e.headers.get("content-type")||"",r=Hm(e.url);return Dge(t)||oM(r)}return Wa(e)?e.type||"":typeof e=="string"?oM(e):""}function Ige(e){return $a(e)?e.headers["content-length"]||-1:Wa(e)?e.size:typeof e=="string"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function a3(e){if($a(e))return e;let t={},r=Ige(e);r>=0&&(t["content-length"]=String(r));let n=_p(e),i=fy(e);i&&(t["content-type"]=i);let a=await Rxt(e);a&&(t["x-first-bytes"]=a),typeof e=="string"&&(e=new TextEncoder().encode(e));let o=new Response(e,{headers:t});return Object.defineProperty(o,"url",{value:n}),o}async function Pge(e){if(!e.ok)throw await Pxt(e)}async function Pxt(e){let t=Oge(e.url),r=`Failed to fetch resource (${e.status}) ${e.statusText}: ${t}`;r=r.length>100?`${r.slice(0,100)}...`:r;let n={reason:e.statusText,url:e.url,response:e};try{let i=e.headers.get("Content-Type");n.reason=!e.bodyUsed&&(i!=null&&i.includes("application/json"))?await e.json():await e.text()}catch{}return new i3(r,n)}async function Rxt(e){if(typeof e=="string")return`data:,${e.slice(0,5)}`;if(e instanceof Blob){let r=e.slice(0,5);return await new Promise(n=>{let i=new FileReader;i.onload=a=>{var o;return n((o=a==null?void 0:a.target)==null?void 0:o.result)},i.readAsDataURL(r)})}if(e instanceof ArrayBuffer){let r=e.slice(0,5);return`data:base64,${jxt(r)}`}return null}function jxt(e){let t="",r=new Uint8Array(e);for(let n=0;n<r.byteLength;n++)t+=String.fromCharCode(r[n]);return btoa(t)}function Mxt(e){return!Lxt(e)&&!qxt(e)}function Lxt(e){return e.startsWith("http:")||e.startsWith("https:")}function qxt(e){return e.startsWith("data:")}async function sa(e,t){var r,n;if(typeof e=="string"){let i=hu(e);return Mxt(i)&&(r=globalThis.loaders)!=null&&r.fetchNode?(n=globalThis.loaders)==null?void 0:n.fetchNode(i,t):await fetch(i,t)}return await a3(e)}var sM=new cu({id:"loaders.gl"}),o3=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},s3=class{console;constructor(){this.console=console}log(...t){return this.console.log.bind(this.console,...t)}info(...t){return this.console.info.bind(this.console,...t)}warn(...t){return this.console.warn.bind(this.console,...t)}error(...t){return this.console.error.bind(this.console,...t)}};var u3={core:{baseUri:void 0,fetch:null,mimeType:void 0,fallbackMimeType:void 0,ignoreRegisteredLoaders:void 0,nothrow:!1,log:new s3,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:dr,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]}},Rge={baseUri:"core.baseUri",fetch:"core.fetch",mimeType:"core.mimeType",fallbackMimeType:"core.fallbackMimeType",ignoreRegisteredLoaders:"core.ignoreRegisteredLoaders",nothrow:"core.nothrow",log:"core.log",useLocalLibraries:"core.useLocalLibraries",CDN:"core.CDN",worker:"core.worker",maxConcurrency:"core.maxConcurrency",maxMobileConcurrency:"core.maxMobileConcurrency",reuseWorkers:"core.reuseWorkers",_nodeWorkers:"core.nodeWorkers",_workerType:"core._workerType",_worker:"core._workerType",limit:"core.limit",_limitMB:"core._limitMB",batchSize:"core.batchSize",batchDebounceMs:"core.batchDebounceMs",metadata:"core.metadata",transforms:"core.transforms",throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};var uM=["baseUri","fetch","mimeType","fallbackMimeType","ignoreRegisteredLoaders","nothrow","log","useLocalLibraries","CDN","worker","maxConcurrency","maxMobileConcurrency","reuseWorkers","_nodeWorkers","_workerType","limit","_limitMB","batchSize","batchDebounceMs","metadata","transforms"];function cM(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state||(e._state={}),e._state}function Vm(){let e=cM();return e.globalOptions=e.globalOptions||{...u3,core:{...u3.core}},wp(e.globalOptions)}function Lge(e,t,r,n){return r=r||[],r=Array.isArray(r)?r:[r],Nxt(e,r),wp(Gxt(t,e,n))}function wp(e){let t=Hxt(e);qge(t);for(let r of uM)t.core&&t.core[r]!==void 0&&delete t[r];return t.core&&t.core._workerType!==void 0&&delete t._worker,t}function Nxt(e,t){jge(e,null,u3,Rge,t);for(let r of t){let n=e&&e[r.id]||{},i=r.options&&r.options[r.id]||{},a=r.deprecatedOptions&&r.deprecatedOptions[r.id]||{};jge(n,r.id,i,a,t)}}function jge(e,t,r,n,i){let a=t||"Top level",o=t?`${t}.`:"";for(let s in e){let u=!t&&fu(e[s]),c=s==="baseUri"&&!t,l=s==="workerUrl"&&t;if(!(s in r)&&!c&&!l){if(s in n)sM.warn(`${a} loader option '${o}${s}' no longer supported, use '${n[s]}'`)();else if(!u){let f=Uxt(s,i);sM.warn(`${a} loader option '${o}${s}' not recognized. ${f}`)()}}}}function Uxt(e,t){let r=e.toLowerCase(),n="";for(let i of t)for(let a in i.options){if(e===a)return`Did you mean '${i.id}.${a}'?`;let o=a.toLowerCase();(r.startsWith(o)||o.startsWith(r))&&(n=n||`Did you mean '${i.id}.${a}'?`)}return n}function Gxt(e,t,r){var o;let n=e.options||{},i={...n};n.core&&(i.core={...n.core}),qge(i),((o=i.core)==null?void 0:o.log)===null&&(i.core={...i.core,log:new o3}),Mge(i,wp(Vm()));let a=wp(t);return Mge(i,a),zxt(i,r),Vxt(i),i}function Mge(e,t){for(let r in t)if(r in t){let n=t[r];pw(n)&&pw(e[r])?e[r]={...e[r],...t[r]}:e[r]=t[r]}}function zxt(e,t){var i;if(!t)return;let r=e.baseUri!==void 0,n=((i=e.core)==null?void 0:i.baseUri)!==void 0;!r&&!n&&(e.core||(e.core={}),e.core.baseUri=t)}function Hxt(e){let t={...e};return e.core&&(t.core={...e.core}),t}function qge(e){for(let r of uM)if(e[r]!==void 0){let i=e.core=e.core||{};i[r]===void 0&&(i[r]=e[r])}let t=e._worker;t!==void 0&&(e.core||(e.core={}),e.core._workerType===void 0&&(e.core._workerType=t))}function Vxt(e){let t=e.core;if(t)for(let r of uM)t[r]!==void 0&&(e[r]=t[r])}function dy(e){return e?(Array.isArray(e)&&(e=e[0]),Array.isArray(e==null?void 0:e.extensions)):!1}function lM(e){_t(e,"null loader"),_t(dy(e),"invalid loader");let t;return Array.isArray(e)&&(t=e[1],e=e[0],e={...e,options:{...e.options,...t}}),(e!=null&&e.parseTextSync||e!=null&&e.parseText)&&(e.text=!0),e.text||(e.binary=!0),e}var $xt=()=>{let e=cM();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function Nge(){return $xt()}var Wxt=/\.([^.]+)$/;async function zge(e,t=[],r,n){if(!Hge(e))return null;let i=wp(r||{});i.core||(i.core={});let a=Uge(e,t,{...i,core:{...i.core,nothrow:!0}},n);if(a)return a;if(Wa(e)&&(e=await e.slice(0,10).arrayBuffer(),a=Uge(e,t,i,n)),!a&&!i.core.nothrow)throw new Error(Vge(e));return a}function Uge(e,t=[],r,n){if(!Hge(e))return null;let i=wp(r||{});if(i.core||(i.core={}),t&&!Array.isArray(t))return lM(t);let a=[];t&&(a=a.concat(t)),i.core.ignoreRegisteredLoaders||a.push(...Nge()),Jxt(a);let o=Kxt(e,a,i,n);if(!o&&!i.core.nothrow)throw new Error(Vge(e));return o}function Kxt(e,t,r,n){var c,l,f,d,p;let i=_p(e),a=fy(e),o=Hm(i)||(n==null?void 0:n.url),s=null,u="";return(c=r==null?void 0:r.core)!=null&&c.mimeType&&(s=fM(t,(l=r==null?void 0:r.core)==null?void 0:l.mimeType),u=`match forced by supplied MIME type ${(f=r==null?void 0:r.core)==null?void 0:f.mimeType}`),s=s||Xxt(t,o),u=u||(s?`matched url ${o}`:""),s=s||fM(t,a),u=u||(s?`matched MIME type ${a}`:""),s=s||Qxt(t,e),u=u||(s?`matched initial data ${$ge(e)}`:""),(d=r==null?void 0:r.core)!=null&&d.fallbackMimeType&&(s=s||fM(t,(p=r==null?void 0:r.core)==null?void 0:p.fallbackMimeType),u=u||(s?`matched fallback MIME type ${a}`:"")),u&&FB.log(1,`selectLoader selected ${s==null?void 0:s.name}: ${u}.`),s}function Hge(e){return!(e instanceof Response&&e.status===204)}function Vge(e){let t=_p(e),r=fy(e),n="No valid loader found (";n+=t?`${wa.filename(t)}, `:"no url provided, ",n+=`MIME type: ${r?`"${r}"`:"not provided"}, `;let i=e?$ge(e):"";return n+=i?` first bytes: "${i}"`:"first bytes: not available",n+=")",n}function Jxt(e){for(let t of e)lM(t)}function Xxt(e,t){let r=t&&Wxt.exec(t),n=r&&r[1];return n?Yxt(e,n):null}function Yxt(e,t){t=t.toLowerCase();for(let r of e)for(let n of r.extensions)if(n.toLowerCase()===t)return r;return null}function fM(e,t){var r;for(let n of e)if((r=n.mimeTypes)!=null&&r.some(i=>aM(t,i))||aM(t,`application/x.${n.id}`))return n;return null}function Qxt(e,t){if(!t)return null;for(let r of e)if(typeof t=="string"){if(Zxt(t,r))return r}else if(ArrayBuffer.isView(t)){if(Gge(t.buffer,t.byteOffset,r))return r}else if(t instanceof ArrayBuffer&&Gge(t,0,r))return r;return null}function Zxt(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some(n=>e.startsWith(n))}function Gge(e,t,r){return(Array.isArray(r.tests)?r.tests:[r.tests]).some(i=>eyt(e,t,r,i))}function eyt(e,t,r,n){if(s0(n))return pu(n,e,n.byteLength);switch(typeof n){case"function":return n(zi(e));case"string":let i=dM(e,t,n.length);return n===i;default:return!1}}function $ge(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?dM(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?dM(e,0,t):""}function dM(e,t,r){if(e.byteLength<t+r)return"";let n=new DataView(e),i="";for(let a=0;a<r;a++)i+=String.fromCharCode(n.getUint8(t+a));return i}var tyt=256*1024;function*Wge(e,t){let r=(t==null?void 0:t.chunkSize)||tyt,n=0,i=new TextEncoder;for(;n<e.length;){let a=Math.min(e.length-n,r),o=e.slice(n,n+a);n+=a,yield zi(i.encode(o))}}function*Kge(e,t={}){let{chunkSize:r=262144}=t,n=0;for(;n<e.byteLength;){let i=Math.min(e.byteLength-n,r),a=new ArrayBuffer(i),o=new Uint8Array(e,n,i);new Uint8Array(a).set(o),n+=i,yield a}}async function*Jge(e,t){let r=(t==null?void 0:t.chunkSize)||1048576,n=0;for(;n<e.size;){let i=n+r,a=await e.slice(n,i).arrayBuffer();n=i,yield a}}function pM(e,t){return dr?ryt(e,t):nyt(e,t)}async function*ryt(e,t){let r=e.getReader(),n;try{for(;;){let i=n||r.read();t!=null&&t._streamReadAhead&&(n=r.read());let{done:a,value:o}=await i;if(a)return;yield Kn(o)}}catch{r.releaseLock()}}async function*nyt(e,t){for await(let r of e)yield Kn(r)}function Xge(e,t){if(typeof e=="string")return Wge(e,t);if(e instanceof ArrayBuffer)return Kge(e,t);if(Wa(e))return Jge(e,t);if(Db(e))return pM(e,t);if($a(e)){let r=e.body;if(!r)throw new Error("Readable stream not available on Response");return pM(r,t)}throw new Error("makeIterator")}var Yge="Cannot convert supplied data type";function iyt(e,t,r){if(t.text&&typeof e=="string")return e;if(gw(e)&&(e=e.buffer),s0(e)){let n=YB(e);return t.text&&!t.binary?new TextDecoder("utf8").decode(n):Kn(n)}throw new Error(Yge)}async function Qge(e,t,r){if(typeof e=="string"||s0(e))return iyt(e,t,r);if(Wa(e)&&(e=await a3(e)),$a(e))return await Pge(e),t.binary?await e.arrayBuffer():await e.text();if(Db(e)&&(e=Xge(e,r)),IB(e)||PB(e))return Md(e);throw new Error(Yge)}function c3(e,t){var a;let r=Vm(),n=e||r,i=n.fetch??((a=n.core)==null?void 0:a.fetch);return typeof i=="function"?i:fu(i)?o=>sa(o,i):t!=null&&t.fetch?t==null?void 0:t.fetch:sa}function Zge(e,t,r){if(r)return r;let n={fetch:c3(t,e),...e};if(n.url){let i=Hm(n.url);n.baseUrl=i,n.queryString=Fge(n.url),n.filename=wa.filename(i),n.baseUrl=wa.dirname(i)}return Array.isArray(n.loaders)||(n.loaders=null),n}function eve(e,t){if(e&&!Array.isArray(e))return e;let r;if(e&&(r=Array.isArray(e)?e:[e]),t&&t.loaders){let n=Array.isArray(t.loaders)?t.loaders:[t.loaders];r=r?[...r,...n]:n}return r&&r.length?r:void 0}async function Ya(e,t,r,n){t&&!Array.isArray(t)&&!dy(t)&&(n=void 0,r=t,t=void 0),e=await e,r=r||{};let i=_p(e),o=eve(t,n),s=await zge(e,o,r);if(!s)return null;let u=Lge(r,s,o,i);return n=Zge({url:i,_parse:Ya,loaders:o},u,n||null),await ayt(s,e,u,n)}async function ayt(e,t,r,n){if(GB(e),r=RB(e.options,r),$a(t)){let{ok:a,redirected:o,status:s,statusText:u,type:c,url:l}=t,f=Object.fromEntries(t.headers.entries());n.response={headers:f,ok:a,redirected:o,status:s,statusText:u,type:c,url:l}}t=await Qge(t,e,r);let i=e;if(i.parseTextSync&&typeof t=="string")return i.parseTextSync(t,r,n);if(HB(e,r))return await VB(e,t,r,n,Ya);if(i.parseText&&typeof t=="string")return await i.parseText(t,r,n);if(i.parse)return await i.parse(t,r,n);throw yi(!i.parseSync),new Error(`${e.id} loader - no parser found and worker is disabled`)}function tve(e){switch(e.constructor){case Int8Array:return"int8";case Uint8Array:case Uint8ClampedArray:return"uint8";case Int16Array:return"int16";case Uint16Array:return"uint16";case Int32Array:return"int32";case Uint32Array:return"uint32";case Float32Array:return"float32";case Float64Array:return"float64";default:return"null"}}function hM(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function mM(e){let t=1/0,r=1/0,n=1/0,i=-1/0,a=-1/0,o=-1/0,s=e.POSITION?e.POSITION.value:[],u=s&&s.length;for(let c=0;c<u;c+=3){let l=s[c],f=s[c+1],d=s[c+2];t=l<t?l:t,r=f<r?f:r,n=d<n?d:n,i=l>i?l:i,a=f>a?f:a,o=d>o?d:o}return[[t,r,n],[i,a,o]]}function gM(e,t,r){let n=tve(t.value),i=r||rve(t);return{name:e,type:{type:"fixed-size-list",listSize:t.size,children:[{name:"value",type:n}]},nullable:!1,metadata:i}}function rve(e){let t={};return"byteOffset"in e&&(t.byteOffset=e.byteOffset.toString(10)),"byteStride"in e&&(t.byteStride=e.byteStride.toString(10)),"normalized"in e&&(t.normalized=e.normalized.toString()),t}async function Kr(e,t,r,n){let i,a;!Array.isArray(t)&&!dy(t)?(i=[],a=t,n=void 0):(i=t,a=r);let o=c3(a),s=e;return typeof e=="string"&&(s=await o(e)),Wa(e)&&(s=await o(e)),Array.isArray(i)?await Ya(s,i,a):await Ya(s,i,a)}async function $m(e,t,r){let i={...Vm(),...r};return t.encodeURLtoURL?oyt(t,e,i):$B(t,i)?await UB(t,e,i):await t.encode(e,i)}function l3(e,t,r){if(t.encodeSync)return t.encodeSync(e,r);if(t.encodeTextSync)return zi(new TextEncoder().encode(t.encodeTextSync(e,r)));throw new Error(`Writer ${t.name} could not synchronously encode data`)}async function ive(e,t,r,n){if(e=hu(e),t=hu(t),dr||!r.encodeURLtoURL)throw new Error;return await r.encodeURLtoURL(e,t,n)}async function oyt(e,t,r){if(dr)throw new Error(`Writer ${e.name} not supported in browser`);let n=nve("input");await new Hi(n,"w").write(t);let a=nve("output"),o=await ive(n,a,e,r);return(await sa(o)).arrayBuffer()}function nve(e){return`/tmp/${e}`}var syt=1/Math.PI*180,uyt=1/180*Math.PI,cyt={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...cyt}};var Rr=globalThis.mathgl.config;function vM(e,{precision:t=Rr.precision}={}){return e=lyt(e),`${parseFloat(e.toPrecision(t))}`}function Oo(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function bM(e){return ave(e)}function xM(e){return Vc(e)}function ave(e,t){return _M(e,r=>r*uyt,t)}function Vc(e,t){return _M(e,r=>r*syt,t)}function yM(e,t,r){return _M(e,n=>Math.max(t,Math.min(r,n)))}function Qa(e,t,r){let n=Rr.EPSILON;r&&(Rr.EPSILON=r);try{if(e===t)return!0;if(Oo(e)&&Oo(t)){if(e.length!==t.length)return!1;for(let i=0;i<e.length;++i)if(!Qa(e[i],t[i]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):typeof e=="number"&&typeof t=="number"?Math.abs(e-t)<=Rr.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{Rr.EPSILON=n}}function lyt(e){return Math.round(e/Rr.EPSILON)*Rr.EPSILON}function fyt(e){return e.clone?e.clone():new Array(e.length)}function _M(e,t,r){if(Oo(e)){let n=e;r=r||fyt(n);for(let i=0;i<r.length&&i<n.length;++i){let a=typeof e=="number"?e:e[i];r[i]=t(a,i,r)}return r}return t(e)}var If=class extends Array{clone(){return new this.constructor().copy(this)}fromArray(t,r=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=t[n+r];return this.check()}toArray(t=[],r=0){for(let n=0;n<this.ELEMENTS;++n)t[r+n]=this[n];return t}toObject(t){return t}from(t){return Array.isArray(t)?this.copy(t):this.fromObject(t)}to(t){return t===this?this:Oo(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(Rr)}formatString(t){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+vM(this[n],t);return`${t.printTypes?this.constructor.name:""}[${r}]`}equals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!Qa(this[r],t[r]))return!1;return!0}exactEquals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(this[r]!==t[r])return!1;return!0}negate(){for(let t=0;t<this.ELEMENTS;++t)this[t]=-this[t];return this.check()}lerp(t,r,n){if(n===void 0)return this.lerp(this,t,r);for(let i=0;i<this.ELEMENTS;++i){let a=t[i],o=typeof r=="number"?r:r[i];this[i]=a+n*(o-a)}return this.check()}min(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(t[r],this[r]);return this.check()}max(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.max(t[r],this[r]);return this.check()}clamp(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t[n]),r[n]);return this.check()}add(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]+=r[n];return this.check()}subtract(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]-=r[n];return this.check()}scale(t){if(typeof t=="number")for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;else for(let r=0;r<this.ELEMENTS&&r<t.length;++r)this[r]*=t[r];return this.check()}multiplyByScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}check(){if(Rr.debug&&!this.validate())throw new Error(`math.gl: ${this.constructor.name} some fields set to invalid numbers'`);return this}validate(){let t=this.length===this.ELEMENTS;for(let r=0;r<this.ELEMENTS;++r)t=t&&Number.isFinite(this[r]);return t}sub(t){return this.subtract(t)}setScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=t;return this.check()}addScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]+=t;return this.check()}subScalar(t){return this.addScalar(-t)}multiplyScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}divideScalar(t){return this.multiplyByScalar(1/t)}clampScalar(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t),r);return this.check()}get elements(){return this}};function dyt(e,t){if(e.length!==t)return!1;for(let r=0;r<e.length;++r)if(!Number.isFinite(e[r]))return!1;return!0}function Gt(e){if(!Number.isFinite(e))throw new Error(`Invalid number ${JSON.stringify(e)}`);return e}function Pf(e,t,r=""){if(Rr.debug&&!dyt(e,t))throw new Error(`math.gl: ${r} some fields set to invalid numbers'`);return e}function li(e,t){if(!e)throw new Error(`math.gl assertion ${t}`)}var Rf=class extends If{get x(){return this[0]}set x(t){this[0]=Gt(t)}get y(){return this[1]}set y(t){this[1]=Gt(t)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let t=0;for(let r=0;r<this.ELEMENTS;++r)t+=this[r]*this[r];return t}magnitudeSquared(){return this.lengthSquared()}distance(t){return Math.sqrt(this.distanceSquared(t))}distanceSquared(t){let r=0;for(let n=0;n<this.ELEMENTS;++n){let i=this[n]-t[n];r+=i*i}return Gt(r)}dot(t){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*t[n];return Gt(r)}normalize(){let t=this.magnitude();if(t!==0)for(let r=0;r<this.ELEMENTS;++r)this[r]/=t;return this.check()}multiply(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]*=r[n];return this.check()}divide(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]/=r[n];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(t){return this.distance(t)}distanceToSquared(t){return this.distanceSquared(t)}getComponent(t){return li(t>=0&&t<this.ELEMENTS,"index is out of range"),Gt(this[t])}setComponent(t,r){return li(t>=0&&t<this.ELEMENTS,"index is out of range"),this[t]=r,this.check()}addVectors(t,r){return this.copy(t).add(r)}subVectors(t,r){return this.copy(t).subtract(r)}multiplyVectors(t,r){return this.copy(t).multiply(r)}addScaledVector(t,r){return this.add(new this.constructor(t).multiplyScalar(r))}};var an=typeof Float32Array<"u"?Float32Array:Array,py=Math.random;function Wm(e){return e>=0?Math.round(e):e%.5===0?Math.floor(e):Math.round(e)}var _er=Math.PI/180;function pyt(){let e=new an(2);return an!=Float32Array&&(e[0]=0,e[1]=0),e}function ove(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e}function sve(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i+r[4],e[1]=r[1]*n+r[3]*i+r[5],e}function f3(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[3]*i+r[6],e[1]=r[1]*n+r[4]*i+r[7],e}function d3(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[4]*i+r[12],e[1]=r[1]*n+r[5]*i+r[13],e}var wer=function(){let e=pyt();return function(t,r,n,i,a,o){let s,u;for(r||(r=2),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],a(e,e,o),t[s]=e[0],t[s+1]=e[1];return t}}();function p3(e,t,r){let n=t[0],i=t[1],a=r[3]*n+r[7]*i||1;return e[0]=(r[0]*n+r[4]*i)/a,e[1]=(r[1]*n+r[5]*i)/a,e}function h3(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a||1;return e[0]=(r[0]*n+r[4]*i+r[8]*a)/o,e[1]=(r[1]*n+r[5]*i+r[9]*a)/o,e[2]=(r[2]*n+r[6]*i+r[10]*a)/o,e}function uve(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e[2]=t[2],e}function cve(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e[2]=t[2],e[3]=t[3],e}function m3(e,t,r){let n=t[0],i=t[1],a=t[2];return e[0]=r[0]*n+r[3]*i+r[6]*a,e[1]=r[1]*n+r[4]*i+r[7]*a,e[2]=r[2]*n+r[5]*i+r[8]*a,e[3]=t[3],e}var Ap=class extends Rf{constructor(t=0,r=0){super(2),Oo(t)&&arguments.length===1?this.copy(t):(Rr.debug&&(Gt(t),Gt(r)),this[0]=t,this[1]=r)}set(t,r){return this[0]=t,this[1]=r,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this.check()}fromObject(t){return Rr.debug&&(Gt(t.x),Gt(t.y)),this[0]=t.x,this[1]=t.y,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t}get ELEMENTS(){return 2}horizontalAngle(){return Math.atan2(this.y,this.x)}verticalAngle(){return Math.atan2(this.x,this.y)}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return d3(this,this,t),this.check()}transformAsVector(t){return p3(this,this,t),this.check()}transformByMatrix3(t){return f3(this,this,t),this.check()}transformByMatrix2x3(t){return sve(this,this,t),this.check()}transformByMatrix2(t){return ove(this,this,t),this.check()}};var Jm={};Oi(Jm,{add:()=>byt,angle:()=>SM,bezier:()=>Fyt,ceil:()=>xyt,clone:()=>myt,copy:()=>gyt,create:()=>g3,cross:()=>Ep,dist:()=>Nyt,distance:()=>hve,div:()=>qyt,divide:()=>pve,dot:()=>hy,equals:()=>jyt,exactEquals:()=>Ryt,floor:()=>yyt,forEach:()=>zyt,fromValues:()=>v3,hermite:()=>Byt,inverse:()=>kyt,len:()=>kM,length:()=>lve,lerp:()=>Cyt,max:()=>wyt,min:()=>_yt,mul:()=>Lyt,multiply:()=>dve,negate:()=>Syt,normalize:()=>wM,random:()=>Oyt,rotateX:()=>AM,rotateY:()=>EM,rotateZ:()=>TM,round:()=>Ayt,scale:()=>Eyt,scaleAndAdd:()=>Tyt,set:()=>vyt,slerp:()=>Dyt,sqrDist:()=>Uyt,sqrLen:()=>Gyt,squaredDistance:()=>mve,squaredLength:()=>gve,str:()=>Pyt,sub:()=>Myt,subtract:()=>fve,transformMat3:()=>my,transformMat4:()=>Tp,transformQuat:()=>gy,zero:()=>Iyt});function g3(){let e=new an(3);return an!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function myt(e){let t=new an(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function lve(e){let t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)}function v3(e,t,r){let n=new an(3);return n[0]=e,n[1]=t,n[2]=r,n}function gyt(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function vyt(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}function byt(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function fve(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function dve(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function pve(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function xyt(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}function yyt(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}function _yt(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e}function wyt(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e}function Ayt(e,t){return e[0]=Wm(t[0]),e[1]=Wm(t[1]),e[2]=Wm(t[2]),e}function Eyt(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function Tyt(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e}function hve(e,t){let r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return Math.sqrt(r*r+n*n+i*i)}function mve(e,t){let r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return r*r+n*n+i*i}function gve(e){let t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function Syt(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function kyt(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function wM(e,t){let r=t[0],n=t[1],i=t[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e}function hy(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Ep(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2];return e[0]=i*u-a*s,e[1]=a*o-n*u,e[2]=n*s-i*o,e}function Cyt(e,t,r,n){let i=t[0],a=t[1],o=t[2];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e}function Dyt(e,t,r,n){let i=Math.acos(Math.min(Math.max(hy(t,r),-1),1)),a=Math.sin(i),o=Math.sin((1-n)*i)/a,s=Math.sin(n*i)/a;return e[0]=o*t[0]+s*r[0],e[1]=o*t[1]+s*r[1],e[2]=o*t[2]+s*r[2],e}function Byt(e,t,r,n,i,a){let o=a*a,s=o*(2*a-3)+1,u=o*(a-2)+a,c=o*(a-1),l=o*(3-2*a);return e[0]=t[0]*s+r[0]*u+n[0]*c+i[0]*l,e[1]=t[1]*s+r[1]*u+n[1]*c+i[1]*l,e[2]=t[2]*s+r[2]*u+n[2]*c+i[2]*l,e}function Fyt(e,t,r,n,i,a){let o=1-a,s=o*o,u=a*a,c=s*o,l=3*a*s,f=3*u*o,d=u*a;return e[0]=t[0]*c+r[0]*l+n[0]*f+i[0]*d,e[1]=t[1]*c+r[1]*l+n[1]*f+i[1]*d,e[2]=t[2]*c+r[2]*l+n[2]*f+i[2]*d,e}function Oyt(e,t){t=t===void 0?1:t;let r=py()*2*Math.PI,n=py()*2-1,i=Math.sqrt(1-n*n)*t;return e[0]=Math.cos(r)*i,e[1]=Math.sin(r)*i,e[2]=n*t,e}function Tp(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,e[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,e[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,e[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,e}function my(e,t,r){let n=t[0],i=t[1],a=t[2];return e[0]=n*r[0]+i*r[3]+a*r[6],e[1]=n*r[1]+i*r[4]+a*r[7],e[2]=n*r[2]+i*r[5]+a*r[8],e}function gy(e,t,r){let n=r[0],i=r[1],a=r[2],o=r[3],s=t[0],u=t[1],c=t[2],l=i*c-a*u,f=a*s-n*c,d=n*u-i*s,p=i*d-a*f,h=a*l-n*d,m=n*f-i*l,g=o*2;return l*=g,f*=g,d*=g,p*=2,h*=2,m*=2,e[0]=s+l+p,e[1]=u+f+h,e[2]=c+d+m,e}function AM(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function EM(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function TM(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function SM(e,t){let r=e[0],n=e[1],i=e[2],a=t[0],o=t[1],s=t[2],u=Math.sqrt((r*r+n*n+i*i)*(a*a+o*o+s*s)),c=u&&hy(e,t)/u;return Math.acos(Math.min(Math.max(c,-1),1))}function Iyt(e){return e[0]=0,e[1]=0,e[2]=0,e}function Pyt(e){return`vec3(${e[0]}, ${e[1]}, ${e[2]})`}function Ryt(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function jyt(e,t){let r=e[0],n=e[1],i=e[2],a=t[0],o=t[1],s=t[2];return Math.abs(r-a)<=1e-6*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(n-o)<=1e-6*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-s)<=1e-6*Math.max(1,Math.abs(i),Math.abs(s))}var Myt=fve,Lyt=dve,qyt=pve,Nyt=hve,Uyt=mve,kM=lve,Gyt=gve,zyt=function(){let e=g3();return function(t,r,n,i,a,o){let s,u;for(r||(r=3),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2];return t}}();var CM=[0,0,0],b3,Z=class extends Rf{static get ZERO(){return b3||(b3=new Z(0,0,0),Object.freeze(b3)),b3}constructor(t=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&Oo(t)?this.copy(t):(Rr.debug&&(Gt(t),Gt(r),Gt(n)),this[0]=t,this[1]=r,this[2]=n)}set(t,r,n){return this[0]=t,this[1]=r,this[2]=n,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this.check()}fromObject(t){return Rr.debug&&(Gt(t.x),Gt(t.y),Gt(t.z)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t}get ELEMENTS(){return 3}get z(){return this[2]}set z(t){this[2]=Gt(t)}angle(t){return SM(this,t)}cross(t){return Ep(this,this,t),this.check()}rotateX({radians:t,origin:r=CM}){return AM(this,this,r,t),this.check()}rotateY({radians:t,origin:r=CM}){return EM(this,this,r,t),this.check()}rotateZ({radians:t,origin:r=CM}){return TM(this,this,r,t),this.check()}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return Tp(this,this,t),this.check()}transformAsVector(t){return h3(this,this,t),this.check()}transformByMatrix3(t){return my(this,this,t),this.check()}transformByMatrix2(t){return uve(this,this,t),this.check()}transformByQuaternion(t){return gy(this,this,t),this.check()}};var x3,Io=class extends Rf{static get ZERO(){return x3||(x3=new Io(0,0,0,0),Object.freeze(x3)),x3}constructor(t=0,r=0,n=0,i=0){super(-0,-0,-0,-0),Oo(t)&&arguments.length===1?this.copy(t):(Rr.debug&&(Gt(t),Gt(r),Gt(n),Gt(i)),this[0]=t,this[1]=r,this[2]=n,this[3]=i)}set(t,r,n,i){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}fromObject(t){return Rr.debug&&(Gt(t.x),Gt(t.y),Gt(t.z),Gt(t.w)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t.w=this[3],t}get ELEMENTS(){return 4}get z(){return this[2]}set z(t){this[2]=Gt(t)}get w(){return this[3]}set w(t){this[3]=Gt(t)}transform(t){return Tp(this,this,t),this.check()}transformByMatrix3(t){return m3(this,this,t),this.check()}transformByMatrix2(t){return cve(this,this,t),this.check()}transformByQuaternion(t){return gy(this,this,t),this.check()}applyMatrix4(t){return t.transform(this,this),this}};var Xm=class extends If{toString(){let t="[";if(Rr.printRowMajor){t+="row-major:";for(let r=0;r<this.RANK;++r)for(let n=0;n<this.RANK;++n)t+=` ${this[n*this.RANK+r]}`}else{t+="column-major:";for(let r=0;r<this.ELEMENTS;++r)t+=` ${this[r]}`}return t+="]",t}getElementIndex(t,r){return r*this.RANK+t}getElement(t,r){return this[r*this.RANK+t]}setElement(t,r,n){return this[r*this.RANK+t]=Gt(n),this}getColumn(t,r=new Array(this.RANK).fill(-0)){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)r[i]=this[n+i];return r}setColumn(t,r){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)this[n+i]=r[i];return this}};function vve(){let e=new an(9);return an!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function bve(e,t){if(e===t){let r=t[1],n=t[2],i=t[5];e[1]=t[3],e[2]=t[6],e[3]=r,e[5]=t[7],e[6]=n,e[7]=i}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e}function xve(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=l*o-s*c,d=-l*a+s*u,p=c*a-o*u,h=r*f+n*d+i*p;return h?(h=1/h,e[0]=f*h,e[1]=(-l*n+i*c)*h,e[2]=(s*n-i*o)*h,e[3]=d*h,e[4]=(l*r-i*u)*h,e[5]=(-s*r+i*a)*h,e[6]=p*h,e[7]=(-c*r+n*u)*h,e[8]=(o*r-n*a)*h,e):null}function yve(e){let t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],c=e[8];return t*(c*a-o*u)+r*(-c*i+o*s)+n*(u*i-a*s)}function DM(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],d=r[0],p=r[1],h=r[2],m=r[3],g=r[4],x=r[5],y=r[6],w=r[7],T=r[8];return e[0]=d*n+p*o+h*c,e[1]=d*i+p*s+h*l,e[2]=d*a+p*u+h*f,e[3]=m*n+g*o+x*c,e[4]=m*i+g*s+x*l,e[5]=m*a+g*u+x*f,e[6]=y*n+w*o+T*c,e[7]=y*i+w*s+T*l,e[8]=y*a+w*u+T*f,e}function _ve(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],d=r[0],p=r[1];return e[0]=n,e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=u,e[6]=d*n+p*o+c,e[7]=d*i+p*s+l,e[8]=d*a+p*u+f,e}function wve(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],d=Math.sin(r),p=Math.cos(r);return e[0]=p*n+d*o,e[1]=p*i+d*s,e[2]=p*a+d*u,e[3]=p*o-d*n,e[4]=p*s-d*i,e[5]=p*u-d*a,e[6]=c,e[7]=l,e[8]=f,e}function BM(e,t,r){let n=r[0],i=r[1];return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=i*t[3],e[4]=i*t[4],e[5]=i*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function Ave(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,u=i+i,c=r*o,l=n*o,f=n*s,d=i*o,p=i*s,h=i*u,m=a*o,g=a*s,x=a*u;return e[0]=1-f-h,e[3]=l-x,e[6]=d+g,e[1]=l+x,e[4]=1-c-h,e[7]=p-m,e[2]=d-g,e[5]=p+m,e[8]=1-c-f,e}var FM;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL1ROW0=3]="COL1ROW0",e[e.COL1ROW1=4]="COL1ROW1",e[e.COL1ROW2=5]="COL1ROW2",e[e.COL2ROW0=6]="COL2ROW0",e[e.COL2ROW1=7]="COL2ROW1",e[e.COL2ROW2=8]="COL2ROW2"})(FM||(FM={}));var Hyt=Object.freeze([1,0,0,0,1,0,0,0,1]),ir=class extends Xm{static get IDENTITY(){return $yt()}static get ZERO(){return Vyt()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return FM}constructor(t,...r){super(-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):r.length>0?this.copy([t,...r]):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this.check()}identity(){return this.copy(Hyt)}fromObject(t){return this.check()}fromQuaternion(t){return Ave(this,t),this.check()}set(t,r,n,i,a,o,s,u,c){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this[4]=a,this[5]=o,this[6]=s,this[7]=u,this[8]=c,this.check()}setRowMajor(t,r,n,i,a,o,s,u,c){return this[0]=t,this[1]=i,this[2]=s,this[3]=r,this[4]=a,this[5]=u,this[6]=n,this[7]=o,this[8]=c,this.check()}determinant(){return yve(this)}transpose(){return bve(this,this),this.check()}invert(){return xve(this,this),this.check()}multiplyLeft(t){return DM(this,t,this),this.check()}multiplyRight(t){return DM(this,this,t),this.check()}rotate(t){return wve(this,this,t),this.check()}scale(t){return Array.isArray(t)?BM(this,this,t):BM(this,this,[t,t]),this.check()}translate(t){return _ve(this,this,t),this.check()}transform(t,r){let n;switch(t.length){case 2:n=f3(r||[-0,-0],t,this);break;case 3:n=my(r||[-0,-0,-0],t,this);break;case 4:n=m3(r||[-0,-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Pf(n,t.length),n}transformVector(t,r){return this.transform(t,r)}transformVector2(t,r){return this.transform(t,r)}transformVector3(t,r){return this.transform(t,r)}},y3,_3=null;function Vyt(){return y3||(y3=new ir([0,0,0,0,0,0,0,0,0]),Object.freeze(y3)),y3}function $yt(){return _3||(_3=new ir,Object.freeze(_3)),_3}var w3={};Oi(w3,{add:()=>v1t,adjoint:()=>Qyt,clone:()=>Kyt,copy:()=>Jyt,create:()=>Wyt,decompose:()=>u1t,determinant:()=>PM,equals:()=>_1t,exactEquals:()=>y1t,frob:()=>g1t,fromQuat:()=>UM,fromQuat2:()=>a1t,fromRotation:()=>t1t,fromRotationTranslation:()=>Sve,fromRotationTranslationScale:()=>c1t,fromRotationTranslationScaleOrigin:()=>l1t,fromScaling:()=>e1t,fromTranslation:()=>Zyt,fromValues:()=>Xyt,fromXRotation:()=>r1t,fromYRotation:()=>n1t,fromZRotation:()=>i1t,frustum:()=>GM,getRotation:()=>s1t,getScaling:()=>kve,getTranslation:()=>o1t,identity:()=>Tve,invert:()=>IM,lookAt:()=>VM,mul:()=>w1t,multiply:()=>vy,multiplyScalar:()=>b1t,multiplyScalarAndAdd:()=>x1t,ortho:()=>HM,orthoNO:()=>Dve,orthoZO:()=>p1t,perspective:()=>zM,perspectiveFromFieldOfView:()=>d1t,perspectiveNO:()=>Cve,perspectiveZO:()=>f1t,rotate:()=>MM,rotateX:()=>LM,rotateY:()=>qM,rotateZ:()=>NM,scale:()=>jM,set:()=>Yyt,str:()=>m1t,sub:()=>A1t,subtract:()=>Bve,targetTo:()=>h1t,translate:()=>RM,transpose:()=>OM});function Wyt(){let e=new an(16);return an!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function Kyt(e){let t=new an(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Jyt(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Xyt(e,t,r,n,i,a,o,s,u,c,l,f,d,p,h,m){let g=new an(16);return g[0]=e,g[1]=t,g[2]=r,g[3]=n,g[4]=i,g[5]=a,g[6]=o,g[7]=s,g[8]=u,g[9]=c,g[10]=l,g[11]=f,g[12]=d,g[13]=p,g[14]=h,g[15]=m,g}function Yyt(e,t,r,n,i,a,o,s,u,c,l,f,d,p,h,m,g){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e[4]=a,e[5]=o,e[6]=s,e[7]=u,e[8]=c,e[9]=l,e[10]=f,e[11]=d,e[12]=p,e[13]=h,e[14]=m,e[15]=g,e}function Tve(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function OM(e,t){if(e===t){let r=t[1],n=t[2],i=t[3],a=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=a,e[11]=t[14],e[12]=i,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function IM(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],d=t[10],p=t[11],h=t[12],m=t[13],g=t[14],x=t[15],y=r*s-n*o,w=r*u-i*o,T=r*c-a*o,A=n*u-i*s,D=n*c-a*s,F=i*c-a*u,j=l*m-f*h,k=l*g-d*h,I=l*x-p*h,P=f*g-d*m,L=f*x-p*m,G=d*x-p*g,V=y*G-w*L+T*P+A*I-D*k+F*j;return V?(V=1/V,e[0]=(s*G-u*L+c*P)*V,e[1]=(i*L-n*G-a*P)*V,e[2]=(m*F-g*D+x*A)*V,e[3]=(d*D-f*F-p*A)*V,e[4]=(u*I-o*G-c*k)*V,e[5]=(r*G-i*I+a*k)*V,e[6]=(g*T-h*F-x*w)*V,e[7]=(l*F-d*T+p*w)*V,e[8]=(o*L-s*I+c*j)*V,e[9]=(n*I-r*L-a*j)*V,e[10]=(h*D-m*T+x*y)*V,e[11]=(f*T-l*D-p*y)*V,e[12]=(s*k-o*P-u*j)*V,e[13]=(r*P-n*k+i*j)*V,e[14]=(m*w-h*A-g*y)*V,e[15]=(l*A-f*w+d*y)*V,e):null}function Qyt(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],d=t[10],p=t[11],h=t[12],m=t[13],g=t[14],x=t[15],y=r*s-n*o,w=r*u-i*o,T=r*c-a*o,A=n*u-i*s,D=n*c-a*s,F=i*c-a*u,j=l*m-f*h,k=l*g-d*h,I=l*x-p*h,P=f*g-d*m,L=f*x-p*m,G=d*x-p*g;return e[0]=s*G-u*L+c*P,e[1]=i*L-n*G-a*P,e[2]=m*F-g*D+x*A,e[3]=d*D-f*F-p*A,e[4]=u*I-o*G-c*k,e[5]=r*G-i*I+a*k,e[6]=g*T-h*F-x*w,e[7]=l*F-d*T+p*w,e[8]=o*L-s*I+c*j,e[9]=n*I-r*L-a*j,e[10]=h*D-m*T+x*y,e[11]=f*T-l*D-p*y,e[12]=s*k-o*P-u*j,e[13]=r*P-n*k+i*j,e[14]=m*w-h*A-g*y,e[15]=l*A-f*w+d*y,e}function PM(e){let t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],c=e[8],l=e[9],f=e[10],d=e[11],p=e[12],h=e[13],m=e[14],g=e[15],x=t*o-r*a,y=t*s-n*a,w=r*s-n*o,T=c*h-l*p,A=c*m-f*p,D=l*m-f*h,F=t*D-r*A+n*T,j=a*D-o*A+s*T,k=c*w-l*y+f*x,I=p*w-h*y+m*x;return u*F-i*j+g*k-d*I}function vy(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],d=t[9],p=t[10],h=t[11],m=t[12],g=t[13],x=t[14],y=t[15],w=r[0],T=r[1],A=r[2],D=r[3];return e[0]=w*n+T*s+A*f+D*m,e[1]=w*i+T*u+A*d+D*g,e[2]=w*a+T*c+A*p+D*x,e[3]=w*o+T*l+A*h+D*y,w=r[4],T=r[5],A=r[6],D=r[7],e[4]=w*n+T*s+A*f+D*m,e[5]=w*i+T*u+A*d+D*g,e[6]=w*a+T*c+A*p+D*x,e[7]=w*o+T*l+A*h+D*y,w=r[8],T=r[9],A=r[10],D=r[11],e[8]=w*n+T*s+A*f+D*m,e[9]=w*i+T*u+A*d+D*g,e[10]=w*a+T*c+A*p+D*x,e[11]=w*o+T*l+A*h+D*y,w=r[12],T=r[13],A=r[14],D=r[15],e[12]=w*n+T*s+A*f+D*m,e[13]=w*i+T*u+A*d+D*g,e[14]=w*a+T*c+A*p+D*x,e[15]=w*o+T*l+A*h+D*y,e}function RM(e,t,r){let n=r[0],i=r[1],a=r[2],o,s,u,c,l,f,d,p,h,m,g,x;return t===e?(e[12]=t[0]*n+t[4]*i+t[8]*a+t[12],e[13]=t[1]*n+t[5]*i+t[9]*a+t[13],e[14]=t[2]*n+t[6]*i+t[10]*a+t[14],e[15]=t[3]*n+t[7]*i+t[11]*a+t[15]):(o=t[0],s=t[1],u=t[2],c=t[3],l=t[4],f=t[5],d=t[6],p=t[7],h=t[8],m=t[9],g=t[10],x=t[11],e[0]=o,e[1]=s,e[2]=u,e[3]=c,e[4]=l,e[5]=f,e[6]=d,e[7]=p,e[8]=h,e[9]=m,e[10]=g,e[11]=x,e[12]=o*n+l*i+h*a+t[12],e[13]=s*n+f*i+m*a+t[13],e[14]=u*n+d*i+g*a+t[14],e[15]=c*n+p*i+x*a+t[15]),e}function jM(e,t,r){let n=r[0],i=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function MM(e,t,r,n){let i=n[0],a=n[1],o=n[2],s=Math.sqrt(i*i+a*a+o*o),u,c,l,f,d,p,h,m,g,x,y,w,T,A,D,F,j,k,I,P,L,G,V,X;return s<1e-6?null:(s=1/s,i*=s,a*=s,o*=s,c=Math.sin(r),u=Math.cos(r),l=1-u,f=t[0],d=t[1],p=t[2],h=t[3],m=t[4],g=t[5],x=t[6],y=t[7],w=t[8],T=t[9],A=t[10],D=t[11],F=i*i*l+u,j=a*i*l+o*c,k=o*i*l-a*c,I=i*a*l-o*c,P=a*a*l+u,L=o*a*l+i*c,G=i*o*l+a*c,V=a*o*l-i*c,X=o*o*l+u,e[0]=f*F+m*j+w*k,e[1]=d*F+g*j+T*k,e[2]=p*F+x*j+A*k,e[3]=h*F+y*j+D*k,e[4]=f*I+m*P+w*L,e[5]=d*I+g*P+T*L,e[6]=p*I+x*P+A*L,e[7]=h*I+y*P+D*L,e[8]=f*G+m*V+w*X,e[9]=d*G+g*V+T*X,e[10]=p*G+x*V+A*X,e[11]=h*G+y*V+D*X,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function LM(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],u=t[7],c=t[8],l=t[9],f=t[10],d=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+c*n,e[5]=o*i+l*n,e[6]=s*i+f*n,e[7]=u*i+d*n,e[8]=c*i-a*n,e[9]=l*i-o*n,e[10]=f*i-s*n,e[11]=d*i-u*n,e}function qM(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],c=t[8],l=t[9],f=t[10],d=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-c*n,e[1]=o*i-l*n,e[2]=s*i-f*n,e[3]=u*i-d*n,e[8]=a*n+c*i,e[9]=o*n+l*i,e[10]=s*n+f*i,e[11]=u*n+d*i,e}function NM(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],c=t[4],l=t[5],f=t[6],d=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+c*n,e[1]=o*i+l*n,e[2]=s*i+f*n,e[3]=u*i+d*n,e[4]=c*i-a*n,e[5]=l*i-o*n,e[6]=f*i-s*n,e[7]=d*i-u*n,e}function Zyt(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}function e1t(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function t1t(e,t,r){let n=r[0],i=r[1],a=r[2],o=Math.sqrt(n*n+i*i+a*a),s,u,c;return o<1e-6?null:(o=1/o,n*=o,i*=o,a*=o,u=Math.sin(t),s=Math.cos(t),c=1-s,e[0]=n*n*c+s,e[1]=i*n*c+a*u,e[2]=a*n*c-i*u,e[3]=0,e[4]=n*i*c-a*u,e[5]=i*i*c+s,e[6]=a*i*c+n*u,e[7]=0,e[8]=n*a*c+i*u,e[9]=i*a*c-n*u,e[10]=a*a*c+s,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function r1t(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function n1t(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function i1t(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Sve(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=n+n,u=i+i,c=a+a,l=n*s,f=n*u,d=n*c,p=i*u,h=i*c,m=a*c,g=o*s,x=o*u,y=o*c;return e[0]=1-(p+m),e[1]=f+y,e[2]=d-x,e[3]=0,e[4]=f-y,e[5]=1-(l+m),e[6]=h+g,e[7]=0,e[8]=d+x,e[9]=h-g,e[10]=1-(l+p),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function a1t(e,t){let r=new an(3),n=-t[0],i=-t[1],a=-t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=n*n+i*i+a*a+o*o;return f>0?(r[0]=(s*o+l*n+u*a-c*i)*2/f,r[1]=(u*o+l*i+c*n-s*a)*2/f,r[2]=(c*o+l*a+s*i-u*n)*2/f):(r[0]=(s*o+l*n+u*a-c*i)*2,r[1]=(u*o+l*i+c*n-s*a)*2,r[2]=(c*o+l*a+s*i-u*n)*2),Sve(e,t,r),e}function o1t(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function kve(e,t){let r=t[0],n=t[1],i=t[2],a=t[4],o=t[5],s=t[6],u=t[8],c=t[9],l=t[10];return e[0]=Math.sqrt(r*r+n*n+i*i),e[1]=Math.sqrt(a*a+o*o+s*s),e[2]=Math.sqrt(u*u+c*c+l*l),e}function s1t(e,t){let r=new an(3);kve(r,t);let n=1/r[0],i=1/r[1],a=1/r[2],o=t[0]*n,s=t[1]*i,u=t[2]*a,c=t[4]*n,l=t[5]*i,f=t[6]*a,d=t[8]*n,p=t[9]*i,h=t[10]*a,m=o+l+h,g=0;return m>0?(g=Math.sqrt(m+1)*2,e[3]=.25*g,e[0]=(f-p)/g,e[1]=(d-u)/g,e[2]=(s-c)/g):o>l&&o>h?(g=Math.sqrt(1+o-l-h)*2,e[3]=(f-p)/g,e[0]=.25*g,e[1]=(s+c)/g,e[2]=(d+u)/g):l>h?(g=Math.sqrt(1+l-o-h)*2,e[3]=(d-u)/g,e[0]=(s+c)/g,e[1]=.25*g,e[2]=(f+p)/g):(g=Math.sqrt(1+h-o-l)*2,e[3]=(s-c)/g,e[0]=(d+u)/g,e[1]=(f+p)/g,e[2]=.25*g),e}function u1t(e,t,r,n){t[0]=n[12],t[1]=n[13],t[2]=n[14];let i=n[0],a=n[1],o=n[2],s=n[4],u=n[5],c=n[6],l=n[8],f=n[9],d=n[10];r[0]=Math.sqrt(i*i+a*a+o*o),r[1]=Math.sqrt(s*s+u*u+c*c),r[2]=Math.sqrt(l*l+f*f+d*d);let p=1/r[0],h=1/r[1],m=1/r[2],g=i*p,x=a*h,y=o*m,w=s*p,T=u*h,A=c*m,D=l*p,F=f*h,j=d*m,k=g+T+j,I=0;return k>0?(I=Math.sqrt(k+1)*2,e[3]=.25*I,e[0]=(A-F)/I,e[1]=(D-y)/I,e[2]=(x-w)/I):g>T&&g>j?(I=Math.sqrt(1+g-T-j)*2,e[3]=(A-F)/I,e[0]=.25*I,e[1]=(x+w)/I,e[2]=(D+y)/I):T>j?(I=Math.sqrt(1+T-g-j)*2,e[3]=(D-y)/I,e[0]=(x+w)/I,e[1]=.25*I,e[2]=(A+F)/I):(I=Math.sqrt(1+j-g-T)*2,e[3]=(x-w)/I,e[0]=(D+y)/I,e[1]=(A+F)/I,e[2]=.25*I),e}function c1t(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3],u=i+i,c=a+a,l=o+o,f=i*u,d=i*c,p=i*l,h=a*c,m=a*l,g=o*l,x=s*u,y=s*c,w=s*l,T=n[0],A=n[1],D=n[2];return e[0]=(1-(h+g))*T,e[1]=(d+w)*T,e[2]=(p-y)*T,e[3]=0,e[4]=(d-w)*A,e[5]=(1-(f+g))*A,e[6]=(m+x)*A,e[7]=0,e[8]=(p+y)*D,e[9]=(m-x)*D,e[10]=(1-(f+h))*D,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function l1t(e,t,r,n,i){let a=t[0],o=t[1],s=t[2],u=t[3],c=a+a,l=o+o,f=s+s,d=a*c,p=a*l,h=a*f,m=o*l,g=o*f,x=s*f,y=u*c,w=u*l,T=u*f,A=n[0],D=n[1],F=n[2],j=i[0],k=i[1],I=i[2],P=(1-(m+x))*A,L=(p+T)*A,G=(h-w)*A,V=(p-T)*D,X=(1-(d+x))*D,Y=(g+y)*D,he=(h+w)*F,le=(g-y)*F,me=(1-(d+m))*F;return e[0]=P,e[1]=L,e[2]=G,e[3]=0,e[4]=V,e[5]=X,e[6]=Y,e[7]=0,e[8]=he,e[9]=le,e[10]=me,e[11]=0,e[12]=r[0]+j-(P*j+V*k+he*I),e[13]=r[1]+k-(L*j+X*k+le*I),e[14]=r[2]+I-(G*j+Y*k+me*I),e[15]=1,e}function UM(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,u=i+i,c=r*o,l=n*o,f=n*s,d=i*o,p=i*s,h=i*u,m=a*o,g=a*s,x=a*u;return e[0]=1-f-h,e[1]=l+x,e[2]=d-g,e[3]=0,e[4]=l-x,e[5]=1-c-h,e[6]=p+m,e[7]=0,e[8]=d+g,e[9]=p-m,e[10]=1-c-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function GM(e,t,r,n,i,a,o){let s=1/(r-t),u=1/(i-n),c=1/(a-o);return e[0]=a*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a*2*u,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(i+n)*u,e[10]=(o+a)*c,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*a*2*c,e[15]=0,e}function Cve(e,t,r,n,i){let a=1/Math.tan(t/2);if(e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let o=1/(n-i);e[10]=(i+n)*o,e[14]=2*i*n*o}else e[10]=-1,e[14]=-2*n;return e}var zM=Cve;function f1t(e,t,r,n,i){let a=1/Math.tan(t/2);if(e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let o=1/(n-i);e[10]=i*o,e[14]=i*n*o}else e[10]=-1,e[14]=-n;return e}function d1t(e,t,r,n){let i=Math.tan(t.upDegrees*Math.PI/180),a=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),u=2/(o+s),c=2/(i+a);return e[0]=u,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=-((o-s)*u*.5),e[9]=(i-a)*c*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}function Dve(e,t,r,n,i,a,o){let s=1/(t-r),u=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*u,e[14]=(o+a)*c,e[15]=1,e}var HM=Dve;function p1t(e,t,r,n,i,a,o){let s=1/(t-r),u=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*u,e[14]=a*c,e[15]=1,e}function VM(e,t,r,n){let i,a,o,s,u,c,l,f,d,p,h=t[0],m=t[1],g=t[2],x=n[0],y=n[1],w=n[2],T=r[0],A=r[1],D=r[2];return Math.abs(h-T)<1e-6&&Math.abs(m-A)<1e-6&&Math.abs(g-D)<1e-6?Tve(e):(f=h-T,d=m-A,p=g-D,i=1/Math.sqrt(f*f+d*d+p*p),f*=i,d*=i,p*=i,a=y*p-w*d,o=w*f-x*p,s=x*d-y*f,i=Math.sqrt(a*a+o*o+s*s),i?(i=1/i,a*=i,o*=i,s*=i):(a=0,o=0,s=0),u=d*s-p*o,c=p*a-f*s,l=f*o-d*a,i=Math.sqrt(u*u+c*c+l*l),i?(i=1/i,u*=i,c*=i,l*=i):(u=0,c=0,l=0),e[0]=a,e[1]=u,e[2]=f,e[3]=0,e[4]=o,e[5]=c,e[6]=d,e[7]=0,e[8]=s,e[9]=l,e[10]=p,e[11]=0,e[12]=-(a*h+o*m+s*g),e[13]=-(u*h+c*m+l*g),e[14]=-(f*h+d*m+p*g),e[15]=1,e)}function h1t(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=n[0],u=n[1],c=n[2],l=i-r[0],f=a-r[1],d=o-r[2],p=l*l+f*f+d*d;p>0&&(p=1/Math.sqrt(p),l*=p,f*=p,d*=p);let h=u*d-c*f,m=c*l-s*d,g=s*f-u*l;return p=h*h+m*m+g*g,p>0&&(p=1/Math.sqrt(p),h*=p,m*=p,g*=p),e[0]=h,e[1]=m,e[2]=g,e[3]=0,e[4]=f*g-d*m,e[5]=d*h-l*g,e[6]=l*m-f*h,e[7]=0,e[8]=l,e[9]=f,e[10]=d,e[11]=0,e[12]=i,e[13]=a,e[14]=o,e[15]=1,e}function m1t(e){return`mat4(${e[0]}, ${e[1]}, ${e[2]}, ${e[3]}, ${e[4]}, ${e[5]}, ${e[6]}, ${e[7]}, ${e[8]}, ${e[9]}, ${e[10]}, ${e[11]}, ${e[12]}, ${e[13]}, ${e[14]}, ${e[15]})`}function g1t(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]+e[3]*e[3]+e[4]*e[4]+e[5]*e[5]+e[6]*e[6]+e[7]*e[7]+e[8]*e[8]+e[9]*e[9]+e[10]*e[10]+e[11]*e[11]+e[12]*e[12]+e[13]*e[13]+e[14]*e[14]+e[15]*e[15])}function v1t(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e}function Bve(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}function b1t(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e}function x1t(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e}function y1t(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function _1t(e,t){let r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],u=e[6],c=e[7],l=e[8],f=e[9],d=e[10],p=e[11],h=e[12],m=e[13],g=e[14],x=e[15],y=t[0],w=t[1],T=t[2],A=t[3],D=t[4],F=t[5],j=t[6],k=t[7],I=t[8],P=t[9],L=t[10],G=t[11],V=t[12],X=t[13],Y=t[14],he=t[15];return Math.abs(r-y)<=1e-6*Math.max(1,Math.abs(r),Math.abs(y))&&Math.abs(n-w)<=1e-6*Math.max(1,Math.abs(n),Math.abs(w))&&Math.abs(i-T)<=1e-6*Math.max(1,Math.abs(i),Math.abs(T))&&Math.abs(a-A)<=1e-6*Math.max(1,Math.abs(a),Math.abs(A))&&Math.abs(o-D)<=1e-6*Math.max(1,Math.abs(o),Math.abs(D))&&Math.abs(s-F)<=1e-6*Math.max(1,Math.abs(s),Math.abs(F))&&Math.abs(u-j)<=1e-6*Math.max(1,Math.abs(u),Math.abs(j))&&Math.abs(c-k)<=1e-6*Math.max(1,Math.abs(c),Math.abs(k))&&Math.abs(l-I)<=1e-6*Math.max(1,Math.abs(l),Math.abs(I))&&Math.abs(f-P)<=1e-6*Math.max(1,Math.abs(f),Math.abs(P))&&Math.abs(d-L)<=1e-6*Math.max(1,Math.abs(d),Math.abs(L))&&Math.abs(p-G)<=1e-6*Math.max(1,Math.abs(p),Math.abs(G))&&Math.abs(h-V)<=1e-6*Math.max(1,Math.abs(h),Math.abs(V))&&Math.abs(m-X)<=1e-6*Math.max(1,Math.abs(m),Math.abs(X))&&Math.abs(g-Y)<=1e-6*Math.max(1,Math.abs(g),Math.abs(Y))&&Math.abs(x-he)<=1e-6*Math.max(1,Math.abs(x),Math.abs(he))}var w1t=vy,A1t=Bve;function E1t(){let e=new an(4);return an!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function Fve(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e}function Ove(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e}function Ive(e){let t=e[0],r=e[1],n=e[2],i=e[3];return Math.sqrt(t*t+r*r+n*n+i*i)}function Pve(e){let t=e[0],r=e[1],n=e[2],i=e[3];return t*t+r*r+n*n+i*i}function Rve(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o)),e[0]=r*o,e[1]=n*o,e[2]=i*o,e[3]=a*o,e}function jve(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function Mve(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e[3]=s+n*(r[3]-s),e}function Lve(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,e}function qve(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2],c=r[3],l=c*n+s*a-u*i,f=c*i+u*n-o*a,d=c*a+o*i-s*n,p=-o*n-s*i-u*a;return e[0]=l*c+p*-o+f*-u-d*-s,e[1]=f*c+p*-s+d*-o-l*-u,e[2]=d*c+p*-u+l*-s-f*-o,e[3]=t[3],e}var Zer=function(){let e=E1t();return function(t,r,n,i,a,o){let s,u;for(r||(r=4),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],e[3]=t[s+3],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2],t[s+3]=e[3];return t}}();var KM;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL0ROW3=3]="COL0ROW3",e[e.COL1ROW0=4]="COL1ROW0",e[e.COL1ROW1=5]="COL1ROW1",e[e.COL1ROW2=6]="COL1ROW2",e[e.COL1ROW3=7]="COL1ROW3",e[e.COL2ROW0=8]="COL2ROW0",e[e.COL2ROW1=9]="COL2ROW1",e[e.COL2ROW2=10]="COL2ROW2",e[e.COL2ROW3=11]="COL2ROW3",e[e.COL3ROW0=12]="COL3ROW0",e[e.COL3ROW1=13]="COL3ROW1",e[e.COL3ROW2=14]="COL3ROW2",e[e.COL3ROW3=15]="COL3ROW3"})(KM||(KM={}));var T1t=45*Math.PI/180,S1t=1,$M=.1,WM=500,k1t=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),gr=class extends Xm{static get IDENTITY(){return D1t()}static get ZERO(){return C1t()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return KM}constructor(t){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this[9]=t[9],this[10]=t[10],this[11]=t[11],this[12]=t[12],this[13]=t[13],this[14]=t[14],this[15]=t[15],this.check()}set(t,r,n,i,a,o,s,u,c,l,f,d,p,h,m,g){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this[4]=a,this[5]=o,this[6]=s,this[7]=u,this[8]=c,this[9]=l,this[10]=f,this[11]=d,this[12]=p,this[13]=h,this[14]=m,this[15]=g,this.check()}setRowMajor(t,r,n,i,a,o,s,u,c,l,f,d,p,h,m,g){return this[0]=t,this[1]=a,this[2]=c,this[3]=p,this[4]=r,this[5]=o,this[6]=l,this[7]=h,this[8]=n,this[9]=s,this[10]=f,this[11]=m,this[12]=i,this[13]=u,this[14]=d,this[15]=g,this.check()}toRowMajor(t){return t[0]=this[0],t[1]=this[4],t[2]=this[8],t[3]=this[12],t[4]=this[1],t[5]=this[5],t[6]=this[9],t[7]=this[13],t[8]=this[2],t[9]=this[6],t[10]=this[10],t[11]=this[14],t[12]=this[3],t[13]=this[7],t[14]=this[11],t[15]=this[15],t}identity(){return this.copy(k1t)}fromObject(t){return this.check()}fromQuaternion(t){return UM(this,t),this.check()}frustum(t){let{left:r,right:n,bottom:i,top:a,near:o=$M,far:s=WM}=t;return s===1/0?B1t(this,r,n,i,a,o):GM(this,r,n,i,a,o,s),this.check()}lookAt(t){let{eye:r,center:n=[0,0,0],up:i=[0,1,0]}=t;return VM(this,r,n,i),this.check()}ortho(t){let{left:r,right:n,bottom:i,top:a,near:o=$M,far:s=WM}=t;return HM(this,r,n,i,a,o,s),this.check()}orthographic(t){let{fovy:r=T1t,aspect:n=S1t,focalDistance:i=1,near:a=$M,far:o=WM}=t;Uve(r);let s=r/2,u=i*Math.tan(s),c=u*n;return this.ortho({left:-c,right:c,bottom:-u,top:u,near:a,far:o})}perspective(t){let{fovy:r=45*Math.PI/180,aspect:n=1,near:i=.1,far:a=500}=t;return Uve(r),zM(this,r,n,i,a),this.check()}determinant(){return PM(this)}getScale(t=[-0,-0,-0]){return t[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),t[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),t[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),t}getTranslation(t=[-0,-0,-0]){return t[0]=this[12],t[1]=this[13],t[2]=this[14],t}getRotation(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),i=1/n[0],a=1/n[1],o=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*o,t[3]=0,t[4]=this[4]*i,t[5]=this[5]*a,t[6]=this[6]*o,t[7]=0,t[8]=this[8]*i,t[9]=this[9]*a,t[10]=this[10]*o,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}getRotationMatrix3(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),i=1/n[0],a=1/n[1],o=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*o,t[3]=this[4]*i,t[4]=this[5]*a,t[5]=this[6]*o,t[6]=this[8]*i,t[7]=this[9]*a,t[8]=this[10]*o,t}transpose(){return OM(this,this),this.check()}invert(){return IM(this,this),this.check()}multiplyLeft(t){return vy(this,t,this),this.check()}multiplyRight(t){return vy(this,this,t),this.check()}rotateX(t){return LM(this,this,t),this.check()}rotateY(t){return qM(this,this,t),this.check()}rotateZ(t){return NM(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return MM(this,this,t,r),this.check()}scale(t){return jM(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return RM(this,this,t),this.check()}transform(t,r){return t.length===4?(r=Lve(r||[-0,-0,-0,-0],t,this),Pf(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:n}=t,i;switch(n){case 2:i=d3(r||[-0,-0],t,this);break;case 3:i=Tp(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Pf(i,t.length),i}transformAsVector(t,r){let n;switch(t.length){case 2:n=p3(r||[-0,-0],t,this);break;case 3:n=h3(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Pf(n,t.length),n}transformPoint(t,r){return this.transformAsPoint(t,r)}transformVector(t,r){return this.transformAsPoint(t,r)}transformDirection(t,r){return this.transformAsVector(t,r)}makeRotationX(t){return this.identity().rotateX(t)}makeTranslation(t,r,n){return this.identity().translate([t,r,n])}},A3,E3;function C1t(){return A3||(A3=new gr([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(A3)),A3}function D1t(){return E3||(E3=new gr,Object.freeze(E3)),E3}function Uve(e){if(e>Math.PI*2)throw Error("expected radians")}function B1t(e,t,r,n,i,a){let o=2*a/(r-t),s=2*a/(i-n),u=(r+t)/(r-t),c=(i+n)/(i-n),l=-1,f=-1,d=-2*a;return e[0]=o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=u,e[9]=c,e[10]=l,e[11]=f,e[12]=0,e[13]=0,e[14]=d,e[15]=0,e}function Gve(){let e=new an(4);return an!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function zve(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function JM(e,t,r){r=r*.5;let n=Math.sin(r);return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=Math.cos(r),e}function XM(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=r[0],u=r[1],c=r[2],l=r[3];return e[0]=n*l+o*s+i*c-a*u,e[1]=i*l+o*u+a*s-n*c,e[2]=a*l+o*c+n*u-i*s,e[3]=o*l-n*s-i*u-a*c,e}function Hve(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+o*s,e[1]=i*u+a*s,e[2]=a*u-i*s,e[3]=o*u-n*s,e}function Vve(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u-a*s,e[1]=i*u+o*s,e[2]=a*u+n*s,e[3]=o*u-i*s,e}function $ve(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+i*s,e[1]=i*u-n*s,e[2]=a*u+o*s,e[3]=o*u-a*s,e}function Wve(e,t){let r=t[0],n=t[1],i=t[2];return e[0]=r,e[1]=n,e[2]=i,e[3]=Math.sqrt(Math.abs(1-r*r-n*n-i*i)),e}function by(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3],u=r[0],c=r[1],l=r[2],f=r[3],d,p,h,m,g;return d=i*u+a*c+o*l+s*f,d<0&&(d=-d,u=-u,c=-c,l=-l,f=-f),1-d>1e-6?(p=Math.acos(d),g=Math.sin(p),h=Math.sin((1-n)*p)/g,m=Math.sin(n*p)/g):(h=1-n,m=n),e[0]=h*i+m*u,e[1]=h*a+m*c,e[2]=h*o+m*l,e[3]=h*s+m*f,e}function Kve(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a,s=o?1/o:0;return e[0]=-r*s,e[1]=-n*s,e[2]=-i*s,e[3]=a*s,e}function Jve(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function YM(e,t){let r=t[0]+t[4]+t[8],n;if(r>0)n=Math.sqrt(r+1),e[3]=.5*n,n=.5/n,e[0]=(t[5]-t[7])*n,e[1]=(t[6]-t[2])*n,e[2]=(t[1]-t[3])*n;else{let i=0;t[4]>t[0]&&(i=1),t[8]>t[i*3+i]&&(i=2);let a=(i+1)%3,o=(i+2)%3;n=Math.sqrt(t[i*3+i]-t[a*3+a]-t[o*3+o]+1),e[i]=.5*n,n=.5/n,e[3]=(t[a*3+o]-t[o*3+a])*n,e[a]=(t[a*3+i]+t[i*3+a])*n,e[o]=(t[o*3+i]+t[i*3+o])*n}return e}var Xve=Fve;var Yve=Ove,Qve=jve,Zve=Mve,ebe=Ive;var tbe=Pve;var rbe=Rve;var nbe=function(){let e=g3(),t=v3(1,0,0),r=v3(0,1,0);return function(n,i,a){let o=hy(i,a);return o<-.999999?(Ep(e,t,i),kM(e)<1e-6&&Ep(e,r,i),wM(e,e),JM(n,e,Math.PI),n):o>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(Ep(e,i,a),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=1+o,rbe(n,n))}}(),ptr=function(){let e=Gve(),t=Gve();return function(r,n,i,a,o,s){return by(e,n,o,s),by(t,i,a,s),by(r,e,t,2*s*(1-s)),r}}(),htr=function(){let e=vve();return function(t,r,n,i){return e[0]=n[0],e[3]=n[1],e[6]=n[2],e[1]=i[0],e[4]=i[1],e[7]=i[2],e[2]=-r[0],e[5]=-r[1],e[8]=-r[2],rbe(t,YM(t,e))}}();var O1t=[0,0,0,1],Po=class extends If{constructor(t=0,r=0,n=0,i=1){super(-0,-0,-0,-0),Array.isArray(t)&&arguments.length===1?this.copy(t):this.set(t,r,n,i)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,r,n,i){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this.check()}fromObject(t){return this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this.check()}fromMatrix3(t){return YM(this,t),this.check()}fromAxisRotation(t,r){return JM(this,t,r),this.check()}identity(){return zve(this),this.check()}setAxisAngle(t,r){return this.fromAxisRotation(t,r)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=Gt(t)}get y(){return this[1]}set y(t){this[1]=Gt(t)}get z(){return this[2]}set z(t){this[2]=Gt(t)}get w(){return this[3]}set w(t){this[3]=Gt(t)}len(){return ebe(this)}lengthSquared(){return tbe(this)}dot(t){return Qve(this,t)}rotationTo(t,r){return nbe(this,t,r),this.check()}add(t){return Xve(this,this,t),this.check()}calculateW(){return Wve(this,this),this.check()}conjugate(){return Jve(this,this),this.check()}invert(){return Kve(this,this),this.check()}lerp(t,r,n){return n===void 0?this.lerp(this,t,r):(Zve(this,t,r,n),this.check())}multiplyRight(t){return XM(this,this,t),this.check()}multiplyLeft(t){return XM(this,t,this),this.check()}normalize(){let t=this.len(),r=t>0?1/t:0;return this[0]=this[0]*r,this[1]=this[1]*r,this[2]=this[2]*r,this[3]=this[3]*r,t===0&&(this[3]=1),this.check()}rotateX(t){return Hve(this,this,t),this.check()}rotateY(t){return Vve(this,this,t),this.check()}rotateZ(t){return $ve(this,this,t),this.check()}scale(t){return Yve(this,this,t),this.check()}slerp(t,r,n){let i,a,o;switch(arguments.length){case 1:({start:i=O1t,target:a,ratio:o}=t);break;case 2:i=this,a=t,o=r;break;default:i=t,a=r,o=n}return by(this,i,a,o),this.check()}transformVector4(t,r=new Io){return qve(r,t,this),Pf(r,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,r){return this.setAxisAngle(t,r)}premultiply(t){return this.multiplyLeft(t)}multiply(t){return this.multiplyRight(t)}};var As={};Oi(As,{EPSILON1:()=>I1t,EPSILON10:()=>G1t,EPSILON11:()=>z1t,EPSILON12:()=>H1t,EPSILON13:()=>V1t,EPSILON14:()=>$1t,EPSILON15:()=>W1t,EPSILON16:()=>K1t,EPSILON17:()=>J1t,EPSILON18:()=>X1t,EPSILON19:()=>Y1t,EPSILON2:()=>P1t,EPSILON20:()=>Q1t,EPSILON3:()=>R1t,EPSILON4:()=>j1t,EPSILON5:()=>M1t,EPSILON6:()=>L1t,EPSILON7:()=>q1t,EPSILON8:()=>N1t,EPSILON9:()=>U1t,PI_OVER_FOUR:()=>e_t,PI_OVER_SIX:()=>t_t,PI_OVER_TWO:()=>Z1t,TWO_PI:()=>r_t});var I1t=.1,P1t=.01,R1t=.001,j1t=1e-4,M1t=1e-5,L1t=1e-6,q1t=1e-7,N1t=1e-8,U1t=1e-9,G1t=1e-10,z1t=1e-11,H1t=1e-12,V1t=1e-13,$1t=1e-14,W1t=1e-15,K1t=1e-16,J1t=1e-17,X1t=1e-18,Y1t=1e-19,Q1t=1e-20,Z1t=Math.PI/2,e_t=Math.PI/4,t_t=Math.PI/6,r_t=Math.PI*2;var $c=6356752314245179e-9,n_t={radii:[6378137,6378137,$c],radiiSquared:[6378137*6378137,6378137*6378137,$c*$c],oneOverRadii:[1/6378137,1/6378137,1/$c],oneOverRadiiSquared:[1/(6378137*6378137),1/(6378137*6378137),1/($c*$c)],maximumRadius:Math.max(6378137,6378137,$c),centerToleranceSquared:.1};function T3(e){return e}var Htr=new Z;function i_t(e,t=[],r=T3){return"longitude"in e?(t[0]=r(e.longitude),t[1]=r(e.latitude),t[2]=e.height):"x"in e?(t[0]=r(e.x),t[1]=r(e.y),t[2]=e.z):(t[0]=r(e[0]),t[1]=r(e[1]),t[2]=e[2]),t}function ibe(e,t=[]){return i_t(e,t,Rr._cartographicRadians?T3:bM)}function a_t(e,t,r=T3){return"longitude"in t?(t.longitude=r(e[0]),t.latitude=r(e[1]),t.height=e[2]):"x"in t?(t.x=r(e[0]),t.y=r(e[1]),t.z=e[2]):(t[0]=r(e[0]),t[1]=r(e[1]),t[2]=e[2]),t}function abe(e,t){return a_t(e,t,Rr._cartographicRadians?T3:xM)}var obe=1e-14,o_t=new Z,sbe={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},QM={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},xy={east:new Z,north:new Z,up:new Z,west:new Z,south:new Z,down:new Z},s_t=new Z,u_t=new Z,c_t=new Z;function ZM(e,t,r,n,i,a){let o=sbe[t]&&sbe[t][r];li(o&&(!n||n===o));let s,u,c,l=o_t.copy(i);if(Qa(l.x,0,obe)&&Qa(l.y,0,obe)){let d=Math.sign(l.z);s=s_t.fromArray(QM[t]),t!=="east"&&t!=="west"&&s.scale(d),u=u_t.fromArray(QM[r]),r!=="east"&&r!=="west"&&u.scale(d),c=c_t.fromArray(QM[n]),n!=="east"&&n!=="west"&&c.scale(d)}else{let{up:d,east:p,north:h}=xy;p.set(-l.y,l.x,0).normalize(),e.geodeticSurfaceNormal(l,d),h.copy(d).cross(p);let{down:m,west:g,south:x}=xy;m.copy(d).scale(-1),g.copy(p).scale(-1),x.copy(h).scale(-1),s=xy[t],u=xy[r],c=xy[n]}return a[0]=s.x,a[1]=s.y,a[2]=s.z,a[3]=0,a[4]=u.x,a[5]=u.y,a[6]=u.z,a[7]=0,a[8]=c.x,a[9]=c.y,a[10]=c.z,a[11]=0,a[12]=l.x,a[13]=l.y,a[14]=l.z,a[15]=1,a}var Ym=new Z,l_t=new Z,f_t=new Z;function ube(e,t,r=[]){let{oneOverRadii:n,oneOverRadiiSquared:i,centerToleranceSquared:a}=t;Ym.from(e);let o=Ym.x,s=Ym.y,u=Ym.z,c=n.x,l=n.y,f=n.z,d=o*o*c*c,p=s*s*l*l,h=u*u*f*f,m=d+p+h,g=Math.sqrt(1/m);if(!Number.isFinite(g))return;let x=l_t;if(x.copy(e).scale(g),m<a)return x.to(r);let y=i.x,w=i.y,T=i.z,A=f_t;A.set(x.x*y*2,x.y*w*2,x.z*T*2);let D=(1-g)*Ym.len()/(.5*A.len()),F=0,j,k,I,P;do{D-=F,j=1/(1+D*y),k=1/(1+D*w),I=1/(1+D*T);let L=j*j,G=k*k,V=I*I,X=L*j,Y=G*k,he=V*I;P=d*L+p*G+h*V-1;let me=-2*(d*X*y+p*Y*w+h*he*T);F=P/me}while(Math.abs(P)>As.EPSILON12);return Ym.scale([j,k,I]).to(r)}var S3=new Z,cbe=new Z,h_t=new Z,Es=new Z,m_t=new Z,k3=new Z,Ot=class{constructor(t=0,r=0,n=0){this.centerToleranceSquared=As.EPSILON1,li(t>=0),li(r>=0),li(n>=0),this.radii=new Z(t,r,n),this.radiiSquared=new Z(t*t,r*r,n*n),this.radiiToTheFourth=new Z(t*t*t*t,r*r*r*r,n*n*n*n),this.oneOverRadii=new Z(t===0?0:1/t,r===0?0:1/r,n===0?0:1/n),this.oneOverRadiiSquared=new Z(t===0?0:1/(t*t),r===0?0:1/(r*r),n===0?0:1/(n*n)),this.minimumRadius=Math.min(t,r,n),this.maximumRadius=Math.max(t,r,n),this.radiiSquared.z!==0&&(this.squaredXOverSquaredZ=this.radiiSquared.x/this.radiiSquared.z),Object.freeze(this)}equals(t){return this===t||Boolean(t&&this.radii.equals(t.radii))}toString(){return this.radii.toString()}cartographicToCartesian(t,r=[0,0,0]){let n=cbe,i=h_t,[,,a]=t;this.geodeticSurfaceNormalCartographic(t,n),i.copy(this.radiiSquared).scale(n);let o=Math.sqrt(n.dot(i));return i.scale(1/o),n.scale(a),i.add(n),i.to(r)}cartesianToCartographic(t,r=[0,0,0]){k3.from(t);let n=this.scaleToGeodeticSurface(k3,Es);if(!n)return;let i=this.geodeticSurfaceNormal(n,cbe),a=m_t;a.copy(k3).subtract(n);let o=Math.atan2(i.y,i.x),s=Math.asin(i.z),u=Math.sign(Jm.dot(a,k3))*Jm.length(a);return abe([o,s,u],r)}eastNorthUpToFixedFrame(t,r=new gr){return ZM(this,"east","north","up",t,r)}localFrameToFixedFrame(t,r,n,i,a=new gr){return ZM(this,t,r,n,i,a)}geocentricSurfaceNormal(t,r=[0,0,0]){return S3.from(t).normalize().to(r)}geodeticSurfaceNormalCartographic(t,r=[0,0,0]){let n=ibe(t),i=n[0],a=n[1],o=Math.cos(a);return S3.set(o*Math.cos(i),o*Math.sin(i),Math.sin(a)).normalize(),S3.to(r)}geodeticSurfaceNormal(t,r=[0,0,0]){return S3.from(t).scale(this.oneOverRadiiSquared).normalize().to(r)}scaleToGeodeticSurface(t,r){return ube(t,this,r)}scaleToGeocentricSurface(t,r=[0,0,0]){Es.from(t);let n=Es.x,i=Es.y,a=Es.z,o=this.oneOverRadiiSquared,s=1/Math.sqrt(n*n*o.x+i*i*o.y+a*a*o.z);return Es.multiplyScalar(s).to(r)}transformPositionToScaledSpace(t,r=[0,0,0]){return Es.from(t).scale(this.oneOverRadii).to(r)}transformPositionFromScaledSpace(t,r=[0,0,0]){return Es.from(t).scale(this.radii).to(r)}getSurfaceNormalIntersectionWithZAxis(t,r=0,n=[0,0,0]){li(Qa(this.radii.x,this.radii.y,As.EPSILON15)),li(this.radii.z>0),Es.from(t);let i=Es.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(i)>=this.radii.z-r))return Es.set(0,0,i).to(n)}};Ot.WGS84=new Ot(6378137,6378137,$c);var fi={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var crr=new Z,lrr=new Z;var yy=new Z,lbe=new Z,ua=class{constructor(t=[0,0,0],r=0){this.radius=-0,this.center=new Z,this.fromCenterRadius(t,r)}fromCenterRadius(t,r){return this.center.from(t),this.radius=r,this}fromCornerPoints(t,r){return r=yy.from(r),this.center=new Z().from(t).add(r).scale(.5),this.radius=this.center.distance(r),this}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.radius===t.radius}clone(){return new ua(this.center,this.radius)}union(t){let r=this.center,n=this.radius,i=t.center,a=t.radius,o=yy.copy(i).subtract(r),s=o.magnitude();if(n>=s+a)return this.clone();if(a>=s+n)return t.clone();let u=(n+s+a)*.5;return lbe.copy(o).scale((-n+u)/s).add(r),this.center.copy(lbe),this.radius=u,this}expand(t){let n=yy.from(t).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(t){this.center.transform(t);let r=w3.getScaling(yy,t);return this.radius=Math.max(r[0],Math.max(r[1],r[2]))*this.radius,this}distanceSquaredTo(t){let r=this.distanceTo(t);return r*r}distanceTo(t){let n=yy.from(t).subtract(this.center);return Math.max(0,n.len()-this.radius)}intersectPlane(t){let r=this.center,n=this.radius,a=t.normal.dot(r)+t.distance;return a<-n?fi.OUTSIDE:a<n?fi.INTERSECTING:fi.INSIDE}};var g_t=new Z,v_t=new Z,C3=new Z,D3=new Z,B3=new Z,b_t=new Z,x_t=new Z,Wc={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8},di=class{constructor(t=[0,0,0],r=[0,0,0,0,0,0,0,0,0]){this.center=new Z().from(t),this.halfAxes=new ir(r)}get halfSize(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new Z(t).len(),new Z(r).len(),new Z(n).len()]}get quaternion(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new Z(t).normalize(),a=new Z(r).normalize(),o=new Z(n).normalize();return new Po().fromMatrix3(new ir([...i,...a,...o]))}fromCenterHalfSizeQuaternion(t,r,n){let i=new Po(n),a=new ir().fromQuaternion(i);return a[0]=a[0]*r[0],a[1]=a[1]*r[0],a[2]=a[2]*r[0],a[3]=a[3]*r[1],a[4]=a[4]*r[1],a[5]=a[5]*r[1],a[6]=a[6]*r[2],a[7]=a[7]*r[2],a[8]=a[8]*r[2],this.center=new Z().from(t),this.halfAxes=a,this}clone(){return new di(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new ua){let r=this.halfAxes,n=r.getColumn(0,C3),i=r.getColumn(1,D3),a=r.getColumn(2,B3),o=g_t.copy(n).add(i).add(a);return t.center.copy(this.center),t.radius=o.magnitude(),t}intersectPlane(t){let r=this.center,n=t.normal,i=this.halfAxes,a=n.x,o=n.y,s=n.z,u=Math.abs(a*i[Wc.COLUMN0ROW0]+o*i[Wc.COLUMN0ROW1]+s*i[Wc.COLUMN0ROW2])+Math.abs(a*i[Wc.COLUMN1ROW0]+o*i[Wc.COLUMN1ROW1]+s*i[Wc.COLUMN1ROW2])+Math.abs(a*i[Wc.COLUMN2ROW0]+o*i[Wc.COLUMN2ROW1]+s*i[Wc.COLUMN2ROW2]),c=n.dot(r)+t.distance;return c<=-u?fi.OUTSIDE:c>=u?fi.INSIDE:fi.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=v_t.from(t).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,C3),a=n.getColumn(1,D3),o=n.getColumn(2,B3),s=i.magnitude(),u=a.magnitude(),c=o.magnitude();i.normalize(),a.normalize(),o.normalize();let l=0,f;return f=Math.abs(r.dot(i))-s,f>0&&(l+=f*f),f=Math.abs(r.dot(a))-u,f>0&&(l+=f*f),f=Math.abs(r.dot(o))-c,f>0&&(l+=f*f),l}computePlaneDistances(t,r,n=[-0,-0]){let i=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY,o=this.center,s=this.halfAxes,u=s.getColumn(0,C3),c=s.getColumn(1,D3),l=s.getColumn(2,B3),f=b_t.copy(u).add(c).add(l).add(o),d=x_t.copy(f).subtract(t),p=r.dot(d);return i=Math.min(p,i),a=Math.max(p,a),f.copy(o).add(u).add(c).subtract(l),d.copy(f).subtract(t),p=r.dot(d),i=Math.min(p,i),a=Math.max(p,a),f.copy(o).add(u).subtract(c).add(l),d.copy(f).subtract(t),p=r.dot(d),i=Math.min(p,i),a=Math.max(p,a),f.copy(o).add(u).subtract(c).subtract(l),d.copy(f).subtract(t),p=r.dot(d),i=Math.min(p,i),a=Math.max(p,a),o.copy(f).subtract(u).add(c).add(l),d.copy(f).subtract(t),p=r.dot(d),i=Math.min(p,i),a=Math.max(p,a),o.copy(f).subtract(u).add(c).subtract(l),d.copy(f).subtract(t),p=r.dot(d),i=Math.min(p,i),a=Math.max(p,a),o.copy(f).subtract(u).subtract(c).add(l),d.copy(f).subtract(t),p=r.dot(d),i=Math.min(p,i),a=Math.max(p,a),o.copy(f).subtract(u).subtract(c).subtract(l),d.copy(f).subtract(t),p=r.dot(d),i=Math.min(p,i),a=Math.max(p,a),n[0]=i,n[1]=a,n}transform(t){this.center.transformAsPoint(t);let r=this.halfAxes.getColumn(0,C3);r.transformAsPoint(t);let n=this.halfAxes.getColumn(1,D3);n.transformAsPoint(t);let i=this.halfAxes.getColumn(2,B3);return i.transformAsPoint(t),this.halfAxes=new ir([...r,...n,...i]),this}getTransform(){throw new Error("not implemented")}};var fbe=new Z,dbe=new Z,Kc=class{constructor(t=[0,0,1],r=0){this.normal=new Z,this.distance=-0,this.fromNormalDistance(t,r)}fromNormalDistance(t,r){return li(Number.isFinite(r)),this.normal.from(t).normalize(),this.distance=r,this}fromPointNormal(t,r){t=fbe.from(t),this.normal.from(r).normalize();let n=-this.normal.dot(t);return this.distance=n,this}fromCoefficients(t,r,n,i){return this.normal.set(t,r,n),li(Qa(this.normal.len(),1)),this.distance=i,this}clone(){return new Kc(this.normal,this.distance)}equals(t){return Qa(this.distance,t.distance)&&Qa(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){let r=dbe.copy(this.normal).transformAsVector(t).normalize(),n=this.normal.scale(-this.distance).transform(t);return this.fromPointNormal(n,r)}projectPointOntoPlane(t,r=[0,0,0]){let n=fbe.from(t),i=this.getPointDistance(n),a=dbe.copy(this.normal).scale(i);return n.subtract(a).to(r)}};var pbe=[new Z([1,0,0]),new Z([0,1,0]),new Z([0,0,1])],hbe=new Z,y_t=new Z,Ro=class{constructor(t=[]){this.planes=t}fromBoundingSphere(t){this.planes.length=2*pbe.length;let r=t.center,n=t.radius,i=0;for(let a of pbe){let o=this.planes[i],s=this.planes[i+1];o||(o=this.planes[i]=new Kc),s||(s=this.planes[i+1]=new Kc);let u=hbe.copy(a).scale(-n).add(r);o.fromPointNormal(u,a);let c=hbe.copy(a).scale(n).add(r),l=y_t.copy(a).negate();s.fromPointNormal(c,l),i+=2}return this}computeVisibility(t){let r=fi.INSIDE;for(let n of this.planes)switch(t.intersectPlane(n)){case fi.OUTSIDE:return fi.OUTSIDE;case fi.INTERSECTING:r=fi.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(t,r){if(li(Number.isFinite(r),"parentPlaneMask is required."),r===Ro.MASK_OUTSIDE||r===Ro.MASK_INSIDE)return r;let n=Ro.MASK_INSIDE,i=this.planes;for(let a=0;a<this.planes.length;++a){let o=a<31?1<<a:0;if(a<31&&!(r&o))continue;let s=i[a],u=t.intersectPlane(s);if(u===fi.OUTSIDE)return Ro.MASK_OUTSIDE;u===fi.INTERSECTING&&(n|=o)}return n}};Ro.MASK_OUTSIDE=4294967295;Ro.MASK_INSIDE=0;Ro.MASK_INDETERMINATE=2147483647;var Crr=new Z,Drr=new Z,Brr=new Z,Frr=new Z,Orr=new Z;var w_t=new Z,A_t=new Z,E_t=new Z,T_t=new Z,S_t=new Z,k_t=new Z,C_t=new Z,Qm=new Z,D_t=new Z,B_t=new Z,F_t=new Z,O_t=new Z;function eL(e,t=new ua){if(!e||e.length===0)return t.fromCenterRadius([0,0,0],0);let r=C_t.copy(e[0]),n=w_t.copy(r),i=A_t.copy(r),a=E_t.copy(r),o=T_t.copy(r),s=S_t.copy(r),u=k_t.copy(r);for(let D of e){r.copy(D);let F=r.x,j=r.y,k=r.z;F<n.x&&n.copy(r),F>o.x&&o.copy(r),j<i.y&&i.copy(r),j>s.y&&s.copy(r),k<a.z&&a.copy(r),k>u.z&&u.copy(r)}let c=Qm.copy(o).subtract(n).magnitudeSquared(),l=Qm.copy(s).subtract(i).magnitudeSquared(),f=Qm.copy(u).subtract(a).magnitudeSquared(),d=n,p=o,h=c;l>h&&(h=l,d=i,p=s),f>h&&(h=f,d=a,p=u);let m=D_t;m.x=(d.x+p.x)*.5,m.y=(d.y+p.y)*.5,m.z=(d.z+p.z)*.5;let g=Qm.copy(p).subtract(m).magnitudeSquared(),x=Math.sqrt(g),y=B_t;y.x=n.x,y.y=i.y,y.z=a.z;let w=F_t;w.x=o.x,w.y=s.y,w.z=u.z;let T=O_t.copy(y).add(w).multiplyByScalar(.5),A=0;for(let D of e){r.copy(D);let F=Qm.copy(r).subtract(T).magnitude();F>A&&(A=F);let j=Qm.copy(r).subtract(m).magnitudeSquared();if(j>g){let k=Math.sqrt(j);x=(x+k)*.5,g=x*x;let I=k-x;m.x=(x*m.x+I*r.x)/k,m.y=(x*m.y+I*r.y)/k,m.z=(x*m.z+I*r.z)/k}}return x<A?(m.to(t.center),t.radius=x):(T.to(t.center),t.radius=A),t}var Ru=new ir,I_t=new ir,P_t=new ir,F3=new ir,mbe=new ir;function nL(e,t={}){let r=As.EPSILON20,n=10,i=0,a=0,o=I_t,s=P_t;o.identity(),s.copy(e);let u=r*R_t(s);for(;a<n&&j_t(s)>u;)M_t(s,F3),mbe.copy(F3).transpose(),s.multiplyRight(F3),s.multiplyLeft(mbe),o.multiplyRight(F3),++i>2&&(++a,i=0);return t.unitary=o.toTarget(t.unitary),t.diagonal=s.toTarget(t.diagonal),t}function R_t(e){let t=0;for(let r=0;r<9;++r){let n=e[r];t+=n*n}return Math.sqrt(t)}var tL=[1,0,0],rL=[2,2,1];function j_t(e){let t=0;for(let r=0;r<3;++r){let n=e[Ru.getElementIndex(rL[r],tL[r])];t+=2*n*n}return Math.sqrt(t)}function M_t(e,t){let r=As.EPSILON15,n=0,i=1;for(let c=0;c<3;++c){let l=Math.abs(e[Ru.getElementIndex(rL[c],tL[c])]);l>n&&(i=c,n=l)}let a=tL[i],o=rL[i],s=1,u=0;if(Math.abs(e[Ru.getElementIndex(o,a)])>r){let c=e[Ru.getElementIndex(o,o)],l=e[Ru.getElementIndex(a,a)],f=e[Ru.getElementIndex(o,a)],d=(c-l)/2/f,p;d<0?p=-1/(-d+Math.sqrt(1+d*d)):p=1/(d+Math.sqrt(1+d*d)),s=1/Math.sqrt(1+p*p),u=p*s}return ir.IDENTITY.to(t),t[Ru.getElementIndex(a,a)]=t[Ru.getElementIndex(o,o)]=s,t[Ru.getElementIndex(o,a)]=u,t[Ru.getElementIndex(a,o)]=-u,t}var jf=new Z,q_t=new Z,N_t=new Z,U_t=new Z,G_t=new Z,z_t=new ir,H_t={diagonal:new ir,unitary:new ir};function _y(e,t=new di){if(!e||e.length===0)return t.halfAxes=new ir([0,0,0,0,0,0,0,0,0]),t.center=new Z,t;let r=e.length,n=new Z(0,0,0);for(let k of e)n.add(k);let i=1/r;n.multiplyByScalar(i);let a=0,o=0,s=0,u=0,c=0,l=0;for(let k of e){let I=jf.copy(k).subtract(n);a+=I.x*I.x,o+=I.x*I.y,s+=I.x*I.z,u+=I.y*I.y,c+=I.y*I.z,l+=I.z*I.z}a*=i,o*=i,s*=i,u*=i,c*=i,l*=i;let f=z_t;f[0]=a,f[1]=o,f[2]=s,f[3]=o,f[4]=u,f[5]=c,f[6]=s,f[7]=c,f[8]=l;let{unitary:d}=nL(f,H_t),p=t.halfAxes.copy(d),h=p.getColumn(0,N_t),m=p.getColumn(1,U_t),g=p.getColumn(2,G_t),x=-Number.MAX_VALUE,y=-Number.MAX_VALUE,w=-Number.MAX_VALUE,T=Number.MAX_VALUE,A=Number.MAX_VALUE,D=Number.MAX_VALUE;for(let k of e)jf.copy(k),x=Math.max(jf.dot(h),x),y=Math.max(jf.dot(m),y),w=Math.max(jf.dot(g),w),T=Math.min(jf.dot(h),T),A=Math.min(jf.dot(m),A),D=Math.min(jf.dot(g),D);h=h.multiplyByScalar(.5*(T+x)),m=m.multiplyByScalar(.5*(A+y)),g=g.multiplyByScalar(.5*(D+w)),t.center.copy(h).add(m).add(g);let F=q_t.set(x-T,y-A,w-D).multiplyByScalar(.5),j=new ir([F[0],0,0,0,F[1],0,0,0,F[2]]);return t.halfAxes.multiplyRight(j),t}function xbe(e){return e!=null}var lnr=new Z,V_t=new Z,$_t=new Z,W_t=new Z,Sp=new Z,gbe=new Z,vbe=new Z,bbe=new Z;function wy(e,t,r){if(_t(e,"3D Tile: boundingVolume must be defined"),e.box)return ybe(e.box,t,r);if(e.region)return J_t(e.region);if(e.sphere)return K_t(e.sphere,t,r);throw new Error("3D Tile: boundingVolume must contain a sphere, region, or box")}function ybe(e,t,r){let n=new Z(e[0],e[1],e[2]);t.transform(n,n);let i=[];if(e.length===10){let c=e.slice(3,6),l=new Po;l.fromArray(e,6);let f=new Z([1,0,0]),d=new Z([0,1,0]),p=new Z([0,0,1]);f.transformByQuaternion(l),f.scale(c[0]),d.transformByQuaternion(l),d.scale(c[1]),p.transformByQuaternion(l),p.scale(c[2]),i=[...f.toArray(),...d.toArray(),...p.toArray()]}else i=[...e.slice(3,6),...e.slice(6,9),...e.slice(9,12)];let a=t.transformAsVector(i.slice(0,3)),o=t.transformAsVector(i.slice(3,6)),s=t.transformAsVector(i.slice(6,9)),u=new ir([a[0],a[1],a[2],o[0],o[1],o[2],s[0],s[1],s[2]]);return xbe(r)?(r.center=n,r.halfAxes=u,r):new di(n,u)}function K_t(e,t,r){let n=new Z(e[0],e[1],e[2]);t.transform(n,n);let i=t.getScale(V_t),a=Math.max(Math.max(i[0],i[1]),i[2]),o=e[3]*a;return xbe(r)?(r.center=n,r.radius=o,r):new ua(n,o)}function J_t(e){let[t,r,n,i,a,o]=e,s=Ot.WGS84.cartographicToCartesian([Vc(t),Vc(i),a],$_t),u=Ot.WGS84.cartographicToCartesian([Vc(n),Vc(r),o],W_t),c=new Z().addVectors(s,u).multiplyByScalar(.5);return Ot.WGS84.cartesianToCartographic(c,Sp),Ot.WGS84.cartographicToCartesian([Vc(n),Sp[1],Sp[2]],gbe),Ot.WGS84.cartographicToCartesian([Sp[0],Vc(i),Sp[2]],vbe),Ot.WGS84.cartographicToCartesian([Sp[0],Sp[1],o],bbe),ybe([...c,...gbe.subtract(c),...vbe.subtract(c),...bbe.subtract(c)],new gr)}var Zm="4.4.0-alpha.13";var pi={COMPOSITE:"cmpt",POINT_CLOUD:"pnts",BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",GEOMETRY:"geom",VECTOR:"vect",GLTF:"glTF"},mnr=Object.keys(pi),Mf={BATCHED_MODEL:[98,51,100,109],INSTANCED_MODEL:[105,51,100,109],POINT_CLOUD:[112,110,116,115],COMPOSITE:[99,109,112,116]};function iL(e,t,r){_t(e instanceof ArrayBuffer);let n=new TextDecoder("utf8"),i=new Uint8Array(e,t,r);return n.decode(i)}function _be(e,t=0){let r=new DataView(e);return`${String.fromCharCode(r.getUint8(t+0))}${String.fromCharCode(r.getUint8(t+1))}${String.fromCharCode(r.getUint8(t+2))}${String.fromCharCode(r.getUint8(t+3))}`}var X_t="1.5.6",Y_t="1.4.1",aL=`https://www.gstatic.com/draco/versioned/decoders/${X_t}`,Ur={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},ju={[Ur.DECODER]:`${aL}/${Ur.DECODER}`,[Ur.DECODER_WASM]:`${aL}/${Ur.DECODER_WASM}`,[Ur.FALLBACK_DECODER]:`${aL}/${Ur.FALLBACK_DECODER}`,[Ur.ENCODER]:`https://raw.githubusercontent.com/google/draco/${Y_t}/javascript/${Ur.ENCODER}`},oL;async function Abe(e={},t){let r=e.modules||{};return r.draco3d?oL||(oL=r.draco3d.createDecoderModule({}).then(n=>({draco:n}))):oL||(oL=Q_t(e,t)),await oL}function wbe(e,t){if(e&&typeof e=="object"){if(e.default)return e.default;if(e[t])return e[t]}return e}async function Q_t(e,t){let r,n;switch(t){case"js":r=await _o(ju[Ur.FALLBACK_DECODER],"draco",e,Ur.FALLBACK_DECODER);break;case"wasm":default:try{[r,n]=await Promise.all([await _o(ju[Ur.DECODER],"draco",e,Ur.DECODER),await _o(ju[Ur.DECODER_WASM],"draco",e,Ur.DECODER_WASM)])}catch{r=null,n=null}}return r=wbe(r,"DracoDecoderModule"),r=r||globalThis.DracoDecoderModule,!r&&!Rn&&([r,n]=await Promise.all([await _o(ju[Ur.DECODER],"draco",{...e,useLocalLibraries:!0},Ur.DECODER),await _o(ju[Ur.DECODER_WASM],"draco",{...e,useLocalLibraries:!0},Ur.DECODER_WASM)]),r=wbe(r,"DracoDecoderModule"),r=r||globalThis.DracoDecoderModule),await Z_t(r,n)}function Z_t(e,t){if(typeof e!="function")throw new Error("DracoDecoderModule could not be loaded");let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e({...r,onModuleLoaded:i=>n({draco:i})})})}var O3="4.4.0-alpha.13";var I3={id:"draco-writer",name:"Draco compressed geometry writer",module:"draco",version:O3,worker:!0,options:{draco:{},source:null}};function Tbe(e,t,r){let n=Sbe(t.metadata),i=[],a=e2t(t.attributes);for(let o in e){let s=e[o],u=Ebe(o,s,a[o]);i.push(u)}if(r){let o=Ebe("indices",r);i.push(o)}return{fields:i,metadata:n}}function e2t(e){let t={};for(let r in e){let n=e[r];t[n.name||"undefined"]=n}return t}function Ebe(e,t,r){let n=r?Sbe(r.metadata):void 0;return gM(e,t,n)}function Sbe(e){Object.entries(e);let t={};for(let r in e)t[`${r}.string`]=JSON.stringify(e[r]);return t}var kbe={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},t2t={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},r2t=4,Ay=class{draco;decoder;metadataQuerier;constructor(t){this.draco=t,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(t,r={}){let n=new this.draco.DecoderBuffer;n.Init(new Int8Array(t),t.byteLength),this._disableAttributeTransforms(r);let i=this.decoder.GetEncodedGeometryType(n),a=i===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(i){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(n,a);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(n,a);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!a.ptr){let d=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(d)}let s=this._getDracoLoaderData(a,i,r),u=this._getMeshData(a,s,r),c=mM(u.attributes),l=Tbe(u.attributes,s,u.indices);return{loader:"draco",loaderData:s,header:{vertexCount:a.num_points(),boundingBox:c},...u,schema:l}}finally{this.draco.destroy(n),a&&this.draco.destroy(a)}}_getDracoLoaderData(t,r,n){let i=this._getTopLevelMetadata(t),a=this._getDracoAttributes(t,n);return{geometry_type:r,num_attributes:t.num_attributes(),num_points:t.num_points(),num_faces:t instanceof this.draco.Mesh?t.num_faces():0,metadata:i,attributes:a}}_getDracoAttributes(t,r){let n={};for(let i=0;i<t.num_attributes();i++){let a=this.decoder.GetAttribute(t,i),o=this._getAttributeMetadata(t,i);n[a.unique_id()]={unique_id:a.unique_id(),attribute_type:a.attribute_type(),data_type:a.data_type(),num_components:a.num_components(),byte_offset:a.byte_offset(),byte_stride:a.byte_stride(),normalized:a.normalized(),attribute_index:i,metadata:o};let s=this._getQuantizationTransform(a,r);s&&(n[a.unique_id()].quantization_transform=s);let u=this._getOctahedronTransform(a,r);u&&(n[a.unique_id()].octahedron_transform=u)}return n}_getMeshData(t,r,n){let i=this._getMeshAttributes(r,t,n);if(!i.POSITION)throw new Error("DRACO: No position attribute found.");if(t instanceof this.draco.Mesh)switch(n.topology){case"triangle-strip":return{topology:"triangle-strip",mode:4,attributes:i,indices:{value:this._getTriangleStripIndices(t),size:1}};case"triangle-list":default:return{topology:"triangle-list",mode:5,attributes:i,indices:{value:this._getTriangleListIndices(t),size:1}}}return{topology:"point-list",mode:0,attributes:i}}_getMeshAttributes(t,r,n){let i={};for(let a of Object.values(t.attributes)){let o=this._deduceAttributeName(a,n);a.name=o;let s=this._getAttributeValues(r,a);if(s){let{value:u,size:c}=s;i[o]={value:u,size:c,byteOffset:a.byte_offset,byteStride:a.byte_stride,normalized:a.normalized}}}return i}_getTriangleListIndices(t){let n=t.num_faces()*3,i=n*r2t,a=this.draco._malloc(i);try{return this.decoder.GetTrianglesUInt32Array(t,i,a),new Uint32Array(this.draco.HEAPF32.buffer,a,n).slice()}finally{this.draco._free(a)}}_getTriangleStripIndices(t){let r=new this.draco.DracoInt32Array;try{return this.decoder.GetTriangleStripsFromMesh(t,r),a2t(r)}finally{this.draco.destroy(r)}}_getAttributeValues(t,r){let n=t2t[r.data_type];if(!n)return console.warn(`DRACO: Unsupported attribute type ${r.data_type}`),null;let i=r.num_components,o=t.num_points()*i,s=o*n.BYTES_PER_ELEMENT,u=n2t(this.draco,n),c,l=this.draco._malloc(s);try{let f=this.decoder.GetAttribute(t,r.attribute_index);this.decoder.GetAttributeDataArrayForAllPoints(t,f,u,s,l),c=new n(this.draco.HEAPF32.buffer,l,o).slice()}finally{this.draco._free(l)}return{value:c,size:i}}_deduceAttributeName(t,r){let n=t.unique_id;for(let[o,s]of Object.entries(r.extraAttributes||{}))if(s===n)return o;let i=t.attribute_type;for(let o in kbe)if(this.draco[o]===i)return kbe[o];let a=r.attributeNameEntry||"name";return t.metadata[a]?t.metadata[a].string:`CUSTOM_ATTRIBUTE_${n}`}_getTopLevelMetadata(t){let r=this.decoder.GetMetadata(t);return this._getDracoMetadata(r)}_getAttributeMetadata(t,r){let n=this.decoder.GetAttributeMetadata(t,r);return this._getDracoMetadata(n)}_getDracoMetadata(t){if(!t||!t.ptr)return{};let r={},n=this.metadataQuerier.NumEntries(t);for(let i=0;i<n;i++){let a=this.metadataQuerier.GetEntryName(t,i);r[a]=this._getDracoMetadataField(t,a)}return r}_getDracoMetadataField(t,r){let n=new this.draco.DracoInt32Array;try{this.metadataQuerier.GetIntEntryArray(t,r,n);let i=i2t(n);return{int:this.metadataQuerier.GetIntEntry(t,r),string:this.metadataQuerier.GetStringEntry(t,r),double:this.metadataQuerier.GetDoubleEntry(t,r),intArray:i}}finally{this.draco.destroy(n)}}_disableAttributeTransforms(t){let{quantizedAttributes:r=[],octahedronAttributes:n=[]}=t,i=[...r,...n];for(let a of i)this.decoder.SkipAttributeTransform(this.draco[a])}_getQuantizationTransform(t,r){let{quantizedAttributes:n=[]}=r,i=t.attribute_type();if(n.map(o=>this.decoder[o]).includes(i)){let o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(t))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(s=>o.min_value(s))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(t,r){let{octahedronAttributes:n=[]}=r,i=t.attribute_type();if(n.map(o=>this.decoder[o]).includes(i)){let o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(t))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}};function n2t(e,t){switch(t){case Float32Array:return e.DT_FLOAT32;case Int8Array:return e.DT_INT8;case Int16Array:return e.DT_INT16;case Int32Array:return e.DT_INT32;case Uint8Array:return e.DT_UINT8;case Uint16Array:return e.DT_UINT16;case Uint32Array:return e.DT_UINT32;default:return e.DT_INVALID}}function i2t(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}function a2t(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}var Cbe={dataType:null,batchType:null,name:"Draco",id:"draco",module:"draco",version:O3,worker:!0,extensions:["drc"],mimeTypes:["application/octet-stream"],binary:!0,tests:["DRACO"],options:{draco:{decoderType:typeof WebAssembly=="object"?"wasm":"js",libraryPath:"libs/",extraAttributes:{},attributeNameEntry:void 0}}},kp={...Cbe,parse:o2t};async function o2t(e,t){var i;let{draco:r}=await Abe(t==null?void 0:t.core,((i=t==null?void 0:t.draco)==null?void 0:i.decoderType)||"wasm"),n=new Ay(r);try{return n.parseSync(e,t==null?void 0:t.draco)}finally{n.destroy()}}var s2t={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},Sn={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130},mt={...s2t,...Sn};var sL={[Sn.DOUBLE]:Float64Array,[Sn.FLOAT]:Float32Array,[Sn.UNSIGNED_SHORT]:Uint16Array,[Sn.UNSIGNED_INT]:Uint32Array,[Sn.UNSIGNED_BYTE]:Uint8Array,[Sn.BYTE]:Int8Array,[Sn.SHORT]:Int16Array,[Sn.INT]:Int32Array},u2t={DOUBLE:Sn.DOUBLE,FLOAT:Sn.FLOAT,UNSIGNED_SHORT:Sn.UNSIGNED_SHORT,UNSIGNED_INT:Sn.UNSIGNED_INT,UNSIGNED_BYTE:Sn.UNSIGNED_BYTE,BYTE:Sn.BYTE,SHORT:Sn.SHORT,INT:Sn.INT},uL="Failed to convert GL type",Xn=class{static fromTypedArray(t){t=ArrayBuffer.isView(t)?t.constructor:t;for(let r in sL)if(sL[r]===t)return r;throw new Error(uL)}static fromName(t){let r=u2t[t];if(!r)throw new Error(uL);return r}static getArrayType(t){switch(t){case Sn.UNSIGNED_SHORT_5_6_5:case Sn.UNSIGNED_SHORT_4_4_4_4:case Sn.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;default:let r=sL[t];if(!r)throw new Error(uL);return r}}static getByteSize(t){return Xn.getArrayType(t).BYTES_PER_ELEMENT}static validate(t){return Boolean(Xn.getArrayType(t))}static createTypedArray(t,r,n=0,i){i===void 0&&(i=(r.byteLength-n)/Xn.getByteSize(t));let a=r instanceof ArrayBuffer?r:r.buffer,o=Xn.getArrayType(t);return new o(a,n,i)}};function Dbe(e,t){if(!e)throw new Error(`math.gl assertion failed. ${t}`)}function cL(e,t=[0,0,0]){let r=e>>11&31,n=e>>5&63,i=e&31;return t[0]=r<<3,t[1]=n<<2,t[2]=i<<3,t}var Vnr=1/256;var $nr=new Ap,Wnr=new Z,Knr=new Ap,Jnr=new Ap,Xnr=new Uint8Array(1);function Bbe(e,t=255){return yM(e,0,t)/t*2-1}function Fbe(e){return e<0?-1:1}function Obe(e,t,r,n){if(Dbe(n),e<0||e>r||t<0||t>r)throw new Error(`x and y must be unsigned normalized integers between 0 and ${r}`);if(n.x=Bbe(e,r),n.y=Bbe(t,r),n.z=1-(Math.abs(n.x)+Math.abs(n.y)),n.z<0){let i=n.x;n.x=(1-Math.abs(n.y))*Fbe(i),n.y=(1-Math.abs(i))*Fbe(n.y)}return n.normalize()}function lL(e,t,r){return Obe(e,t,255,r)}function P3(e){return(e%1+1)%1}var Jc=class{json;buffer;featuresLength=0;_cachedTypedArrays={};constructor(t,r){this.json=t,this.buffer=r}getExtension(t){return this.json.extensions&&this.json.extensions[t]}hasProperty(t){return Boolean(this.json[t])}getGlobalProperty(t,r=mt.UNSIGNED_INT,n=1){let i=this.json[t];return i&&Number.isFinite(i.byteOffset)?this._getTypedArrayFromBinary(t,r,n,1,i.byteOffset):i}getPropertyArray(t,r,n){let i=this.json[t];return i&&Number.isFinite(i.byteOffset)?("componentType"in i&&(r=Xn.fromName(i.componentType)),this._getTypedArrayFromBinary(t,r,n,this.featuresLength,i.byteOffset)):this._getTypedArrayFromArray(t,r,i)}getProperty(t,r,n,i,a){let o=this.json[t];if(!o)return o;let s=this.getPropertyArray(t,r,n);if(n===1)return s[i];for(let u=0;u<n;++u)a[u]=s[n*i+u];return a}_getTypedArrayFromBinary(t,r,n,i,a){let o=this._cachedTypedArrays,s=o[t];return s||(s=Xn.createTypedArray(r,this.buffer.buffer,this.buffer.byteOffset+a,i*n),o[t]=s),s}_getTypedArrayFromArray(t,r,n){let i=this._cachedTypedArrays,a=i[t];if(!a){if(ArrayBuffer.isView(n)){let o=n.byteOffset,u=n.byteLength/Xn.getByteSize(r);a=Xn.createTypedArray(r,n.buffer,o,u)}else if(n instanceof ArrayBuffer)a=Xn.createTypedArray(r,n);else{let o=Xn.getArrayType(r);a=new o(n)}i[t]=a}return a}};var c2t={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},l2t={SCALAR:(e,t)=>e[t],VEC2:(e,t)=>[e[2*t+0],e[2*t+1]],VEC3:(e,t)=>[e[3*t+0],e[3*t+1],e[3*t+2]],VEC4:(e,t)=>[e[4*t+0],e[4*t+1],e[4*t+2],e[4*t+3]],MAT2:(e,t)=>[e[4*t+0],e[4*t+1],e[4*t+2],e[4*t+3]],MAT3:(e,t)=>[e[9*t+0],e[9*t+1],e[9*t+2],e[9*t+3],e[9*t+4],e[9*t+5],e[9*t+6],e[9*t+7],e[9*t+8]],MAT4:(e,t)=>[e[16*t+0],e[16*t+1],e[16*t+2],e[16*t+3],e[16*t+4],e[16*t+5],e[16*t+6],e[16*t+7],e[16*t+8],e[16*t+9],e[16*t+10],e[16*t+11],e[16*t+12],e[16*t+13],e[16*t+14],e[16*t+15]]},f2t={SCALAR:(e,t,r)=>{t[r]=e},VEC2:(e,t,r)=>{t[2*r+0]=e[0],t[2*r+1]=e[1]},VEC3:(e,t,r)=>{t[3*r+0]=e[0],t[3*r+1]=e[1],t[3*r+2]=e[2]},VEC4:(e,t,r)=>{t[4*r+0]=e[0],t[4*r+1]=e[1],t[4*r+2]=e[2],t[4*r+3]=e[3]},MAT2:(e,t,r)=>{t[4*r+0]=e[0],t[4*r+1]=e[1],t[4*r+2]=e[2],t[4*r+3]=e[3]},MAT3:(e,t,r)=>{t[9*r+0]=e[0],t[9*r+1]=e[1],t[9*r+2]=e[2],t[9*r+3]=e[3],t[9*r+4]=e[4],t[9*r+5]=e[5],t[9*r+6]=e[6],t[9*r+7]=e[7],t[9*r+8]=e[8],t[9*r+9]=e[9]},MAT4:(e,t,r)=>{t[16*r+0]=e[0],t[16*r+1]=e[1],t[16*r+2]=e[2],t[16*r+3]=e[3],t[16*r+4]=e[4],t[16*r+5]=e[5],t[16*r+6]=e[6],t[16*r+7]=e[7],t[16*r+8]=e[8],t[16*r+9]=e[9],t[16*r+10]=e[10],t[16*r+11]=e[11],t[16*r+12]=e[12],t[16*r+13]=e[13],t[16*r+14]=e[14],t[16*r+15]=e[15]}};function Ibe(e,t,r,n){let{componentType:i}=e;_t(e.componentType);let a=typeof i=="string"?Xn.fromName(i):i,o=c2t[e.type],s=l2t[e.type],u=f2t[e.type];return r+=e.byteOffset,{values:Xn.createTypedArray(a,t,r,o*n),type:a,size:o,unpacker:s,packer:u}}var Mu=e=>e!==void 0;function Pbe(e,t,r){if(!t)return null;let n=e.getExtension("3DTILES_batch_table_hierarchy"),i=t.HIERARCHY;return i&&(console.warn("3D Tile Parser: HIERARCHY is deprecated. Use 3DTILES_batch_table_hierarchy."),t.extensions=t.extensions||{},t.extensions["3DTILES_batch_table_hierarchy"]=i,n=i),n?d2t(n,r):null}function d2t(e,t){let r,n,i,a=e.instancesLength,o=e.classes,s=e.classIds,u=e.parentCounts,c=e.parentIds,l=a;Mu(s.byteOffset)&&(s.componentType=defaultValue(s.componentType,GL.UNSIGNED_SHORT),s.type=AttributeType.SCALAR,i=getBinaryAccessor(s),s=i.createArrayBufferView(t.buffer,t.byteOffset+s.byteOffset,a));let f;if(Mu(u))for(Mu(u.byteOffset)&&(u.componentType=defaultValue(u.componentType,GL.UNSIGNED_SHORT),u.type=AttributeType.SCALAR,i=getBinaryAccessor(u),u=i.createArrayBufferView(t.buffer,t.byteOffset+u.byteOffset,a)),f=new Uint16Array(a),l=0,r=0;r<a;++r)f[r]=l,l+=u[r];Mu(c)&&Mu(c.byteOffset)&&(c.componentType=defaultValue(c.componentType,GL.UNSIGNED_SHORT),c.type=AttributeType.SCALAR,i=getBinaryAccessor(c),c=i.createArrayBufferView(t.buffer,t.byteOffset+c.byteOffset,l));let d=o.length;for(r=0;r<d;++r){let g=o[r].length,x=o[r].instances,y=getBinaryProperties(g,x,t);o[r].instances=combine(y,x)}let p=new Array(d).fill(0),h=new Uint16Array(a);for(r=0;r<a;++r)n=s[r],h[r]=p[n],++p[n];let m={classes:o,classIds:s,classIndexes:h,parentCounts:u,parentIndexes:f,parentIds:c};return m2t(m),m}function eg(e,t,r){if(!e)return;let n=e.parentCounts;return e.parentIds?r(e,t):n>0?p2t(e,t,r):h2t(e,t,r)}function p2t(e,t,r){let n=e.classIds,i=e.parentCounts,a=e.parentIds,o=e.parentIndexes,s=n.length,u=scratchVisited;u.length=Math.max(u.length,s);let c=++marker,l=scratchStack;for(l.length=0,l.push(t);l.length>0;){if(t=l.pop(),u[t]===c)continue;u[t]=c;let f=r(e,t);if(Mu(f))return f;let d=i[t],p=o[t];for(let h=0;h<d;++h){let m=a[p+h];m!==t&&l.push(m)}}return null}function h2t(e,t,r){let n=!0;for(;n;){let i=r(e,t);if(Mu(i))return i;let a=e.parentIds[t];n=a!==t,t=a}throw new Error("traverseHierarchySingleParent")}function m2t(e){let t=[],n=e.classIds.length;for(let i=0;i<n;++i)Rbe(e,i,stack)}function Rbe(e,t,r){let n=e.parentCounts,i=e.parentIds,a=e.parentIndexes,s=e.classIds.length;if(!Mu(i))return;assert(t<s,`Parent index ${t} exceeds the total number of instances: ${s}`),assert(r.indexOf(t)===-1,"Circular dependency detected in the batch table hierarchy."),r.push(t);let u=Mu(n)?n[t]:1,c=Mu(n)?a[t]:t;for(let l=0;l<u;++l){let f=i[c+l];f!==t&&Rbe(e,f,r)}r.pop(t)}function Ba(e){return e!=null}var R3=(e,t)=>e,g2t={HIERARCHY:!0,extensions:!0,extras:!0},Cp=class{json;binary;featureCount;_extensions;_properties;_binaryProperties;_hierarchy;constructor(t,r,n,i={}){var a;_t(n>=0),this.json=t||{},this.binary=r,this.featureCount=n,this._extensions=((a=this.json)==null?void 0:a.extensions)||{},this._properties={};for(let o in this.json)g2t[o]||(this._properties[o]=this.json[o]);this._binaryProperties=this._initializeBinaryProperties(),i["3DTILES_batch_table_hierarchy"]&&(this._hierarchy=Pbe(this,this.json,this.binary))}getExtension(t){return this.json&&this.json.extensions&&this.json.extensions[t]}memorySizeInBytes(){return 0}isClass(t,r){if(this._checkBatchId(t),_t(typeof r=="string",r),this._hierarchy){let n=eg(this._hierarchy,t,(i,a)=>{let o=i.classIds[a];return i.classes[o].name===r});return Ba(n)}return!1}isExactClass(t,r){return _t(typeof r=="string",r),this.getExactClassName(t)===r}getExactClassName(t){if(this._checkBatchId(t),this._hierarchy){let r=this._hierarchy.classIds[t];return this._hierarchy.classes[r].name}}hasProperty(t,r){return this._checkBatchId(t),_t(typeof r=="string",r),Ba(this._properties[r])||this._hasPropertyInHierarchy(t,r)}getPropertyNames(t,r){this._checkBatchId(t),r=Ba(r)?r:[],r.length=0;let n=Object.keys(this._properties);return r.push(...n),this._hierarchy&&this._getPropertyNamesInHierarchy(t,r),r}getProperty(t,r){if(this._checkBatchId(t),_t(typeof r=="string",r),this._binaryProperties){let i=this._binaryProperties[r];if(Ba(i))return this._getBinaryProperty(i,t)}let n=this._properties[r];if(Ba(n))return R3(n[t],!0);if(this._hierarchy){let i=this._getHierarchyProperty(t,r);if(Ba(i))return i}}setProperty(t,r,n){let i=this.featureCount;if(this._checkBatchId(t),_t(typeof r=="string",r),this._binaryProperties){let o=this._binaryProperties[r];if(o){this._setBinaryProperty(o,t,n);return}}if(this._hierarchy&&this._setHierarchyProperty(this,t,r,n))return;let a=this._properties[r];Ba(a)||(this._properties[r]=new Array(i),a=this._properties[r]),a[t]=R3(n,!0)}_checkBatchId(t){if(!(t>=0&&t<this.featureCount))throw new Error("batchId not in range [0, featureCount - 1].")}_getBinaryProperty(t,r){return t.unpack(t.typedArray,r)}_setBinaryProperty(t,r,n){t.pack(n,t.typedArray,r)}_initializeBinaryProperties(){let t=null;for(let r in this._properties){let n=this._properties[r],i=this._initializeBinaryProperty(r,n);i&&(t=t||{},t[r]=i)}return t}_initializeBinaryProperty(t,r){if("byteOffset"in r){let n=r;_t(this.binary,`Property ${t} requires a batch table binary.`),_t(n.type,`Property ${t} requires a type.`);let i=Ibe(n,this.binary.buffer,this.binary.byteOffset|0,this.featureCount);return{typedArray:i.values,componentCount:i.size,unpack:i.unpacker,pack:i.packer}}return null}_hasPropertyInHierarchy(t,r){if(!this._hierarchy)return!1;let n=eg(this._hierarchy,t,(i,a)=>{let o=i.classIds[a],s=i.classes[o].instances;return Ba(s[r])});return Ba(n)}_getPropertyNamesInHierarchy(t,r){eg(this._hierarchy,t,(n,i)=>{let a=n.classIds[i],o=n.classes[a].instances;for(let s in o)o.hasOwnProperty(s)&&r.indexOf(s)===-1&&r.push(s)})}_getHierarchyProperty(t,r){return eg(this._hierarchy,t,(n,i)=>{let a=n.classIds[i],o=n.classes[a],s=n.classIndexes[i],u=o.instances[r];return Ba(u)?Ba(u.typedArray)?this._getBinaryProperty(u,s):R3(u[s],!0):null})}_setHierarchyProperty(t,r,n,i){let a=eg(this._hierarchy,r,(o,s)=>{let u=o.classIds[s],c=o.classes[u],l=o.classIndexes[s],f=c.instances[n];return Ba(f)?(_t(s===r,`Inherited property "${n}" is read-only.`),Ba(f.typedArray)?this._setBinaryProperty(f,l,i):f[l]=R3(i,!0),!0):!1});return Ba(a)}};var fL=4;function Lf(e,t,r=0){let n=new DataView(t);if(e.magic=n.getUint32(r,!0),r+=fL,e.version=n.getUint32(r,!0),r+=fL,e.byteLength=n.getUint32(r,!0),r+=fL,e.version!==1)throw new Error(`3D Tile Version ${e.version} not supported`);return r}var tg=4,jbe="b3dm tile in legacy format.";function rg(e,t,r){let n=new DataView(t),i;e.header=e.header||{};let a=n.getUint32(r,!0);r+=tg;let o=n.getUint32(r,!0);r+=tg;let s=n.getUint32(r,!0);r+=tg;let u=n.getUint32(r,!0);return r+=tg,s>=570425344?(r-=tg*2,i=a,s=o,u=0,a=0,o=0,console.warn(jbe)):u>=570425344&&(r-=tg,i=s,s=a,u=o,a=0,o=0,console.warn(jbe)),e.header.featureTableJsonByteLength=a,e.header.featureTableBinaryByteLength=o,e.header.batchTableJsonByteLength=s,e.header.batchTableBinaryByteLength=u,e.header.batchLength=i,r}function ng(e,t,r,n){return r=v2t(e,t,r,n),r=b2t(e,t,r,n),r}function v2t(e,t,r,n){let{featureTableJsonByteLength:i,featureTableBinaryByteLength:a,batchLength:o}=e.header||{};if(e.featureTableJson={BATCH_LENGTH:o||0},i&&i>0){let s=iL(t,r,i);e.featureTableJson=JSON.parse(s)}return r+=i||0,e.featureTableBinary=new Uint8Array(t,r,a),r+=a||0,r}function b2t(e,t,r,n){let{batchTableJsonByteLength:i,batchTableBinaryByteLength:a}=e.header||{};if(i&&i>0){let o=iL(t,r,i);e.batchTableJson=JSON.parse(o),r+=i,a&&a>0&&(e.batchTableBinary=new Uint8Array(t,r,a),e.batchTableBinary=new Uint8Array(e.batchTableBinary),r+=a)}return r}function dL(e,t,r){if(!t&&(!e||!e.batchIds||!r))return null;let{batchIds:n,isRGB565:i,pointCount:a=0}=e;if(n&&r){let o=new Uint8ClampedArray(a*3);for(let s=0;s<a;s++){let u=n[s],l=r.getProperty(u,"dimensions").map(f=>f*255);o[s*3]=l[0],o[s*3+1]=l[1],o[s*3+2]=l[2]}return{type:mt.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}if(t&&i){let o=new Uint8ClampedArray(a*3);for(let s=0;s<a;s++){let u=cL(t[s]);o[s*3]=u[0],o[s*3+1]=u[1],o[s*3+2]=u[2]}return{type:mt.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}return t&&t.length===a*3?{type:mt.UNSIGNED_BYTE,value:t,size:3,normalized:!0}:{type:mt.UNSIGNED_BYTE,value:t||new Uint8ClampedArray,size:4,normalized:!0}}var Mbe=new Z;function Lbe(e,t){if(!t)return null;if(e.isOctEncoded16P){let r=new Float32Array((e.pointsLength||0)*3);for(let n=0;n<(e.pointsLength||0);n++)lL(t[n*2],t[n*2+1],Mbe),Mbe.toArray(r,n*3);return{type:mt.FLOAT,size:2,value:r}}return{type:mt.FLOAT,size:2,value:t}}function qbe(e,t,r){return e.isQuantized?r["3d-tiles"]&&r["3d-tiles"].decodeQuantizedPositions?(e.isQuantized=!1,x2t(e,t)):{type:mt.UNSIGNED_SHORT,value:t,size:3,normalized:!0}:t}function x2t(e,t){let r=new Z,n=new Float32Array(e.pointCount*3);for(let i=0;i<e.pointCount;i++)r.set(t[i*3],t[i*3+1],t[i*3+2]).scale(1/e.quantizedRange).multiply(e.quantizedVolumeScale).add(e.quantizedVolumeOffset).toArray(n,i*3);return n}async function Nbe(e,t,r,n,i){r=Lf(e,t,r),r=rg(e,t,r),r=ng(e,t,r,n),y2t(e);let{featureTable:a,batchTable:o}=_2t(e);return await S2t(e,a,o,n,i),w2t(e,a,n),A2t(e,a,o),E2t(e,a),r}function y2t(e){e.attributes={positions:null,colors:null,normals:null,batchIds:null},e.isQuantized=!1,e.isTranslucent=!1,e.isRGB565=!1,e.isOctEncoded16P=!1}function _2t(e){let t=new Jc(e.featureTableJson,e.featureTableBinary),r=t.getGlobalProperty("POINTS_LENGTH");if(!Number.isFinite(r))throw new Error("POINTS_LENGTH must be defined");t.featuresLength=r,e.featuresLength=r,e.pointsLength=r,e.pointCount=r,e.rtcCenter=t.getGlobalProperty("RTC_CENTER",mt.FLOAT,3);let n=T2t(e,t);return{featureTable:t,batchTable:n}}function w2t(e,t,r){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.positions){if(t.hasProperty("POSITION"))e.attributes.positions=t.getPropertyArray("POSITION",mt.FLOAT,3);else if(t.hasProperty("POSITION_QUANTIZED")){let n=t.getPropertyArray("POSITION_QUANTIZED",mt.UNSIGNED_SHORT,3);if(e.isQuantized=!0,e.quantizedRange=(1<<16)-1,e.quantizedVolumeScale=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",mt.FLOAT,3),!e.quantizedVolumeScale)throw new Error("QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");if(e.quantizedVolumeOffset=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",mt.FLOAT,3),!e.quantizedVolumeOffset)throw new Error("QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");e.attributes.positions=qbe(e,n,r)}}if(!e.attributes.positions)throw new Error("Either POSITION or POSITION_QUANTIZED must be defined.")}function A2t(e,t,r){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.colors){let n=null;t.hasProperty("RGBA")?(n=t.getPropertyArray("RGBA",mt.UNSIGNED_BYTE,4),e.isTranslucent=!0):t.hasProperty("RGB")?n=t.getPropertyArray("RGB",mt.UNSIGNED_BYTE,3):t.hasProperty("RGB565")&&(n=t.getPropertyArray("RGB565",mt.UNSIGNED_SHORT,1),e.isRGB565=!0),e.attributes.colors=dL(e,n,r)}t.hasProperty("CONSTANT_RGBA")&&(e.constantRGBA=t.getGlobalProperty("CONSTANT_RGBA",mt.UNSIGNED_BYTE,4))}function E2t(e,t){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.normals){let r=null;t.hasProperty("NORMAL")?r=t.getPropertyArray("NORMAL",mt.FLOAT,3):t.hasProperty("NORMAL_OCT16P")&&(r=t.getPropertyArray("NORMAL_OCT16P",mt.UNSIGNED_BYTE,2),e.isOctEncoded16P=!0),e.attributes.normals=Lbe(e,r)}}function T2t(e,t){let r=null;if(!e.batchIds&&t.hasProperty("BATCH_ID")&&(e.batchIds=t.getPropertyArray("BATCH_ID",mt.UNSIGNED_SHORT,1),e.batchIds)){let n=t.getGlobalProperty("BATCH_LENGTH");if(!n)throw new Error("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");let{batchTableJson:i,batchTableBinary:a}=e;r=new Cp(i,a,n)}return r}async function S2t(e,t,r,n,i){let a,o,s,u=e.batchTableJson&&e.batchTableJson.extensions&&e.batchTableJson.extensions["3DTILES_draco_point_compression"];u&&(s=u.properties);let c=t.getExtension("3DTILES_draco_point_compression");if(c){o=c.properties;let f=c.byteOffset,d=c.byteLength;if(!o||!Number.isFinite(f)||!d)throw new Error("Draco properties, byteOffset, and byteLength must be defined");a=(e.featureTableBinary||[]).slice(f,f+d),e.hasPositions=Number.isFinite(o.POSITION),e.hasColors=Number.isFinite(o.RGB)||Number.isFinite(o.RGBA),e.hasNormals=Number.isFinite(o.NORMAL),e.hasBatchIds=Number.isFinite(o.BATCH_ID),e.isTranslucent=Number.isFinite(o.RGBA)}if(!a)return!0;let l={buffer:a,properties:{...o,...s},featureTableProperties:o,batchTableProperties:s,dequantizeInShader:!1};return await k2t(e,l,n,i)}async function k2t(e,t,r,n){if(!n)return;let i={...r,draco:{...r==null?void 0:r.draco,extraAttributes:t.batchTableProperties||{}}};delete i["3d-tiles"];let a=await Va(t.buffer,kp,i,n),o=a.attributes.POSITION&&a.attributes.POSITION.value,s=a.attributes.COLOR_0&&a.attributes.COLOR_0.value,u=a.attributes.NORMAL&&a.attributes.NORMAL.value,c=a.attributes.BATCH_ID&&a.attributes.BATCH_ID.value,l=o&&a.attributes.POSITION.value.quantization,f=u&&a.attributes.NORMAL.value.quantization;if(l){let p=a.POSITION.data.quantization,h=p.range;e.quantizedVolumeScale=new Z(h,h,h),e.quantizedVolumeOffset=new Z(p.minValues),e.quantizedRange=(1<<p.quantizationBits)-1,e.isQuantizedDraco=!0}f&&(e.octEncodedRange=(1<<a.NORMAL.data.quantization.quantizationBits)-1,e.isOctEncodedDraco=!0);let d={};if(t.batchTableProperties)for(let p of Object.keys(t.batchTableProperties))a.attributes[p]&&a.attributes[p].value&&(d[p.toLowerCase()]=a.attributes[p].value);e.attributes={positions:o,colors:dL(e,s,void 0),normals:u,batchIds:c,...d}}var K3={};Oi(K3,{createExtMeshFeatures:()=>W3,decode:()=>fwt,encode:()=>dwt,name:()=>$3});var j3="4.4.0-alpha.13";var Ube,C2t=(Ube=globalThis.loaders)==null?void 0:Ube.parseImageNode,pL=typeof Image<"u",hL=typeof ImageBitmap<"u",D2t=Boolean(C2t),mL=dr?!0:D2t;function Gbe(e){switch(e){case"auto":return hL||pL||mL;case"imagebitmap":return hL;case"image":return pL;case"data":return mL;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function zbe(){if(hL)return"imagebitmap";if(pL)return"image";if(mL)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function Hbe(e){let t=B2t(e);if(!t)throw new Error("Not an image");return t}function gL(e){return ig(e)}function ig(e){switch(Hbe(e)){case"data":return e;case"image":case"imagebitmap":let t=document.createElement("canvas"),r=t.getContext("2d");if(!r)throw new Error("getImageData");return t.width=e.width,t.height=e.height,r.drawImage(e,0,0),r.getImageData(0,0,e.width,e.height);default:throw new Error("getImageData")}}function B2t(e){return typeof ImageBitmap<"u"&&e instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&e instanceof Image?"image":e&&typeof e=="object"&&e.data&&e.width&&e.height?"data":null}var F2t=/^data:image\/svg\+xml/,O2t=/\.svg((\?|#).*)?$/;function M3(e){return e&&(F2t.test(e)||O2t.test(e))}function Vbe(e,t){if(M3(t)){let n=new TextDecoder().decode(e);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(a){throw new Error(a.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return vL(e,t)}function vL(e,t){if(M3(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function L3(e,t,r){let n=Vbe(e,r),i=self.URL||self.webkitURL,a=typeof n!="string"&&i.createObjectURL(n);try{return await I2t(a||n,t)}finally{a&&i.revokeObjectURL(a)}}async function I2t(e,t){let r=new Image;return r.src=e,t.image&&t.image.decode&&r.decode?(await r.decode(),r):await new Promise((n,i)=>{try{r.onload=()=>n(r),r.onerror=a=>{let o=a instanceof Error?a.message:"error";i(new Error(o))}}catch(a){i(a)}})}var $be=!0;async function Wbe(e,t,r){let n;M3(r)?n=await L3(e,t,r):n=vL(e,r);let i=t&&t.imagebitmap;return await P2t(n,i)}async function P2t(e,t=null){if((R2t(t)||!$be)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),$be=!1}return await createImageBitmap(e)}function R2t(e){if(!e)return!0;for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}function Kbe(e){return!q2t(e,"ftyp",4)||!(e[8]&96)?null:j2t(e)}function j2t(e){switch(M2t(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function M2t(e,t,r){return String.fromCharCode(...e.slice(t,r))}function L2t(e){return[...e].map(t=>t.charCodeAt(0))}function q2t(e,t,r=0){let n=L2t(t);for(let i=0;i<n.length;++i)if(n[i]!==e[i+r])return!1;return!0}var Lu=!1,Ey=!0;function Dp(e){let t=Ty(e);return U2t(t)||H2t(t)||G2t(t)||z2t(t)||N2t(t)}function N2t(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),r=Kbe(t);return r?{mimeType:r.mimeType,width:0,height:0}:null}function U2t(e){let t=Ty(e);return t.byteLength>=24&&t.getUint32(0,Lu)===2303741511?{mimeType:"image/png",width:t.getUint32(16,Lu),height:t.getUint32(20,Lu)}:null}function G2t(e){let t=Ty(e);return t.byteLength>=10&&t.getUint32(0,Lu)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,Ey),height:t.getUint16(8,Ey)}:null}function z2t(e){let t=Ty(e);return t.byteLength>=14&&t.getUint16(0,Lu)===16973&&t.getUint32(2,Ey)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,Ey),height:t.getUint32(22,Ey)}:null}function H2t(e){let t=Ty(e);if(!(t.byteLength>=3&&t.getUint16(0,Lu)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:n,sofMarkers:i}=V2t(),a=2;for(;a+9<t.byteLength;){let o=t.getUint16(a,Lu);if(i.has(o))return{mimeType:"image/jpeg",height:t.getUint16(a+5,Lu),width:t.getUint16(a+7,Lu)};if(!n.has(o))return null;a+=2,a+=t.getUint16(a,Lu)}return null}function V2t(){let e=new Set([65499,65476,65484,65501,65534]);for(let r=65504;r<65520;++r)e.add(r);return{tableMarkers:e,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function Ty(e){if(e instanceof DataView)return e;if(ArrayBuffer.isView(e))return new DataView(e.buffer);if(e instanceof ArrayBuffer)return new DataView(e);throw new Error("toDataView")}async function Jbe(e,t){var i;let{mimeType:r}=Dp(e)||{},n=(i=globalThis.loaders)==null?void 0:i.parseImageNode;return _t(n),await n(e,r)}async function Xbe(e,t,r){t=t||{};let i=(t.image||{}).type||"auto",{url:a}=r||{},o=$2t(i),s;switch(o){case"imagebitmap":s=await Wbe(e,t,a);break;case"image":s=await L3(e,t,a);break;case"data":s=await Jbe(e,t);break;default:_t(!1)}return i==="data"&&(s=ig(s)),s}function $2t(e){switch(e){case"auto":case"data":return zbe();default:return Gbe(e),e}}var W2t=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],K2t=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],J2t={image:{type:"auto",decode:!0}},ag={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:j3,mimeTypes:K2t,extensions:W2t,parse:Xbe,tests:[e=>Boolean(Dp(new DataView(e)))],options:J2t};var Zbe,Ybe=(Zbe=globalThis.loaders)==null?void 0:Zbe.encodeImageNode;async function exe(e,t){return t=t||{},t.image=t.image||{},Ybe?Ybe(e,{type:t.image.mimeType}):X2t(e,t)}var Qbe=!0;async function X2t(e,t){let{mimeType:r,jpegQuality:n}=t.image,{width:i,height:a}=gL(e),o=document.createElement("canvas");o.width=i,o.height=a,Y2t(e,o);let s=await new Promise(u=>{if(n&&Qbe)try{o.toBlob(u,r,n);return}catch{Qbe=!1}o.toBlob(u,r)});if(!s)throw new Error("image encoding failed");return await s.arrayBuffer()}function Y2t(e,t,r=0,n=0){if(r===0&&n===0&&typeof ImageBitmap<"u"&&e instanceof ImageBitmap){let a=t.getContext("bitmaprenderer");if(a)return a.transferFromImageBitmap(e),t}let i=t.getContext("2d");if(e.data){let a=new Uint8ClampedArray(e.data),o=new ImageData(a,e.width,e.height);return i.putImageData(o,0,0),t}return i.drawImage(e,0,0),t}var bL={name:"Images",id:"image",module:"images",version:j3,extensions:["jpeg"],mimeTypes:[],options:{image:{mimeType:"image/png",jpegQuality:null}},encode:exe};var xL={};function yL(e){if(xL[e]===void 0){let t=dr?Z2t(e):Q2t(e);xL[e]=t}return xL[e]}function Q2t(e){var i,a;let t=["image/png","image/jpeg","image/gif"],r=((i=globalThis.loaders)==null?void 0:i.imageFormatsNode)||t,n=(a=globalThis.loaders)==null?void 0:a.parseImageNode;return Boolean(n)&&r.includes(e)}function Z2t(e){switch(e){case"image/avif":case"image/webp":return ewt(e);default:return!0}}function ewt(e){try{return document.createElement("canvas").toDataURL(e).indexOf(`data:${e}`)===0}catch{return!1}}function Yn(e,t){if(!e)throw new Error(t||"assert failed: gltf")}var q3={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},N3={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4};var twt=1.33,txe=["SCALAR","VEC2","VEC3","VEC4"],rwt=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],nwt=new Map(rwt),iwt={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},awt={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},owt={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function U3(e){return txe[e-1]||txe[0]}function qf(e){let t=nwt.get(e.constructor);if(!t)throw new Error("Illegal typed array");return t}function og(e,t){let r=owt[e.componentType],n=iwt[e.type],i=awt[e.componentType],a=e.count*n,o=e.count*n*i;Yn(o>=0&&o<=t.byteLength);let s=N3[e.componentType],u=q3[e.type];return{ArrayType:r,length:a,byteLength:o,componentByteSize:s,numberOfComponentsInElement:u}}function Sy(e){let{images:t,bufferViews:r}=e;t=t||[],r=r||[];let n=t.map(o=>o.bufferView);r=r.filter(o=>!n.includes(o));let i=r.reduce((o,s)=>o+s.byteLength,0),a=t.reduce((o,s)=>{let{width:u,height:c}=s.image;return o+u*c},0);return i+Math.ceil(4*a*twt)}function rxe(e,t,r){let n=e.bufferViews[r];Yn(n);let i=n.buffer,a=t[i];Yn(a);let o=(n.byteOffset||0)+a.byteOffset;return new Uint8Array(a.arrayBuffer,o,n.byteLength)}function nxe(e,t,r){var m,g;let n=typeof r=="number"?(m=e.accessors)==null?void 0:m[r]:r;if(!n)throw new Error(`No gltf accessor ${JSON.stringify(r)}`);let i=(g=e.bufferViews)==null?void 0:g[n.bufferView||0];if(!i)throw new Error(`No gltf buffer view for accessor ${i}`);let{arrayBuffer:a,byteOffset:o}=t[i.buffer],s=(o||0)+(n.byteOffset||0)+(i.byteOffset||0),{ArrayType:u,length:c,componentByteSize:l,numberOfComponentsInElement:f}=og(n,i),d=l*f,p=i.byteStride||d;if(typeof i.byteStride>"u"||i.byteStride===d)return new u(a,s,c);let h=new u(c);for(let x=0;x<n.count;x++){let y=new u(a,s+x*p,f);h.set(y,x*f)}return h}function swt(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}var Yt=class{gltf;sourceBuffers;byteLength;constructor(t){this.gltf={json:(t==null?void 0:t.json)||swt(),buffers:(t==null?void 0:t.buffers)||[],images:(t==null?void 0:t.images)||[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(t){return this.json[t]}getExtraData(t){return(this.json.extras||{})[t]}hasExtension(t){let r=this.getUsedExtensions().find(i=>i===t),n=this.getRequiredExtensions().find(i=>i===t);return typeof r=="string"||typeof n=="string"}getExtension(t){let r=this.getUsedExtensions().find(i=>i===t),n=this.json.extensions||{};return r?n[t]:null}getRequiredExtension(t){return this.getRequiredExtensions().find(n=>n===t)?this.getExtension(t):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getRemovedExtensions(){return this.json.extensionsRemoved||[]}getObjectExtension(t,r){return(t.extensions||{})[r]}getScene(t){return this.getObject("scenes",t)}getNode(t){return this.getObject("nodes",t)}getSkin(t){return this.getObject("skins",t)}getMesh(t){return this.getObject("meshes",t)}getMaterial(t){return this.getObject("materials",t)}getAccessor(t){return this.getObject("accessors",t)}getTexture(t){return this.getObject("textures",t)}getSampler(t){return this.getObject("samplers",t)}getImage(t){return this.getObject("images",t)}getBufferView(t){return this.getObject("bufferViews",t)}getBuffer(t){return this.getObject("buffers",t)}getObject(t,r){if(typeof r=="object")return r;let n=this.json[t]&&this.json[t][r];if(!n)throw new Error(`glTF file error: Could not find ${t}[${r}]`);return n}getTypedArrayForBufferView(t){t=this.getBufferView(t);let r=t.buffer,n=this.gltf.buffers[r];Yn(n);let i=(t.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,i,t.byteLength)}getTypedArrayForAccessor(t){let r=this.getAccessor(t);return nxe(this.gltf.json,this.gltf.buffers,r)}getTypedArrayForImageData(t){t=this.getAccessor(t);let r=this.getBufferView(t.bufferView),i=this.getBuffer(r.buffer).data,a=r.byteOffset||0;return new Uint8Array(i,a,r.byteLength)}addApplicationData(t,r){return this.json[t]=r,this}addExtraData(t,r){return this.json.extras=this.json.extras||{},this.json.extras[t]=r,this}addObjectExtension(t,r,n){return t.extensions=t.extensions||{},t.extensions[r]=n,this.registerUsedExtension(r),this}setObjectExtension(t,r,n){let i=t.extensions||{};i[r]=n}removeObjectExtension(t,r){let n=(t==null?void 0:t.extensions)||{};if(n[r]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let i=this.json.extensionsRemoved;i.includes(r)||i.push(r)}delete n[r]}addExtension(t,r={}){return Yn(r),this.json.extensions=this.json.extensions||{},this.json.extensions[t]=r,this.registerUsedExtension(t),r}addRequiredExtension(t,r={}){return Yn(r),this.addExtension(t,r),this.registerRequiredExtension(t),r}registerUsedExtension(t){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(r=>r===t)||this.json.extensionsUsed.push(t)}registerRequiredExtension(t){this.registerUsedExtension(t),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(r=>r===t)||this.json.extensionsRequired.push(t)}removeExtension(t){var r;if((r=this.json.extensions)!=null&&r[t]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let n=this.json.extensionsRemoved;n.includes(t)||n.push(t)}this.json.extensions&&delete this.json.extensions[t],this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,t),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,t)}setDefaultScene(t){this.json.scene=t}addScene(t){let{nodeIndices:r}=t;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:r}),this.json.scenes.length-1}addNode(t){let{meshIndex:r,matrix:n}=t;this.json.nodes=this.json.nodes||[];let i={mesh:r};return n&&(i.matrix=n),this.json.nodes.push(i),this.json.nodes.length-1}addMesh(t){let{attributes:r,indices:n,material:i,mode:a=4}=t,s={primitives:[{attributes:this._addAttributes(r),mode:a}]};if(n){let u=this._addIndices(n);s.primitives[0].indices=u}return Number.isFinite(i)&&(s.primitives[0].material=i),this.json.meshes=this.json.meshes||[],this.json.meshes.push(s),this.json.meshes.length-1}addPointCloud(t){let n={primitives:[{attributes:this._addAttributes(t),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(n),this.json.meshes.length-1}addImage(t,r){let n=Dp(t),i=r||(n==null?void 0:n.mimeType),o={bufferView:this.addBufferView(t),mimeType:i};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(t,r=0,n=this.byteLength){let i=t.byteLength;Yn(Number.isFinite(i)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(t);let a={buffer:r,byteOffset:n,byteLength:i};return this.byteLength+=Ja(i,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(a),this.json.bufferViews.length-1}addAccessor(t,r){let n={bufferView:t,type:U3(r.size),componentType:r.componentType,count:r.count,max:r.max,min:r.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}addBinaryBuffer(t,r={size:3}){let n=this.addBufferView(t),i={min:r.min,max:r.max};(!i.min||!i.max)&&(i=this._getAccessorMinMax(t,r.size));let a={size:r.size,componentType:qf(t),count:Math.round(t.length/r.size),min:i.min,max:i.max};return this.addAccessor(n,Object.assign(a,r))}addTexture(t){let{imageIndex:r}=t,n={source:r};return this.json.textures=this.json.textures||[],this.json.textures.push(n),this.json.textures.length-1}addMaterial(t){return this.json.materials=this.json.materials||[],this.json.materials.push(t),this.json.materials.length-1}createBinaryChunk(){var a,o;let t=this.byteLength,r=new ArrayBuffer(t),n=new Uint8Array(r),i=0;for(let s of this.sourceBuffers||[])i=KB(s,n,i);(o=(a=this.json)==null?void 0:a.buffers)!=null&&o[0]?this.json.buffers[0].byteLength=t:this.json.buffers=[{byteLength:t}],this.gltf.binary=r,this.sourceBuffers=[r],this.gltf.buffers=[{arrayBuffer:r,byteOffset:0,byteLength:r.byteLength}]}_removeStringFromArray(t,r){let n=!0;for(;n;){let i=t.indexOf(r);i>-1?t.splice(i,1):n=!1}}_addAttributes(t={}){let r={};for(let n in t){let i=t[n],a=this._getGltfAttributeName(n),o=this.addBinaryBuffer(i.value,i);r[a]=o}return r}_addIndices(t){return this.addBinaryBuffer(t,{size:1})}_getGltfAttributeName(t){switch(t.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return t}}_getAccessorMinMax(t,r){let n={min:null,max:null};if(t.length<r)return n;n.min=[],n.max=[];let i=t.subarray(0,r);for(let a of i)n.min.push(a),n.max.push(a);for(let a=r;a<t.length;a+=r)for(let o=0;o<r;o++)n.min[0+o]=Math.min(n.min[0+o],t[a+o]),n.max[0+o]=Math.max(n.max[0+o],t[a+o]);return n}};function ixe(e){return(e%1+1)%1}var axe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},uwt={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},oxe={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8};function ky(e,t){return oxe[t]*axe[e]}function sg(e,t,r,n){if(r!=="UINT8"&&r!=="UINT16"&&r!=="UINT32"&&r!=="UINT64")return null;let i=e.getTypedArrayForBufferView(t),a=ug(i,"SCALAR",r,n+1);return a instanceof BigInt64Array||a instanceof BigUint64Array?null:a}function ug(e,t,r,n=1){let i=axe[t],a=uwt[r],o=oxe[r],s=n*i,u=s*o,c=e.buffer,l=e.byteOffset;return l%o!==0&&(c=new Uint8Array(c).slice(l,l+u).buffer,l=0),new a(zi(c),l,s)}function cg(e,t,r){var c,l,f,d,p;let n=`TEXCOORD_${t.texCoord||0}`,i=r.attributes[n],a=e.getTypedArrayForAccessor(i),o=e.gltf.json,s=t.index,u=(l=(c=o.textures)==null?void 0:c[s])==null?void 0:l.source;if(typeof u<"u"){let h=(d=(f=o.images)==null?void 0:f[u])==null?void 0:d.mimeType,m=(p=e.gltf.images)==null?void 0:p[u];if(m&&typeof m.width<"u"){let g=[];for(let x=0;x<a.length;x+=2){let y=cwt(m,h,a,x,t.channels);g.push(y)}return g}}return[]}function G3(e,t,r,n,i){if(!(r!=null&&r.length))return;let a=[];for(let l of r){let f=n.findIndex(d=>d===l);f===-1&&(f=n.push(l)-1),a.push(f)}let o=new Uint32Array(a),s=e.gltf.buffers.push({arrayBuffer:o.buffer,byteOffset:o.byteOffset,byteLength:o.byteLength})-1,u=e.addBufferView(o,s,0),c=e.addAccessor(u,{size:1,componentType:qf(o),count:o.length});i.attributes[t]=c}function cwt(e,t,r,n,i=[0]){let a={r:{offset:0,shift:0},g:{offset:1,shift:8},b:{offset:2,shift:16},a:{offset:3,shift:24}},o=r[n],s=r[n+1],u=1;t&&(t.indexOf("image/jpeg")!==-1||t.indexOf("image/png")!==-1)&&(u=4);let c=lwt(o,s,e,u),l=0;for(let f of i){let d=typeof f=="number"?Object.values(a)[f]:a[f],p=c+d.offset,h=ig(e);if(h.data.length<=p)throw new Error(`${h.data.length} <= ${p}`);let m=h.data[p];l|=m<<d.shift}return l}function lwt(e,t,r,n=1){let i=r.width,a=ixe(e)*(i-1),o=Math.round(a),s=r.height,u=ixe(t)*(s-1),c=Math.round(u),l=r.components?r.components:n;return(c*i+o)*l}function z3(e,t,r,n,i){let a=[];for(let o=0;o<t;o++){let s=r[o],u=r[o+1]-r[o];if(u+s>n)break;let c=s/i,l=u/i;a.push(e.slice(c,c+l))}return a}function H3(e,t,r){let n=[];for(let i=0;i<t;i++){let a=i*r;n.push(e.slice(a,a+r))}return n}function V3(e,t,r,n){if(r)throw new Error("Not implemented - arrayOffsets for strings is specified");if(n){let i=[],a=new TextDecoder("utf8"),o=0;for(let s=0;s<e;s++){let u=n[s+1]-n[s];if(u+o<=t.length){let c=t.subarray(o,u+o),l=a.decode(c);i.push(l),o+=u}}return i}return[]}var lg="EXT_mesh_features",$3=lg;async function fwt(e,t){let r=new Yt(e);pwt(r,t)}function dwt(e,t){let r=new Yt(e);return mwt(r,t),r.createBinaryChunk(),r.gltf}function pwt(e,t){let r=e.gltf.json;if(r.meshes)for(let n of r.meshes)for(let i of n.primitives)hwt(e,i,t)}function hwt(e,t,r){var a,o,s;if(!((a=r==null?void 0:r.gltf)!=null&&a.loadBuffers))return;let n=(o=t.extensions)==null?void 0:o[lg],i=n==null?void 0:n.featureIds;if(i)for(let u of i){let c;if(typeof u.attribute<"u"){let l=`_FEATURE_ID_${u.attribute}`,f=t.attributes[l];c=e.getTypedArrayForAccessor(f)}else typeof u.texture<"u"&&((s=r==null?void 0:r.gltf)!=null&&s.loadImages)?c=cg(e,u.texture,t):c=[];u.data=c}}function mwt(e,t){let r=e.gltf.json.meshes;if(r)for(let n of r)for(let i of n.primitives)gwt(e,i)}function W3(e,t,r,n){t.extensions||(t.extensions={});let i=t.extensions[lg];i||(i={featureIds:[]},t.extensions[lg]=i);let{featureIds:a}=i,o={featureCount:r.length,propertyTable:n,data:r};a.push(o),e.addObjectExtension(t,lg,i)}function gwt(e,t){var i;let r=(i=t.extensions)==null?void 0:i[lg];if(!r)return;let n=r.featureIds;n.forEach((a,o)=>{if(a.data){let{accessorKey:s,index:u}=vwt(t.attributes),c=new Uint32Array(a.data);n[o]={featureCount:c.length,propertyTable:a.propertyTable,attribute:u},e.gltf.buffers.push({arrayBuffer:c.buffer,byteOffset:c.byteOffset,byteLength:c.byteLength});let l=e.addBufferView(c),f=e.addAccessor(l,{size:1,componentType:qf(c),count:c.length});t.attributes[s]=f}})}function vwt(e){let t="_FEATURE_ID_",r=Object.keys(e).filter(a=>a.indexOf(t)===0),n=-1;for(let a of r){let o=Number(a.substring(t.length));o>n&&(n=o)}return n++,{accessorKey:`${t}${n}`,index:n}}var X3={};Oi(X3,{createExtStructuralMetadata:()=>J3,decode:()=>bwt,encode:()=>xwt,name:()=>Xc});var fg="EXT_structural_metadata",Xc=fg;async function bwt(e,t){let r=new Yt(e);ywt(r,t)}function xwt(e,t){let r=new Yt(e);return jwt(r,t),r.createBinaryChunk(),r.gltf}function ywt(e,t){var n,i;if(!((n=t.gltf)!=null&&n.loadBuffers))return;let r=e.getExtension(fg);r&&((i=t.gltf)!=null&&i.loadImages&&_wt(e,r),wwt(e,r))}function _wt(e,t){let r=t.propertyTextures,n=e.gltf.json;if(r&&n.meshes)for(let i of n.meshes)for(let a of i.primitives)Ewt(e,r,a,t)}function wwt(e,t){let r=t.schema;if(!r)return;let n=r.classes,i=t.propertyTables;if(n&&i)for(let a in n){let o=Awt(i,a);o&&Swt(e,r,o)}}function Awt(e,t){for(let r of e)if(r.class===t)return r;return null}function Ewt(e,t,r,n){var o;if(!t)return;let i=(o=r.extensions)==null?void 0:o[fg],a=i==null?void 0:i.propertyTextures;if(a)for(let s of a){let u=t[s];Twt(e,u,r,n)}}function Twt(e,t,r,n){var a;if(!t.properties)return;n.dataAttributeNames||(n.dataAttributeNames=[]);let i=t.class;for(let o in t.properties){let s=`${i}_${o}`,u=(a=t.properties)==null?void 0:a[o];if(!u)continue;u.data||(u.data=[]);let c=u.data,l=cg(e,u,r);l!==null&&(G3(e,s,l,c,r),u.data=c,n.dataAttributeNames.push(s))}}function Swt(e,t,r){var a,o;let n=(a=t.classes)==null?void 0:a[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let i=r.count;for(let s in n.properties){let u=n.properties[s],c=(o=r.properties)==null?void 0:o[s];if(c){let l=kwt(e,t,u,i,c);c.data=l}}}function kwt(e,t,r,n,i){let a=[],o=i.values,s=e.getTypedArrayForBufferView(o),u=Cwt(e,r,i,n),c=Dwt(e,i,n);switch(r.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{a=Bwt(r,n,s,u);break}case"BOOLEAN":throw new Error(`Not implemented - classProperty.type=${r.type}`);case"STRING":{a=V3(n,s,u,c);break}case"ENUM":{a=Fwt(t,r,n,s,u);break}default:throw new Error(`Unknown classProperty type ${r.type}`)}return a}function Cwt(e,t,r,n){return t.array&&typeof t.count>"u"&&typeof r.arrayOffsets<"u"?sg(e,r.arrayOffsets,r.arrayOffsetType||"UINT32",n):null}function Dwt(e,t,r){return typeof t.stringOffsets<"u"?sg(e,t.stringOffsets,t.stringOffsetType||"UINT32",r):null}function Bwt(e,t,r,n){let i=e.array,a=e.count,o=ky(e.type,e.componentType),s=r.byteLength/o,u;return e.componentType?u=ug(r,e.type,e.componentType,s):u=r,i?n?z3(u,t,n,r.length,o):a?H3(u,t,a):[]:u}function Fwt(e,t,r,n,i){var f;let a=t.enumType;if(!a)throw new Error("Incorrect data in the EXT_structural_metadata extension: classProperty.enumType is not set for type ENUM");let o=(f=e.enums)==null?void 0:f[a];if(!o)throw new Error(`Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${a}`);let s=o.valueType||"UINT16",u=ky(t.type,s),c=n.byteLength/u,l=ug(n,t.type,s,c);if(l||(l=n),t.array){if(i)return Owt({valuesData:l,numberOfElements:r,arrayOffsets:i,valuesDataBytesLength:n.length,elementSize:u,enumEntry:o});let d=t.count;return d?Iwt(l,r,d,o):[]}return wL(l,0,r,o)}function Owt(e){let{valuesData:t,numberOfElements:r,arrayOffsets:n,valuesDataBytesLength:i,elementSize:a,enumEntry:o}=e,s=[];for(let u=0;u<r;u++){let c=n[u],l=n[u+1]-n[u];if(l+c>i)break;let f=c/a,d=l/a,p=wL(t,f,d,o);s.push(p)}return s}function Iwt(e,t,r,n){let i=[];for(let a=0;a<t;a++){let o=r*a,s=wL(e,o,r,n);i.push(s)}return i}function wL(e,t,r,n){let i=[];for(let a=0;a<r;a++)if(e instanceof BigInt64Array||e instanceof BigUint64Array)i.push("");else{let o=e[t+a],s=Pwt(n,o);s?i.push(s.name):i.push("")}return i}function Pwt(e,t){for(let r of e.values)if(r.value===t)return r;return null}var Rwt="schemaClassId";function jwt(e,t){var n,i;let r=e.getExtension(fg);if(r&&r.propertyTables)for(let a of r.propertyTables){let o=a.class,s=(i=(n=r.schema)==null?void 0:n.classes)==null?void 0:i[o];a.properties&&s&&Mwt(a,s,e)}}function Mwt(e,t,r){for(let n in e.properties){let i=e.properties[n].data;if(i){let a=t.properties[n];if(a){let o=Nwt(i,a,r);e.properties[n]=o}}}}function J3(e,t,r=Rwt){let n=e.getExtension(fg);n||(n=e.addExtension(fg)),n.schema=Lwt(t,r,n.schema);let i=qwt(t,r,n.schema);return n.propertyTables||(n.propertyTables=[]),n.propertyTables.push(i)-1}function Lwt(e,t,r){let n=r??{id:"schema_id"},i={properties:{}};for(let a of e){let o={type:a.elementType,componentType:a.componentType};i.properties[a.name]=o}return n.classes={},n.classes[t]=i,n}function qwt(e,t,r){var o;let n={class:t,count:0},i=0,a=(o=r.classes)==null?void 0:o[t];for(let s of e){if(i===0&&(i=s.values.length),i!==s.values.length&&s.values.length)throw new Error("Illegal values in attributes");(a==null?void 0:a.properties[s.name])&&(n.properties||(n.properties={}),n.properties[s.name]={values:0,data:s.values})}return n.count=i,n}function Nwt(e,t,r){let n={values:0};if(t.type==="STRING"){let{stringData:i,stringOffsets:a}=zwt(e);n.stringOffsets=_L(a,r),n.values=_L(i,r)}else if(t.type==="SCALAR"&&t.componentType){let i=Gwt(e,t.componentType);n.values=_L(i,r)}return n}var Uwt={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:Int32Array,UINT64:Uint32Array,FLOAT32:Float32Array,FLOAT64:Float64Array};function Gwt(e,t){let r=[];for(let i of e)r.push(Number(i));let n=Uwt[t];if(!n)throw new Error("Illegal component type");return new n(r)}function zwt(e){let t=new TextEncoder,r=[],n=0;for(let u of e){let c=t.encode(u);n+=c.length,r.push(c)}let i=new Uint8Array(n),a=[],o=0;for(let u of r)i.set(u,o),a.push(o),o+=u.length;a.push(o);let s=new Uint32Array(a);return{stringData:i,stringOffsets:s}}function _L(e,t){return t.gltf.buffers.push({arrayBuffer:zi(e.buffer),byteOffset:e.byteOffset,byteLength:e.byteLength}),t.addBufferView(e)}var AL={};Oi(AL,{decode:()=>Hwt,name:()=>jo});var sxe="EXT_feature_metadata",jo=sxe;async function Hwt(e,t){let r=new Yt(e);Vwt(r,t)}function Vwt(e,t){var n,i;if(!((n=t.gltf)!=null&&n.loadBuffers))return;let r=e.getExtension(sxe);r&&((i=t.gltf)!=null&&i.loadImages&&$wt(e,r),Wwt(e,r))}function $wt(e,t){let r=t.schema;if(!r)return;let n=r.classes,{featureTextures:i}=t;if(n&&i)for(let a in n){let o=n[a],s=Jwt(i,a);s&&Ywt(e,s,o)}}function Wwt(e,t){let r=t.schema;if(!r)return;let n=r.classes,i=t.featureTables;if(n&&i)for(let a in n){let o=Kwt(i,a);o&&Xwt(e,r,o)}}function Kwt(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function Jwt(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function Xwt(e,t,r){var a,o;if(!r.class)return;let n=(a=t.classes)==null?void 0:a[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let i=r.count;for(let s in n.properties){let u=n.properties[s],c=(o=r.properties)==null?void 0:o[s];if(c){let l=Qwt(e,t,u,i,c);c.data=l}}}function Ywt(e,t,r){var i;let n=t.class;for(let a in r.properties){let o=(i=t==null?void 0:t.properties)==null?void 0:i[a];if(o){let s=nAt(e,o,n);o.data=s}}}function Qwt(e,t,r,n,i){let a=[],o=i.bufferView,s=e.getTypedArrayForBufferView(o),u=Zwt(e,r,i,n),c=eAt(e,r,i,n);return r.type==="STRING"||r.componentType==="STRING"?a=V3(n,s,u,c):tAt(r)&&(a=rAt(r,n,s,u)),a}function Zwt(e,t,r,n){return t.type==="ARRAY"&&typeof t.componentCount>"u"&&typeof r.arrayOffsetBufferView<"u"?sg(e,r.arrayOffsetBufferView,r.offsetType||"UINT32",n):null}function eAt(e,t,r,n){return typeof r.stringOffsetBufferView<"u"?sg(e,r.stringOffsetBufferView,r.offsetType||"UINT32",n):null}function tAt(e){let t=["UINT8","INT16","UINT16","INT32","UINT32","INT64","UINT64","FLOAT32","FLOAT64"];return t.includes(e.type)||typeof e.componentType<"u"&&t.includes(e.componentType)}function rAt(e,t,r,n){let i=e.type==="ARRAY",a=e.componentCount,o="SCALAR",s=e.componentType||e.type,u=ky(o,s),c=r.byteLength/u,l=ug(r,o,s,c);return i?n?z3(l,t,n,r.length,u):a?H3(l,t,a):[]:l}function nAt(e,t,r){let n=e.gltf.json;if(!n.meshes)return[];let i=[];for(let a of n.meshes)for(let o of a.primitives)iAt(e,r,t,i,o);return i}function iAt(e,t,r,n,i){let a={channels:r.channels,...r.texture},o=cg(e,a,i);o&&G3(e,t,o,n,i)}var Y3="4.4.0-alpha.13";var dg="4.4.0-alpha.13";var qu={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},uxe;async function TL(e){u0(e.modules);let t=jB("basis");return t||(uxe||(uxe=aAt(e)),await uxe)}async function aAt(e){let t=null,r=null;return[t,r]=await Promise.all([await _o(qu.TRANSCODER,"textures",e),await _o(qu.TRANSCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await oAt(t,r)}function oAt(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(i=>{let{BasisFile:a,initializeBasis:o}=i;o(),n({BasisFile:a})})})}var EL;async function SL(e){let t=e.modules||{};return t.basisEncoder?t.basisEncoder:(EL=EL||sAt(e),await EL)}async function sAt(e){let t=null,r=null;return[t,r]=await Promise.all([await _o(qu.ENCODER,"textures",e),await _o(qu.ENCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await uAt(t,r)}function uAt(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(i=>{let{BasisFile:a,KTX2File:o,initializeBasis:s,BasisEncoder:u}=i;s(),n({BasisFile:a,KTX2File:o,BasisEncoder:u})})})}var ce={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_RGBA8_ETC2_EAC:37493,COMPRESSED_SRGB8_ETC2:37494,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37495,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37496,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37497,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGB_ATC_WEBGL:35986,COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:35987,COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:34798,COMPRESSED_RGBA_ASTC_4X4_KHR:37808,COMPRESSED_RGBA_ASTC_5X4_KHR:37809,COMPRESSED_RGBA_ASTC_5X5_KHR:37810,COMPRESSED_RGBA_ASTC_6X5_KHR:37811,COMPRESSED_RGBA_ASTC_6X6_KHR:37812,COMPRESSED_RGBA_ASTC_8X5_KHR:37813,COMPRESSED_RGBA_ASTC_8X6_KHR:37814,COMPRESSED_RGBA_ASTC_8X8_KHR:37815,COMPRESSED_RGBA_ASTC_10X5_KHR:37816,COMPRESSED_RGBA_ASTC_10X6_KHR:37817,COMPRESSED_RGBA_ASTC_10X8_KHR:37818,COMPRESSED_RGBA_ASTC_10X10_KHR:37819,COMPRESSED_RGBA_ASTC_12X10_KHR:37820,COMPRESSED_RGBA_ASTC_12X12_KHR:37821,COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR:37840,COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR:37841,COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR:37842,COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR:37843,COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR:37844,COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR:37845,COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR:37846,COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR:37847,COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR:37848,COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR:37849,COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR:37850,COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR:37851,COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR:37852,COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR:37853,COMPRESSED_RED_RGTC1_EXT:36283,COMPRESSED_SIGNED_RED_RGTC1_EXT:36284,COMPRESSED_RED_GREEN_RGTC2_EXT:36285,COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT:36286,COMPRESSED_SRGB_S3TC_DXT1_EXT:35916,COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:35917,COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:35918,COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:35919};var cAt=["","WEBKIT_","MOZ_"],cxe={WEBGL_compressed_texture_s3tc:"dxt",WEBGL_compressed_texture_s3tc_srgb:"dxt-srgb",WEBGL_compressed_texture_etc1:"etc1",WEBGL_compressed_texture_etc:"etc2",WEBGL_compressed_texture_pvrtc:"pvrtc",WEBGL_compressed_texture_atc:"atc",WEBGL_compressed_texture_astc:"astc",EXT_texture_compression_rgtc:"rgtc"},Q3=null;function Cy(e){if(!Q3){e=e||lAt()||void 0,Q3=new Set;for(let t of cAt)for(let r in cxe)if(e&&e.getExtension(`${t}${r}`)){let n=cxe[r];Q3.add(n)}}return Q3}function lAt(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var kL=class{constructor(){this.vkFormat=0,this.typeSize=1,this.pixelWidth=0,this.pixelHeight=0,this.pixelDepth=0,this.layerCount=0,this.faceCount=1,this.supercompressionScheme=0,this.levels=[],this.dataFormatDescriptor=[{vendorId:0,descriptorType:0,descriptorBlockSize:0,versionNumber:2,colorModel:0,colorPrimaries:1,transferFunction:2,flags:0,texelBlockDimension:[0,0,0,0],bytesPlane:[0,0,0,0,0,0,0,0],samples:[]}],this.keyValue={},this.globalData=null}},Bp=class{constructor(t,r,n,i){this._dataView=void 0,this._littleEndian=void 0,this._offset=void 0,this._dataView=new DataView(t.buffer,t.byteOffset+r,n),this._littleEndian=i,this._offset=0}_nextUint8(){let t=this._dataView.getUint8(this._offset);return this._offset+=1,t}_nextUint16(){let t=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,t}_nextUint32(){let t=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,t}_nextUint64(){let t=this._dataView.getUint32(this._offset,this._littleEndian),r=this._dataView.getUint32(this._offset+4,this._littleEndian),n=t+2**32*r;return this._offset+=8,n}_nextInt32(){let t=this._dataView.getInt32(this._offset,this._littleEndian);return this._offset+=4,t}_nextUint8Array(t){let r=new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+this._offset,t);return this._offset+=t,r}_skip(t){return this._offset+=t,this}_scan(t,r=0){let n=this._offset,i=0;for(;this._dataView.getUint8(this._offset)!==r&&i<t;)i++,this._offset++;return i<t&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+n,i)}};var Aor=new Uint8Array([0]),ca=[171,75,84,88,32,50,48,187,13,10,26,10];function lxe(e){return new TextDecoder().decode(e)}function fxe(e){let t=new Uint8Array(e.buffer,e.byteOffset,ca.length);if(t[0]!==ca[0]||t[1]!==ca[1]||t[2]!==ca[2]||t[3]!==ca[3]||t[4]!==ca[4]||t[5]!==ca[5]||t[6]!==ca[6]||t[7]!==ca[7]||t[8]!==ca[8]||t[9]!==ca[9]||t[10]!==ca[10]||t[11]!==ca[11])throw new Error("Missing KTX 2.0 identifier.");let r=new kL,n=17*Uint32Array.BYTES_PER_ELEMENT,i=new Bp(e,ca.length,n,!0);r.vkFormat=i._nextUint32(),r.typeSize=i._nextUint32(),r.pixelWidth=i._nextUint32(),r.pixelHeight=i._nextUint32(),r.pixelDepth=i._nextUint32(),r.layerCount=i._nextUint32(),r.faceCount=i._nextUint32();let a=i._nextUint32();r.supercompressionScheme=i._nextUint32();let o=i._nextUint32(),s=i._nextUint32(),u=i._nextUint32(),c=i._nextUint32(),l=i._nextUint64(),f=i._nextUint64(),d=a*3*8,p=new Bp(e,ca.length+n,d,!0);for(let de=0;de<a;de++)r.levels.push({levelData:new Uint8Array(e.buffer,e.byteOffset+p._nextUint64(),p._nextUint64()),uncompressedByteLength:p._nextUint64()});let h=new Bp(e,o,s,!0),m={vendorId:h._skip(4)._nextUint16(),descriptorType:h._nextUint16(),versionNumber:h._nextUint16(),descriptorBlockSize:h._nextUint16(),colorModel:h._nextUint8(),colorPrimaries:h._nextUint8(),transferFunction:h._nextUint8(),flags:h._nextUint8(),texelBlockDimension:[h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8()],bytesPlane:[h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8()],samples:[]},g=6,x=4,y=(m.descriptorBlockSize/4-g)/x;for(let de=0;de<y;de++){let ke={bitOffset:h._nextUint16(),bitLength:h._nextUint8(),channelType:h._nextUint8(),samplePosition:[h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8()],sampleLower:-1/0,sampleUpper:1/0};ke.channelType&64?(ke.sampleLower=h._nextInt32(),ke.sampleUpper=h._nextInt32()):(ke.sampleLower=h._nextUint32(),ke.sampleUpper=h._nextUint32()),m.samples[de]=ke}r.dataFormatDescriptor.length=0,r.dataFormatDescriptor.push(m);let w=new Bp(e,u,c,!0);for(;w._offset<c;){let de=w._nextUint32(),ke=w._scan(de),Fe=lxe(ke);if(r.keyValue[Fe]=w._nextUint8Array(de-ke.byteLength-1),Fe.match(/^ktx/i)){let N=lxe(r.keyValue[Fe]);r.keyValue[Fe]=N.substring(0,N.lastIndexOf("\0"))}let J=de%4?4-de%4:0;w._skip(J)}if(f<=0)return r;let T=new Bp(e,l,f,!0),A=T._nextUint16(),D=T._nextUint16(),F=T._nextUint32(),j=T._nextUint32(),k=T._nextUint32(),I=T._nextUint32(),P=[];for(let de=0;de<a;de++)P.push({imageFlags:T._nextUint32(),rgbSliceByteOffset:T._nextUint32(),rgbSliceByteLength:T._nextUint32(),alphaSliceByteOffset:T._nextUint32(),alphaSliceByteLength:T._nextUint32()});let L=l+T._offset,G=L+F,V=G+j,X=V+k,Y=new Uint8Array(e.buffer,e.byteOffset+L,F),he=new Uint8Array(e.buffer,e.byteOffset+G,j),le=new Uint8Array(e.buffer,e.byteOffset+V,k),me=new Uint8Array(e.buffer,e.byteOffset+X,I);return r.globalData={endpointCount:A,selectorCount:D,imageDescs:P,endpointsData:Y,selectorsData:he,tablesData:le,extendedData:me},r}function pg(e,t){let r=new Array(t.mipMapLevels),n=t.width,i=t.height,a=0;for(let o=0;o<t.mipMapLevels;++o){let s=dAt(t,n,i,e,o),u=fAt(e,o,a,s);r[o]={compressed:!0,format:t.internalFormat,data:u,width:n,height:i,levelSize:s},n=Math.max(1,n>>1),i=Math.max(1,i>>1),a+=s}return r}function fAt(e,t,r,n){return Array.isArray(e)?e[t].levelData:new Uint8Array(e.buffer,e.byteOffset+r,n)}function dAt(e,t,r,n,i){return Array.isArray(n)?e.sizeFunction(n[i]):e.sizeFunction(t,r)}var pAt={131:ce.COMPRESSED_RGB_S3TC_DXT1_EXT,132:ce.COMPRESSED_SRGB_S3TC_DXT1_EXT,133:ce.COMPRESSED_RGBA_S3TC_DXT1_EXT,134:ce.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,135:ce.COMPRESSED_RGBA_S3TC_DXT3_EXT,136:ce.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,137:ce.COMPRESSED_RGBA_S3TC_DXT5_EXT,138:ce.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,139:ce.COMPRESSED_RED_RGTC1_EXT,140:ce.COMPRESSED_SIGNED_RED_RGTC1_EXT,141:ce.COMPRESSED_RED_GREEN_RGTC2_EXT,142:ce.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,147:ce.COMPRESSED_RGB8_ETC2,148:ce.COMPRESSED_SRGB8_ETC2,149:ce.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,150:ce.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,151:ce.COMPRESSED_RGBA8_ETC2_EAC,152:ce.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,153:ce.COMPRESSED_R11_EAC,154:ce.COMPRESSED_SIGNED_R11_EAC,155:ce.COMPRESSED_RG11_EAC,156:ce.COMPRESSED_SIGNED_RG11_EAC,157:ce.COMPRESSED_RGBA_ASTC_4x4_KHR,158:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,159:ce.COMPRESSED_RGBA_ASTC_5x4_KHR,160:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,161:ce.COMPRESSED_RGBA_ASTC_5x5_KHR,162:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,163:ce.COMPRESSED_RGBA_ASTC_6x5_KHR,164:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,165:ce.COMPRESSED_RGBA_ASTC_6x6_KHR,166:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,167:ce.COMPRESSED_RGBA_ASTC_8x5_KHR,168:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,169:ce.COMPRESSED_RGBA_ASTC_8x6_KHR,170:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,171:ce.COMPRESSED_RGBA_ASTC_8x8_KHR,172:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,173:ce.COMPRESSED_RGBA_ASTC_10x5_KHR,174:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,175:ce.COMPRESSED_RGBA_ASTC_10x6_KHR,176:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,177:ce.COMPRESSED_RGBA_ASTC_10x8_KHR,178:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,179:ce.COMPRESSED_RGBA_ASTC_10x10_KHR,180:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,181:ce.COMPRESSED_RGBA_ASTC_12x10_KHR,182:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,183:ce.COMPRESSED_RGBA_ASTC_12x12_KHR,184:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,1000054e3:ce.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,1000054001:ce.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,1000066e3:ce.COMPRESSED_RGBA_ASTC_4x4_KHR,1000066001:ce.COMPRESSED_RGBA_ASTC_5x4_KHR,1000066002:ce.COMPRESSED_RGBA_ASTC_5x5_KHR,1000066003:ce.COMPRESSED_RGBA_ASTC_6x5_KHR,1000066004:ce.COMPRESSED_RGBA_ASTC_6x6_KHR,1000066005:ce.COMPRESSED_RGBA_ASTC_8x5_KHR,1000066006:ce.COMPRESSED_RGBA_ASTC_8x6_KHR,1000066007:ce.COMPRESSED_RGBA_ASTC_8x8_KHR,1000066008:ce.COMPRESSED_RGBA_ASTC_10x5_KHR,1000066009:ce.COMPRESSED_RGBA_ASTC_10x6_KHR,1000066010:ce.COMPRESSED_RGBA_ASTC_10x8_KHR,1000066011:ce.COMPRESSED_RGBA_ASTC_10x10_KHR,1000066012:ce.COMPRESSED_RGBA_ASTC_12x10_KHR,1000066013:ce.COMPRESSED_RGBA_ASTC_12x12_KHR};function dxe(e){return pAt[e]}var Za=[171,75,84,88,32,50,48,187,13,10,26,10];function Z3(e){let t=new Uint8Array(e);return!(t.byteLength<Za.length||t[0]!==Za[0]||t[1]!==Za[1]||t[2]!==Za[2]||t[3]!==Za[3]||t[4]!==Za[4]||t[5]!==Za[5]||t[6]!==Za[6]||t[7]!==Za[7]||t[8]!==Za[8]||t[9]!==Za[9]||t[10]!==Za[10]||t[11]!==Za[11])}function pxe(e){let t=new Uint8Array(e),r=fxe(t),n=Math.max(1,r.levels.length),i=r.pixelWidth,a=r.pixelHeight,o=dxe(r.vkFormat);return pg(r.levels,{mipMapLevels:n,width:i,height:a,sizeFunction:s=>s.uncompressedByteLength,internalFormat:o})}var hAt={etc1:{basisFormat:0,compressed:!0,format:ce.COMPRESSED_RGB_ETC1_WEBGL},etc2:{basisFormat:1,compressed:!0},bc1:{basisFormat:2,compressed:!0,format:ce.COMPRESSED_RGB_S3TC_DXT1_EXT},bc3:{basisFormat:3,compressed:!0,format:ce.COMPRESSED_RGBA_S3TC_DXT5_EXT},bc4:{basisFormat:4,compressed:!0},bc5:{basisFormat:5,compressed:!0},"bc7-m6-opaque-only":{basisFormat:6,compressed:!0},"bc7-m5":{basisFormat:7,compressed:!0},"pvrtc1-4-rgb":{basisFormat:8,compressed:!0,format:ce.COMPRESSED_RGB_PVRTC_4BPPV1_IMG},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:ce.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG},"astc-4x4":{basisFormat:10,compressed:!0,format:ce.COMPRESSED_RGBA_ASTC_4X4_KHR},"atc-rgb":{basisFormat:11,compressed:!0},"atc-rgba-interpolated-alpha":{basisFormat:12,compressed:!0},rgba32:{basisFormat:13,compressed:!1},rgb565:{basisFormat:14,compressed:!1},bgr565:{basisFormat:15,compressed:!1},rgba4444:{basisFormat:16,compressed:!1}};async function e8(e,t={}){var r;if(!((r=t.basis)!=null&&r.containerFormat)||t.basis.containerFormat==="auto"){if(Z3(e)){let i=await SL((t==null?void 0:t.core)||{});return hxe(i.KTX2File,e,t)}let{BasisFile:n}=await TL((t==null?void 0:t.core)||{});return CL(n,e,t)}switch(t.basis.module){case"encoder":let n=await SL((t==null?void 0:t.core)||{});switch(t.basis.containerFormat){case"ktx2":return hxe(n.KTX2File,e,t);case"basis":default:return CL(n.BasisFile,e,t)}case"transcoder":default:let{BasisFile:i}=await TL(t.core||{});return CL(i,e,t)}}function CL(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("Failed to start basis transcoding");let i=n.getNumImages(),a=[];for(let o=0;o<i;o++){let s=n.getNumLevels(o),u=[];for(let c=0;c<s;c++)u.push(mAt(n,o,c,r));a.push(u)}return a}finally{n.close(),n.delete()}}function mAt(e,t,r,n){let i=e.getImageWidth(t,r),a=e.getImageHeight(t,r),o=e.getHasAlpha(),{compressed:s,format:u,basisFormat:c}=mxe(n,o),l=e.getImageTranscodedSizeInBytes(t,r,c),f=new Uint8Array(l);if(!e.transcodeImage(f,t,r,c,0,0))throw new Error("failed to start Basis transcoding");return{width:i,height:a,data:f,compressed:s,format:u,hasAlpha:o}}function hxe(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("failed to start KTX2 transcoding");let i=n.getLevels(),a=[];for(let o=0;o<i;o++)a.push(gAt(n,o,r));return[a]}finally{n.close(),n.delete()}}function gAt(e,t,r){let{alphaFlag:n,height:i,width:a}=e.getImageLevelInfo(t,0,0),{compressed:o,format:s,basisFormat:u}=mxe(r,n),c=e.getImageTranscodedSizeInBytes(t,0,0,u),l=new Uint8Array(c);if(!e.transcodeImage(l,t,0,0,u,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{width:a,height:i,data:l,compressed:o,levelSize:c,hasAlpha:n,format:s}}function mxe(e,t){var n;let r=(n=e.basis)==null?void 0:n.format;return r==="auto"&&(r=hg()),typeof r=="object"&&(r=t?r.alpha:r.noAlpha),r=r.toLowerCase(),hAt[r]}function hg(){let e=Cy();return e.has("astc")?"astc-4x4":e.has("dxt")?{alpha:"bc3",noAlpha:"bc1"}:e.has("pvrtc")?{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"}:e.has("etc1")?"etc1":e.has("etc2")?"etc2":"rgb565"}var gxe={dataType:null,batchType:null,name:"Basis",id:"basis",module:"textures",version:dg,worker:!0,extensions:["basis","ktx2"],mimeTypes:["application/octet-stream","image/ktx2"],tests:["sB"],binary:!0,options:{basis:{format:"auto",libraryPath:"libs/",containerFormat:"auto",module:"transcoder"}}},Fp={...gxe,parse:e8};var eo={MAGIC_NUMBER:542327876,HEADER_LENGTH:31,MAGIC_NUMBER_INDEX:0,HEADER_SIZE_INDEX:1,HEADER_FLAGS_INDEX:2,HEADER_HEIGHT_INDEX:3,HEADER_WIDTH_INDEX:4,MIPMAPCOUNT_INDEX:7,HEADER_PF_FLAGS_INDEX:20,HEADER_PF_FOURCC_INDEX:21,DDSD_MIPMAPCOUNT:131072,DDPF_FOURCC:4},vAt={DXT1:ce.COMPRESSED_RGB_S3TC_DXT1_EXT,DXT3:ce.COMPRESSED_RGBA_S3TC_DXT3_EXT,DXT5:ce.COMPRESSED_RGBA_S3TC_DXT5_EXT,"ATC ":ce.COMPRESSED_RGB_ATC_WEBGL,ATCA:ce.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,ATCI:ce.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL},bAt=xxe,xAt=t8,yAt=t8,_At={DXT1:xxe,DXT3:t8,DXT5:t8,"ATC ":bAt,ATCA:xAt,ATCI:yAt};function vxe(e){return new Uint32Array(e,0,eo.HEADER_LENGTH)[eo.MAGIC_NUMBER_INDEX]===eo.MAGIC_NUMBER}function bxe(e){let t=new Int32Array(e,0,eo.HEADER_LENGTH),r=t[eo.HEADER_PF_FOURCC_INDEX];_t(Boolean(t[eo.HEADER_PF_FLAGS_INDEX]&eo.DDPF_FOURCC),"DDS: Unsupported format, must contain a FourCC code");let n=wAt(r),i=vAt[n],a=_At[n];_t(i&&a,`DDS: Unknown pixel format ${r}`);let o=1;t[eo.HEADER_FLAGS_INDEX]&eo.DDSD_MIPMAPCOUNT&&(o=Math.max(1,t[eo.MIPMAPCOUNT_INDEX]));let s=t[eo.HEADER_WIDTH_INDEX],u=t[eo.HEADER_HEIGHT_INDEX],c=t[eo.HEADER_SIZE_INDEX]+4,l=new Uint8Array(e,c);return pg(l,{mipMapLevels:o,width:s,height:u,sizeFunction:a,internalFormat:i})}function xxe(e,t){return(e+3>>2)*(t+3>>2)*8}function t8(e,t){return(e+3>>2)*(t+3>>2)*16}function wAt(e){return String.fromCharCode(e&255,e>>8&255,e>>16&255,e>>24&255)}var Mo={MAGIC_NUMBER:55727696,MAGIC_NUMBER_EXTRA:1347834371,HEADER_LENGTH:13,HEADER_SIZE:52,MAGIC_NUMBER_INDEX:0,PIXEL_FORMAT_INDEX:2,COLOUR_SPACE_INDEX:4,HEIGHT_INDEX:6,WIDTH_INDEX:7,MIPMAPCOUNT_INDEX:11,METADATA_SIZE_INDEX:12},AAt={0:[ce.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],1:[ce.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],2:[ce.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],3:[ce.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],6:[ce.COMPRESSED_RGB_ETC1_WEBGL],7:[ce.COMPRESSED_RGB_S3TC_DXT1_EXT],9:[ce.COMPRESSED_RGBA_S3TC_DXT3_EXT],11:[ce.COMPRESSED_RGBA_S3TC_DXT5_EXT],22:[ce.COMPRESSED_RGB8_ETC2],23:[ce.COMPRESSED_RGBA8_ETC2_EAC],24:[ce.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],25:[ce.COMPRESSED_R11_EAC],26:[ce.COMPRESSED_RG11_EAC],27:[ce.COMPRESSED_RGBA_ASTC_4X4_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR],28:[ce.COMPRESSED_RGBA_ASTC_5X4_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR],29:[ce.COMPRESSED_RGBA_ASTC_5X5_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR],30:[ce.COMPRESSED_RGBA_ASTC_6X5_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR],31:[ce.COMPRESSED_RGBA_ASTC_6X6_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR],32:[ce.COMPRESSED_RGBA_ASTC_8X5_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR],33:[ce.COMPRESSED_RGBA_ASTC_8X6_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR],34:[ce.COMPRESSED_RGBA_ASTC_8X8_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR],35:[ce.COMPRESSED_RGBA_ASTC_10X5_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR],36:[ce.COMPRESSED_RGBA_ASTC_10X6_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR],37:[ce.COMPRESSED_RGBA_ASTC_10X8_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR],38:[ce.COMPRESSED_RGBA_ASTC_10X10_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR],39:[ce.COMPRESSED_RGBA_ASTC_12X10_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR],40:[ce.COMPRESSED_RGBA_ASTC_12X12_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR]},EAt={0:yxe,1:yxe,2:_xe,3:_xe,6:Dy,7:Dy,9:By,11:By,22:Dy,23:By,24:Dy,25:Dy,26:By,27:By,28:TAt,29:SAt,30:kAt,31:CAt,32:DAt,33:BAt,34:FAt,35:OAt,36:IAt,37:PAt,38:RAt,39:jAt,40:MAt};function wxe(e){let r=new Uint32Array(e,0,Mo.HEADER_LENGTH)[Mo.MAGIC_NUMBER_INDEX];return r===Mo.MAGIC_NUMBER||r===Mo.MAGIC_NUMBER_EXTRA}function Axe(e){let t=new Uint32Array(e,0,Mo.HEADER_LENGTH),r=t[Mo.PIXEL_FORMAT_INDEX],n=t[Mo.COLOUR_SPACE_INDEX],i=AAt[r]||[],a=i.length>1&&n?i[1]:i[0],o=EAt[r],s=t[Mo.MIPMAPCOUNT_INDEX],u=t[Mo.WIDTH_INDEX],c=t[Mo.HEIGHT_INDEX],l=Mo.HEADER_SIZE+t[Mo.METADATA_SIZE_INDEX],f=new Uint8Array(e,l);return pg(f,{mipMapLevels:s,width:u,height:c,sizeFunction:o,internalFormat:a})}function yxe(e,t){return e=Math.max(e,16),t=Math.max(t,8),e*t/4}function _xe(e,t){return e=Math.max(e,8),t=Math.max(t,8),e*t/2}function Dy(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*8}function By(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*16}function TAt(e,t){return Math.floor((e+4)/5)*Math.floor((t+3)/4)*16}function SAt(e,t){return Math.floor((e+4)/5)*Math.floor((t+4)/5)*16}function kAt(e,t){return Math.floor((e+5)/6)*Math.floor((t+4)/5)*16}function CAt(e,t){return Math.floor((e+5)/6)*Math.floor((t+5)/6)*16}function DAt(e,t){return Math.floor((e+7)/8)*Math.floor((t+4)/5)*16}function BAt(e,t){return Math.floor((e+7)/8)*Math.floor((t+5)/6)*16}function FAt(e,t){return Math.floor((e+7)/8)*Math.floor((t+7)/8)*16}function OAt(e,t){return Math.floor((e+9)/10)*Math.floor((t+4)/5)*16}function IAt(e,t){return Math.floor((e+9)/10)*Math.floor((t+5)/6)*16}function PAt(e,t){return Math.floor((e+9)/10)*Math.floor((t+7)/8)*16}function RAt(e,t){return Math.floor((e+9)/10)*Math.floor((t+9)/10)*16}function jAt(e,t){return Math.floor((e+11)/12)*Math.floor((t+9)/10)*16}function MAt(e,t){return Math.floor((e+11)/12)*Math.floor((t+11)/12)*16}function Exe(e){if(Z3(e))return pxe(e);if(vxe(e))return bxe(e);if(wxe(e))return Axe(e);throw new Error("Texture container format not recognized")}var Txe={dataType:null,batchType:null,name:"Texture Containers",id:"compressed-texture",module:"textures",version:dg,worker:!0,extensions:["ktx","ktx2","dds","pvr"],mimeTypes:["image/ktx2","image/ktx","image/vnd-ms.dds","image/x-dds","application/octet-stream"],binary:!0,options:{"compressed-texture":{libraryPath:"libs/",useBasis:!1}}},r8={...Txe,parse:async(e,t)=>{var r;return t={...t},(r=t==null?void 0:t["compressed-texture"])!=null&&r.useBasis?(t.basis={format:{alpha:"BC3",noAlpha:"BC1"},...t.basis,containerFormat:"ktx2",module:"encoder"},(await e8(e,t))[0]):Exe(e)}};var DL={name:"Basis Universal Supercompressed GPU Texture",id:"ktx2-basis-writer",module:"textures",version:dg,extensions:["ktx2"],worker:!0,options:{useSRGB:!1,qualityLevel:10,encodeUASTC:!1,mipmaps:!1}};var mg=!0,Sxe=1735152710,OL=12,n8=8,LAt=1313821514,qAt=5130562,NAt=0,UAt=0,GAt=1;function zAt(e,t=0){return`${String.fromCharCode(e.getUint8(t+0))}${String.fromCharCode(e.getUint8(t+1))}${String.fromCharCode(e.getUint8(t+2))}${String.fromCharCode(e.getUint8(t+3))}`}function kxe(e,t=0,r={}){let n=new DataView(e),{magic:i=Sxe}=r,a=n.getUint32(t,!1);return a===i||a===Sxe}function Cxe(e,t,r=0,n={}){let i=new DataView(t),a=zAt(i,r+0),o=i.getUint32(r+4,mg),s=i.getUint32(r+8,mg);switch(Object.assign(e,{header:{byteOffset:r,byteLength:s,hasBinChunk:!1},type:a,version:o,json:{},binChunks:[]}),r+=OL,e.version){case 1:return HAt(e,i,r);case 2:return VAt(e,i,r,n={});default:throw new Error(`Invalid GLB version ${e.version}. Only supports version 1 and 2.`)}}function HAt(e,t,r){_t(e.header.byteLength>OL+n8);let n=t.getUint32(r+0,mg),i=t.getUint32(r+4,mg);return r+=n8,_t(i===NAt),BL(e,t,r,n),r+=n,r+=FL(e,t,r,e.header.byteLength),r}function VAt(e,t,r,n){return _t(e.header.byteLength>OL+n8),$At(e,t,r,n),r+e.header.byteLength}function $At(e,t,r,n){for(;r+8<=e.header.byteLength;){let i=t.getUint32(r+0,mg),a=t.getUint32(r+4,mg);switch(r+=n8,a){case LAt:BL(e,t,r,i);break;case qAt:FL(e,t,r,i);break;case UAt:n.strict||BL(e,t,r,i);break;case GAt:n.strict||FL(e,t,r,i);break;default:break}r+=Ja(i,4)}return r}function BL(e,t,r,n){let i=new Uint8Array(t.buffer,r,n),o=new TextDecoder("utf8").decode(i);return e.json=JSON.parse(o),Ja(n,4)}function FL(e,t,r,n){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:r,byteLength:n,arrayBuffer:t.buffer}),Ja(n,4)}function IL(e,t){var i;if(e.startsWith("data:")||e.startsWith("http:")||e.startsWith("https:"))return e;let n=((i=t==null?void 0:t.core)==null?void 0:i.baseUri)||t.baseUri||t.uri;if(!n)throw new Error(`'baseUri' must be provided to resolve relative url ${e}`);return n.substr(0,n.lastIndexOf("/")+1)+e}var RL={};Oi(RL,{decode:()=>iEt,name:()=>nEt});var WAt="B9h9z9tFBBBF8fL9gBB9gLaaaaaFa9gEaaaB9gFaFa9gEaaaFaEMcBFFFGGGEIIILF9wFFFLEFBFKNFaFCx/IFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBF8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBGy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBEn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBIi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBKI9z9iqlBOc+x8ycGBM/qQFTa8jUUUUBCU/EBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAGTkUUUBRNCUoBAG9uC/wgBZHKCUGAKCUG9JyRVAECFJRICBRcGXEXAcAF9PQFAVAFAclAcAVJAF9JyRMGXGXAG9FQBAMCbJHKC9wZRSAKCIrCEJCGrRQANCUGJRfCBRbAIRTEXGXAOATlAQ9PQBCBRISEMATAQJRIGXAS9FQBCBRtCBREEXGXAOAIlCi9PQBCBRISLMANCU/CBJAEJRKGXGXGXGXGXATAECKrJ2BBAtCKZrCEZfIBFGEBMAKhB83EBAKCNJhB83EBSEMAKAI2BIAI2BBHmCKrHYAYCE6HYy86BBAKCFJAICIJAYJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCGJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCEJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCIJAYAmJHY2BBAI2BFHmCKrHPAPCE6HPy86BBAKCLJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCKJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCOJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCNJAYAmJHY2BBAI2BGHmCKrHPAPCE6HPy86BBAKCVJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCcJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCMJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCSJAYAmJHm2BBAI2BEHICKrHYAYCE6HYy86BBAKCQJAmAYJHm2BBAICIrCEZHYAYCE6HYy86BBAKCfJAmAYJHm2BBAICGrCEZHYAYCE6HYy86BBAKCbJAmAYJHK2BBAICEZHIAICE6HIy86BBAKAIJRISGMAKAI2BNAI2BBHmCIrHYAYCb6HYy86BBAKCFJAICNJAYJHY2BBAmCbZHmAmCb6Hmy86BBAKCGJAYAmJHm2BBAI2BFHYCIrHPAPCb6HPy86BBAKCEJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCIJAmAYJHm2BBAI2BGHYCIrHPAPCb6HPy86BBAKCLJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCKJAmAYJHm2BBAI2BEHYCIrHPAPCb6HPy86BBAKCOJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCNJAmAYJHm2BBAI2BIHYCIrHPAPCb6HPy86BBAKCVJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCcJAmAYJHm2BBAI2BLHYCIrHPAPCb6HPy86BBAKCMJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCSJAmAYJHm2BBAI2BKHYCIrHPAPCb6HPy86BBAKCQJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCfJAmAYJHm2BBAI2BOHICIrHYAYCb6HYy86BBAKCbJAmAYJHK2BBAICbZHIAICb6HIy86BBAKAIJRISFMAKAI8pBB83BBAKCNJAICNJ8pBB83BBAICTJRIMAtCGJRtAECTJHEAS9JQBMMGXAIQBCBRISEMGXAM9FQBANAbJ2BBRtCBRKAfREEXAEANCU/CBJAKJ2BBHTCFrCBATCFZl9zAtJHt86BBAEAGJREAKCFJHKAM9HQBMMAfCFJRfAIRTAbCFJHbAG9HQBMMABAcAG9sJANCUGJAMAG9sTkUUUBpANANCUGJAMCaJAG9sJAGTkUUUBpMAMCBAIyAcJRcAIQBMC9+RKSFMCBC99AOAIlAGCAAGCA9Ly6yRKMALCU/EBJ8kUUUUBAKM+OmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUFT+JUUUBpALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM+lLKFaF99GaG99FaG99GXGXAGCI9HQBAF9FQFEXGXGX9DBBB8/9DBBB+/ABCGJHG1BB+yAB1BBHE+yHI+L+TABCFJHL1BBHK+yHO+L+THN9DBBBB9gHVyAN9DBB/+hANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE86BBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG86BBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG86BBABCIJRBAFCaJHFQBSGMMAF9FQBEXGXGX9DBBB8/9DBBB+/ABCIJHG8uFB+yAB8uFBHE+yHI+L+TABCGJHL8uFBHK+yHO+L+THN9DBBBB9gHVyAN9DB/+g6ANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE87FBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG87FBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG87FBABCNJRBAFCaJHFQBMMM/SEIEaE99EaF99GXAF9FQBCBREABRIEXGXGX9D/zI818/AICKJ8uFBHLCEq+y+VHKAI8uFB+y+UHO9DB/+g6+U9DBBB8/9DBBB+/AO9DBBBB9gy+SHN+L9DBBB9P9d9FQBAN+oRVSFMCUUUU94RVMAICIJ8uFBRcAICGJ8uFBRMABALCFJCEZAEqCFWJAV87FBGXGXAKAM+y+UHN9DB/+g6+U9DBBB8/9DBBB+/AN9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRMSFMCUUUU94RMMABALCGJCEZAEqCFWJAM87FBGXGXAKAc+y+UHK9DB/+g6+U9DBBB8/9DBBB+/AK9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRcSFMCUUUU94RcMABALCaJCEZAEqCFWJAc87FBGXGX9DBBU8/AOAO+U+TANAN+U+TAKAK+U+THO9DBBBBAO9DBBBB9gy+R9DB/+g6+U9DBBB8/+SHO+L9DBBB9P9d9FQBAO+oRcSFMCUUUU94RcMABALCEZAEqCFWJAc87FBAICNJRIAECIJREAFCaJHFQBMMM9JBGXAGCGrAF9sHF9FQBEXABAB8oGBHGCNWCN91+yAGCi91CnWCUUU/8EJ+++U84GBABCIJRBAFCaJHFQBMMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEM/lFFFaGXGXAFABqCEZ9FQBABRESFMGXGXAGCT9PQBABRESFMABREEXAEAF8oGBjGBAECIJAFCIJ8oGBjGBAECNJAFCNJ8oGBjGBAECSJAFCSJ8oGBjGBAECTJREAFCTJRFAGC9wJHGCb9LQBMMAGCI9JQBEXAEAF8oGBjGBAFCIJRFAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF2BB86BBAECFJREAFCFJRFAGCaJHGQBMMABMoFFGaGXGXABCEZ9FQBABRESFMAFCgFZC+BwsN9sRIGXGXAGCT9PQBABRESFMABREEXAEAIjGBAECSJAIjGBAECNJAIjGBAECIJAIjGBAECTJREAGC9wJHGCb9LQBMMAGCI9JQBEXAEAIjGBAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF86BBAECFJREAGCaJHGQBMMABMMMFBCUNMIT9kBB",KAt="B9h9z9tFBBBF8dL9gBB9gLaaaaaFa9gEaaaB9gGaaB9gFaFaEQSBBFBFFGEGEGIILF9wFFFLEFBFKNFaFCx/aFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBG8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBIy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBKi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBNn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBcI9z9iqlBMc/j9JSIBTEM9+FLa8jUUUUBCTlRBCBRFEXCBRGCBREEXABCNJAGJAECUaAFAGrCFZHIy86BBAEAIJREAGCFJHGCN9HQBMAFCx+YUUBJAE86BBAFCEWCxkUUBJAB8pEN83EBAFCFJHFCUG9HQBMMkRIbaG97FaK978jUUUUBCU/KBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAG/8cBBCUoBAG9uC/wgBZHKCUGAKCUG9JyRNAECFJRKCBRVGXEXAVAF9PQFANAFAVlAVANJAF9JyRcGXGXAG9FQBAcCbJHIC9wZHMCE9sRSAMCFWRQAICIrCEJCGrRfCBRbEXAKRTCBRtGXEXGXAOATlAf9PQBCBRKSLMALCU/CBJAtAM9sJRmATAfJRKCBREGXAMCoB9JQBAOAKlC/gB9JQBCBRIEXAmAIJREGXGXGXGXGXATAICKrJ2BBHYCEZfIBFGEBMAECBDtDMIBSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMIBAKCTJRKMGXGXGXGXGXAYCGrCEZfIBFGEBMAECBDtDMITSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMITAKCTJRKMGXGXGXGXGXAYCIrCEZfIBFGEBMAECBDtDMIASEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMIAAKCTJRKMGXGXGXGXGXAYCKrfIBFGEBMAECBDtDMI8wSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCIJAnDeBJAYCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCNJAnDeBJAYCx+YUUBJ2BBJRKSFMAEAKDBBBDMI8wAKCTJRKMAICoBJREAICUFJAM9LQFAERIAOAKlC/fB9LQBMMGXAEAM9PQBAECErRIEXGXAOAKlCi9PQBCBRKSOMAmAEJRYGXGXGXGXGXATAECKrJ2BBAICKZrCEZfIBFGEBMAYCBDtDMIBSEMAYAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAYAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAYAKDBBBDMIBAKCTJRKMAICGJRIAECTJHEAM9JQBMMGXAK9FQBAKRTAtCFJHtCI6QGSFMMCBRKSEMGXAM9FQBALCUGJAbJREALAbJDBGBRnCBRYEXAEALCU/CBJAYJHIDBIBHdCFD9tAdCFDbHPD9OD9hD9RHdAIAMJDBIBHiCFD9tAiAPD9OD9hD9RHiDQBTFtGmEYIPLdKeOnH8ZAIAQJDBIBHpCFD9tApAPD9OD9hD9RHpAIASJDBIBHyCFD9tAyAPD9OD9hD9RHyDQBTFtGmEYIPLdKeOnH8cDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGEAnD9uHnDyBjGBAEAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnA8ZA8cDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnAdAiDQNiV8ZcpMyS8cQ8df8eb8fHdApAyDQNiV8ZcpMyS8cQ8df8eb8fHiDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnAdAiDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJREAYCTJHYAM9JQBMMAbCIJHbAG9JQBMMABAVAG9sJALCUGJAcAG9s/8cBBALALCUGJAcCaJAG9sJAG/8cBBMAcCBAKyAVJRVAKQBMC9+RKSFMCBC99AOAKlAGCAAGCA9Ly6yRKMALCU/KBJ8kUUUUBAKMNBT+BUUUBM+KmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUF/8MBALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM/xLGEaK978jUUUUBCAlHE8kUUUUBGXGXAGCI9HQBGXAFC98ZHI9FQBABRGCBRLEXAGAGDBBBHKCiD+rFCiD+sFD/6FHOAKCND+rFCiD+sFD/6FAOD/gFAKCTD+rFCiD+sFD/6FHND/gFD/kFD/lFHVCBDtD+2FHcAOCUUUU94DtHMD9OD9RD/kFHO9DBB/+hDYAOAOD/mFAVAVD/mFANAcANAMD9OD9RD/kFHOAOD/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHcD/kFCgFDtD9OAKCUUU94DtD9OD9QAOAND/mFAcD/kFCND+rFCU/+EDtD9OD9QAVAND/mFAcD/kFCTD+rFCUU/8ODtD9OD9QDMBBAGCTJRGALCIJHLAI9JQBMMAIAF9PQFAEAFCEZHLCGWHGqCBCTAGl/8MBAEABAICGWJHIAG/8cBBGXAL9FQBAEAEDBIBHKCiD+rFCiD+sFD/6FHOAKCND+rFCiD+sFD/6FAOD/gFAKCTD+rFCiD+sFD/6FHND/gFD/kFD/lFHVCBDtD+2FHcAOCUUUU94DtHMD9OD9RD/kFHO9DBB/+hDYAOAOD/mFAVAVD/mFANAcANAMD9OD9RD/kFHOAOD/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHcD/kFCgFDtD9OAKCUUU94DtD9OD9QAOAND/mFAcD/kFCND+rFCU/+EDtD9OD9QAVAND/mFAcD/kFCTD+rFCUU/8ODtD9OD9QDMIBMAIAEAG/8cBBSFMABAFC98ZHGT+HUUUBAGAF9PQBAEAFCEZHICEWHLJCBCAALl/8MBAEABAGCEWJHGAL/8cBBAEAIT+HUUUBAGAEAL/8cBBMAECAJ8kUUUUBM+yEGGaO97GXAF9FQBCBRGEXABCTJHEAEDBBBHICBDtHLCUU98D8cFCUU98D8cEHKD9OABDBBBHOAIDQILKOSQfbPden8c8d8e8fCggFDtD9OD/6FAOAIDQBFGENVcMTtmYi8ZpyHICTD+sFD/6FHND/gFAICTD+rFCTD+sFD/6FHVD/gFD/kFD/lFHI9DB/+g6DYAVAIALD+2FHLAVCUUUU94DtHcD9OD9RD/kFHVAVD/mFAIAID/mFANALANAcD9OD9RD/kFHIAID/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHLD/kFCTD+rFAVAND/mFALD/kFCggEDtD9OD9QHVAIAND/mFALD/kFCaDbCBDnGCBDnECBDnKCBDnOCBDncCBDnMCBDnfCBDnbD9OHIDQNVi8ZcMpySQ8c8dfb8e8fD9QDMBBABAOAKD9OAVAIDQBFTtGEmYILPdKOenD9QDMBBABCAJRBAGCIJHGAF9JQBMMM94FEa8jUUUUBCAlHE8kUUUUBABAFC98ZHIT+JUUUBGXAIAF9PQBAEAFCEZHLCEWHFJCBCAAFl/8MBAEABAICEWJHBAF/8cBBAEALT+JUUUBABAEAF/8cBBMAECAJ8kUUUUBM/hEIGaF97FaL978jUUUUBCTlRGGXAF9FQBCBREEXAGABDBBBHIABCTJHLDBBBHKDQILKOSQfbPden8c8d8e8fHOCTD+sFHNCID+rFDMIBAB9DBBU8/DY9D/zI818/DYANCEDtD9QD/6FD/nFHNAIAKDQBFGENVcMTtmYi8ZpyHICTD+rFCTD+sFD/6FD/mFHKAKD/mFANAICTD+sFD/6FD/mFHVAVD/mFANAOCTD+rFCTD+sFD/6FD/mFHOAOD/mFD/kFD/kFD/lFCBDtD+4FD/jF9DB/+g6DYHND/mF9DBBX9LDYHID/kFCggEDtHcD9OAVAND/mFAID/kFCTD+rFD9QHVAOAND/mFAID/kFCTD+rFAKAND/mFAID/kFAcD9OD9QHNDQBFTtGEmYILPdKOenHID8dBAGDBIBDyB+t+J83EBABCNJAID8dFAGDBIBDyF+t+J83EBALAVANDQNVi8ZcMpySQ8c8dfb8e8fHND8dBAGDBIBDyG+t+J83EBABCiJAND8dFAGDBIBDyE+t+J83EBABCAJRBAECIJHEAF9JQBMMM/3FGEaF978jUUUUBCoBlREGXAGCGrAF9sHIC98ZHL9FQBCBRGABRFEXAFAFDBBBHKCND+rFCND+sFD/6FAKCiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMBBAFCTJRFAGCIJHGAL9JQBMMGXALAI9PQBAEAICEZHGCGWHFqCBCoBAFl/8MBAEABALCGWJHLAF/8cBBGXAG9FQBAEAEDBIBHKCND+rFCND+sFD/6FAKCiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMIBMALAEAF/8cBBMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEMMMFBCUNMIT9tBB",JAt=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),XAt=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]),YAt={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},QAt={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};async function Dxe(e,t,r,n,i,a="NONE"){let o=await ZAt();rEt(o,o.exports[QAt[i]],e,t,r,n,o.exports[YAt[a||"NONE"]])}var PL;async function ZAt(){return PL||(PL=eEt()),PL}async function eEt(){let e=WAt;WebAssembly.validate(JAt)&&(e=KAt,console.log("Warning: meshopt_decoder is using experimental SIMD support"));let t=await WebAssembly.instantiate(tEt(e),{});return await t.instance.exports.__wasm_call_ctors(),t.instance}function tEt(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;++n){let i=e.charCodeAt(n);t[n]=i>96?i-71:i>64?i-65:i>47?i+4:i>46?63:62}let r=0;for(let n=0;n<e.length;++n)t[r++]=t[n]<60?XAt[t[n]]:(t[n]-60)*64+t[++n];return t.buffer.slice(0,r)}function rEt(e,t,r,n,i,a,o){let s=e.exports.sbrk,u=n+3&-4,c=s(u*i),l=s(a.length),f=new Uint8Array(e.exports.memory.buffer);f.set(a,l);let d=t(c,n,i,l,a.length);if(d===0&&o&&o(c,u,i),r.set(f.subarray(c,c+n*i)),s(c-s(0)),d!==0)throw new Error(`Malformed buffer data: ${d}`)}var i8="EXT_meshopt_compression",nEt=i8;async function iEt(e,t){var i,a;let r=new Yt(e);if(!((i=t==null?void 0:t.gltf)!=null&&i.decompressMeshes)||!((a=t.gltf)!=null&&a.loadBuffers))return;let n=[];for(let o of e.json.bufferViews||[])n.push(aEt(r,o));await Promise.all(n),r.removeExtension(i8)}async function aEt(e,t){let r=e.getObjectExtension(t,i8);if(r){let{byteOffset:n=0,byteLength:i=0,byteStride:a,count:o,mode:s,filter:u="NONE",buffer:c}=r,l=e.gltf.buffers[c],f=new Uint8Array(l.arrayBuffer,l.byteOffset+n,i),d=new Uint8Array(e.gltf.buffers[t.buffer].arrayBuffer,t.byteOffset,t.byteLength);await Dxe(d,o,a,f,s,u),e.removeObjectExtension(t,i8)}}var jL={};Oi(jL,{name:()=>oEt,preprocess:()=>sEt});var gg="EXT_texture_webp",oEt=gg;function sEt(e,t){let r=new Yt(e);if(!yL("image/webp")){if(r.getRequiredExtensions().includes(gg))throw new Error(`gltf: Required extension ${gg} not supported by browser`);return}let{json:n}=r;for(let i of n.textures||[]){let a=r.getObjectExtension(i,gg);a&&(i.source=a.source),r.removeObjectExtension(i,gg)}r.removeExtension(gg)}var ML={};Oi(ML,{name:()=>uEt,preprocess:()=>cEt});var a8="KHR_texture_basisu",uEt=a8;function cEt(e,t){let r=new Yt(e),{json:n}=r;for(let i of n.textures||[]){let a=r.getObjectExtension(i,a8);a&&(i.source=a.source,r.removeObjectExtension(i,a8))}r.removeExtension(a8)}var qL={};Oi(qL,{decode:()=>hEt,encode:()=>mEt,name:()=>dEt,preprocess:()=>pEt});function Bxe(e){let t={};for(let r in e){let n=e[r];if(r!=="indices"){let i=LL(n);t[r]=i}}return t}function LL(e){let{buffer:t,size:r,count:n}=lEt(e);return{value:t,size:r,byteOffset:0,count:n,type:U3(r),componentType:qf(t)}}function lEt(e){let t=e,r=1,n=0;return e&&e.value&&(t=e.value,r=e.size||1),t&&(ArrayBuffer.isView(t)||(t=fEt(t,Float32Array)),n=t.length/r),{buffer:t,size:r,count:n}}function fEt(e,t,r=!1){return e?Array.isArray(e)?new t(e):r&&!(e instanceof t)?new t(e):e:null}var Nf="KHR_draco_mesh_compression",dEt=Nf;function pEt(e,t,r){let n=new Yt(e);for(let i of Fxe(n))n.getObjectExtension(i,Nf)}async function hEt(e,t,r){var a;if(!((a=t==null?void 0:t.gltf)!=null&&a.decompressMeshes))return;let n=new Yt(e),i=[];for(let o of Fxe(n))n.getObjectExtension(o,Nf)&&i.push(gEt(n,o,t,r));await Promise.all(i),n.removeExtension(Nf)}function mEt(e,t={}){let r=new Yt(e);for(let n of r.json.meshes||[])vEt(n,t),r.addRequiredExtension(Nf)}async function gEt(e,t,r,n){let i=e.getObjectExtension(t,Nf);if(!i)return;let a=e.getTypedArrayForBufferView(i.bufferView),o=jd(a.buffer,a.byteOffset),s={...r};delete s["3d-tiles"];let u=await Va(o,kp,s,n),c=Bxe(u.attributes);for(let[l,f]of Object.entries(c))if(l in t.attributes){let d=t.attributes[l],p=e.getAccessor(d);p!=null&&p.min&&(p!=null&&p.max)&&(f.min=p.min,f.max=p.max)}t.attributes=c,u.indices&&(t.indices=LL(u.indices)),e.removeObjectExtension(t,Nf),bEt(t)}function vEt(e,t,r=4,n,i){var l;if(!n.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");let a=n.DracoWriter.encodeSync({attributes:e}),o=(l=i==null?void 0:i.parseSync)==null?void 0:l.call(i,{attributes:e}),s=n._addFauxAttributes(o.attributes),u=n.addBufferView(a);return{primitives:[{attributes:s,mode:r,extensions:{[Nf]:{bufferView:u,attributes:s}}}]}}function bEt(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*Fxe(e){for(let t of e.json.meshes||[])for(let r of t.primitives)yield r}var NL={};Oi(NL,{decode:()=>wEt,name:()=>xEt});var s8="KHR_texture_transform",xEt=s8,o8=new Z,yEt=new ir,_Et=new ir;async function wEt(e,t){var a;if(!new Yt(e).hasExtension(s8)||!((a=t.gltf)!=null&&a.loadBuffers))return;let i=e.json.materials||[];for(let o=0;o<i.length;o++)AEt(o,e)}function AEt(e,t){var a,o,s,u;let r=(a=t.json.materials)==null?void 0:a[e],n=[(o=r==null?void 0:r.pbrMetallicRoughness)==null?void 0:o.baseColorTexture,r==null?void 0:r.emissiveTexture,r==null?void 0:r.normalTexture,r==null?void 0:r.occlusionTexture,(s=r==null?void 0:r.pbrMetallicRoughness)==null?void 0:s.metallicRoughnessTexture],i=[];for(let c of n)c&&((u=c==null?void 0:c.extensions)!=null&&u[s8])&&EEt(t,e,c,i)}function EEt(e,t,r,n){let i=TEt(r,n);if(!i)return;let a=e.json.meshes||[];for(let o of a)for(let s of o.primitives){let u=s.material;Number.isFinite(u)&&t===u&&SEt(e,s,i)}}function TEt(e,t){var o;let r=(o=e.extensions)==null?void 0:o[s8],{texCoord:n=0}=e,{texCoord:i=n}=r;if(!(t.findIndex(([s,u])=>s===n&&u===i)!==-1)){let s=DEt(r);return n!==i&&(e.texCoord=i),t.push([n,i]),{originalTexCoord:n,texCoord:i,matrix:s}}return null}function SEt(e,t,r){var s,u;let{originalTexCoord:n,texCoord:i,matrix:a}=r,o=t.attributes[`TEXCOORD_${n}`];if(Number.isFinite(o)){let c=(s=e.json.accessors)==null?void 0:s[o];if(c&&c.bufferView!==void 0){let l=(u=e.json.bufferViews)==null?void 0:u[c.bufferView];if(l){let{arrayBuffer:f,byteOffset:d}=e.buffers[l.buffer],p=(d||0)+(c.byteOffset||0)+(l.byteOffset||0),{ArrayType:h,length:m}=og(c,l),g=N3[c.componentType],x=q3[c.type],y=l.byteStride||g*x,w=new Float32Array(m);for(let T=0;T<c.count;T++){let A=new h(f,p+T*y,2);o8.set(A[0],A[1],1),o8.transformByMatrix3(a),w.set([o8[0],o8[1]],T*x)}n===i?kEt(c,e,w,c.bufferView):CEt(i,c,t,e,w)}}}}function kEt(e,t,r,n){e.componentType=5126,e.byteOffset=0;let o=(t.json.accessors||[]).reduce((c,l)=>l.bufferView===n?c+1:c,0)>1;t.buffers.push({arrayBuffer:zi(r.buffer),byteOffset:0,byteLength:r.buffer.byteLength});let s=t.buffers.length-1;if(t.json.bufferViews=t.json.bufferViews||[],o){t.json.bufferViews.push({buffer:s,byteLength:r.buffer.byteLength,byteOffset:0}),e.bufferView=t.json.bufferViews.length-1;return}let u=t.json.bufferViews[n];u&&(u.buffer=s,u.byteOffset=0,u.byteLength=r.buffer.byteLength,u.byteStride!==void 0&&delete u.byteStride)}function CEt(e,t,r,n,i){n.buffers.push({arrayBuffer:zi(i.buffer),byteOffset:0,byteLength:i.buffer.byteLength}),n.json.bufferViews=n.json.bufferViews||[];let a=n.json.bufferViews;a.push({buffer:n.buffers.length-1,byteLength:i.buffer.byteLength,byteOffset:0});let o=n.json.accessors;o&&(o.push({bufferView:(a==null?void 0:a.length)-1,byteOffset:0,componentType:5126,count:t.count,type:"VEC2"}),r.attributes[`TEXCOORD_${e}`]=o.length-1)}function DEt(e){let{offset:t=[0,0],rotation:r=0,scale:n=[1,1]}=e,i=new ir().set(1,0,0,0,1,0,t[0],t[1],1),a=yEt.set(Math.cos(r),Math.sin(r),0,-Math.sin(r),Math.cos(r),0,0,0,1),o=_Et.set(n[0],0,0,0,n[1],0,0,0,1);return i.multiplyRight(a).multiplyRight(o)}var UL={};Oi(UL,{decode:()=>FEt,encode:()=>OEt,name:()=>BEt});var Op="KHR_lights_punctual",BEt=Op;async function FEt(e){let t=new Yt(e),{json:r}=t,n=t.getExtension(Op);n&&(t.json.lights=n.lights,t.removeExtension(Op));for(let i of r.nodes||[]){let a=t.getObjectExtension(i,Op);a&&(i.light=a.light),t.removeObjectExtension(i,Op)}}async function OEt(e){let t=new Yt(e),{json:r}=t;if(r.lights){let n=t.addExtension(Op);Yn(!n.lights),n.lights=r.lights,delete r.lights}if(t.json.lights){for(let n of t.json.lights){let i=n.node;t.addObjectExtension(i,Op,n)}delete t.json.lights}}var zL={};Oi(zL,{decode:()=>PEt,encode:()=>REt,name:()=>IEt});var Fy="KHR_materials_unlit",IEt=Fy;async function PEt(e){let t=new Yt(e),{json:r}=t;for(let n of r.materials||[])n.extensions&&n.extensions.KHR_materials_unlit&&(n.unlit=!0),t.removeObjectExtension(n,Fy);t.removeExtension(Fy)}function REt(e){let t=new Yt(e),{json:r}=t;if(t.materials)for(let n of r.materials||[])n.unlit&&(delete n.unlit,t.addObjectExtension(n,Fy,{}),t.addExtension(Fy))}var HL={};Oi(HL,{decode:()=>MEt,encode:()=>LEt,name:()=>jEt});var Oy="KHR_techniques_webgl",jEt=Oy;async function MEt(e){let t=new Yt(e),{json:r}=t,n=t.getExtension(Oy);if(n){let i=qEt(n,t);for(let a of r.materials||[]){let o=t.getObjectExtension(a,Oy);o&&(a.technique=Object.assign({},o,i[o.technique]),a.technique.values=NEt(a.technique,t)),t.removeObjectExtension(a,Oy)}t.removeExtension(Oy)}}async function LEt(e,t){}function qEt(e,t){let{programs:r=[],shaders:n=[],techniques:i=[]}=e,a=new TextDecoder;return n.forEach(o=>{if(Number.isFinite(o.bufferView))o.code=a.decode(t.getTypedArrayForBufferView(o.bufferView));else throw new Error("KHR_techniques_webgl: no shader code")}),r.forEach(o=>{o.fragmentShader=n[o.fragmentShader],o.vertexShader=n[o.vertexShader]}),i.forEach(o=>{o.program=r[o.program]}),i}function NEt(e,t){let r=Object.assign({},e.values);return Object.keys(e.uniforms||{}).forEach(n=>{e.uniforms[n].value&&!(n in r)&&(r[n]=e.uniforms[n].value)}),Object.keys(r).forEach(n=>{typeof r[n]=="object"&&r[n].index!==void 0&&(r[n].texture=t.getTexture(r[n].index))}),r}var Oxe=[X3,K3,RL,jL,ML,qL,UL,zL,HL,NL,AL],UEt=[X3,K3];function Ixe(e,t={},r){var i;let n=Oxe.filter(a=>jxe(a.name,t));for(let a of n)(i=a.preprocess)==null||i.call(a,e,t,r)}async function Pxe(e,t={},r){var i;let n=Oxe.filter(a=>jxe(a.name,t));for(let a of n)await((i=a.decode)==null?void 0:i.call(a,e,t,r))}function Rxe(e,t={}){var r;for(let n of UEt)e=((r=n.encode)==null?void 0:r.call(n,e,t))??e;return e}function jxe(e,t){var i;let r=((i=t==null?void 0:t.gltf)==null?void 0:i.excludeExtensions)||{};return!(e in r&&!r[e])}var VL="KHR_binary_glTF";function Mxe(e){let t=new Yt(e),{json:r}=t;for(let n of r.images||[]){let i=t.getObjectExtension(n,VL);i&&Object.assign(n,i),t.removeObjectExtension(n,VL)}r.buffers&&r.buffers[0]&&delete r.buffers[0].uri,t.removeExtension(VL)}var Lxe={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},zEt={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},$L=class{idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}};json;normalize(t,r){this.json=t.json;let n=t.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:console.warn(`glTF: Unknown version ${n.asset.version}`);return}if(!r.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),Mxe(t),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}_addAsset(t){t.asset=t.asset||{},t.asset.version="2.0",t.asset.generator=t.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(t){for(let r in Lxe)this._convertTopLevelObjectToArray(t,r)}_convertTopLevelObjectToArray(t,r){let n=t[r];if(!(!n||Array.isArray(n))){t[r]=[];for(let i in n){let a=n[i];a.id=a.id||i;let o=t[r].length;t[r].push(a),this.idToIndexMap[r][i]=o}}}_convertObjectIdsToArrayIndices(t){for(let r in Lxe)this._convertIdsToIndices(t,r);"scene"in t&&(t.scene=this._convertIdToIndex(t.scene,"scene"));for(let r of t.textures)this._convertTextureIds(r);for(let r of t.meshes)this._convertMeshIds(r);for(let r of t.nodes)this._convertNodeIds(r);for(let r of t.scenes)this._convertSceneIds(r)}_convertTextureIds(t){t.source&&(t.source=this._convertIdToIndex(t.source,"image"))}_convertMeshIds(t){for(let r of t.primitives){let{attributes:n,indices:i,material:a}=r;for(let o in n)n[o]=this._convertIdToIndex(n[o],"accessor");i&&(r.indices=this._convertIdToIndex(i,"accessor")),a&&(r.material=this._convertIdToIndex(a,"material"))}}_convertNodeIds(t){t.children&&(t.children=t.children.map(r=>this._convertIdToIndex(r,"node"))),t.meshes&&(t.meshes=t.meshes.map(r=>this._convertIdToIndex(r,"mesh")))}_convertSceneIds(t){t.nodes&&(t.nodes=t.nodes.map(r=>this._convertIdToIndex(r,"node")))}_convertIdsToIndices(t,r){t[r]||(console.warn(`gltf v1: json doesn't contain attribute ${r}`),t[r]=[]);for(let n of t[r])for(let i in n){let a=n[i],o=this._convertIdToIndex(a,i);n[i]=o}}_convertIdToIndex(t,r){let n=zEt[r];if(n in this.idToIndexMap){let i=this.idToIndexMap[n][t];if(!Number.isFinite(i))throw new Error(`gltf v1: failed to resolve ${r} with id ${t}`);return i}return t}_updateObjects(t){for(let r of this.json.buffers)delete r.type}_updateMaterial(t){var r,n,i;for(let a of t.materials){a.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};let o=((r=a.values)==null?void 0:r.tex)||((n=a.values)==null?void 0:n.texture2d_0)||((i=a.values)==null?void 0:i.diffuseTex),s=t.textures.findIndex(u=>u.id===o);s!==-1&&(a.pbrMetallicRoughness.baseColorTexture={index:s})}}};function qxe(e,t={}){return new $L().normalize(e,t)}async function Nxe(e,t,r=0,n,i){var a,o,s;return HEt(e,t,r,n),qxe(e,{normalize:(a=n==null?void 0:n.gltf)==null?void 0:a.normalize}),Ixe(e,n,i),(o=n==null?void 0:n.gltf)!=null&&o.loadBuffers&&e.json.buffers&&await VEt(e,n,i),(s=n==null?void 0:n.gltf)!=null&&s.loadImages&&await $Et(e,n,i),await Pxe(e,n,i),e}function HEt(e,t,r,n){var o,s;if((o=n.core)!=null&&o.baseUri&&(e.baseUri=(s=n.core)==null?void 0:s.baseUri),t instanceof ArrayBuffer&&!kxe(t,r,n.glb)&&(t=new TextDecoder().decode(t)),typeof t=="string")e.json=WB(t);else if(t instanceof ArrayBuffer){let u={};r=Cxe(u,t,r,n.glb),Yn(u.type==="glTF",`Invalid GLB magic string ${u.type}`),e._glb=u,e.json=u.json}else Yn(!1,"GLTF: must be ArrayBuffer or string");let i=e.json.buffers||[];if(e.buffers=new Array(i.length).fill(null),e._glb&&e._glb.header.hasBinChunk){let{binChunks:u}=e._glb;e.buffers[0]={arrayBuffer:u[0].arrayBuffer,byteOffset:u[0].byteOffset,byteLength:u[0].byteLength}}let a=e.json.images||[];e.images=new Array(a.length).fill({})}async function VEt(e,t,r){var i,a;let n=e.json.buffers||[];for(let o=0;o<n.length;++o){let s=n[o];if(s.uri){let{fetch:u}=r;Yn(u);let c=IL(s.uri,t),l=await((i=r==null?void 0:r.fetch)==null?void 0:i.call(r,c)),f=await((a=l==null?void 0:l.arrayBuffer)==null?void 0:a.call(l));e.buffers[o]={arrayBuffer:f,byteOffset:0,byteLength:f.byteLength},delete s.uri}else e.buffers[o]===null&&(e.buffers[o]={arrayBuffer:new ArrayBuffer(s.byteLength),byteOffset:0,byteLength:s.byteLength})}}async function $Et(e,t,r){let n=WEt(e),i=e.json.images||[],a=[];for(let o of n)a.push(KEt(e,i[o],o,t,r));return await Promise.all(a)}function WEt(e){let t=new Set,r=e.json.textures||[];for(let n of r)n.source!==void 0&&t.add(n.source);return Array.from(t).sort()}async function KEt(e,t,r,n,i){let a;if(t.uri&&!t.hasOwnProperty("bufferView")){let c=IL(t.uri,n),{fetch:l}=i;a=await(await l(c)).arrayBuffer(),t.bufferView={data:a}}if(Number.isFinite(t.bufferView)){let c=rxe(e.json,e.buffers,t.bufferView);a=jd(c.buffer,c.byteOffset,c.byteLength)}Yn(a,"glTF image has no data");let o=n,s={...o,core:{...o==null?void 0:o.core,mimeType:t.mimeType},basis:o.basis||{format:hg()}},u=await Va(a,[ag,Fp],s,i);u&&u[0]&&(u={compressed:!0,mipmaps:!1,width:u[0].width,height:u[0].height,data:u[0]}),e.images=e.images||[],e.images[r]=u}var Yc={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:Y3,extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"],parse:JEt,options:{gltf:{normalize:!0,loadBuffers:!0,loadImages:!0,decompressMeshes:!0}}};async function JEt(e,t={},r){var o;let n={...Yc.options,...t};n.gltf={...Yc.options.gltf,...n.gltf};let i=((o=t==null?void 0:t.glb)==null?void 0:o.byteOffset)||0;return await Nxe({},e,i,n,r)}var XEt=1179937895,YEt=1313821514,QEt=5130562,Nu=!0;function Uxe(e,t,r=0,n={}){let{magic:i=XEt,version:a=2,json:o={},binary:s}=e,u=r;t&&(t.setUint32(r+0,i,Nu),t.setUint32(r+4,a,Nu),t.setUint32(r+8,0,Nu));let c=r+8;r+=12;let l=r;t&&(t.setUint32(r+0,0,Nu),t.setUint32(r+4,YEt,Nu)),r+=8;let f=JSON.stringify(o);if(r=f0(t,r,f,4),t){let d=r-l-8;t.setUint32(l+0,d,Nu)}if(s){let d=r;if(t&&(t.setUint32(r+0,0,Nu),t.setUint32(r+4,QEt,Nu)),r+=8,r=mw(t,r,s,4),t){let p=r-d-8;t.setUint32(d+0,p,Nu)}}if(t){let d=r-u;t.setUint32(c,d,Nu)}return r}function WL(e,t,r,n){return ZEt(e),Uxe(e,t,r,n)}function ZEt(e){if(e.buffers&&e.buffers.length>1)throw new Error("encodeGLTF: multiple buffers not yet implemented")}var KL={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:Y3,extensions:["glb"],mimeTypes:["model/gltf-binary"],binary:!0,options:{gltf:{}},encode:async(e,t={})=>Gxe(e,t),encodeSync:Gxe};function Gxe(e,t={}){let{byteOffset:r=0}=t,n=Rxe(e),i=WL(n,null,r,t),a=new ArrayBuffer(i),o=new DataView(a);return WL(n,o,r,t),a}var eTt={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},tTt={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Lo={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},rTt={magFilter:Lo.TEXTURE_MAG_FILTER,minFilter:Lo.TEXTURE_MIN_FILTER,wrapS:Lo.TEXTURE_WRAP_S,wrapT:Lo.TEXTURE_WRAP_T},nTt={[Lo.TEXTURE_MAG_FILTER]:Lo.LINEAR,[Lo.TEXTURE_MIN_FILTER]:Lo.NEAREST_MIPMAP_LINEAR,[Lo.TEXTURE_WRAP_S]:Lo.REPEAT,[Lo.TEXTURE_WRAP_T]:Lo.REPEAT};function iTt(){return{id:"default-sampler",parameters:nTt}}function aTt(e){return tTt[e]}function oTt(e){return eTt[e]}var JL=class{baseUri="";jsonUnprocessed;json;buffers=[];images=[];postProcess(t,r={}){let{json:n,buffers:i=[],images:a=[]}=t,{baseUri:o=""}=t;return Yn(n),this.baseUri=o,this.buffers=i,this.images=a,this.jsonUnprocessed=n,this.json=this._resolveTree(t.json,r),this.json}_resolveTree(t,r={}){let n={...t};return this.json=n,t.bufferViews&&(n.bufferViews=t.bufferViews.map((i,a)=>this._resolveBufferView(i,a))),t.images&&(n.images=t.images.map((i,a)=>this._resolveImage(i,a))),t.samplers&&(n.samplers=t.samplers.map((i,a)=>this._resolveSampler(i,a))),t.textures&&(n.textures=t.textures.map((i,a)=>this._resolveTexture(i,a))),t.accessors&&(n.accessors=t.accessors.map((i,a)=>this._resolveAccessor(i,a))),t.materials&&(n.materials=t.materials.map((i,a)=>this._resolveMaterial(i,a))),t.meshes&&(n.meshes=t.meshes.map((i,a)=>this._resolveMesh(i,a))),t.nodes&&(n.nodes=t.nodes.map((i,a)=>this._resolveNode(i,a)),n.nodes=n.nodes.map((i,a)=>this._resolveNodeChildren(i))),t.skins&&(n.skins=t.skins.map((i,a)=>this._resolveSkin(i,a))),t.scenes&&(n.scenes=t.scenes.map((i,a)=>this._resolveScene(i,a))),typeof this.json.scene=="number"&&n.scenes&&(n.scene=n.scenes[this.json.scene]),n}getScene(t){return this._get(this.json.scenes,t)}getNode(t){return this._get(this.json.nodes,t)}getSkin(t){return this._get(this.json.skins,t)}getMesh(t){return this._get(this.json.meshes,t)}getMaterial(t){return this._get(this.json.materials,t)}getAccessor(t){return this._get(this.json.accessors,t)}getCamera(t){return this._get(this.json.cameras,t)}getTexture(t){return this._get(this.json.textures,t)}getSampler(t){return this._get(this.json.samplers,t)}getImage(t){return this._get(this.json.images,t)}getBufferView(t){return this._get(this.json.bufferViews,t)}getBuffer(t){return this._get(this.json.buffers,t)}_get(t,r){if(typeof r=="object")return r;let n=t&&t[r];return n||console.warn(`glTF file error: Could not find ${t}[${r}]`),n}_resolveScene(t,r){return{...t,id:t.id||`scene-${r}`,nodes:(t.nodes||[]).map(n=>this.getNode(n))}}_resolveNode(t,r){let n={...t,id:(t==null?void 0:t.id)||`node-${r}`};return t.mesh!==void 0&&(n.mesh=this.getMesh(t.mesh)),t.camera!==void 0&&(n.camera=this.getCamera(t.camera)),t.skin!==void 0&&(n.skin=this.getSkin(t.skin)),t.meshes!==void 0&&t.meshes.length&&(n.mesh=t.meshes.reduce((i,a)=>{let o=this.getMesh(a);return i.id=o.id,i.primitives=i.primitives.concat(o.primitives),i},{primitives:[]})),n}_resolveNodeChildren(t){return t.children&&(t.children=t.children.map(r=>this.getNode(r))),t}_resolveSkin(t,r){let n=typeof t.inverseBindMatrices=="number"?this.getAccessor(t.inverseBindMatrices):void 0;return{...t,id:t.id||`skin-${r}`,inverseBindMatrices:n}}_resolveMesh(t,r){let n={...t,id:t.id||`mesh-${r}`,primitives:[]};return t.primitives&&(n.primitives=t.primitives.map(i=>{let a={...i,attributes:{},indices:void 0,material:void 0},o=i.attributes;for(let s in o)a.attributes[s]=this.getAccessor(o[s]);return i.indices!==void 0&&(a.indices=this.getAccessor(i.indices)),i.material!==void 0&&(a.material=this.getMaterial(i.material)),a})),n}_resolveMaterial(t,r){let n={...t,id:t.id||`material-${r}`};if(n.normalTexture&&(n.normalTexture={...n.normalTexture},n.normalTexture.texture=this.getTexture(n.normalTexture.index)),n.occlusionTexture&&(n.occlusionTexture={...n.occlusionTexture},n.occlusionTexture.texture=this.getTexture(n.occlusionTexture.index)),n.emissiveTexture&&(n.emissiveTexture={...n.emissiveTexture},n.emissiveTexture.texture=this.getTexture(n.emissiveTexture.index)),n.emissiveFactor||(n.emissiveFactor=n.emissiveTexture?[1,1,1]:[0,0,0]),n.pbrMetallicRoughness){n.pbrMetallicRoughness={...n.pbrMetallicRoughness};let i=n.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture={...i.baseColorTexture},i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture={...i.metallicRoughnessTexture},i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return n}_resolveAccessor(t,r){let n=aTt(t.componentType),i=oTt(t.type),a=n*i,o={...t,id:t.id||`accessor-${r}`,bytesPerComponent:n,components:i,bytesPerElement:a,value:void 0,bufferView:void 0,sparse:void 0};if(t.bufferView!==void 0&&(o.bufferView=this.getBufferView(t.bufferView)),o.bufferView){let s=o.bufferView.buffer,{ArrayType:u,byteLength:c}=og(o,o.bufferView),l=(o.bufferView.byteOffset||0)+(o.byteOffset||0)+s.byteOffset,f=$l(s.arrayBuffer,l,c);o.bufferView.byteStride&&(f=this._getValueFromInterleavedBuffer(s,l,o.bufferView.byteStride,o.bytesPerElement,o.count)),o.value=new u(f)}return o}_getValueFromInterleavedBuffer(t,r,n,i,a){let o=new Uint8Array(a*i);for(let s=0;s<a;s++){let u=r+s*n;o.set(new Uint8Array(t.arrayBuffer.slice(u,u+i)),s*i)}return o.buffer}_resolveTexture(t,r){return{...t,id:t.id||`texture-${r}`,sampler:typeof t.sampler=="number"?this.getSampler(t.sampler):iTt(),source:typeof t.source=="number"?this.getImage(t.source):void 0}}_resolveSampler(t,r){let n={id:t.id||`sampler-${r}`,...t,parameters:{}};for(let i in n){let a=this._enumSamplerParameter(i);a!==void 0&&(n.parameters[a]=n[i])}return n}_enumSamplerParameter(t){return rTt[t]}_resolveImage(t,r){let n={...t,id:t.id||`image-${r}`,image:null,bufferView:t.bufferView!==void 0?this.getBufferView(t.bufferView):void 0},i=this.images[r];return i&&(n.image=i),n}_resolveBufferView(t,r){let n=t.buffer,i=this.buffers[n].arrayBuffer,a=this.buffers[n].byteOffset||0;return t.byteOffset&&(a+=t.byteOffset),{id:`bufferView-${r}`,...t,buffer:this.buffers[n],data:new Uint8Array(i,a,t.byteLength)}}_resolveCamera(t,r){let n={...t,id:t.id||`camera-${r}`};return n.perspective,n.orthographic,n}};function Iy(e,t){return new JL().postProcess(e,t)}var u8={URI:0,EMBEDDED:1};function c8(e,t,r,n){e.rotateYtoZ=!0;let i=(e.byteOffset||0)+(e.byteLength||0)-r;if(i===0)throw new Error("glTF byte length must be greater than 0.");return e.gltfUpAxis=n!=null&&n["3d-tiles"]&&n["3d-tiles"].assetGltfUpAxis?n["3d-tiles"].assetGltfUpAxis:"Y",e.gltfArrayBuffer=jd(t,r,i),e.gltfByteOffset=0,e.gltfByteLength=i,r%4===0||console.warn(`${e.type}: embedded glb is not aligned to a 4-byte boundary.`),(e.byteOffset||0)+(e.byteLength||0)}async function l8(e,t,r,n){let i=(r==null?void 0:r["3d-tiles"])||{};if(sTt(e,t,r),i.loadGLTF){if(!n)return;if(e.gltfUrl){let{fetch:a}=n,o=await a(e.gltfUrl,r==null?void 0:r.core);e.gltfArrayBuffer=await o.arrayBuffer(),e.gltfByteOffset=0}if(e.gltfArrayBuffer){let a=await Va(e.gltfArrayBuffer,Yc,r,n);e.gltf=Iy(a),e.gpuMemoryUsageInBytes=Sy(e.gltf),delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength}}}function sTt(e,t,r){switch(t){case u8.URI:if(e.gltfArrayBuffer){let n=new Uint8Array(e.gltfArrayBuffer,e.gltfByteOffset),a=new TextDecoder().decode(n);e.gltfUrl=a.replace(/[\s\0]+$/,"")}delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength;break;case u8.EMBEDDED:break;default:throw new Error("b3dm: Illegal glTF format field")}}async function zxe(e,t,r,n,i){var o;r=uTt(e,t,r,n,i),await l8(e,u8.EMBEDDED,n,i);let a=(o=e==null?void 0:e.gltf)==null?void 0:o.extensions;return a&&a.CESIUM_RTC&&(e.rtcCenter=a.CESIUM_RTC.center),r}function uTt(e,t,r,n,i){r=Lf(e,t,r),r=rg(e,t,r),r=ng(e,t,r,n),r=c8(e,t,r,n);let a=new Jc(e.featureTableJson,e.featureTableBinary);return e.rtcCenter=a.getGlobalProperty("RTC_CENTER",mt.FLOAT,3),r}async function Hxe(e,t,r,n,i){return r=cTt(e,t,r,n,i),await l8(e,e.gltfFormat||0,n,i),r}function cTt(e,t,r,n,i){var c;if(r=Lf(e,t,r),e.version!==1)throw new Error(`Instanced 3D Model version ${e.version} is not supported`);r=rg(e,t,r);let a=new DataView(t);if(e.gltfFormat=a.getUint32(r,!0),r+=4,r=ng(e,t,r,n),r=c8(e,t,r,n),!((c=e==null?void 0:e.header)!=null&&c.featureTableJsonByteLength)||e.header.featureTableJsonByteLength===0)throw new Error("i3dm parser: featureTableJsonByteLength is zero.");let o=new Jc(e.featureTableJson,e.featureTableBinary),s=o.getGlobalProperty("INSTANCES_LENGTH");if(o.featuresLength=s,!Number.isFinite(s))throw new Error("i3dm parser: INSTANCES_LENGTH must be defined");e.eastNorthUp=o.getGlobalProperty("EAST_NORTH_UP"),e.rtcCenter=o.getGlobalProperty("RTC_CENTER",mt.FLOAT,3);let u=new Cp(e.batchTableJson,e.batchTableBinary,s);return lTt(e,o,u,s),r}function lTt(e,t,r,n){let i=new Array(n),a=new Z,o=new Z,s=new Z,u=new Z,c=new ir,l=new Po,f=new Z,d={},p=new gr,h=[],m=[],g=[],x=[];for(let y=0;y<n;y++){let w;if(t.hasProperty("POSITION"))w=t.getProperty("POSITION",mt.FLOAT,3,y,a);else if(t.hasProperty("POSITION_QUANTIZED")){w=t.getProperty("POSITION_QUANTIZED",mt.UNSIGNED_SHORT,3,y,a);let I=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",mt.FLOAT,3);if(!I)throw new Error("i3dm parser: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let P=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",mt.FLOAT,3);if(!P)throw new Error("i3dm parser: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let L=65535;for(let G=0;G<3;G++)w[G]=w[G]/L*P[G]+I[G]}if(!w)throw new Error("i3dm: POSITION or POSITION_QUANTIZED must be defined for each instance.");a.copy(w),d.translation=a,e.normalUp=t.getProperty("NORMAL_UP",mt.FLOAT,3,y,h),e.normalRight=t.getProperty("NORMAL_RIGHT",mt.FLOAT,3,y,m);let T=!1;if(e.normalUp){if(!e.normalRight)throw new Error("i3dm: Custom orientation requires both NORMAL_UP and NORMAL_RIGHT.");e.hasCustomOrientation=!0}else{if(e.octNormalUp=t.getProperty("NORMAL_UP_OCT32P",mt.UNSIGNED_SHORT,2,y,h),e.octNormalRight=t.getProperty("NORMAL_RIGHT_OCT32P",mt.UNSIGNED_SHORT,2,y,m),e.octNormalUp)throw e.octNormalRight?new Error("i3dm: oct-encoded orientation not implemented"):new Error("i3dm: oct-encoded orientation requires NORMAL_UP_OCT32P and NORMAL_RIGHT_OCT32P");e.eastNorthUp?(Ot.WGS84.eastNorthUpToFixedFrame(a,p),p.getRotationMatrix3(c)):c.identity()}T&&(u.copy(o).cross(s).normalize(),c.setColumn(0,o),c.setColumn(1,s),c.setColumn(2,u)),l.fromMatrix3(c),d.rotation=l,f.set(1,1,1);let A=t.getProperty("SCALE",mt.FLOAT,1,y,g);Number.isFinite(A)&&f.multiplyByScalar(A);let D=t.getProperty("SCALE_NON_UNIFORM",mt.FLOAT,3,y,h);D&&f.scale(D),d.scale=f;let F=t.getProperty("BATCH_ID",mt.UNSIGNED_SHORT,1,y,x);F===void 0&&(F=y);let j=new gr().fromQuaternion(d.rotation);p.identity(),p.translate(d.translation),p.multiplyRight(j),p.scale(d.scale);let k=p.clone();i[y]={modelMatrix:k,batchId:F}}e.instances=i}async function Vxe(e,t,r,n,i,a){r=Lf(e,t,r);let o=new DataView(t);for(e.tilesLength=o.getUint32(r,!0),r+=4,e.tiles=[];e.tiles.length<e.tilesLength&&(e.byteLength||0)-r>12;){let s={shape:"tile3d"};e.tiles.push(s),r=await a(t,r,n,i,s)}return r}async function $xe(e,t,r,n){var i,a;if(e.rotateYtoZ=!0,e.gltfUpAxis=(i=r==null?void 0:r["3d-tiles"])!=null&&i.assetGltfUpAxis?r["3d-tiles"].assetGltfUpAxis:"Y",(a=r==null?void 0:r["3d-tiles"])!=null&&a.loadGLTF){if(!n)return t.byteLength;let o=await Va(t,Yc,r,n);e.gltf=Iy(o),e.gpuMemoryUsageInBytes=Sy(e.gltf)}else e.gltfArrayBuffer=t;return t.byteLength}async function XL(e,t=0,r,n,i={shape:"tile3d"}){switch(i.byteOffset=t,i.type=_be(e,t),i.type){case pi.COMPOSITE:return await Vxe(i,e,t,r,n,XL);case pi.BATCHED_3D_MODEL:return await zxe(i,e,t,r,n);case pi.GLTF:return await $xe(i,e,r,n);case pi.INSTANCED_3D_MODEL:return await Hxe(i,e,t,r,n);case pi.POINT_CLOUD:return await Nbe(i,e,t,r,n);default:throw new Error(`3DTileLoader: unknown type ${i.type}`)}}async function YL(e,t,r){if(new Uint32Array(e.slice(0,4))[0]!==1952609651)throw new Error("Wrong subtree file magic number");if(new Uint32Array(e.slice(4,8))[0]!==1)throw new Error("Wrong subtree file verson, must be 1");let a=Wxe(e.slice(8,16)),o=new Uint8Array(e,24,a),u=new TextDecoder("utf8").decode(o),c=JSON.parse(u),l=Wxe(e.slice(16,24)),f=new ArrayBuffer(0);if(l&&(f=e.slice(24+a)),await f8(c,c.tileAvailability,f,r),Array.isArray(c.contentAvailability))for(let d of c.contentAvailability)await f8(c,d,f,r);else await f8(c,c.contentAvailability,f,r);return await f8(c,c.childSubtreeAvailability,f,r),c}async function f8(e,t,r,n){let i=Number.isFinite(t.bitstream)?t.bitstream:t.bufferView;if(typeof i!="number")return;let a=e.bufferViews[i],o=e.buffers[a.buffer];if(!(n!=null&&n.baseUrl))throw new Error("Url is not provided");if(!n.fetch)throw new Error("fetch is not provided");if(o.uri){let u=`${(n==null?void 0:n.baseUrl)||""}/${o.uri}`,l=await(await n.fetch(u)).arrayBuffer();t.explicitBitstream=new Uint8Array(l,a.byteOffset,a.byteLength);return}let s=e.buffers.slice(0,a.buffer).reduce((u,c)=>u+c.byteLength,0);t.explicitBitstream=new Uint8Array(r.slice(s,s+o.byteLength),a.byteOffset,a.byteLength)}function Wxe(e){let t=new DataView(e),r=t.getUint32(0,!0),n=t.getUint32(4,!0);return r+2**32*n}var d8={dataType:null,batchType:null,id:"3d-tiles-subtree",name:"3D Tiles Subtree",module:"3d-tiles",version:Zm,extensions:["subtree"],mimeTypes:["application/octet-stream"],tests:["subtree"],parse:YL,options:{}};var qo=null;try{qo=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function Gr(e,t,r){this.low=e|0,this.high=t|0,this.unsigned=!!r}Gr.prototype.__isLong__;Object.defineProperty(Gr.prototype,"__isLong__",{value:!0});function Wi(e){return(e&&e.__isLong__)===!0}function Kxe(e){var t=Math.clz32(e&-e);return e?31-t:t}Gr.isLong=Wi;var Jxe={},Xxe={};function Ip(e,t){var r,n,i;return t?(e>>>=0,(i=0<=e&&e<256)&&(n=Xxe[e],n)?n:(r=pr(e,0,!0),i&&(Xxe[e]=r),r)):(e|=0,(i=-128<=e&&e<128)&&(n=Jxe[e],n)?n:(r=pr(e,e<0?-1:0,!1),i&&(Jxe[e]=r),r))}Gr.fromInt=Ip;function No(e,t){if(isNaN(e))return t?Qc:Ts;if(t){if(e<0)return Qc;if(e>=eye)return nye}else{if(e<=-Qxe)return Fa;if(e+1>=Qxe)return rye}return e<0?No(-e,t).neg():pr(e%bg|0,e/bg|0,t)}Gr.fromNumber=No;function pr(e,t,r){return new Gr(e,t,r)}Gr.fromBits=pr;var p8=Math.pow;function ZL(e,t,r){if(e.length===0)throw Error("empty string");if(typeof t=="number"?(r=t,t=!1):t=!!t,e==="NaN"||e==="Infinity"||e==="+Infinity"||e==="-Infinity")return t?Qc:Ts;if(r=r||10,r<2||36<r)throw RangeError("radix");var n;if((n=e.indexOf("-"))>0)throw Error("interior hyphen");if(n===0)return ZL(e.substring(1),t,r).neg();for(var i=No(p8(r,8)),a=Ts,o=0;o<e.length;o+=8){var s=Math.min(8,e.length-o),u=parseInt(e.substring(o,o+s),r);if(s<8){var c=No(p8(r,s));a=a.mul(c).add(No(u))}else a=a.mul(i),a=a.add(No(u))}return a.unsigned=t,a}Gr.fromString=ZL;function Ss(e,t){return typeof e=="number"?No(e,t):typeof e=="string"?ZL(e,t):pr(e.low,e.high,typeof t=="boolean"?t:e.unsigned)}Gr.fromValue=Ss;var Yxe=1<<16,fTt=1<<24,bg=Yxe*Yxe,eye=bg*bg,Qxe=eye/2,Zxe=Ip(fTt),Ts=Ip(0);Gr.ZERO=Ts;var Qc=Ip(0,!0);Gr.UZERO=Qc;var vg=Ip(1);Gr.ONE=vg;var tye=Ip(1,!0);Gr.UONE=tye;var QL=Ip(-1);Gr.NEG_ONE=QL;var rye=pr(-1,2147483647,!1);Gr.MAX_VALUE=rye;var nye=pr(-1,-1,!0);Gr.MAX_UNSIGNED_VALUE=nye;var Fa=pr(0,-2147483648,!1);Gr.MIN_VALUE=Fa;var Se=Gr.prototype;Se.toInt=function(){return this.unsigned?this.low>>>0:this.low};Se.toNumber=function(){return this.unsigned?(this.high>>>0)*bg+(this.low>>>0):this.high*bg+(this.low>>>0)};Se.toString=function(t){if(t=t||10,t<2||36<t)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(Fa)){var r=No(t),n=this.div(r),i=n.mul(r).sub(this);return n.toString(t)+i.toInt().toString(t)}else return"-"+this.neg().toString(t);for(var a=No(p8(t,6),this.unsigned),o=this,s="";;){var u=o.div(a),c=o.sub(u.mul(a)).toInt()>>>0,l=c.toString(t);if(o=u,o.isZero())return l+s;for(;l.length<6;)l="0"+l;s=""+l+s}};Se.getHighBits=function(){return this.high};Se.getHighBitsUnsigned=function(){return this.high>>>0};Se.getLowBits=function(){return this.low};Se.getLowBitsUnsigned=function(){return this.low>>>0};Se.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Fa)?64:this.neg().getNumBitsAbs();for(var t=this.high!=0?this.high:this.low,r=31;r>0&&!(t&1<<r);r--);return this.high!=0?r+33:r+1};Se.isZero=function(){return this.high===0&&this.low===0};Se.eqz=Se.isZero;Se.isNegative=function(){return!this.unsigned&&this.high<0};Se.isPositive=function(){return this.unsigned||this.high>=0};Se.isOdd=function(){return(this.low&1)===1};Se.isEven=function(){return(this.low&1)===0};Se.equals=function(t){return Wi(t)||(t=Ss(t)),this.unsigned!==t.unsigned&&this.high>>>31===1&&t.high>>>31===1?!1:this.high===t.high&&this.low===t.low};Se.eq=Se.equals;Se.notEquals=function(t){return!this.eq(t)};Se.neq=Se.notEquals;Se.ne=Se.notEquals;Se.lessThan=function(t){return this.comp(t)<0};Se.lt=Se.lessThan;Se.lessThanOrEqual=function(t){return this.comp(t)<=0};Se.lte=Se.lessThanOrEqual;Se.le=Se.lessThanOrEqual;Se.greaterThan=function(t){return this.comp(t)>0};Se.gt=Se.greaterThan;Se.greaterThanOrEqual=function(t){return this.comp(t)>=0};Se.gte=Se.greaterThanOrEqual;Se.ge=Se.greaterThanOrEqual;Se.compare=function(t){if(Wi(t)||(t=Ss(t)),this.eq(t))return 0;var r=this.isNegative(),n=t.isNegative();return r&&!n?-1:!r&&n?1:this.unsigned?t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1:this.sub(t).isNegative()?-1:1};Se.comp=Se.compare;Se.negate=function(){return!this.unsigned&&this.eq(Fa)?Fa:this.not().add(vg)};Se.neg=Se.negate;Se.add=function(t){Wi(t)||(t=Ss(t));var r=this.high>>>16,n=this.high&65535,i=this.low>>>16,a=this.low&65535,o=t.high>>>16,s=t.high&65535,u=t.low>>>16,c=t.low&65535,l=0,f=0,d=0,p=0;return p+=a+c,d+=p>>>16,p&=65535,d+=i+u,f+=d>>>16,d&=65535,f+=n+s,l+=f>>>16,f&=65535,l+=r+o,l&=65535,pr(d<<16|p,l<<16|f,this.unsigned)};Se.subtract=function(t){return Wi(t)||(t=Ss(t)),this.add(t.neg())};Se.sub=Se.subtract;Se.multiply=function(t){if(this.isZero())return this;if(Wi(t)||(t=Ss(t)),qo){var r=qo.mul(this.low,this.high,t.low,t.high);return pr(r,qo.get_high(),this.unsigned)}if(t.isZero())return this.unsigned?Qc:Ts;if(this.eq(Fa))return t.isOdd()?Fa:Ts;if(t.eq(Fa))return this.isOdd()?Fa:Ts;if(this.isNegative())return t.isNegative()?this.neg().mul(t.neg()):this.neg().mul(t).neg();if(t.isNegative())return this.mul(t.neg()).neg();if(this.lt(Zxe)&&t.lt(Zxe))return No(this.toNumber()*t.toNumber(),this.unsigned);var n=this.high>>>16,i=this.high&65535,a=this.low>>>16,o=this.low&65535,s=t.high>>>16,u=t.high&65535,c=t.low>>>16,l=t.low&65535,f=0,d=0,p=0,h=0;return h+=o*l,p+=h>>>16,h&=65535,p+=a*l,d+=p>>>16,p&=65535,p+=o*c,d+=p>>>16,p&=65535,d+=i*l,f+=d>>>16,d&=65535,d+=a*c,f+=d>>>16,d&=65535,d+=o*u,f+=d>>>16,d&=65535,f+=n*l+i*c+a*u+o*s,f&=65535,pr(p<<16|h,f<<16|d,this.unsigned)};Se.mul=Se.multiply;Se.divide=function(t){if(Wi(t)||(t=Ss(t)),t.isZero())throw Error("division by zero");if(qo){if(!this.unsigned&&this.high===-2147483648&&t.low===-1&&t.high===-1)return this;var r=(this.unsigned?qo.div_u:qo.div_s)(this.low,this.high,t.low,t.high);return pr(r,qo.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?Qc:Ts;var n,i,a;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return Qc;if(t.gt(this.shru(1)))return tye;a=Qc}else{if(this.eq(Fa)){if(t.eq(vg)||t.eq(QL))return Fa;if(t.eq(Fa))return vg;var o=this.shr(1);return n=o.div(t).shl(1),n.eq(Ts)?t.isNegative()?vg:QL:(i=this.sub(t.mul(n)),a=n.add(i.div(t)),a)}else if(t.eq(Fa))return this.unsigned?Qc:Ts;if(this.isNegative())return t.isNegative()?this.neg().div(t.neg()):this.neg().div(t).neg();if(t.isNegative())return this.div(t.neg()).neg();a=Ts}for(i=this;i.gte(t);){n=Math.max(1,Math.floor(i.toNumber()/t.toNumber()));for(var s=Math.ceil(Math.log(n)/Math.LN2),u=s<=48?1:p8(2,s-48),c=No(n),l=c.mul(t);l.isNegative()||l.gt(i);)n-=u,c=No(n,this.unsigned),l=c.mul(t);c.isZero()&&(c=vg),a=a.add(c),i=i.sub(l)}return a};Se.div=Se.divide;Se.modulo=function(t){if(Wi(t)||(t=Ss(t)),qo){var r=(this.unsigned?qo.rem_u:qo.rem_s)(this.low,this.high,t.low,t.high);return pr(r,qo.get_high(),this.unsigned)}return this.sub(this.div(t).mul(t))};Se.mod=Se.modulo;Se.rem=Se.modulo;Se.not=function(){return pr(~this.low,~this.high,this.unsigned)};Se.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};Se.clz=Se.countLeadingZeros;Se.countTrailingZeros=function(){return this.low?Kxe(this.low):Kxe(this.high)+32};Se.ctz=Se.countTrailingZeros;Se.and=function(t){return Wi(t)||(t=Ss(t)),pr(this.low&t.low,this.high&t.high,this.unsigned)};Se.or=function(t){return Wi(t)||(t=Ss(t)),pr(this.low|t.low,this.high|t.high,this.unsigned)};Se.xor=function(t){return Wi(t)||(t=Ss(t)),pr(this.low^t.low,this.high^t.high,this.unsigned)};Se.shiftLeft=function(t){return Wi(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?pr(this.low<<t,this.high<<t|this.low>>>32-t,this.unsigned):pr(0,this.low<<t-32,this.unsigned)};Se.shl=Se.shiftLeft;Se.shiftRight=function(t){return Wi(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?pr(this.low>>>t|this.high<<32-t,this.high>>t,this.unsigned):pr(this.high>>t-32,this.high>=0?0:-1,this.unsigned)};Se.shr=Se.shiftRight;Se.shiftRightUnsigned=function(t){return Wi(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?pr(this.low>>>t|this.high<<32-t,this.high>>>t,this.unsigned):t===32?pr(this.high,0,this.unsigned):pr(this.high>>>t-32,0,this.unsigned)};Se.shru=Se.shiftRightUnsigned;Se.shr_u=Se.shiftRightUnsigned;Se.rotateLeft=function(t){var r;return Wi(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?pr(this.high,this.low,this.unsigned):t<32?(r=32-t,pr(this.low<<t|this.high>>>r,this.high<<t|this.low>>>r,this.unsigned)):(t-=32,r=32-t,pr(this.high<<t|this.low>>>r,this.low<<t|this.high>>>r,this.unsigned))};Se.rotl=Se.rotateLeft;Se.rotateRight=function(t){var r;return Wi(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?pr(this.high,this.low,this.unsigned):t<32?(r=32-t,pr(this.high<<r|this.low>>>t,this.low<<r|this.high>>>t,this.unsigned)):(t-=32,r=32-t,pr(this.low<<r|this.high>>>t,this.high<<r|this.low>>>t,this.unsigned))};Se.rotr=Se.rotateRight;Se.toSigned=function(){return this.unsigned?pr(this.low,this.high,!1):this};Se.toUnsigned=function(){return this.unsigned?this:pr(this.low,this.high,!0)};Se.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()};Se.toBytesLE=function(){var t=this.high,r=this.low;return[r&255,r>>>8&255,r>>>16&255,r>>>24,t&255,t>>>8&255,t>>>16&255,t>>>24]};Se.toBytesBE=function(){var t=this.high,r=this.low;return[t>>>24,t>>>16&255,t>>>8&255,t&255,r>>>24,r>>>16&255,r>>>8&255,r&255]};Gr.fromBytes=function(t,r,n){return n?Gr.fromBytesLE(t,r):Gr.fromBytesBE(t,r)};Gr.fromBytesLE=function(t,r){return new Gr(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,r)};Gr.fromBytesBE=function(t,r){return new Gr(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],r)};var xg=Gr;var dTt=16;function Py(e){e==="X"&&(e="");let t=e.padEnd(dTt,"0");return xg.fromString(t,!0,16)}function e7(e){if(e.isZero())return"X";let t=e.countTrailingZeros(),r=t%4;t=(t-r)/4;let n=t;t*=4;let a=e.shiftRightUnsigned(t).toString(16).replace(/0+$/,"");return Array(17-n-a.length).join("0")+a}function t7(e,t){let r=pTt(e).shiftRightUnsigned(2);return e.add(xg.fromNumber(2*t+1-4).multiply(r))}function pTt(e){return e.and(e.not().add(1))}var hTt=3,mTt=30,gTt=2*mTt+1,iye=180/Math.PI;function oye(e){if(e.length===0)throw new Error(`Invalid Hilbert quad key ${e}`);let t=e.split("/"),r=parseInt(t[0],10),n=t[1],i=n.length,a=0,o=[0,0];for(let s=i-1;s>=0;s--){a=i-s;let u=n[s],c=0,l=0;u==="1"?l=1:u==="2"?(c=1,l=1):u==="3"&&(c=1);let f=Math.pow(2,a-1);vTt(f,o,c,l),o[0]+=f*c,o[1]+=f*l}if(r%2===1){let s=o[0];o[0]=o[1],o[1]=s}return{face:r,ij:o,level:a}}function sye(e){if(e.isZero())return"";let t=e.toString(2);for(;t.length<hTt+gTt;)t="0"+t;let r=t.lastIndexOf("1"),n=t.substring(0,3),i=t.substring(3,r),a=i.length/2,o=xg.fromString(n,!0,2).toString(10),s="";if(a!==0)for(s=xg.fromString(i,!0,2).toString(4);s.length<a;)s="0"+s;return`${o}/${s}`}function r7(e,t,r){let n=1<<t;return[(e[0]+r[0])/n,(e[1]+r[1])/n]}function aye(e){return e>=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function n7(e){return[aye(e[0]),aye(e[1])]}function i7(e,[t,r]){switch(e){case 0:return[1,t,r];case 1:return[-t,1,r];case 2:return[-t,-r,1];case 3:return[-1,-r,-t];case 4:return[r,-1,-t];case 5:return[r,t,-1];default:throw new Error("Invalid face")}}function a7([e,t,r]){let n=Math.atan2(r,Math.sqrt(e*e+t*t));return[Math.atan2(t,e)*iye,n*iye]}function vTt(e,t,r,n){if(n===0){r===1&&(t[0]=e-1-t[0],t[1]=e-1-t[1]);let i=t[0];t[0]=t[1],t[1]=i}}function uye(e){let t=r7(e.ij,e.level,[.5,.5]),r=n7(t),n=i7(e.face,r);return a7(n)}var bTt=100;function o7(e){let{face:t,ij:r,level:n}=e,i=[[0,0],[0,1],[1,1],[1,0],[0,0]],a=Math.max(1,Math.ceil(bTt*Math.pow(2,-n))),o=new Float64Array(4*a*2+2),s=0,u=0;for(let c=0;c<4;c++){let l=i[c].slice(0),f=i[c+1],d=(f[0]-l[0])/a,p=(f[1]-l[1])/a;for(let h=0;h<a;h++){l[0]+=d,l[1]+=p;let m=r7(r,n,l),g=n7(m),x=i7(t,g),y=a7(x);Math.abs(y[1])>89.999&&(y[0]=u);let w=y[0]-u;y[0]+=w>180?-360:w<-180?360:0,o[s++]=y[0],o[s++]=y[1],u=y[0]}}return o[s++]=o[0],o[s++]=o[1],o}function yg(e){let t=xTt(e);return oye(t)}function xTt(e){if(e.indexOf("/")>0)return e;let t=Py(e);return sye(t)}function s7(e){let t=yg(e);return uye(t)}function lye(e){let t;if(e.face===2||e.face===5){let r=null,n=0;for(let i=0;i<4;i++){let a=`${e.face}/${i}`,o=yg(a),s=o7(o);(typeof r>"u"||r===null)&&(r=new Float64Array(4*s.length)),r.set(s,n),n+=s.length}t=cye(r)}else{let r=o7(e);t=cye(r)}return t}function cye(e){if(e.length%2!==0)throw new Error("Invalid corners");let t=[],r=[];for(let n=0;n<e.length;n+=2)t.push(e[n]),r.push(e[n+1]);return t.sort((n,i)=>n-i),r.sort((n,i)=>n-i),{west:t[0],east:t[t.length-1],north:r[r.length-1],south:r[0]}}function u7(e,t){let r=(t==null?void 0:t.minimumHeight)||0,n=(t==null?void 0:t.maximumHeight)||0,i=yg(e),a=lye(i),o=a.west,s=a.south,u=a.east,c=a.north,l=[];return l.push(new Z(o,c,r)),l.push(new Z(u,c,r)),l.push(new Z(u,s,r)),l.push(new Z(o,s,r)),l.push(new Z(o,c,n)),l.push(new Z(u,c,n)),l.push(new Z(u,s,n)),l.push(new Z(o,s,n)),l}function h8(e){let t=e.token,r={minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight},n=u7(t,r),i=s7(t),a=i[0],o=i[1],s=Ot.WGS84.cartographicToCartesian([a,o,r.maximumHeight]),u=new Z(s[0],s[1],s[2]);n.push(u);let c=_y(n);return[...c.center,...c.halfAxes]}var yTt=4,_Tt=8,wTt={QUADTREE:yTt,OCTREE:_Tt};function ATt(e,t,r){if(e!=null&&e.box){let n=Py(e.s2VolumeInfo.token),i=t7(n,t),a=e7(i),o={...e.s2VolumeInfo};switch(o.token=a,r){case"OCTREE":let c=e.s2VolumeInfo,l=c.maximumHeight-c.minimumHeight,f=l/2,d=c.minimumHeight+l/2;c.minimumHeight=d-f,c.maximumHeight=d+f;break;default:break}return{box:h8(o),s2VolumeInfo:o}}}async function l7(e){let{subtree:t,subtreeData:r={level:0,x:0,y:0,z:0},parentData:n={mortonIndex:0,localLevel:-1,localX:0,localY:0,localZ:0},childIndex:i=0,implicitOptions:a,loaderOptions:o,s2VolumeBox:s}=e,{subdivisionScheme:u,subtreeLevels:c,maximumLevel:l,contentUrlTemplate:f,subtreesUriTemplate:d,basePath:p}=a,h={children:[],lodMetricValue:0,contentUrl:""};if(!l)return DB.once(`Missing 'maximumLevel' or 'availableLevels' property. The subtree ${f} won't be loaded...`),h;let m=n.localLevel+1,g=r.level+m;if(g>l)return h;let x=wTt[u],y=Math.log2(x),w=i&1,T=i>>1&1,A=i>>2&1,D=Pp(n.localX,w,1),F=Pp(n.localY,T,1),j=Pp(n.localZ,A,1),k=Pp(r.x,D,m),I=Pp(r.y,F,m),P=Pp(r.z,j,m),L=Pp(n.mortonIndex,i,y),G=m===c&&c7(t.childSubtreeAvailability,L),V,X,Y,he;if(G){let de=`${p}/${d}`,ke=m8(de,g,k,I,P);V=await Kr(ke,d8,o),he=0,X={level:g,x:k,y:I,z:P},Y={mortonIndex:0,localLevel:0,localX:0,localY:0,localZ:0}}else V=t,he=(x**m-1)/(x-1)+L,X=r,Y={mortonIndex:L,localLevel:m,localX:D,localY:F,localZ:j};if(!c7(V.tileAvailability,he))return h;c7(V.contentAvailability,he)&&(h.contentUrl=m8(f,g,k,I,P));for(let de=0;de<x;de++){let ke=ATt(s,de,u),Fe=await l7({subtree:V,subtreeData:X,parentData:Y,childIndex:de,implicitOptions:a,loaderOptions:o,s2VolumeBox:ke});(Fe.contentUrl||Fe.children.length)&&h.children.push(Fe)}return h.contentUrl||h.children.length?ETt(h,{level:g,x:k,y:I,z:P},a,s):h}function c7(e,t){let r;return Array.isArray(e)?(r=e[0],e.length>1&&DB.once('Not supported extension "3DTILES_multiple_contents" has been detected')):r=e,"constant"in r?Boolean(r.constant):r.explicitBitstream?kTt(t,r.explicitBitstream):!1}function ETt(e,t,r,n){let{basePath:i,refine:a,getRefine:o,lodMetricType:s,getTileType:u,rootLodMetricValue:c,rootBoundingVolume:l}=r,f=e.contentUrl&&e.contentUrl.replace(`${i}/`,""),d=c/2**t.level,p=n!=null&&n.box?{box:n.box}:l,h=TTt(p,t,r.subdivisionScheme);return{children:e.children,contentUrl:e.contentUrl,content:{uri:f},id:e.contentUrl,refine:o(a),type:u(e),lodMetricType:s,lodMetricValue:d,geometricError:d,transform:e.transform,boundingVolume:h}}function TTt(e,t,r){if(e.region){let{level:n,x:i,y:a,z:o}=t,[s,u,c,l,f,d]=e.region,p=2**n,h=(c-s)/p,[m,g]=[s+h*i,s+h*(i+1)],x=(l-u)/p,[y,w]=[u+x*a,u+x*(a+1)],T,A;if(r==="OCTREE"){let D=(d-f)/p;[T,A]=[f+D*o,f+D*(o+1)]}else[T,A]=[f,d];return{region:[m,y,g,w,T,A]}}if(e.box)return e;throw new Error(`Unsupported bounding volume type ${JSON.stringify(e)}`)}function Pp(e,t,r){return(e<<r)+t}function m8(e,t,r,n,i){let a=STt({level:t,x:r,y:n,z:i});return e.replace(/{level}|{x}|{y}|{z}/gi,o=>a[o])}function STt(e){let t={};for(let r in e)t[`{${r}}`]=e[r];return t}function kTt(e,t){let r=Math.floor(e/8),n=e%8;return(t[r]>>n&1)===1}function d7(e,t=""){if(!t)return"empty";let n=t.split("?")[0].split(".").pop();switch(n){case"pnts":return"pointcloud";case"i3dm":case"b3dm":case"glb":case"gltf":return"scenegraph";default:return n||"empty"}}function p7(e){switch(e){case"REPLACE":case"replace":return 2;case"ADD":case"add":return 1;default:return e}}function f7(e,t){if(/^[a-z][0-9a-z+.-]*:/i.test(t)){let n=new URL(e,`${t}/`);return decodeURI(n.toString())}else if(e.startsWith("/"))return e;return wa.resolve(t,e)}function fye(e,t){var i;if(!e)return null;let r;if(e.content){let a=e.content.uri||((i=e.content)==null?void 0:i.url);typeof a<"u"&&(r=f7(a,t))}return{...e,id:r,contentUrl:r,lodMetricType:"geometricError",lodMetricValue:e.geometricError,transformMatrix:e.transform,type:d7(e,r),refine:p7(e.refine)}}async function hye(e,t,r){let n=null,i=pye(e.root);i&&e.root?n=await dye(e.root,e,t,i,r):n=fye(e.root,t);let a=[];for(a.push(n);a.length>0;){let o=a.pop()||{},s=o.children||[],u=[];for(let c of s){let l=pye(c),f;l?f=await dye(c,e,t,l,r):f=fye(c,t),f&&(u.push(f),a.push(f))}o.children=u}return n}async function dye(e,t,r,n,i){var T,A,D;let{subdivisionScheme:a,maximumLevel:o,availableLevels:s,subtreeLevels:u,subtrees:{uri:c}}=n,l=m8(c,0,0,0,0),f=f7(l,r),d=await Kr(f,d8,i),p=(T=e.content)==null?void 0:T.uri,h=p?f7(p,r):"",m=(A=t==null?void 0:t.root)==null?void 0:A.refine,g=e.geometricError,x=(D=e.boundingVolume.extensions)==null?void 0:D["3DTILES_bounding_volume_S2"];if(x){let j={box:h8(x),s2VolumeInfo:x};e.boundingVolume=j}let y=e.boundingVolume,w={contentUrlTemplate:h,subtreesUriTemplate:c,subdivisionScheme:a,subtreeLevels:u,maximumLevel:Number.isFinite(s)?s-1:o,refine:m,basePath:r,lodMetricType:"geometricError",rootLodMetricValue:g,rootBoundingVolume:y,getTileType:d7,getRefine:p7};return await CTt(e,r,d,w,i)}async function CTt(e,t,r,n,i){if(!e)return null;let{children:a,contentUrl:o}=await l7({subtree:r,implicitOptions:n,loaderOptions:i}),s,u=null;return o&&(s=o,u={uri:o.replace(`${t}/`,"")}),{...e,id:s,contentUrl:s,lodMetricType:"geometricError",lodMetricValue:e.geometricError,transformMatrix:e.transform,type:d7(e,s),refine:p7(e.refine),content:u||e.content,children:a}}function pye(e){var t;return((t=e==null?void 0:e.extensions)==null?void 0:t["3DTILES_implicit_tiling"])||(e==null?void 0:e.implicitTiling)}var Uu={dataType:null,batchType:null,id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:Zm,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:DTt,options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};async function DTt(e,t={},r){let n=t["3d-tiles"]||{},i;return n.isTileset==="auto"?i=(r==null?void 0:r.url)&&r.url.indexOf(".json")!==-1:i=n.isTileset,i?BTt(e,t,r):FTt(e,t,r)}async function BTt(e,t,r){var u;let n=JSON.parse(new TextDecoder().decode(e)),i=(r==null?void 0:r.url)||"",a=OTt(i),o=await hye(n,a,t||{});return{...n,shape:"tileset3d",loader:Uu,url:i,queryString:(r==null?void 0:r.queryString)||"",basePath:a,root:o||n.root,type:"TILES3D",lodMetricType:"geometricError",lodMetricValue:((u=n.root)==null?void 0:u.geometricError)||0}}async function FTt(e,t,r){let n={content:{shape:"tile3d",featureIds:null}};return await XL(e,0,t,r,n.content),n.content}function OTt(e){return wa.dirname(e)}var mye="https://api.cesium.com/v1/assets";async function gye(e,t){var a;if(!t){let o=await ITt(e);for(let s of o.items)s.type==="3DTILES"&&(t=s.id)}let r=await PTt(e,t),n=r.type,i=((a=r.options)==null?void 0:a.url)||r.url;return _t(n==="3DTILES"&&i),r.headers={Authorization:`Bearer ${r.accessToken||e}`},r}async function ITt(e){_t(e);let t=mye,r={Authorization:`Bearer ${e}`},n=await sa(t,{headers:r});if(!n.ok)throw new Error(n.statusText);return await n.json()}async function PTt(e,t){_t(e,t);let r={Authorization:`Bearer ${e}`},n=`${mye}/${t}`,i=await sa(`${n}`,{headers:r});if(!i.ok)throw new Error(i.statusText);let a=await i.json();if(i=await sa(`${n}/endpoint`,{headers:r}),!i.ok)throw new Error(i.statusText);let o=await i.json();return a={...a,...o},a}async function RTt(e,t={}){t=t["cesium-ion"]||{};let{accessToken:r}=t,n=t.assetId;if(!Number.isFinite(n)){let i=e.match(/\/([0-9]+)\/tileset.json/);n=i&&i[1]}return gye(r,n)}var g8={...Uu,id:"cesium-ion",name:"Cesium Ion",preload:RTt,parse:async(e,t,r)=>(t={...t},t["3d-tiles"]=t["cesium-ion"],t.loader=g8,Uu.parse(e,t,r)),options:{"cesium-ion":{...Uu.options["3d-tiles"],accessToken:null}}};var Twe=Dt(Ewe(),1),t4t="4.4.0-alpha.13",tN={dataType:null,batchType:null,id:"zip",module:"zip",name:"Zip Archive",version:t4t,extensions:["zip"],mimeTypes:["application/zip"],category:"archive",tests:["PK"],options:{},parse:r4t};async function r4t(e,t={}){let r=[],n={};try{let i=new Twe.default;return(await i.loadAsync(e,t)).forEach((o,s)=>{let u=s.name,c=n4t(i,u,t).then(l=>{n[o]=l});r.push(c)}),await Promise.all(r),n}catch(i){throw t.log.error(`Unable to read zip archive: ${i}`),i}}async function n4t(e,t,r={}){try{return await e.file(t).async(r.dataType||"arraybuffer")}catch(n){return r.log.error(`Unable to read ${t} from zip archive: ${n}`),n}}function g1(e){return typeof e=="bigint"?e:BigInt(e)}function kwe(e){let t=Number(e);if(!Number.isFinite(t))throw new Error("Offset is out of bounds");return t}function Swe(e,t){return e<0?Math.max(t+e,0):Math.min(e,t)}async function Xr(e,t,r){let n=g1(t),a=g1(r)-n;if(a<0)throw new Error("Invalid range requested");return await e.read(n,kwe(a))}async function Jp(e,t,r){let n=await Xr(e,t,r);return new DataView(n)}async function Cwe(e,t){return(await Jp(e,t,g1(t)+2n)).getUint16(0,!0)}async function rN(e,t){return(await Jp(e,t,g1(t)+4n)).getUint32(0,!0)}async function b1(e,t){return(await Jp(e,t,g1(t)+8n)).getBigUint64(0,!0)}async function x1(e){if(e.bigsize>0n)return e.bigsize;if(e.size>0)return BigInt(e.size);if(e.stat){let t=await e.stat();if((t==null?void 0:t.bigsize)!==void 0)return t.bigsize;if((t==null?void 0:t.size)!==void 0)return BigInt(t.size)}return 0n}var v1=class{handle;size;bigsize;url;constructor(t,r=""){this.handle=t,this.size=t.byteLength,this.bigsize=BigInt(t.byteLength),this.url=r}async close(){}async stat(){return{size:this.size,bigsize:this.bigsize,isDirectory:!1}}async read(t=0,r){let n=kwe(t),i=r?n+r:this.size,a=Swe(n,this.size),o=Swe(i,this.size),u=Math.max(o,a)-a;return u<=0?new ArrayBuffer(0):$l(this.handle.buffer,a,u)}};var i4t=1024,Xp=async(e,t)=>{let r=await x1(e),n=new Uint8Array(await Xr(e,r-3n,r+1n)),i=[n[3],n[2],n[1],void 0],a=-1,o=r-4n;do{let s=o;o-=BigInt(i4t),o=o>=0n?o:0n;let u=new Uint8Array(await Xr(e,o,s));for(let c=u.length-1;c>-1;c--)if(i[3]=i[2],i[2]=i[1],i[1]=i[0],i[0]=u[c],i.every((l,f)=>l===t[f])){a=c;break}}while(a===-1&&o>0n);return o+BigInt(a)};var a4t=new Uint8Array([1,0]);function s4(e){let t={...e,zip64Length:(e.offset?1:0)*8+(e.size?1:0)*16},r=[];for(let n of o4t){if(!t[n.name??""]&&!n.default)continue;let i=new DataView(new ArrayBuffer(n.size));Dwe[n.size](i,0,t[n.name??""]??n.default),r.push(i.buffer)}return bn(...r)}function ki(e,t,r,n){Dwe[t](e,Number(r),n)}var Dwe={2:(e,t,r)=>{e.setUint16(t,Number(r>65535?65535:r),!0)},4:(e,t,r)=>{e.setUint32(t,Number(r>4294967295?4294967295:r),!0)},8:(e,t,r)=>{e.setBigUint64(t,BigInt(r),!0)}},o4t=[{size:2,default:new DataView(a4t.buffer).getUint16(0,!0)},{size:2,name:"zip64Length"},{size:8,name:"size"},{size:8,name:"size"},{size:8,name:"offset"}];var Bwe=new Uint8Array([80,75,5,6]),Fwe=new Uint8Array([80,75,6,7]),Owe=new Uint8Array([80,75,6,6]),Iwe=8n,s4t=10n,Pwe=12n,Rwe=16n,u4t=22n,jwe=8n,Mwe=24n,c4t=32n,Lwe=40n,qwe=48n,l4t=56n,u4=async e=>{let t=await Xp(e,Bwe),r=BigInt(await Cwe(e,t+Iwe)),n=BigInt(await rN(e,t+Pwe)),i=BigInt(await rN(e,t+Rwe)),a=t-20n,o=0n,s=await Xr(e,a,a+4n);if(pu(s,Fwe.buffer)){o=await b1(e,a+jwe);let u=await Xr(e,o,o+4n);if(!pu(u,Owe.buffer))throw new Error("zip64 EoCD not found");r=await b1(e,o+Mwe),n=await b1(e,o+Lwe),i=await b1(e,o+qwe)}else a=0n;return{cdRecordsNumber:r,cdStartOffset:i,cdByteSize:n,offsets:{zip64EoCDOffset:o,zip64EoCDLocatorOffset:a,zipEoCDOffset:t}}};function Nwe(e,t,r,n,i){let a=new DataView(e),o=t.zip64EoCDOffset?t.zipEoCDOffset-t.zip64EoCDOffset:0n;if(Number(i)<=65535&&(ki(a,2,o+Iwe,i),ki(a,2,o+s4t,i)),n-r<=4294967295&&ki(a,4,o+Pwe,n-r),r<4294967295&&ki(a,4,o+Rwe,r),t.zip64EoCDLocatorOffset&&t.zip64EoCDOffset){let s=t.zip64EoCDLocatorOffset-t.zip64EoCDOffset;ki(a,8,s+jwe,n),ki(a,8,qwe,r),ki(a,8,Mwe,i),ki(a,8,c4t,i),ki(a,8,Lwe,n-r)}return new Uint8Array(a.buffer)}function Uwe(e){let t=new DataView(new ArrayBuffer(Number(u4t)));for(let i of f4t)ki(t,i.size,i.offset,e[i.name??""]??i.default??0);let r=p4t(e),n=d4t(e);return bn(n,r,t.buffer)}var f4t=[{offset:0,size:4,default:new DataView(Bwe.buffer).getUint32(0,!0)},{offset:4,size:2,default:0},{offset:6,size:2,default:0},{offset:8,size:2,name:"recordsNumber"},{offset:10,size:2,name:"recordsNumber"},{offset:12,size:4,name:"cdSize"},{offset:16,size:4,name:"cdOffset"},{offset:20,size:2,default:0}];function d4t(e){let t=new DataView(new ArrayBuffer(Number(l4t)));for(let r of m4t)ki(t,r.size,r.offset,e[r.name??""]??r.default??0);return t.buffer}function p4t(e){let t=new DataView(new ArrayBuffer(Number(20)));for(let r of h4t)ki(t,r.size,r.offset,e[r.name??""]??r.default??0);return t.buffer}var h4t=[{offset:0,size:4,default:new DataView(Fwe.buffer).getUint32(0,!0)},{offset:4,size:4,default:0},{offset:8,size:8,name:"eoCDStart"},{offset:16,size:4,default:1}],m4t=[{offset:0,size:4,default:new DataView(Owe.buffer).getUint32(0,!0)},{offset:4,size:8,default:44},{offset:12,size:2,default:45},{offset:14,size:2,default:45},{offset:16,size:4,default:0},{offset:20,size:4,default:0},{offset:24,size:8,name:"recordsNumber"},{offset:32,size:8,name:"recordsNumber"},{offset:40,size:8,name:"cdSize"},{offset:48,size:8,name:"cdOffset"}];var g4t=20,v4t=24,b4t=28,x4t=30,y4t=32,_4t=42,y1=46n,Qp=new Uint8Array([80,75,1,2]),Yp=async(e,t)=>{let r=await x1(t);if(e>=r)return null;let n=await Jp(t,e,e+y1),i=n.buffer.slice(0,4);if(!pu(i,Qp.buffer))return null;let a=BigInt(n.getUint32(g4t,!0)),o=BigInt(n.getUint32(v4t,!0)),s=n.getUint16(x4t,!0),u=BigInt(n.getUint16(y4t,!0)),c=n.getUint16(b4t,!0),l=await Xr(t,e+y1,e+y1+BigInt(c+s)),f=l.slice(0,c),d=new TextDecoder().decode(f),p=e+y1+BigInt(c),h=n.getUint32(_4t,!0),m=BigInt(h),g=new DataView(l.slice(c,l.byteLength)),x={uncompressedSize:o,compressedSize:a,localHeaderOffset:m,startDisk:u},y=w4t(x,g);return{...x,...y,extraFieldLength:s,fileNameLength:c,fileName:d,extraOffset:p}};async function*Ju(e){let{cdStartOffset:t,cdByteSize:r}=await u4(e),n=new v1(new DataView(await Xr(e,t,t+r))),i=await Yp(0n,n);for(;i;)yield i,i=await Yp(i.extraOffset+BigInt(i.extraFieldLength),n)}var Gwe=(...e)=>e[0]+e[1]*16,w4t=(e,t)=>{let r=A4t(e),n={};if(r.length>0){let i=r.reduce((s,u)=>s+u.length,0),a=new Uint8Array(t.buffer).findIndex((s,u,c)=>Gwe(c[u],c[u+1])===1&&Gwe(c[u+2],c[u+3])===i),o=0;for(let s of r){let u=o;n[s.name]=t.getBigUint64(a+4+u,!0),o=u+s.length}}return n},A4t=e=>{let t=[];return e.uncompressedSize===BigInt(4294967295)&&t.push({name:"uncompressedSize",length:8}),e.compressedSize===BigInt(4294967295)&&t.push({name:"compressedSize",length:8}),e.localHeaderOffset===BigInt(4294967295)&&t.push({name:"localHeaderOffset",length:8}),e.startDisk===BigInt(4294967295)&&t.push({name:"startDisk",length:4}),t};function nN(e){let t={...e,fnlength:e.fileName.length,extraLength:0},r=new ArrayBuffer(0),n={};t.offset>=4294967295&&(n.offset=t.offset,t.offset=BigInt(4294967295)),t.length>=4294967295&&(n.size=t.length,t.length=4294967295),Object.keys(n).length&&(r=s4(n),t.extraLength=r.byteLength);let i=new DataView(new ArrayBuffer(Number(y1)));for(let s of E4t)ki(i,s.size,s.offset,t[s.name??""]??s.default??0);let a=new TextEncoder().encode(t.fileName);return bn(i.buffer,a,r)}var E4t=[{offset:0,size:4,default:new DataView(Qp.buffer).getUint32(0,!0)},{offset:4,size:2,default:45},{offset:6,size:2,default:45},{offset:8,size:2,default:0},{offset:10,size:2,default:0},{offset:12,size:2,default:0},{offset:14,size:2,default:0},{offset:16,size:4,name:"crc32"},{offset:20,size:4,name:"length"},{offset:24,size:4,name:"length"},{offset:28,size:2,name:"fnlength"},{offset:30,size:2,default:0,name:"extraLength"},{offset:32,size:2,default:0},{offset:34,size:2,default:0},{offset:36,size:2,default:0},{offset:38,size:4,default:0},{offset:42,size:4,name:"offset"}];var T4t=8,S4t=18,k4t=22,C4t=26,D4t=28,_1=30n,iN=new Uint8Array([80,75,3,4]),Os=async(e,t)=>{let r=await Jp(t,e,e+_1),n=r.buffer.slice(0,4);if(!pu(n,iN.buffer))return null;let i=r.getUint16(C4t,!0),a=r.getUint16(D4t,!0),o=await Xr(t,e+_1,e+_1+BigInt(i+a)),s=o.slice(0,i),u=new DataView(o.slice(i,o.byteLength)),c=new TextDecoder().decode(s).split("\\").join("/"),l=e+_1+BigInt(i+a),f=r.getUint16(T4t,!0),d=BigInt(r.getUint32(S4t,!0)),p=BigInt(r.getUint32(k4t,!0)),h=4;return p===BigInt(4294967295)&&(p=u.getBigUint64(h,!0),h+=8),d===BigInt(4294967295)&&(d=u.getBigUint64(h,!0),h+=8),l===BigInt(4294967295)&&(l=u.getBigUint64(h,!0)),{fileNameLength:i,fileName:c,extraFieldLength:a,fileDataOffset:l,compressedSize:d,compressionMethod:f}};function aN(e){let t={...e,extraLength:0,fnlength:e.fileName.length},r=new ArrayBuffer(0),n={};t.length>=4294967295&&(n.size=t.length,t.length=4294967295),Object.keys(n).length&&(r=s4(n),t.extraLength=r.byteLength);let i=new DataView(new ArrayBuffer(Number(_1)));for(let s of B4t)ki(i,s.size,s.offset,t[s.name??""]??s.default??0);let a=new TextEncoder().encode(t.fileName);return bn(i.buffer,a,r)}var B4t=[{offset:0,size:4,default:new DataView(iN.buffer).getUint32(0,!0)},{offset:4,size:2,default:45},{offset:6,size:2,default:0},{offset:8,size:2,default:0},{offset:10,size:2,default:0},{offset:12,size:2,default:0},{offset:14,size:4,name:"crc32"},{offset:18,size:4,name:"length"},{offset:22,size:4,name:"length"},{offset:26,size:2,name:"fnlength"},{offset:28,size:2,default:0,name:"extraLength"}];async function F4t(e){let t=await u4(e),r=t.cdStartOffset,n=(await e.stat()).bigsize,i=Number(t.offsets.zip64EoCDOffset?t.offsets.zip64EoCDOffset-r:t.offsets.zipEoCDOffset-r),a=await Xr(e,r,n);await e.truncate(Number(r));let o=a.slice(0,i),s=a.slice(i,a.byteLength);return[o,s,t]}async function Hwe(e,t,r){let n=parseInt(await new Ub().hash(t,"hex"),16),i=aN({crc32:n,fileName:e,length:t.byteLength}),a=nN({crc32:n,fileName:e,offset:r,length:t.byteLength});return[new Uint8Array(bn(i,t)),new Uint8Array(a)]}async function oN(e,t,r){let n=new Hi(e,"a+"),[i,a,o]=await F4t(n),s=(await n.stat()).bigsize,u=s,[c,l]=await Hwe(r,t,u);await n.append(c),s+=BigInt(c.byteLength);let f=bn(i,l),d=s;await n.append(new Uint8Array(f)),s+=BigInt(f.byteLength);let p=s,h=Nwe(a,o.offsets,d,p,o.cdRecordsNumber+1n);await n.append(h),s+=BigInt(h.byteLength)}async function sN(e,t,r){let n=O4t(e),i=new Hi(t,"w"),a=[],o=[];for await(let l of n)await zwe(l,i,o,a);if(r){let l=await r(a);await zwe(l,i,o)}let s=(await i.stat()).bigsize,u=bn(...o);await i.append(new Uint8Array(u));let c=(await i.stat()).bigsize;await i.append(new Uint8Array(Uwe({recordsNumber:o.length,cdSize:u.byteLength,cdOffset:s,eoCDStart:c})))}async function zwe(e,t,r,n){let i=(await t.stat()).bigsize;n==null||n.push({fileName:e.path,localHeaderOffset:i});let[a,o]=await Hwe(e.path,e.file,i);await t.append(a),r.push(Kn(o))}function O4t(e){async function*t(){let r=await Vwe(e);for(let n of r){let i=await(await sa(wa.join(e,n))).arrayBuffer();yield{path:n,file:i}}}return t()}async function Vwe(e,t="",r){let n=r||new Nb({}),i=await n.readdir(c4(e,t)),a=[];for(let o of i){let s=c4(e,t,o);if((await n.stat(s)).isDirectory){let u=await Vwe(e,c4(t,o));a.push(...u)}else a.push(c4(t,o))}return a}function c4(...e){let t=e.filter(r=>r.length);return wa.join(...t)}var $g=class{constructor(t){this.compressBatches=this.compressBatches.bind(this),this.decompressBatches=this.decompressBatches.bind(this)}async preload(t={}){u0(t)}async compress(t){return await this.preload(),this.compressSync(t)}async decompress(t,r){return await this.preload(),this.decompressSync(t,r)}compressSync(t){throw new Error(`${this.name}: sync compression not supported`)}decompressSync(t,r){throw new Error(`${this.name}: sync decompression not supported`)}async*compressBatches(t){let r=await this.concatenate(t);yield this.compress(r)}async*decompressBatches(t){let r=await this.concatenate(t);yield this.decompress(r)}concatenate(t){return Md(t)}improveError(t){return t.message.includes(this.name)||(t.message=`${this.name} ${t.message}`),t}};var w1=class extends $g{name="uncompressed";extensions=[];contentEncodings=[];isSupported=!0;options;constructor(t){super(t),this.options=t||{}}compressSync(t){return t}decompressSync(t){return t}async*compressBatches(t){return yield*t}async*decompressBatches(t){return yield*t}};var Zp=Dt(Gq(),1),cl=Dt(require("zlib"),1),ll=class extends $g{name="deflate";extensions=[];contentEncodings=["deflate"];isSupported=!0;options;_chunks=[];constructor(t={}){super(t),this.options=t}async compress(t){var r,n;if(!dr&&((r=this.options.deflate)!=null&&r.useZlib)){let i=(n=this.options.deflate)!=null&&n.gzip?await d0(cl.default.gzip)(t):await d0(cl.default.deflate)(t);return Kn(i)}return this.compressSync(t)}async decompress(t){var r,n;if(!dr&&((r=this.options.deflate)!=null&&r.useZlib)){let i=(n=this.options.deflate)!=null&&n.gzip?await d0(cl.default.gunzip)(t):await d0(cl.default.inflate)(t);return Kn(i)}return this.decompressSync(t)}compressSync(t){var a,o,s,u;if(!dr&&((a=this.options.deflate)!=null&&a.useZlib)){let c=(o=this.options.deflate)!=null&&o.gzip?cl.default.gzipSync(t):cl.default.deflateSync(t);return Kn(c)}let r=((s=this.options)==null?void 0:s.deflate)||{},n=new Uint8Array(t),i=(u=this.options)!=null&&u.raw?Zp.default.deflateRaw:Zp.default.deflate;return Kn(i(n,r).buffer)}decompressSync(t){var a,o,s,u;if(!dr&&((a=this.options.deflate)!=null&&a.useZlib)){let c=(o=this.options.deflate)!=null&&o.gzip?cl.default.gunzipSync(t):cl.default.inflateSync(t);return Kn(c)}let r=((s=this.options)==null?void 0:s.deflate)||{},n=new Uint8Array(t),i=(u=this.options)!=null&&u.raw?Zp.default.inflateRaw:Zp.default.inflate;return Kn(i(n,r).buffer)}async*compressBatches(t){var i;let r=((i=this.options)==null?void 0:i.deflate)||{},n=new Zp.default.Deflate(r);yield*this.transformBatches(n,t)}async*decompressBatches(t){var i;let r=((i=this.options)==null?void 0:i.deflate)||{},n=new Zp.default.Inflate(r);yield*this.transformBatches(n,t)}async*transformBatches(t,r){t.onData=this._onData.bind(this),t.onEnd=this._onEnd.bind(this);for await(let o of r){let s=new Uint8Array(o);if(!t.push(s,!1))throw new Error(`${this._getError()}write`);yield*this._getChunks()}let n=new Uint8Array(0),i=t.push(n,!0);yield*this._getChunks()}_onData(t){this._chunks.push(t)}_onEnd(t){if(t!==0)throw new Error(this._getError(t)+this._chunks.length)}_getChunks(){let t=this._chunks;return this._chunks=[],t}_getError(t=0){let r={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};return`${this.name}: ${r[t]}`}};var A1=class extends ll{name="gzip";extensions=["gz","gzip"];contentEncodings=["gzip","x-gzip"];isSupported=!0;constructor(t){super({...t,deflate:{...t==null?void 0:t.gzip,gzip:!0}})}};var $we={0:async e=>e,8:async e=>await new ll({raw:!0}).decompress(e)},fl=class{file=null;fileName;archive=null;constructor(t){if(typeof t=="string"){if(this.fileName=t,dr)throw new Error("ZipFileSystem cannot open file paths in browser environments");this.file=new Hi(t)}else t instanceof Blob||t instanceof ArrayBuffer?this.file=new Lb(t):t instanceof dl?(this.file=t.file,this.archive=t,this.fileName=t.fileName):this.file=t}async destroy(){this.file&&await this.file.close()}async readdir(){if(!this.file)throw new Error("No data detected in the zip archive");let t=[],r=Ju(this.file);for await(let n of r)t.push(n.fileName);return t}async stat(t){let r=await this.getCDFileHeader(t);return{...r,size:Number(r.uncompressedSize)}}async fetch(t){this.fileName&&t.indexOf(this.fileName)===0&&(t=t.substring(this.fileName.length+1));let r;if(this.archive)r=await this.archive.getFile(t,"http");else{if(!this.file)throw new Error("No data detected in the zip archive");let i=await this.getCDFileHeader(t),a=await Os(i.localHeaderOffset,this.file);if(!a)throw new Error("Local file header has not been found in the zip archive`");let o=$we[a.compressionMethod.toString()];if(!o)throw Error("Only Deflation compression is supported");let s=await Xr(this.file,a.fileDataOffset,a.fileDataOffset+a.compressedSize);r=await o(s)}let n=new Response(r);return Object.defineProperty(n,"url",{value:t?`${this.fileName||""}/${t}`:this.fileName||""}),n}async getCDFileHeader(t){if(!this.file)throw new Error("No data detected in the zip archive");let r=Ju(this.file),n=null;for await(let i of r)if(i.fileName===t){n=i;break}if(!n)throw new Error("File has not been found in the zip archive");return n}};var dl=class{file;fileName;constructor(t,r,n){this.file=t,this.fileName=n}async getFileWithoutHash(t){return await(await new fl(this.file).fetch(t)).arrayBuffer()}};function E1(e){let t=new DataView(e),r={};for(let n=0;n<e.byteLength;n=n+24){let i=t.getBigUint64(n+16,!0),a=I4t(e,n,16);r[a]=i}return r}function I4t(e,t,r){return[...new Uint8Array(e,t,r)].map(n=>n.toString(16).padStart(2,"0")).join("")}async function uN(e){let t=Ju(e);return P4t(t)}async function P4t(e){let t=new gu,r=new TextEncoder,n={};for await(let i of e){let a=i.fileName.split("\\").join("/").toLocaleLowerCase(),o=r.encode(a).buffer,s=await t.hash(o,"hex");n[s]=i.localHeaderOffset}return n}async function T1(e){let t=new gu,r=new TextEncoder,n=[];for await(let a of e){let o=a.fileName.split("\\").join("/");o!=="3dSceneLayer.json.gz"&&(o=o.toLocaleLowerCase());let s=r.encode(o).buffer,u=await t.hash(s,"hex");n.push(bn(j4t(u),M4t(a.localHeaderOffset)))}let i=n.sort(R4t);return hw(i)}function R4t(e,t){let r=new BigUint64Array(e),n=new BigUint64Array(t);return Number(r[0]===n[0]?r[1]-n[1]:r[0]-n[0])}function j4t(e){var r;let t=(r=e.match(/../g))==null?void 0:r.map(n=>parseInt(n,16));return new Uint8Array(t??new Array(16)).buffer}function M4t(e){return new BigUint64Array([e]).buffer}var L4t={0:e=>new w1().decompress(e),8:e=>new ll({raw:!0}).decompress(e)},S1=class extends dl{hashTable;constructor(t,r,n){super(t,r,n),this.hashTable=r}async getFile(t){let r=await this.getFileBytes(t.toLocaleLowerCase());if(r||(r=await this.getFileBytes(t)),!r)throw new Error(`No such file in the archive: ${t}`);return r}async getFileBytes(t){let r;if(this.hashTable){let n=new TextEncoder().encode(t).buffer,i=await new gu().hash(n,"hex"),a=this.hashTable[i];if(a===void 0)return null;let o=await Os(a,this.file);if(!o)return null;let s=await Xr(this.file,o.fileDataOffset,o.fileDataOffset+o.compressedSize),u=L4t[o.compressionMethod];if(!u)throw Error("Only Deflation compression is supported");r=await u(s)}else r=await this.getFileWithoutHash(t);return r}};function Qf(e,t,r){if(!t)return r+12;let{magic:i,version:a=1,byteLength:o=12}=e;return _t(Array.isArray(i)&&Number.isFinite(a)&&Number.isFinite(o)),t.setUint8(r+0,i[0]),t.setUint8(r+1,i[1]),t.setUint8(r+2,i[2]),t.setUint8(r+3,i[3]),t.setUint32(r+4,a,!0),t.setUint32(r+8,o,!0),r+=12,r}function Zf(e,t,r){e&&e.setUint32(t+8,r,!0)}function Wwe(e,t,r,n,i){e={magic:Mf.COMPOSITE,tiles:[],...e};let a=r;r+=Qf(e,t,r),t&&t.setUint32(r,e.tiles.length,!0),r+=4;for(let o=0;o<e.tiles.length;++o)r+=i(e.tiles[o],t,r,n);return Zf(t,a,r-a),r}function Kwe(e,t,r,n){let{featuresLength:i=0,batchTable:a}=e,s=JSON.stringify({BATCH_LENGTH:i}),u=a?JSON.stringify(a):"",c=Ja(s.length,8),l=u?Ja(u.length,8):0;e={magic:Mf.BATCHED_MODEL,...e};let f=r;r=Qf(e,t,r),t&&(t.setUint32(12,c,!0),t.setUint32(16,0,!0),t.setUint32(20,l,!0),t.setUint32(24,0,!0)),r+=16,r=f0(t,r,s,8),a&&(r=f0(t,r,u,8));let d=e.gltfEncoded;return d&&(r=jb(t,r,d,d.byteLength)),Zf(t,f,r-f),r}function Jwe(e,t,r,n){let{featuresLength:i=1,gltfFormat:a=1,gltfUri:o=""}=e,s=o.length,u={INSTANCES_LENGTH:i,POSITION:new Array(i*3).fill(0)},c=JSON.stringify(u),l=c.length;e={magic:Mf.INSTANCED_MODEL,...e};let f=r;return r=Qf(e,t,0),t&&(t.setUint32(12,l,!0),t.setUint32(16,0,!0),t.setUint32(20,0,!0),t.setUint32(24,0,!0),t.setUint32(28,a,!0)),r+=20,r+=l0(t,r,c,l),r+=l0(t,r,o,s),Zf(t,f,r-f),r}var q4t={POINTS_LENGTH:1,POSITIONS:{byteOffset:0}};function Xwe(e,t,r,n){let{featureTableJson:i=q4t}=e,a=JSON.stringify(i);a=JB(a,4);let{featureTableJsonByteLength:o=a.length}=e,s=new ArrayBuffer(12),u=s.byteLength;e={magic:Mf.POINT_CLOUD,...e};let c=r;return r+=Qf(e,t,0),t&&(t.setUint32(r+0,o,!0),t.setUint32(r+4,u,!0),t.setUint32(r+8,0,!0),t.setUint32(r+12,0,!0)),r+=16,r+=l0(t,r,a,o),r+=jb(t,r,s,u),Zf(t,c,r-c),r}function lN(e,t){let r=cN(e,null,0,t),n=new ArrayBuffer(r),i=new DataView(n);return cN(e,i,0,t),n}function cN(e,t,r,n){switch(_t(typeof e.type=="string"),e.type){case pi.COMPOSITE:return Wwe(e,t,r,n,cN);case pi.POINT_CLOUD:return Xwe(e,t,r,n);case pi.BATCHED_3D_MODEL:return Kwe(e,t,r,n);case pi.INSTANCED_3D_MODEL:return Jwe(e,t,r,n);default:throw new Error("3D Tiles: unknown tile type")}}var fN={name:"3D Tile",id:"3d-tiles",module:"3d-tiles",version:Zm,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],binary:!0,options:{["3d-tiles"]:{}},encode:async(e,t)=>Ywe(e,t),encodeSync:Ywe};function Ywe(e,t){return lN(e,t)}var Jo=require("path");var Qwe=Dt(require("crypto")),f4=new Uint8Array(256),l4=f4.length;function dN(){return l4>f4.length-16&&(Qwe.default.randomFillSync(f4),l4=0),f4.slice(l4,l4+=16)}var Ci=[];for(let e=0;e<256;++e)Ci.push((e+256).toString(16).slice(1));function Zwe(e,t=0){return Ci[e[t+0]]+Ci[e[t+1]]+Ci[e[t+2]]+Ci[e[t+3]]+"-"+Ci[e[t+4]]+Ci[e[t+5]]+"-"+Ci[e[t+6]]+Ci[e[t+7]]+"-"+Ci[e[t+8]]+Ci[e[t+9]]+"-"+Ci[e[t+10]]+Ci[e[t+11]]+Ci[e[t+12]]+Ci[e[t+13]]+Ci[e[t+14]]+Ci[e[t+15]]}var eAe=Dt(require("crypto")),pN={randomUUID:eAe.default.randomUUID};function N4t(e,t,r){if(pN.randomUUID&&!t&&!e)return pN.randomUUID();e=e||{};let n=e.random||(e.rng||dN)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){r=r||0;for(let i=0;i<16;++i)t[r+i]=n[i];return t}return Zwe(n)}var Xu=N4t;var dh=Dt(require("process"),1),ak=Dt(Is(),1),ok=Dt(gN(),1);var h4=require("path"),gAe=Dt(Is(),1);var dAe=()=>({folderPattern:{path:"folderPattern",default:"BASIC"},archiveCompressionType:{path:"archiveCompressionType",default:"STORE"},resourceCompressionType:{path:"resourceCompressionType",default:"GZIP"},I3SVersion:{path:"I3SVersion",default:"1.8"},nodeCount:{path:"nodeCount"}});var eh=require("fs"),Wg=require("path");var pAe=require("zlib"),d4=require("fs");function p4(e){let t=`${e}.gz`,r=(0,pAe.createGzip)(),n=(0,d4.createReadStream)(e),i=(0,d4.createWriteStream)(t);return new Promise((a,o)=>{n.on("end",()=>{console.log(`${t} compressed and saved.`),a(t)}),n.on("error",s=>{console.log(`${t}: compression error!`),o(s)}),n.pipe(r).pipe(i)})}async function Ia(e,t,r="index.json"){let n;t instanceof Promise?n=new Uint8Array(await t):t instanceof ArrayBuffer?n=new Uint8Array(t):n=t,await eh.promises.mkdir(e,{recursive:!0});let i=(0,Wg.join)(e,r);try{await eh.promises.writeFile(i,n)}catch(a){throw a}return console.log(`${i} saved.`),i}async function Yu(e,t,r="index.json",n=!0,i){let a=await Ia(e,t,r);if(n){if(i)return i.includes(a)?null:(i.push(a),`${a}.gz`);let o=await p4(a);return await B1(a),o}return a}async function Kg(e,t){return new Promise((r,n)=>{let i=0;console.log(`load ${e}/${t}.`);let a=setInterval(()=>{let o=(0,Wg.join)(e,t);Kr(o,XB).then(s=>{clearInterval(a),r(s)}).catch(()=>{i++,i>100&&(clearInterval(a),n(new Error(`Cannon load ${e}/${t}.`)))})},200)})}async function C1(e){try{return await eh.promises.stat(e),!0}catch{return!1}}function D1(e){return eh.promises.rm(e,{recursive:!0})}function B1(e){return eh.promises.unlink(e)}function hAe(e){return(0,Wg.isAbsolute)(e)?e:(0,Wg.join)(process.cwd(),e)}async function mAe(e,t){try{await eh.promises.rename(e,t)}catch(r){console.log("Can't rename file",r)}}var Di=class{nodesPerPage;nodesCounter;writeFile;converter;nodePages;length=0;constructor(t,r,n){this.nodesPerPage=r,this.nodesCounter=0,this.nodePages=[{}],this.nodePages[0].nodes=[],this.writeFile=t,this.converter=n,this.length=0}useWriteFunction(t){this.writeFile=t}getNodePageFileName(t){let r=(0,h4.join)(this.converter.layers0Path,"nodepages"),n=`${t.toString()}.json`;return{filePath:r,fileName:n}}async loadNodePage(t){let{filePath:r,fileName:n}=this.getNodePageFileName(t),i=(0,h4.join)(r,n);return await C1(i)?(console.log(`load ${i}.`),await Kg(r,n)):{nodes:[]}}getPageIndexByNodeId(t){return Math.floor(t/this.nodesPerPage)}async getPageByNodeId(t){let r=this.getPageIndexByNodeId(t);return this.converter.options.instantNodeWriting?await this.loadNodePage(r):this.nodePages[r]}async getNodeById(t,r){let n=t%this.nodesPerPage;return r=r||await this.getPageByNodeId(t),r.nodes[n]}async addChildRelation(t,r){var i;if(t==null)return;let n=await this.getNodeById(t);(i=n.children)==null||i.push(r),await this.saveNode(n)}async push(t,r){if(t.index=this.nodesCounter++,!this.converter.options.instantNodeWriting){let n=this.nodePages[this.nodePages.length-1];n.nodes.length===this.nodesPerPage&&(n={nodes:[]},this.nodePages.push(n)),n.nodes.push(t)}return await this.addChildRelation(r,t.index),Di.updateResourceInMesh(t),await this.saveNode(t),t}async saveNode(t){if(!this.converter.options.instantNodeWriting)return;let r=this.getPageIndexByNodeId(t.index),n=await this.getPageByNodeId(t.index),{filePath:i,fileName:a}=this.getNodePageFileName(r),o=await this.getNodeById(t.index,n);o?Di.updateAll(o,t):n.nodes.push(t);let s=JSON.stringify(n);await this.converter.writeQueue.enqueue({archiveKey:`nodePages/${r.toString()}.json.gz`,writePromise:()=>this.writeFile(i,s,a,!0,this.converter.compressList)},!0)}async saveMetadata(){let t=(0,gAe.default)({nodeCount:this.nodesCounter},dAe()),r=!1;await this.converter.writeQueue.enqueue({archiveKey:"metadata.json",writePromise:()=>this.writeFile(this.converter.layers0Path,JSON.stringify(t),"metadata.json",r)})}async save(){if(this.converter.options.instantNodeWriting){await this.saveMetadata();return}for(let[t,r]of this.nodePages.entries()){let n=JSON.stringify(r),i=(0,h4.join)(this.converter.layers0Path,"nodepages");await this.converter.writeQueue.enqueue({archiveKey:`nodePages/${t.toString()}.json.gz`,writePromise:()=>this.writeFile(i,n,`${t.toString()}.json`)})}await this.saveMetadata()}static updateResourceInMesh(t){t.mesh&&isFinite(t.index)&&(t.mesh.geometry.resource=t.index)}static updateAll(t,r){return Object.assign(t,r,{index:t.index}),Di.updateResourceInMesh(t),t}static updateMaterialByNodeId(t,r){t.mesh&&(t.mesh.material={definition:r,resource:t.index})}static updateVertexCountByNodeId(t,r){t.mesh&&(t.mesh.geometry.vertexCount=r)}static updateNodeAttributeByNodeId(t){!t.mesh||!t.index||(t.mesh.attribute.resource=t.index)}static updateFeatureCountByNodeId(t,r){t.mesh&&(t.mesh.geometry.featureCount=r)}static updateTexelCountHintByNodeId(t,r){!t.mesh||!t.mesh.material||(t.mesh.material.texelCountHint=r)}};var F1=require("path"),m4=require("fs");function Jg(e){if(typeof e=="number"){let a=Math.floor(e/1e3),o=e-a*1e3;return vAe(a,o)}let t=1e6,r=e[0],n=e[1]/t;return vAe(r,n)}function vAe(e,t){let r=Math.floor(e/3600);e=e-r*3600;let n=Math.floor(e/60);e=e-n*60;let i=Math.floor(e),a="";return r&&(a+=`${r}h `),n&&(a+=`${n}m `),i&&(a+=`${i}s`),a||(a+=`${Math.floor(t)}ms`),a}async function g4(e){let{slpk:t,outputPath:r,tilesetName:n}=e,i=hAe(r);try{if(t){let s=(0,F1.join)(i,`${n}.slpk`);return(await m4.promises.stat(s)).size}let a=(0,F1.join)(i,n);return await bAe(a)}catch(a){return console.log("Calculate file sizes error: ",a),null}}async function bAe(e){let t=0,r=await m4.promises.readdir(e);for(let n of r){let i=await m4.promises.stat((0,F1.join)(e,n));i.isDirectory()?t+=await bAe((0,F1.join)(e,n)):t+=i.size}return t}var jAe=require("module"),y4=require("path");var MAe=Dt(gN(),1);var th=3,Xg=9;function yAe(e){let{positions:t,normals:r,texCoords:n,colors:i,uvRegions:a,featureIndices:o}=e,s=t.length/Xg;if(!o.length)return{faceRange:new Uint32Array([0,s-1]),featureIds:[0],featureCount:1,positions:t,normals:r,texCoords:n,colors:i,uvRegions:a};let u=Y4t(o),c=Q4t({...u,...e}),l=Z4t(c);return ekt(l,u.featureCount)}function Y4t(e){let t=1,r=1,n=xAe(e.slice(0,th)),i=[],a=[],o=[n];i[0]=0,a[0]=n;for(let c=th;c<e.length;c+=th){let l=xAe(e.slice(c,c+th));n!==l&&(i[t]=c/th-1,i[t+1]=c/th,a[r]=l,o.includes(l)||o.push(l),t+=2,r+=1),n=l}i[t]=e.length/th-1;let s=new Uint32Array(i),u=o.length;return{faceRange:s,featureCount:u,featureIds:a}}function xAe(e){let t={},r=e[0],n=1;for(let i of e)t[i]=(t[i]||0)+1,n=n>t[i]?n:t[i],r=n>t[i]?r:i;return r}function Q4t(e){let{featureIds:t,positions:r,normals:n,colors:i,uvRegions:a,texCoords:o,faceRange:s=new Uint32Array(0)}=e,u=[],c=new Float32Array(r),l=new Float32Array(n),f=new Uint8Array(i),d=new Float32Array(o),p=new Uint16Array(a),h=0,m=0,g=0,x=0,y=0;for(let w=0;w<t.length;w++){let T=s[w*2],A=s[w*2+1],D=O1("positions",T,A),F=O1("normals",T,A),j=O1("colors",T,A),k=O1("uvRegions",T,A),I=O1("texCoords",T,A);u.push({featureId:t[w],positions:c.subarray(h,h+D),normals:l.subarray(m,m+F),colors:f.subarray(g,g+j),uvRegions:p.subarray(x,x+k),texCoords:d.subarray(y,y+I)}),h+=D,m+=F,g+=j,x+=k,y+=I}return u}function O1(e,t,r){let a=r-t+1,o=a*3;switch(e){case"positions":case"normals":return a*Xg;case"colors":case"uvRegions":return o*4;case"texCoords":return o*2;default:return 0}}function Z4t(e){let t=[];for(let n of e){let i=t.find(a=>a.featureId===n.featureId);i?i.attributes.push(n):t.push({featureId:n.featureId,attributes:[n]})}let r=[];for(let n of t){let i=_Ae(n.attributes);r.push({featureId:n.featureId,...i})}return r}function ekt(e,t){let n=[e[0].featureId||0],i=[0],a=0,o=0;for(let c=1;c<e.length;c++){let l=e[c];n.push(l.featureId||0);let f=e[a];i.push(f.positions.length/Xg-1+o),i.push(f.positions.length/Xg+o),o+=f.positions.length/Xg,a+=1}let s=_Ae(e);return i.push(s.positions.length/Xg-1),{faceRange:new Uint32Array(i),featureIds:n,featureCount:t,...s}}function _Ae(e){let t=e.map(({positions:f})=>f),r=t.length>1?Ka(...t):t[0],n=e.map(({normals:f})=>f),i=n.length>1?Ka(...n):n[0],a=e.map(({colors:f})=>f),o=a.length>1?Ka(...a):a[0],s=e.map(({texCoords:f})=>f),u=s.length>1?Ka(...s):s[0],c=e.map(({uvRegions:f})=>f),l=c.length>1?Ka(...c):c[0];return{positions:r,normals:i,colors:o,texCoords:u,uvRegions:l}}function v4(e,t){let r,n,i,a=Ot.WGS84.cartesianToCartographic(e.center,new Z);return t&&(a[2]=a[2]-t.getHeight(a[1],a[0])),e instanceof di?(n=e.halfSize,r=new Z(n[0],n[1],n[2]).len(),i=e.quaternion):(r=e.radius,n=[r,r,r],i=new Po().fromMatrix3(new ir([n[0],0,0,0,n[1],0,0,0,n[2]])).normalize()),{mbs:[a[0],a[1],a[2],r],obb:{center:[a[0],a[1],a[2]],halfSize:n,quaternion:i}}}function wAe(e,t){let r=tkt(e),n=_y(r),i=eL(r),a=Ot.WGS84.cartesianToCartographic(i.center,new Z),o=Ot.WGS84.cartesianToCartographic(n.center,new Z);return t&&(a[2]=a[2]-t.getHeight(a[1],a[0]),o[2]=o[2]-t.getHeight(o[1],o[0])),{mbs:[a[0],a[1],a[2],i.radius],obb:{center:o,halfSize:n.halfSize,quaternion:n.quaternion}}}function tkt(e){let t=[];for(let r=0;r<e.length;r+=3){let n=new Z([e[r],e[r+1],e[r+2]]);t.push(n)}return t}function AAe(e){let t;e instanceof ua?t=e:t=e.getBoundingSphere();let r=t.center,n=t.radius,i=Ot.WGS84.cartesianToCartographic(new Z(r[0]+n,r[1]+n,r[2]+n),new Z),a=Ot.WGS84.cartesianToCartographic(new Z(r[0]-n,r[1]-n,r[2]-n),new Z);return{xmin:Math.min(a[0],i[0]),xmax:Math.max(a[0],i[0]),ymin:Math.min(a[1],i[1]),ymax:Math.max(a[1],i[1]),zmin:Math.min(a[2],i[2]),zmax:Math.max(a[2],i[2])}}function vN(e){let t=e[3],r=new Z(e[0],e[1],e[2]),n=new ir([t,0,0,0,t,0,0,0,t]);return new di(r,n)}function EAe(e,t,r){var s,u,c,l,f,d,p,h;let n=((u=(s=e.gltf)==null?void 0:s.scene)==null?void 0:u.nodes)||((f=(l=(c=e.gltf)==null?void 0:c.scenes)==null?void 0:l[0])==null?void 0:f.nodes)||((d=e.gltf)==null?void 0:d.nodes)||[],i=((h=(p=e.gltf)==null?void 0:p.images)==null?void 0:h.map(m=>{var y,w;if((y=m==null?void 0:m.image)!=null&&y.compressed)return null;let g=(w=m==null?void 0:m.image)==null?void 0:w.data,x=new Uint8Array(g.length);return x.set(g),{data:x,compressed:!1,height:m.image.height,width:m.image.width,components:m.image.components,mimeType:m.mimeType}}))||[];TAe(n);let{cartographicOrigin:a,modelMatrix:o}=nkt(e,t,r);return{nodes:n,images:i,cartographicOrigin:a,cartesianModelMatrix:o}}function rkt(e){let t={};for(let r in e)t[r]={value:e[r].value};return t}function nkt(e,t,r){let{rtcCenter:n,gltfUpAxis:i}=e,{center:a}=r,o=new gr(t);switch(n&&o.translate(n),i){case"Z":break;case"Y":let c=new gr().rotateX(Math.PI/2);o=o.multiplyRight(c);break;case"X":let l=new gr().rotateY(-Math.PI/2);o=o.multiplyRight(l);break;default:break}let s=new Z(a),u=Ot.WGS84.cartesianToCartographic(s,new Z);return{modelMatrix:o,cartographicOrigin:u}}function TAe(e){var t;for(let r=0;r<e.length;r++){let n=e[r];n.mesh&&(e[r]={...n,mesh:{...n.mesh,primitives:(t=n.mesh)==null?void 0:t.primitives.map(i=>{var a,o,s;return{...i,indices:{value:(a=i==null?void 0:i.indices)==null?void 0:a.value},attributes:rkt(i.attributes),material:{id:(o=i==null?void 0:i.material)==null?void 0:o.id,uniqueId:(s=i==null?void 0:i.material)==null?void 0:s.uniqueId}}})}}),n.children&&TAe(n.children)}}function SAe(e,t){var n,i;let r=(i=(n=e.gltf)==null?void 0:n.extensions)==null?void 0:i[jo];if(!(r!=null&&r.featureTextures))return null;for(let a in r.featureTextures)if(r.featureTextures[a].class===t)return a;return null}function kAe(e,t,r,n){let i=t==null?void 0:t.extensions;if(!i)return[];for(let[a,o]of Object.entries(i||{}))switch(a){case jo:return akt(e,o,r,n);case $3:return ikt(e,o);default:return[]}return[]}function ikt(e,t){for(let r of t.featureIds)if(typeof r.propertyTable<"u")return r.data;return[]}function akt(e,t,r,n){var o,s,u,c,l,f,d;let i=(o=t==null?void 0:t.featureIdAttributes)==null?void 0:o[0];if((s=i==null?void 0:i.featureIds)!=null&&s.attribute)return e[i.featureIds.attribute].value;if((u=i==null?void 0:i.featureIds)!=null&&u.hasOwnProperty("constant")&&((c=i==null?void 0:i.featureIds)!=null&&c.hasOwnProperty("divisor"))){let p=((l=e==null?void 0:e.POSITIONS)==null?void 0:l.value.length)/3||0;return okt(p,i.featureIds.constant,i.featureIds.divisor)}let a=(t==null?void 0:t.featureIdTextures)&&(t==null?void 0:t.featureIdTextures[0]);if(a){let h=`TEXCOORD_${((d=(f=a==null?void 0:a.featureIds)==null?void 0:f.texture)==null?void 0:d.texCoord)||0}`,m=e[h].value;return skt(a,m,r)}return n?e[n].value:[]}function okt(e,t=0,r=0){let n=[];if(r>0){let i=t,a=r;for(let o=0;o<e;o++)n.push(i),a-=1,a===0&&(i++,a=r)}else n=Array(e).fill(t,0,e);return n}function skt(e,t,r){var c,l,f;if(!(r!=null&&r.length))return[];let n={r:0,g:1,b:2,a:3},i=(l=(c=e==null?void 0:e.featureIds)==null?void 0:c.texture)==null?void 0:l.index,a=(f=e==null?void 0:e.featureIds)==null?void 0:f.channels;if(!a||i===void 0)return[];let o=r[i],s=[],u=n[a];if(o&&(o!=null&&o.width)&&(o!=null&&o.height)&&(o!=null&&o.components))for(let d=0;d<t.length;d+=2){let p=t[d],h=t[d+1],m=Math.min(P3(p)*o.width|0,o.width-1),x=(Math.min(P3(h)*o.height|0,o.height-1)*o.width+m)*o.components+u,y=new Uint8Array(o.data)[x];s.push(y)}else console.warn(`Can't get batch Ids from ${(o==null?void 0:o.mimeType)||""} compressed texture`);return s}function CAe(e,t){let r={};for(let n in t){let i=t[n];r[n]=ukt(i,e)}return r}function ukt(e,t){let r=[];if(e)for(let n in t){let i=e[n]||null;r.push(i)}return r}function DAe(e,t){let r=!1;for(let n of Object.values(t))(!e||!n||e.length!==n.length)&&(r=!0);return r}function ckt(e){return typeof e=="string"||typeof e=="bigint"?nn.STRING_TYPE:typeof e=="number"?Number.isInteger(e)?nn.SHORT_INT_TYPE:nn.DOUBLE_TYPE:nn.STRING_TYPE}function BAe(e){let t={};for(let r in e){let n=e[r][0],i=ckt(n);t[r]=i}return t}var FAe=(e,t)=>{var a,o,s,u,c,l,f,d;let r={},n=(u=(s=(o=(a=e.extensions)==null?void 0:a[jo])==null?void 0:o.schema)==null?void 0:s.classes)==null?void 0:u[t];if(n){for(let p in n.properties){let h=n.properties[p],m=lkt(h);r[p]=m}return r}let i=(d=(f=(l=(c=e.extensions)==null?void 0:c[Xc])==null?void 0:l.schema)==null?void 0:f.classes)==null?void 0:d[t];if(i){for(let p in i.properties){let h=i.properties[p],m=fkt(h);r[p]=m}return r}return null},lkt=e=>{let t;switch(e.type){case"INT8":case"UINT8":case"INT16":case"UINT16":case"INT32":case"UINT32":t=nn.SHORT_INT_TYPE;break;case"FLOAT32":case"FLOAT64":t=nn.DOUBLE_TYPE;break;case"INT64":case"UINT64":case"BOOLEAN":case"ENUM":case"STRING":case"ARRAY":t=nn.STRING_TYPE;break;default:t=nn.STRING_TYPE;break}return t},fkt=e=>{let t;if(e.array)t=nn.STRING_TYPE;else switch(e.componentType){case"INT8":case"UINT8":case"INT16":case"UINT16":case"INT32":case"UINT32":t=nn.SHORT_INT_TYPE;break;case"FLOAT32":case"FLOAT64":t=nn.DOUBLE_TYPE;break;case"INT64":case"UINT64":t=nn.STRING_TYPE;break;default:t=nn.STRING_TYPE;break}return t};var b4=e=>{let t=new Uint32Array(e);for(let r=0;r<e;r++)t[r]=r;return t};var oCt={},dkt=1,pkt=1,Ps=3,I1=2,hkt=4,mkt="string",gkt="Int32",vkt="Float64",bkt="Oid32",OAe=["CUSTOM_ATTRIBUTE_2","_BATCHID","BATCHID"],ed=new Z;async function bN({tileContent:e,tileTransform:t,tileBoundingVolume:r,addNodeToNodePage:n,propertyTable:i,featuresHashArray:a,attributeStorageInfo:o,draco:s,generateBoundingVolumes:u,shouldMergeMaterials:c,geoidHeightModel:l,libraries:f,metadataClass:d}){var w;let p=u,h=await Ikt((w=e.gltf)==null?void 0:w.materials,c),m=EAe(e,t,r),g=SAe(e,d),x=await _kt(m,h,p,g);u&&xkt(x,l);let y=[];for(let T of h){let A=T.mergedMaterials[0].originalMaterialId;if(!x.has(A))continue;let D=x.get(A);if(!D)continue;let{material:F,texture:j}=T,k=await n();y.push(await ykt({convertedAttributes:D,material:F,texture:j,tileContent:e,nodeId:k,featuresHashArray:a,propertyTable:i,attributeStorageInfo:o,draco:s,libraries:f}))}return y.length?y:null}function xkt(e,t){for(let r of e.values()){let n=wAe(r.positions,t);r.boundingVolumes=n;let i=n.obb.center;for(let a=0;a<r.positions.length;a+=Ps){let o=r.positions.subarray(a,a+Ps);Ot.WGS84.cartesianToCartographic(Array.from(o),ed),t&&(ed[2]=ed[2]-t.getHeight(ed[1],ed[0])),ed=ed.subtract(i),r.positions.set(ed,a)}}}async function ykt({convertedAttributes:e,material:t,texture:r,tileContent:n,nodeId:i,featuresHashArray:a,propertyTable:o,attributeStorageInfo:s,draco:u,libraries:c}){var I;let l=e.boundingVolumes,f=e.positions.length/Ps,{faceRange:d,featureIds:p,positions:h,normals:m,colors:g,uvRegions:x,texCoords:y,featureCount:w}=yAe(e),T={};o&&(T=Hkt(p,e.featureIndices,a,o));let A=new Uint32Array(2),D=Zkt(p);A.set([f,w],0);let F=new Uint8Array(bn(A.buffer,h.buffer,m.buffer,r?y.buffer:new ArrayBuffer(0),g.buffer,x,D.buffer,d.buffer)),j=u?eCt(f,e,{positions:h,normals:m,texCoords:r?y:new Float32Array(0),colors:g,uvRegions:x,featureIds:p,faceRange:d},c):null,k=[];return s&&o&&(k=Kkt(p,T,o,s)),{nodeId:i,geometry:F,compressedGeometry:j,texture:r,hasUvRegions:Boolean(x.length),sharedResources:qkt(((I=n.gltf)==null?void 0:I.materials)||[],i),meshMaterial:t,vertexCount:f,attributes:k,featureCount:w,boundingVolumes:l}}async function _kt(e,t,r,n){let{nodes:i,images:a,cartographicOrigin:o,cartesianModelMatrix:s}=e,u=new Map;for(let c of t){let l={positions:new Float32Array(0),normals:new Float32Array(0),texCoords:new Float32Array(0),colors:new Uint8Array(0),uvRegions:new Uint16Array(0),featureIndicesGroups:[],featureIndices:[],boundingVolumes:null,mergedMaterials:c.mergedMaterials};for(let f of c.mergedMaterials)u.set(f.originalMaterialId,l)}LAe({nodes:i,images:a,cartographicOrigin:o,cartesianModelMatrix:s,attributesMap:u,useCartesianPositions:r,featureTexture:n});for(let c of u.keys()){let l=u.get(c);if(l){if(l.positions.length===0){u.delete(c);continue}l.featureIndicesGroups&&(l.featureIndices=l.featureIndicesGroups.reduce((f,d)=>f.concat(d)),delete l.featureIndicesGroups)}}return u}function LAe({nodes:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o=new gr([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),featureTexture:s}){if(e)for(let u of e)Akt({node:u,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o,featureTexture:s})}function wkt(e,t){let r=t,{matrix:n,rotation:i,scale:a,translation:o}=e;return n&&(r=t.multiplyRight(n)),o&&(r=r.translate(o)),i&&(r=r.rotateXYZ(i)),a&&(r=r.scale(a)),r}function Akt({node:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o=new gr([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),featureTexture:s}){let u=wkt(e,o),c=e.mesh;c&&Ekt({mesh:c,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:u,featureTexture:s}),LAe({nodes:e.children||[],images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:u,featureTexture:s})}function Ekt({mesh:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a=!1,matrix:o,featureTexture:s}){var u;for(let c of e.primitives){let l=null,f;c.material?(l=i.get(c.material.id),f=(u=l==null?void 0:l.mergedMaterials.find(({originalMaterialId:h})=>{var m;return h===((m=c.material)==null?void 0:m.id)}))==null?void 0:u.uvRegion):i.has("default")&&(l=i.get("default")),_t(l!==null,"Primitive - material mapping failed"),_t(c.mode===void 0||c.mode===mt.TRIANGLES||c.mode===mt.TRIANGLE_STRIP,`Primitive - unsupported mode ${c.mode}`);let d=c.attributes;if(!l)continue;let p=Tkt(c);l.positions=Ka(l.positions,IAe({vertices:d.POSITION.value,cartographicOrigin:r,cartesianModelMatrix:n,nodeMatrix:o,indices:p,attributeSpecificTransformation:Skt,useCartesianPositions:a})),l.normals=Ka(l.normals,IAe({vertices:d.NORMAL&&d.NORMAL.value,cartographicOrigin:r,cartesianModelMatrix:n,nodeMatrix:o,indices:p,attributeSpecificTransformation:kkt,useCartesianPositions:!1})),l.texCoords=Ka(l.texCoords,Ckt(d.TEXCOORD_0&&d.TEXCOORD_0.value,p)),l.colors=Ka(l.colors,Dkt(d.COLOR_0,p)),f&&(l.uvRegions=Ka(l.uvRegions,Bkt(f,p))),l.featureIndicesGroups=l.featureIndicesGroups||[],l.featureIndicesGroups.push(Fkt(Okt(d,c,t,s),p))}}function Tkt(e){var r;let t=(r=e.indices)==null?void 0:r.value;if(!t){let n=e.attributes.POSITION.value;return b4(n.length/Ps)}if(t&&e.mode===mt.TRIANGLE_STRIP){let n=t.constructor,i=new n((t.length-2)*3),a=0,o=t.slice(0,3);i.set(o,0);for(let s=1;s+2<t.length;s++)a+=3,o=t.slice(s,s+3),s%2===0?i.set(o,a):i.set(o.reverse(),a);t=i}return t}function IAe(e){let{vertices:t,indices:r,attributeSpecificTransformation:n}=e,i=new Float32Array(r.length*Ps);if(!t)return i;for(let a=0;a<r.length;a++){let o=r[a]*Ps,s=t.subarray(o,o+Ps),u=new Z(Array.from(s));u=n(u,e),i[a*Ps]=u.x,i[a*Ps+1]=u.y,i[a*Ps+2]=u.z}return i}function Skt(e,t){let{cartesianModelMatrix:r,cartographicOrigin:n,nodeMatrix:i,useCartesianPositions:a}=t;return i&&(e=e.transform(i)),e=e.transform(r),a||(Ot.WGS84.cartesianToCartographic([e[0],e[1],e[2]],e),e=e.subtract(n)),e}function kkt(e,t){let{cartesianModelMatrix:r,nodeMatrix:n}=t;return n&&(e=e.transformAsVector(n)),e=e.transformAsVector(r),e}function Ckt(e,t){let r=new Float32Array(t.length*I1);if(!e)return r.fill(1),r;for(let n=0;n<t.length;n++){let i=t[n]*I1,a=e.subarray(i,i+I1);r[n*I1]=a[0],r[n*I1+1]=a[1]}return r}function Dkt(e,t){let r=(e==null?void 0:e.components)||hkt,n=new Uint8Array(t.length*r);if(!e)return n.fill(255),n;let i=e.value;for(let a=0;a<t.length;a++){let o=t[a]*r,s=i.subarray(o,o+r),u=new Uint8Array(r);for(let c=0;c<s.length;c++)u[c]=s[c]*255;n.set(u,a*r)}return n}function Bkt(e,t){let r=new Uint16Array(t.length*4);for(let n=0;n<r.length;n+=4)r.set(e,n);return r}function Fkt(e,t){if(!e.length||!t.length)return[];let r=[];for(let n=0;n<t.length;n++){let i=t[n];r.push(e[i])}return r}function Okt(e,t,r,n){let i=kAe(e,t,r,n);if(i.length)return i;for(let a=0;a<OAe.length;a++){let o=OAe[a];if(e[o]&&e[o].value)return e[o].value}return[]}async function Ikt(e=[],t){let r=[];for(let n of e)r.push(jkt(n));return t&&(r=await Pkt(r)),r}async function Pkt(e){var r,n;let t=[];for(;e.length>0;){let i=e.splice(0,1)[0],a=[];for(let o=0;o<e.length;o++){let s=e[o];(i.texture&&s.texture||!i.texture&&!s.texture)&&(i=await Rkt(i,s),a.push(o))}if(i.texture&&a.length){let o=(r=i.mergedMaterials)==null?void 0:r.reduce((c,{textureSize:l})=>c+((l==null?void 0:l.width)||0),0),s=(n=i.mergedMaterials)==null?void 0:n.reduce((c,{textureSize:l})=>Math.max(c,(l==null?void 0:l.height)||0),0),u=-1;for(let c of i.mergedMaterials)if(c.textureSize){let l=u+1+c.textureSize.width/o*2**(Uint16Array.BYTES_PER_ELEMENT*8)-1;c.uvRegion=new Uint16Array([u+1,0,l,c.textureSize.height/s*2**(Uint16Array.BYTES_PER_ELEMENT*8)-1]),u=l}i.texture.image.width=o,i.texture.image.height=s}for(let o of a.reverse())e.splice(o,1);t.push(i)}return t.length||t.push({material:Lkt(),mergedMaterials:[{originalMaterialId:"default"}]}),t}async function Rkt(e,t){var r,n;if((r=e.texture)!=null&&r.bufferView&&((n=t.texture)!=null&&n.bufferView)&&e.mergedMaterials&&t.mergedMaterials){let i=Buffer.from(e.texture.bufferView.data),a=Buffer.from(t.texture.bufferView.data);try{let{joinImages:o}=await import("join-images"),s=await o([i,a],{direction:"horizontal"});e.texture.bufferView.data=await s.toFormat(e.texture.mimeType==="image/png"?"png":"jpeg").toBuffer()}catch(o){throw console.log("Join images into a texture atlas has failed. Consider usage `--split-nodes` option. (See documentation https://loaders.gl/modules/tile-converter/docs/cli-reference/tile-converter)"),o}e.material.pbrMetallicRoughness.baseColorTexture.textureSetDefinitionId=1}return e.mergedMaterials=e.mergedMaterials.concat(t.mergedMaterials),e}function jkt(e){var i,a,o,s,u;let t={doubleSided:e.doubleSided,emissiveFactor:(i=e.emissiveFactor)==null?void 0:i.map(c=>Math.round(c*255)),alphaMode:Mkt(e.alphaMode),pbrMetallicRoughness:{roughnessFactor:((a=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:a.roughnessFactor)||dkt,metallicFactor:((o=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:o.metallicFactor)||pkt}},r;(s=e==null?void 0:e.pbrMetallicRoughness)!=null&&s.baseColorTexture?(r=e.pbrMetallicRoughness.baseColorTexture.texture.source,t.pbrMetallicRoughness.baseColorTexture={textureSetDefinitionId:0}):e.emissiveTexture&&(r=e.emissiveTexture.texture.source,t.pbrMetallicRoughness.baseColorTexture={textureSetDefinitionId:0}),e.id=Number.isFinite(e.id)?e.id:Xu();let n=[{originalMaterialId:e.id}];if(r)n[0].textureSize={width:r.image.width,height:r.image.height};else{let c=(u=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:u.baseColorFactor;t.pbrMetallicRoughness.baseColorFactor=c&&c.map(l=>Math.round(l*255))||void 0}return{material:t,texture:r,mergedMaterials:n}}function Mkt(e){switch(e){case"OPAQUE":return"opaque";case"MASK":return"mask";case"BLEND":return"blend";default:return"opaque"}}function Lkt(){return{alphaMode:"opaque",pbrMetallicRoughness:{metallicFactor:1,roughnessFactor:1}}}function qkt(e,t){let r={};if(!e||!e.length)return r;r.materialDefinitionInfos=[];for(let n of e){let{materialDefinitionInfo:i,textureDefinitionInfo:a}=Nkt(n,t);r.materialDefinitionInfos.push(i),a&&(r.textureDefinitionInfos=r.textureDefinitionInfos||[],r.textureDefinitionInfos.push(a))}return r}function Nkt(e,t){var s;let r=((s=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:s.baseColorTexture)||e.emissiveTexture,n=null;r&&(n=Gkt(r.texture,t));let{baseColorFactor:i,metallicFactor:a}=(e==null?void 0:e.pbrMetallicRoughness)||{},o=i;return(!i||i[3]===0)&&e.emissiveFactor&&(o=e.emissiveFactor,o[3]=o[3]||1),{materialDefinitionInfo:Ukt(o||[1,1,1,1],a),textureDefinitionInfo:n}}function Ukt(e,t=1){let r=.00015686274509803922,n=new Io(0,0,0,1),i=new Io(1,1,1,1),a=new Io(r,r,r,0),o=new Io(e),s=i.subtract(a).multiply(o),u=s.lerp(s,n,t);a[3]=1;let c=a.lerp(a,o,t);return{params:{diffuse:u.toArray(),specular:c.toArray(),renderMode:"solid"}}}function Gkt(e,t){var r,n,i,a;return{encoding:(r=e==null?void 0:e.source)!=null&&r.mimeType?[e.source.mimeType]:void 0,images:[{id:zkt(e,t),size:(n=e.source)==null?void 0:n.image.width,length:(i=e.source)!=null&&i.image.data.length?[(a=e.source)==null?void 0:a.image.data.length]:void 0}]}}function zkt(e,t){var m;let{width:r,height:n}=((m=e.source)==null?void 0:m.image)||{};if(!r||!n)return"";let i=1,a=0,o=t+1,s=32-o.toString(2).length,u="0".repeat(s).concat(o.toString(2)),c=i<<28,l=a<<24,f=r-1<<12,d=n-1<<0,p=c+l+f+d;return BigInt(`0b${p.toString(2)}${u}`).toString()}function Hkt(e,t,r,n){let i=Vkt(e,n,r);return PAe(t,i),PAe(e,i),i}function Vkt(e,t,r){let n={};for(let i=0;i<e.length;i++){let a=e[i],o=Wkt(i,t,r);n[a.toString()]=o}return n}function $kt(e,t){let r="";for(let n in e)r+=e[n][t];return r}function Wkt(e,t,r){let n=$kt(t,e),i=(0,MAe.default)(n);return r.includes(i)?r.indexOf(i):r.push(i)-1}function PAe(e,t){for(let r=0;r<e.length;r++)e[r]=t[e[r]]}function Kkt(e,t,r,n){let i=[],o=DAe(e,r)?CAe(t,r):r,s={OBJECTID:e,...o};for(let u in s){let c=Xkt(u,n);if(c){let l=s[u],f=Jkt(c,l);i.push(f)}}return i}function Jkt(e,t){let r;switch(e){case bkt:case gkt:r=Ykt(t);break;case vkt:r=Qkt(t);break;case mkt:r=RAe(t);break;default:r=RAe(t)}return r}function Xkt(e,t){let r=t.find(n=>n.name===e);return r?r.attributeValues?r.attributeValues.valueType:(console.error(`attributeValues is null, attribute=${r}`),""):(console.error(`attribute is null, key=${e}, attributeStorageInfo=${JSON.stringify(t,null,2)}`),"")}function Ykt(e){let t=new Uint32Array([e.length]),r=new Uint32Array(e);return bn(t.buffer,r.buffer)}function Qkt(e){let t=new Uint32Array([e.length]),r=new Uint8Array(4),n=new Float64Array(e);return bn(t.buffer,r.buffer,n.buffer)}function RAe(e){let t=new Uint32Array([e.length]),r=0,n=new Uint32Array(e.length),i=[];for(let o=0;o<e.length;o++){let s=`${String(e[o])}\0`,u=Buffer.from(s),c=u.length;r+=c,n[o]=c,i.push(u)}let a=new Uint32Array([r]);return bn(t.buffer,a.buffer,n.buffer,...i)}function Zkt(e){let t=new BigUint64Array(e.length);for(let r=0;r<e.length;r++)t[r]=BigInt(e[r]);return t}async function eCt(e,t,r,n){let{positions:i,normals:a,texCoords:o,colors:s,uvRegions:u,featureIds:c,faceRange:l}=r,f=new Uint32Array(e);for(let g=0;g<f.length;g++)f.set([g],g);let d=new Uint32Array(t.featureIndices.length?t.featureIndices:e),p=rCt(d,l),h={positions:i,normals:a,colors:s,"feature-index":p};o.length&&(h.texCoords=o);let m={"feature-index":{"i3s-attribute-type":"feature-index","i3s-feature-ids":new Int32Array(c)}};return u.length&&(h["uv-region"]=u,m["uv-region"]={"i3s-attribute-type":"uv-region"}),$m({attributes:h,indices:f},I3,{...I3.options,reuseWorkers:!0,_nodeWorkers:!0,modules:n,useLocalLibraries:!0,draco:{method:"MESH_SEQUENTIAL_ENCODING",attributesMetadata:m},["draco-writer"]:{workerUrl:tCt()}})}function tCt(){try{let t=(0,jAe.createRequire)(oCt.url).resolve("@loaders.gl/draco/package.json");return(0,y4.join)((0,y4.dirname)(t),"src/workers/draco-writer-worker-node.cjs")}catch{return"./modules/draco/src/workers/draco-writer-worker-node.cjs"}}function rCt(e,t){let r=new Uint32Array(e.length),n=0,i=0;for(let a=1;a<t.length;a+=2){let o=(t[a]+1)*Ps;r.fill(n,i,o),n++,i=o+1}return r}function qAe(e,t){if(!e)return null;let r,n=e.batchTableJson;if(n)return n;let{extensionName:i,extension:a}=aCt(e);switch(i){case Xc:return r=nCt(a,t),r;case jo:return r=iCt(a,t),r;default:return null}}function nCt(e,t){if(e.propertyTables){for(let r of e.propertyTables)if(r.class===t||!t)return x4(r)}if(e.propertyTextures){for(let r of e.propertyTextures)if(r.class===t||!t)return x4(r)}return null}function iCt(e,t){if(e.featureTables)for(let r in e.featureTables){let n=e.featureTables[r];if(n.class===t||!t)return x4(n)}if(e.featureTextures)for(let r in e.featureTextures){let n=e.featureTextures[r];if(n.class===t||!t)return x4(n)}return null}function x4(e){let t={};for(let r in e.properties)t[r]=e.properties[r].data;return t}function aCt(e){var a,o,s,u;let t=[jo,Xc];if(!((a=e==null?void 0:e.gltf)==null?void 0:a.extensionsUsed))return{extensionName:null,extension:null};let n="";for(let c of((o=e==null?void 0:e.gltf)==null?void 0:o.extensionsUsed)||[])if(t.includes(c)){n=c;break}if(!n)return{extensionName:null,extension:null};let i=(u=(s=e==null?void 0:e.gltf)==null?void 0:s.extensions)==null?void 0:u[n];return{extensionName:n,extension:i}}var UAe=Dt(Is(),1),GAe=require("path");var NAe=()=>({serviceItemId:{path:"serviceItemId"},serviceName:{path:"layerName"},name:{path:"layerName"},currentVersion:{path:"currentVersion",default:10.7},serviceVersion:{path:"serviceVersion",default:"1.8"},supportedBindings:{path:"supportedBindings",default:["REST"]},layers:{path:"layers0",transform:e=>[e]}});async function zAe(e,t,r){let n={serviceItemId:Xu().replace(/-/gi,""),layerName:e,layers0:t},i=(0,UAe.default)(n,NAe()),a=(0,GAe.join)(r,"SceneServer");await Ia(a,JSON.stringify(i))}var xN=16;function HAe(e,t){let r=[],n=e.boundingVolume,i=e.lodMetricValue||.1,a={metricType:"maxScreenThreshold",maxError:t.mbs[3]*2*xN/i},o={metricType:"maxScreenThresholdSQ",maxError:Math.PI*.25*a.maxError*a.maxError};return n.constructor.name==="OrientedBoundingBox"?(r.push(o),r.push(a)):(r.push(a),r.push(o)),r}function yN(e){var n,i;let t=(n=e.lodSelection)==null?void 0:n.find(a=>a.metricType==="maxScreenThreshold"),r=t==null?void 0:t.maxError;if(!r){let a=(i=e.lodSelection)==null?void 0:i.find(o=>o.metricType==="maxScreenThresholdSQ");a&&(r=Math.sqrt(a.maxError/(Math.PI*.25)))}return r||(r=xN),e.mbs[3]*2*xN/r}var sCt=[9,-18,-88,0,96,90,0,0,-60,-20,-9,18,8,0,-96,30,0,0,60,-20,9,-88,-18,90,96,0,-20,-60,0,0,186,-42,-42,-150,-96,-150,60,60,60,60,54,162,-78,30,-24,-90,-60,60,-60,60,-9,-32,18,30,24,0,20,-60,0,0,-9,8,18,30,-96,0,-20,60,0,0,54,-78,162,-90,-24,30,60,-60,60,-60,-54,78,78,90,144,90,-60,-60,-60,-60,9,-8,-18,-30,-24,0,20,60,0,0,-9,18,-32,0,24,30,0,0,-60,20,9,-18,-8,0,-24,-30,0,0,60,20],uCt=372,cCt=[0,0,-131,0,138,144,0,0,-102,-31,0,0,7,0,-138,42,0,0,102,-31,62,0,-31,0,0,-62,0,0,0,31,124,0,-62,0,0,-124,0,0,0,62,124,0,-62,0,0,-124,0,0,0,62,62,0,-31,0,0,-62,0,0,0,31,0,0,45,0,-183,-9,0,93,18,0,0,0,216,0,33,87,0,-93,12,-93,0,0,156,0,153,99,0,-93,-12,-93,0,0,-45,0,-3,9,0,93,-18,0,0,0,-55,0,48,42,0,0,-84,31,0,0,-7,0,-48,-42,0,0,84,31],lCt=372,fCt=[18,-36,-122,0,120,135,0,0,-84,-31,-18,36,-2,0,-120,51,0,0,84,-31,36,-165,-27,93,147,-9,0,-93,18,0,210,45,-111,-93,-57,-192,0,93,12,93,162,141,-75,-93,-129,-180,0,93,-12,93,-36,-21,27,93,39,9,0,-93,-18,0,0,0,62,0,0,31,0,0,0,-31,0,0,124,0,0,62,0,0,0,-62,0,0,124,0,0,62,0,0,0,-62,0,0,62,0,0,31,0,0,0,-31,-18,36,-64,0,66,51,0,0,-102,31,18,-36,2,0,-66,-51,0,0,102,31],dCt=12,_N=(3+1)*(3+2)/2,pCt=2,Yg=class{constructor(t){this._v00=0,this._v01=0,this._v10=0,this._v11=0,this._t=[],this.options=t,this._ix=this.options._width,this._iy=this.options._height}getHeight(t,r){if(t=Math.abs(t)>90?NaN:t,isNaN(t)||isNaN(r))return NaN;let n=hCt(r,360);r=n!==-180?n:180;let i=r*this.options._rlonres,a=-t*this.options._rlatres,o=Math.floor(i),s=Math.min(Math.round((this.options._height-1)/2-1),Math.floor(a));i-=o,a-=s,s+=(this.options._height-1)/2,o+=o<0?this.options._width:o>=this.options._width?-this.options._width:0;let u=0,c=0,l=0,f=0,d=new Array(_N);if(o===this._ix&&s===this._iy)this.options.cubic?d=this._t:(u=this._v00,c=this._v01,l=this._v10,f=this._v11);else if(!this.options.cubic)u=this._rawval(o,s),c=this._rawval(o+1,s),l=this._rawval(o,s+1),f=this._rawval(o+1,s+1);else{let h=[this._rawval(o,s-1),this._rawval(o+1,s-1),this._rawval(o-1,s),this._rawval(o,s),this._rawval(o+1,s),this._rawval(o+2,s),this._rawval(o-1,s+1),this._rawval(o,s+1),this._rawval(o+1,s+1),this._rawval(o+2,s+1),this._rawval(o,s+2),this._rawval(o+1,s+2)],m=cCt;s!==0&&(m=s===this.options._height-2?fCt:sCt);let g=uCt;s!==0&&(g=s===this.options._height-2?lCt:240);for(let x=0;x<_N;++x){d[x]=0;for(let y=0;y<dCt;++y)d[x]+=h[y]*m[_N*y+x];d[x]/=g}}if(!this.options.cubic){let h=(1-i)*u+i*c,m=(1-i)*l+i*f,g=(1-a)*h+a*m,x=this.options._offset+this.options._scale*g;return this._ix=o,this._iy=s,this._v00=u,this._v01=c,this._v10=l,this._v11=f,x}let p=d[0]+i*(d[1]+i*(d[3]+i*d[6]))+a*(d[2]+i*(d[4]+i*d[7])+a*(d[5]+i*d[8]+a*d[9]));return p=this.options._offset+this.options._scale*p,this._ix=o,this._iy=s,this._t=d,p}_rawval(t,r){t<0?t+=this.options._width:t>=this.options._width&&(t-=this.options._width),(r<0||r>=this.options._height)&&(r=r<0?-r:2*(this.options._height-1)-r,t+=(t<this.options._width/2?1:-1)*this.options._width/2);let n=this.options._datastart+pCt*(r*this.options._swidth+t),i=this.options.data[n],a=this.options.data[n+1];return i<<8|a}};function hCt(e,t){t=Math.abs(t);let r=VAe(e,t);return 2*Math.abs(r)===t?r-=VAe(e,2*t)-r:2*Math.abs(r)>t&&(r+=r<0?t:-t),r}function VAe(e,t){return e-Math.floor(e/t)*t}var mCt=10,gCt=65535;function wN(e,t){let r=vCt(e),n=r.next();if(n.done||n.value.line!=="P5")throw new Error("Geoid model file: File not in PGM format");let i=Number.MAX_VALUE,a=0,o=-1,s=-1,u="NONE",c="UNKNOWN",l=0,f=0,d=null,p=null;do{n=r.next();let x=n.value.line;if(x.length)if(x[0]==="#"){let y=x.split(" "),w=y[0],T=y[1];if(w!=="#"||!T)continue;let A=y.length>2?y.slice(2):[];if(T==="Description")u=A.join(" ");else if(T==="DateTime")c=A.join(" ");else if(T==="Offset"){if(!y[2])throw new Error("Geoid model file: Error reading offset");i=parseInt(y[2],10)}else if(T==="Scale"){if(!y[2])throw new Error("Geoid model file: Error reading scale");a=parseFloat(y[2])}else T===(t.cubic?"MaxCubicError":"MaxBilinearError")?isFinite(parseFloat(y[2]))&&(o=parseFloat(y[2])):T===(t.cubic?"RMSCubicError":"RMSBilinearError")&&isFinite(parseFloat(y[2]))&&(s=parseFloat(y[2]))}else{let y=x.split(" ");if(y=y.filter(w=>w!==""),l=parseInt(y[0],10),f=parseInt(y[1],10),!(l&&f))throw new Error("Geoid model file: Error reading raster size");break}}while(!n.done);n=r.next();let h=parseInt(n.value.line,10);if(n.done)throw new Error("Geoid model file: Error reading maxval");if(h!==gCt)throw new Error("Geoid model file: Incorrect value of maxval");if(d=n.value.offset,p=l,i===Number.MAX_VALUE)throw new Error("Geoid model file: Offset not set");if(a===0)throw new Error("Geoid model file: Scale not set");if(a<0)throw new Error("Geoid model file: Scale must be positive");if(f<2||l<2)throw new Error("Geoid model file: Raster size too small");if(l&1)throw new Error("Geoid model file: Raster width is odd");if(!(f&1))throw new Error("Geoid model file: Raster height is even");let m=l/360,g=(f-1)/180;return new Yg({cubic:t.cubic,_width:l,_height:f,_rlonres:m,_rlatres:g,_offset:i,_scale:a,_swidth:p,_datastart:d,_maxerror:o,_rmserror:s,_description:u,_datetime:c,data:e})}function*vCt(e){let t=0;do{let r=e.indexOf(mCt,t);if(r!==-1){let n=e.subarray(t,r);t=r+1,yield{offset:t,line:$Ae(n)}}else{let n=e.subarray(t,e.length);t=e.length,yield{offset:t,line:$Ae(n)}}}while(t<e.length);return{offset:t,line:""}}function $Ae(e){let t="";for(let r of e)t+=String.fromCharCode(r);return t}var bCt="4.4.0-alpha.13";var _4={dataType:null,batchType:null,name:"PGM - Netpbm grayscale image format",id:"pgm",module:"tile-converter",version:bCt,mimeTypes:["image/x-portable-graymap"],parse:async(e,t)=>wN(new Uint8Array(e),(t==null?void 0:t.pgm)||{}),extensions:["pgm"],options:{pgm:{cubic:!1}}};var Qg=Dt(Is(),1);var WAe={id:{path:"id",transform:e=>e.toUpperCase()},profile:{path:"profile",default:"meshpyramids"},version:{path:"version",default:"1.8"},resourcePattern:{path:"resourcePattern",default:["3dNodeIndexDocument","Attributes","SharedResource","Geometry"]},rootNode:{path:"rootNode",default:"./nodes/root"},extent:{path:"extent"},indexCRS:{path:"indexCRS",default:"http://www.opengis.net/def/crs/EPSG/0/4326"},vertexCRS:{path:"vertexCRS",default:"http://www.opengis.net/def/crs/EPSG/0/4326"},normalReferenceFrame:{path:"normalReferenceFrame",default:"east-north-up"},attributeEncoding:{path:"attributeEncoding",default:"application/octet-stream; version=1.6"},textureEncoding:{path:"textureEncoding",default:["image/jpeg","image/ktx2"]},lodType:{path:"lodType",default:"MeshPyramid"},lodModel:{path:"lodModel",default:"node-switching"},defaultGeometrySchema:{path:"defaultGeometrySchema",default:{geometryType:"triangles",header:[{property:"vertexCount",type:"UInt32"},{property:"featureCount",type:"UInt32"}],topology:"PerAttributeArray",ordering:["position","normal","uv0","color"],vertexAttributes:{position:{valueType:"Float32",valuesPerElement:3},normal:{valueType:"Float32",valuesPerElement:3},uv0:{valueType:"Float32",valuesPerElement:2},color:{valueType:"UInt8",valuesPerElement:4}},featureAttributeOrder:["id","faceRange"],featureAttributes:{id:{valueType:"UInt64",valuesPerElement:1},faceRange:{valueType:"UInt32",valuesPerElement:2}}}}};var xCt=()=>({wkid:{path:"wkid",default:4326},latestWkid:{path:"latestWkid",default:4326},vcsWkid:{path:"vcsWkid",default:5773},latestVcsWkid:{path:"latestVcsWkid",default:5773}}),yCt=()=>({heightModel:{path:"heightModel",default:"gravity_related_height"},vertCRS:{path:"vertCRS",default:"EGM96_Geoid"},heightUnit:{path:"heightUnit",default:"meter"}}),_Ct=()=>({nodesPerPage:{path:"nodesPerPage"},lodSelectionMetricType:{path:"lodSelectionMetricType",default:"maxScreenThresholdSQ"}}),wCt=()=>({xmin:{path:"xmin"},ymin:{path:"ymin"},xmax:{path:"xmax"},ymax:{path:"ymax"},zmin:{path:"zmin"},zmax:{path:"zmax"}}),KAe=()=>({version:{path:"version",transform:e=>e.toUpperCase()},id:{path:"id",default:0},name:{path:"name"},href:{path:"href",default:"./layers/0"},layerType:{path:"layerType",default:"IntegratedMesh"},spatialReference:{path:"spatialReference",transform:e=>(0,Qg.default)(e,xCt())},capabilities:{path:"capabilities",default:["View","Query"]},store:{path:"store",transform:e=>(0,Qg.default)(e,WAe)},fullExtent:{path:"fullExtent",transform:e=>(0,Qg.default)(e,wCt())},heightModelInfo:{path:"heightModelInfo",transform:e=>(0,Qg.default)(e,yCt())},nodePages:{path:"nodePages",transform:e=>(0,Qg.default)(e,_Ct())},materialDefinitions:{path:"materialDefinitions",default:[]},textureSetDefinitions:{path:"textureSetDefinitions",default:[]},geometryDefinitions:{path:"geometryDefinitions",default:[]},attributeStorageInfo:{path:"attributeStorageInfo",default:[]},fields:{path:"fields",default:[]},popupInfo:{path:"popupInfo",default:null}});var AN=Dt(Is(),1),ACt=()=>({offset:{default:8},position:{default:{type:"Float32",component:3}},normal:{default:{type:"Float32",component:3}},uv0:{path:"hasTexture",transform:e=>e&&{type:"Float32",component:2}||!1,omitValues:[!1]},color:{default:{type:"UInt8",component:4}},uvRegion:{path:"hasUvRegions",transform:e=>e&&{type:"UInt16",component:4}||!1,omitValues:[!1]},featureId:{default:{binding:"per-feature",type:"UInt64",component:1}},faceRange:{default:{binding:"per-feature",type:"UInt32",component:2}}}),ECt=()=>({"compressedAttributes.encoding":{default:"draco"},"compressedAttributes.attributes":{path:"geometryConfig",transform:e=>{let t=["position","normal"];return e.hasTexture&&t.push("uv0"),t.push("color"),e.hasUvRegions&&t.push("uv-region"),t.push("feature-index"),t}}}),JAe=()=>({geometryBuffers:{path:"geometryConfig",transform:e=>{let t=[(0,AN.default)(e,ACt())];return e.draco&&t.push((0,AN.default)({geometryConfig:e},ECt())),t}}});var P1=Dt(Is(),1),TCt=()=>({renderMode:{path:"renderMode",default:"solid"},shininess:{path:"shininess",default:1},reflectivity:{path:"reflectivity",default:0},ambient:{path:"ambient",default:[1,1,1]},diffuse:{path:"diffuse",default:[1,1,1]},specular:{path:"specular",default:[0,0,0]},useVertexColorAlpha:{path:"useVertexColorAlpha",default:!1},vertexRegions:{path:"vertexRegions",default:!1},vertexColors:{path:"vertexColors",default:!0}}),SCt=()=>({name:{path:"name",default:"standard"},type:{path:"type",default:"standard"},params:{path:"params",transform:(e,t,r)=>(0,P1.default)(r,TCt())}}),kCt=()=>({id:{path:"id"},size:{path:"size"},href:{path:"href",default:["../textures/0"]},length:{path:"length"}}),CCt=()=>({encoding:{path:"encoding"},wrap:{path:"wrap",default:["none"]},atlas:{path:"atlas",default:!1},uvSet:{path:"uvSet",default:"uv0"},channels:{path:"channels",default:"rgb"},images:{path:"images",transform:(e,t,r)=>e.map(n=>(0,P1.default)(n,kCt()))}}),XAe=()=>({materialDefinitions:{path:"materialDefinitionInfos",transform:DCt},textureDefinitions:{path:"textureDefinitionInfos",transform:BCt}});function DCt(e,t,r){let n={};for(let[i,a]of e.entries())n[`Mat${r.nodePath}${i}`]=(0,P1.default)(a,SCt());return n}function BCt(e,t,r){if(!e)return null;let n={};for(let[i,a]of e.entries()){let o=`${r.nodePath}${i}`;a.imageIndex=o,n[o]=(0,P1.default)(a,CCt())}return n}var FCt=new Float32Array([-1,-1,1,1,-1,1,1,1,1,-1,1,1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1,-1,-1,1,-1,-1,1,1,1,1,1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1]);function QAe(e){var r,n;if(!((r=e==null?void 0:e.parentNode)!=null&&r.obb)||!((n=e==null?void 0:e.parentNode)!=null&&n.mbs))return[];let t=[];return OCt(t,e),ICt(t,e),t}function OCt(e,t){var o;let r=PCt(t.parentNode.obb),n=RCt(t);if(jCt(r,n))return;let a=`OBB of Tile (${t.id}) doesn't fit into Parent (${(o=t.parentNode)==null?void 0:o.id}) tile OBB`;e.push(a)}function ICt(e,t){var a;let r=YAe(t.mbs),n=YAe(t.parentNode.mbs);if(r.center.distanceTo(n.center)+r.radius>n.radius){let o=`MBS of Tile (${t.id}) doesn't fit into Parent (${(a=t.parentNode)==null?void 0:a.id}) tile MBS`;e.push(o)}}function YAe(e){return new ua([e[0],e[1],e[2]],e[3])}function PCt(e){let{center:t,halfSize:r,quaternion:n}=e;return new di().fromCenterHalfSizeQuaternion(t,r,n)}function RCt(e){let t=e.obb.halfSize,r=FCt,n=Ot.WGS84.cartographicToCartesian(e.obb.center),i=[];for(let a=0;a<r.length;a+=3){let s=new Z(r[a]*=t[0],r[a+1]*=t[1],r[a+2]*=t[2]).transformByQuaternion(e.obb.quaternion).add(n);i=i.concat(s)}return i}function jCt(e,t){let r=!0;for(let n=0;n<t.length/3;n+=3){let i=[t[n],t[n+1],t[n+2]],a=Ot.WGS84.cartesianToCartographic(i);if(e.distanceTo(a)>0){r=!1;break}}return r}var w4=class extends Array{enqueue(t){this.push(t)}dequeue(){return this.shift()}peek(){return this[0]}isEmpty(){return this.length===0}};var ZAe=Dt(require("process"),1),MCt=4*1024*1024*1024,Zg=class extends w4{intervalId;conversionDump;writePromise=null;fileMap={};listeningInterval;writeConcurrency;constructor(t,r=2e3,n=400){super(),this.conversionDump=t,this.listeningInterval=r,this.writeConcurrency=n}async enqueue(t,r=!1){if(r){let{archiveKey:n,writePromise:i}=t,a=await i();n&&a&&(this.fileMap[n]=a)}else super.enqueue(t),ZAe.default.memoryUsage().rss>MCt&&await this.startWrite()}startListening(){this.intervalId=setInterval(()=>this.startWrite.bind(this),this.listeningInterval)}stopListening(){this.intervalId&&clearInterval(this.intervalId)}async startWrite(){this.writePromise||(this.writePromise=this.doWrite()),await this.writePromise,this.writePromise=null}async finalize(){this.stopListening(),await this.startWrite()}async doWrite(){for(;this.length;){let t=[],r=[],n=[];for(let a=0;a<this.writeConcurrency;a++){let o=this.dequeue();if(!o)break;let{archiveKey:s,sourceId:u,outputId:c,resourceType:l,writePromise:f}=o;r.push(s),n.push({sourceId:u,outputId:c,resourceType:l});let d=f();t.push(d)}let i=await Promise.allSettled(t);this.updateFileMap(r,i),await this.conversionDump.updateConvertedTilesDump(n,i)}}updateFileMap(t,r){for(let n=0;n<t.length;n++){let i=t[n];i&&"value"in r[n]&&(this.fileMap[i]=r[n].value)}}};var ev="Tile converter does not work in browser, only in node js environment",td=".dump.json";var TN=require("path"),SN=Dt(Is(),1);var eEe=Dt(Is(),1),tEe=()=>({mbs:{path:"mbs"},obb:{path:"obb"}}),LCt=()=>({href:{path:"href"}}),qCt=()=>({id:{path:"id"},...LCt(),...tEe()}),EN=()=>({version:{path:"version"},id:{path:"id"},path:{path:"path"},level:{path:"level"},...tEe(),lodSelection:{path:"lodSelection",default:[{metricType:"maxScreenThresholdSQ",maxError:196349.54374999998},{metricType:"maxScreenThreshold",maxError:999.9999999999999}]},children:{path:"children",default:null},neighbors:{path:"neighbors",default:null},parentNode:{path:"parentNode",transform:e=>(0,eEe.default)(e,qCt()),default:null},sharedResource:{path:"sharedResource",default:null},featureData:{path:"featureData",default:null},geometryData:{path:"geometryData",default:null},textureData:{path:"textureData",default:null},attributeData:{path:"attributeData",default:null}});var Rs=class{id;inPageId;data=null;children=[];converter;_finalized=!1;get finalized(){return this._finalized}constructor(t,r){this.inPageId=t,this.id=t===0?"root":t.toString(),this.converter=r}async addData(t){return this.converter.options.instantNodeWriting?await this.write(t):this.data=t,this}async addChildren(t){let r=[];for(let i of t){let a=await i.load();r.push({id:i.id,href:`../${i.id}`,obb:a.obb,mbs:a.mbs})}this.children=this.children.concat(t);let n=this.data;this.converter.options.instantNodeWriting&&(n=await this.load()),n&&(n.children=n.children??[],n.children=n.children.concat(r)),this.converter.options.instantNodeWriting&&n&&await this.write(n)}async addNeighbors(){var r;if(this.finalized)return;let t=await this.load();for(let n of this.children){let i=await n.load();if(i.neighbors=i.neighbors??[],Number((r=t==null?void 0:t.children)==null?void 0:r.length)<1e3)for(let a of t.children||[])n.id!==a.id&&i.neighbors.push({...a});else console.warn(`Node ${n.id}: neighbors attribute is omited because of large number of neigbors`),delete i.neighbors;this.converter.options.instantNodeWriting&&i&&await n.write(i),await n.save()}this.finalize()}async save(){this.data&&await this.write(this.data)}finalize(){this._finalized=!0;for(let t of this.children)t.flush()}async write(t){let r=(0,TN.join)(this.converter.layers0Path,"nodes",this.id);await this.converter.writeQueue.enqueue({archiveKey:`nodes/${this.id}/3dNodeIndexDocument.json.gz`,writePromise:()=>Yu(r,JSON.stringify(t),"3dNodeIndexDocument.json",!0,this.converter.compressList)},!0)}async load(){if(this.data)return this.data;let t=this.id,r=(0,TN.join)(this.converter.layers0Path,"nodes",t);return await Kg(r,"3dNodeIndexDocument.json")}flush(){this.data=null}static async createRootNode(t,r){let n=Rs.createRootNodeIndexDocument(t);return await new Rs(0,r).addData(n)}static async createNode({parentNode:t,boundingVolumes:r,lodSelection:n,nodeInPage:i,resources:a,converter:o}){let s=await Rs.createNodeIndexDocument(t,r,n,i,a);return await new Rs(i.index,o).addData(s)}static createRootNodeIndexDocument(t){let r={version:`{${Xu().toUpperCase()}}`,id:"root",level:0,lodSelection:[{metricType:"maxScreenThresholdSQ",maxError:0},{metricType:"maxScreenThreshold",maxError:0}],...t,children:[]};return(0,SN.default)(r,EN())}static async createNodeIndexDocument(t,r,n,i,a){var l,f,d,p,h;let o=i.index,s=await t.load(),u={version:s.version,id:o.toString(),level:s.level+1,...r,lodSelection:n,parentNode:{id:t.id,href:`../${t.id}`,mbs:s.mbs,obb:s.obb},children:[],neighbors:[]},c=(0,SN.default)(u,EN());if(i.mesh&&(c.geometryData=[{href:"./geometries/0"}],c.sharedResource={href:"./shared"},("texture"in a&&a.texture||"texelCountHint"in a&&a.texelCountHint)&&(c.textureData=[{href:"./textures/0"},{href:"./textures/1"}]),"attributes"in a&&a.attributes&&a.attributes.length&&((f=(l=t.converter.layers0)==null?void 0:l.attributeStorageInfo)!=null&&f.length)||"attributesCount"in a&&a.attributesCount&&((p=(d=t.converter.layers0)==null?void 0:d.attributeStorageInfo)!=null&&p.length))){let m=("attributes"in a?(h=a.attributes)==null?void 0:h.length:a.attributesCount)||0;c.attributeData=[];let g=m<t.converter.layers0.attributeStorageInfo.length?m:t.converter.layers0.attributeStorageInfo.length;for(let x=0;x<g;x++){let y=t.converter.layers0.attributeStorageInfo[x].key;c.attributeData.push({href:`./attributes/${y}/0`})}}return c}};var kN=async(e,t,r)=>{let n=R1(t);if(!e||!t.contentUrl||!n)return;let i={...r,[e.loader.id]:{isTileset:n,assetGltfUpAxis:e.asset&&e.asset.gltfUpAxis||"Y"}},a=await A4(t.contentUrl,e.loader,i);a.root&&(t.children=[a.root])},CN=async(e,t,r)=>{let n=R1(t);if(!e||!t.contentUrl||n)return null;let i={...r,[e.loader.id]:{...r[e.loader.id]||{},isTileset:n,assetGltfUpAxis:e.asset&&e.asset.gltfUpAxis||"Y"}};return await A4(t.contentUrl,e.loader,i)};async function A4(e,t,r){let n=e.split(".3tz"),i;if(n.length===1)i=null;else if(n.length===2)i=n[1].slice(1),i===""&&(i="tileset.json");else throw new Error("Unexpected URL format");if(i){let a=`${n[0]}.3tz`,o=NCt(a),s=await UCt(o),u=new S1(o,s,a),c=new fl(u),l=await Kr(i,t,r);return await c.destroy(),l}return await Kr(e,t,r)}function R1(e){return(e==null?void 0:e.type)==="json"||(e==null?void 0:e.type)==="3tz"}function NCt(e){return e.startsWith("http://")||e.startsWith("https://")?new p0(e):dr?new p0(e):new Hi(e)}async function UCt(e){let t,r=await Xp(e,Qp),n=await Yp(r,e);if((n==null?void 0:n.fileName)==="@3dtilesIndex1@"){let i=await Os(n.localHeaderOffset,e);if(!i)throw new Error("corrupted 3tz");let a=i.fileDataOffset,o=await Xr(e,a,a+i.compressedSize);t=E1(o)}return t}var E4=async({tile:e,traversalProps:t,processTile:r,postprocessTile:n,maxDepth:i,level:a=0})=>{if(i&&a>i)return;let o=[],s=await r(e,t);o.push(s);for(let u of e.children)await E4({tile:u,traversalProps:s,processTile:r,postprocessTile:n,maxDepth:i,level:a+1});n&&await n(o,t)};var GCt=["POINTS","LINES","LINE_LOOP","LINE_STRIP","TRIANGLES","TRIANGLE_STRIP","TRIANGLE_FAN"],rEe=async e=>{let t={meshTopologyTypes:new Set,metadataClasses:new Set};if(!(e!=null&&e.gltfArrayBuffer))return t;let n=(await Ya(e.gltfArrayBuffer,Yc,{gltf:{normalize:!1,loadBuffers:!1,loadImages:!1,decompressMeshes:!1}})).json;if(!n)return t;let i=zCt(n),a=HCt(n);return{meshTopologyTypes:i,metadataClasses:a}},zCt=e=>{let t=new Set;for(let r of e.meshes||[])for(let n of r.primitives){let{mode:i}=n;typeof i!="number"&&(i=4),t.add(GCt[i])}return t},HCt=e=>{var i,a,o,s,u,c;let t=new Set,r=(o=(a=(i=e.extensions)==null?void 0:i[jo])==null?void 0:a.schema)==null?void 0:o.classes;if(r)for(let l of Object.keys(r))t.add(l);let n=(c=(u=(s=e.extensions)==null?void 0:s[Xc])==null?void 0:u.schema)==null?void 0:c.classes;if(n)for(let l of Object.keys(n))t.add(l);return t},nEe=(e,t)=>{for(let r of t.meshTopologyTypes)e.meshTopologyTypes.add(r);for(let r of t.metadataClasses)e.metadataClasses.add(r)};var iEe=Dt(require("process"),1);var VCt=.2,tv=class{_stepsTotal=0;_stepsDone=0;startTime=0;stopTime=0;timeOfUpdatingStepsDone=0;milliSecForOneStep=0;trust=!1;numberOfDigitsInPercentage=0;threshold;getTime;constructor(t={}){this.getTime=t.getTime||iEe.default.hrtime.bigint,this.threshold=t.threshold||VCt}get stepsTotal(){return this._stepsTotal}set stepsTotal(t){this._stepsTotal=t,this.numberOfDigitsInPercentage=this.stepsTotal>100?Math.ceil(Math.log10(this.stepsTotal))-2:0}get stepsDone(){return this._stepsDone}set stepsDone(t){if(this._stepsDone=t,this.timeOfUpdatingStepsDone=this.getCurrentTimeInMilliSeconds(),this._stepsDone){let n=(this.timeOfUpdatingStepsDone-this.startTime)/this._stepsDone;this.trust=this.isVelocityTrust(n,this.milliSecForOneStep),this.milliSecForOneStep=n}}startMonitoring(){this.startTime=this.getCurrentTimeInMilliSeconds(),this.milliSecForOneStep=0,this.trust=!1,this.timeOfUpdatingStepsDone=0,this.stopTime=0,this.stepsDone=0}stopMonitoring(){this.stopTime=this.getCurrentTimeInMilliSeconds()}getPercent(){return this._stepsTotal?this._stepsDone/this._stepsTotal*100:null}getPercentString(){let t=this.getPercent();return t!==null?t.toFixed(this.numberOfDigitsInPercentage):""}getTimeCurrentlyElapsed(){return(this.stopTime?this.stopTime:this.getCurrentTimeInMilliSeconds())-this.startTime}getTimeRemaining(){return!this._stepsTotal||!this._stepsDone||!this.startTime?null:{timeRemaining:(this._stepsTotal-this._stepsDone)*this.milliSecForOneStep,trust:this.trust}}getTimeRemainingString(){let t=this.getTimeRemaining();return t!=null&&t.trust?Jg(t.timeRemaining):""}isVelocityTrust(t,r){return r?Math.abs((t-r)/r)<this.threshold:!1}getCurrentTimeInMilliSeconds(){return Number(this.getTime()/BigInt(1e6))}};var L6e=require("util");var cd=require("path"),q6e=Dt(require("process"),1),N6e=Dt(j6e(),1);var M6e={type:"object",properties:{options:{type:"object",properties:{inputUrl:{type:"string"},outputPath:{type:"string"},tilesetName:{type:"string"},maxDepth:{type:"number"},slpk:{type:"boolean"},egmFilePath:{type:"string"},token:{type:"string"},draco:{type:"boolean"},mergeMaterials:{type:"boolean"},generateTextures:{type:"boolean"},generateBoundingVolumes:{type:"boolean"},metadataClass:{type:"string"},analyze:{type:"boolean"}},required:["inputUrl","outputPath","tilesetName"]},tilesConverted:{type:"object",patternProperties:{".*":{type:"object",properties:{nodes:{type:"array",items:{type:"object",properties:{nodeId:{type:["number","string"]},done:{type:"boolean"},progress:{type:"object",patternProperties:{".*":{type:"boolean"}}},dumpMetadata:{type:"object",properties:{boundingVolumes:{type:["object","null"],properties:{mbs:{type:"array",minItems:4,maxItems:4,items:{type:"number"}},obb:{type:"object",properties:{center:{type:"array",minItems:3,maxItems:3,items:{type:"number"}},halfSize:{type:"array",minItems:3,maxItems:3,items:{type:"number"}},quaternion:{type:"array",minItems:4,maxItems:4,items:{type:"number"}}},required:["center","halfSize","quaternion"]}},required:["mbs","obb"]},attributesCount:{type:"number"},featureCount:{type:"number"},geometry:{type:"boolean"},hasUvRegions:{type:"boolean"},materialId:{type:"number"},texelCountHint:{type:"number"},vertexCount:{type:"number"}},required:["boundingVolumes","featureCount","geometry","hasUvRegions","materialId","vertexCount"]}},required:["nodeId","done"]}}},required:["nodes"]}}},textureSetDefinitions:{type:"array",items:{type:"object",properties:{formats:{type:"array",items:{type:"object",properties:{name:{type:"string"},format:{enum:["jpg","png","ktx-etc2","dds","ktx2"]}},required:["name","format"]}},atlas:{type:"boolean"}},required:["formats"]}},attributeMetadataInfo:{type:"object",properties:{attributeStorageInfo:{type:"array",items:{type:"object",properties:{key:{type:"string"},name:{type:"string"},header:{type:"array",items:{type:"object",properties:{property:{type:"string"},valueType:{type:"string"}},required:["property","valueType"]}},ordering:{type:"array",items:{type:"string"}},attributeValues:{$ref:"#/$defs/AttributeValue"},attributeByteCounts:{$ref:"#/$defs/AttributeValue"},objectIds:{$ref:"#/$defs/AttributeValue"}},required:["key","name","header"]}},fields:{type:"array",items:{type:"object",properties:{name:{type:"string"},type:{$ref:"#/$defs/ESRIField"},alias:{type:"string"},domain:{$ref:"#/$defs/Domain"}},required:["name","type"]}},popupInfo:{type:"object",properties:{title:{type:"string"},description:{type:"string"},expressionInfos:{type:"array",items:{}},fieldInfos:{type:"array",items:{$ref:"#/$defs/FieldInfo"}},mediaInfos:{type:"array",items:{}},popupElements:{type:"array",items:{type:"object",properties:{text:{type:"string"},type:{type:"string"},fieldInfos:{type:"array",items:{$ref:"#/$defs/FieldInfo"}}}}}}}},required:["attributeStorageInfo","fields"]},materialDefinitions:{type:"array",items:{type:"object",properties:{pbrMetallicRoughness:{type:"object",properties:{baseColorFactor:{type:"array",minItems:4,maxItems:4,items:{type:"number"}},baseColorTexture:{$ref:"#/$defs/I3SMaterialTexture"},metallicFactor:{type:"number"},roughnessFactor:{type:"number"},metallicRoughnessTexture:{$ref:"#/$defs/I3SMaterialTexture"}},required:["metallicFactor","roughnessFactor"]},normalTexture:{$ref:"#/$defs/I3SMaterialTexture"},occlusionTexture:{$ref:"#/$defs/I3SMaterialTexture"},emissiveTexture:{$ref:"#/$defs/I3SMaterialTexture"},emissiveFactor:{type:"array",minItems:3,maxItems:3,items:{type:"number"}},alphaMode:{enum:["opaque","mask","blend"]},alphaCutoff:{type:"number"},doubleSided:{type:"boolean"},cullFace:{enum:["none","front","back"]}},required:["pbrMetallicRoughness","alphaMode"]}}},required:["options","tilesConverted"],$defs:{AttributeValue:{type:"object",properties:{valueType:{type:"string"},encoding:{type:"string"},valuesPerElement:{type:"number"}},required:["valueType"]},ESRIField:{enum:["esriFieldTypeDate","esriFieldTypeSingle","esriFieldTypeDouble","esriFieldTypeGUID","esriFieldTypeGlobalID","esriFieldTypeInteger","esriFieldTypeOID","esriFieldTypeSmallInteger","esriFieldTypeString"]},Domain:{type:"object",properties:{type:{type:"string"},name:{type:"string"},description:{type:"string"},fieldType:{type:"string"},range:{type:"array",items:{type:"number"}},codedValues:{type:"array",items:{type:"object",properties:{name:{type:"string"},code:{type:["string","number"]}},required:["name","code"]}},mergePolicy:{type:"string"},splitPolicy:{type:"string"}},required:["type","name"]},FieldInfo:{type:"object",properties:{fieldName:{type:"string"},visible:{type:"boolean"},isEditable:{type:"boolean"},label:{type:"string"}},required:["fieldName","visible","isEditable","label"]},I3SMaterialTexture:{type:"object",properties:{textureSetDefinitionId:{type:"number"},texCoord:{type:"number"},factor:{type:"number"}},required:["textureSetDefinitionId"]}}};var fh=class{restored=!1;options;tilesConverted;textureSetDefinitions;attributeMetadataInfo;materialDefinitions;constructor(){this.tilesConverted={}}async createDump(t){let{tilesetName:r,slpk:n,egmFilePath:i,inputUrl:a,outputPath:o,draco:s=!0,maxDepth:u,token:c,generateTextures:l,generateBoundingVolumes:f,mergeMaterials:d=!0,metadataClass:p,analyze:h=!1,outputVersion:m="1.1"}=t;this.options={tilesetName:r,slpk:n,egmFilePath:i,inputUrl:a,outputPath:o,draco:s,maxDepth:u,token:c,generateTextures:l,generateBoundingVolumes:f,mergeMaterials:d,metadataClass:p,analyze:h,outputVersion:m};let g=(0,cd.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${td}`);if(await C1(g))try{let x=await Kg((0,cd.join)(this.options.outputPath,this.options.tilesetName),`${this.options.tilesetName}${td}`),{options:y,tilesConverted:w,textureSetDefinitions:T,attributeMetadataInfo:A,materialDefinitions:D}=x;if(new N6e.default().compile(M6e)(x)&&(0,L6e.isDeepStrictEqual)(y,JSON.parse(JSON.stringify(this.options)))){this.tilesConverted=w,this.textureSetDefinitions=T,this.attributeMetadataInfo=A,this.materialDefinitions=D,this.restored=!0;return}}catch(x){console.log("Can't open dump file",x)}await this.deleteDumpFile()}reset(){this.restored=!1,this.tilesConverted={},this.textureSetDefinitions&&delete this.textureSetDefinitions,this.attributeMetadataInfo&&delete this.attributeMetadataInfo,this.materialDefinitions&&delete this.materialDefinitions}async updateDumpFile(){var t;if((t=this.options)!=null&&t.outputPath&&this.options.tilesetName)try{let r=q6e.default.hrtime();await Ia((0,cd.join)(this.options.outputPath,this.options.tilesetName),JSON.stringify({options:this.options,tilesConverted:this.tilesConverted,textureSetDefinitions:this.textureSetDefinitions,attributeMetadataInfo:this.attributeMetadataInfo,materialDefinitions:this.materialDefinitions}),`${this.options.tilesetName}${td}.${r[0]}.${r[1]}`),await mAe((0,cd.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${td}.${r[0]}.${r[1]}`),(0,cd.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${td}`))}catch(r){console.log("Can't update dump file",r)}}async deleteDumpFile(){var t;(t=this.options)!=null&&t.outputPath&&this.options.tilesetName&&await C1((0,cd.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${td}`))&&await B1((0,cd.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${td}`))}getRecord(t){return this.tilesConverted[t]}setRecord(t,r){this.tilesConverted[t]=r}async addNode(t,r,n){let{nodes:i}=this.getRecord(t)||{nodes:[]};i.push({nodeId:r,done:!1,dumpMetadata:n}),i.length===1&&this.setRecord(t,{nodes:i}),await this.updateDumpFile()}clearDumpRecord(t){this.setRecord(t,{nodes:[]})}addTexturesDefinitions(t){this.textureSetDefinitions=t}updateDoneStatus(t,r,n,i){var o;let a=(o=this.tilesConverted[t])==null?void 0:o.nodes.find(s=>s.nodeId===r);a&&(a.progress||(a.progress={}),a.progress[n]=i,i||(a.done=!1))}async updateConvertedTilesDump(t,r){for(let n=0;n<t.length;n++)if(t[n]&&"value"in r[n]){let{sourceId:i,resourceType:a,outputId:o}=t[n];this.updateNodes(i,o,a)}await this.updateDumpFile()}updateNodes(t,r,n){if(!(!t||!n||!r)){for(let i of this.tilesConverted[t].nodes)if(i.nodeId===r&&i.progress){i.progress[n]=!0;let a=!1;for(let o in i.progress)if(a=i.progress[o],!a)break;i.done=a,i.done&&delete i.progress;break}}}async updateConvertedNodesDumpFile(t,r,n){var a;let i=(a=this.tilesConverted[t])==null?void 0:a.nodes.find(o=>o.nodeId===r);i&&(i.done=n,await this.updateDumpFile())}isFileConversionComplete(t){var n,i,a;let r=!0;for(let o of((n=this.tilesConverted[t])==null?void 0:n.nodes)||[])if(!o.done){r=!1;break}return r&&((a=(i=this.tilesConverted[t])==null?void 0:i.nodes)==null?void 0:a.length)>0}setMaterialsDefinitions(t){this.materialDefinitions=t}};var G6e,mIt=(G6e=dh.default.env)==null?void 0:G6e.IonToken,U6e=64,gIt="3DTILES",vIt="3DObject",bIt=1800,xIt="https://",ld="phase1-count",gv=class{attributeMetadataInfo;nodePages;options;layers0Path;materialMap;materialDefinitions;geometryMap;geometryConfigs;vertexCounter;layers0;featuresHashArray;refinementCounter;validate;boundingVolumeWarnings=[];conversionStartTime=[0,0];refreshTokenTime=[0,0];sourceTileset=null;loadOptions={core:{_nodeWorkers:!0,reuseWorkers:!0,useLocalLibraries:!0},basis:{format:"rgba32",workerUrl:"./modules/textures/dist/basis-worker-node.js"},draco:{workerUrl:"./modules/draco/dist/draco-worker-node.js"},modules:{}};geoidHeightModel=null;Loader=Uu;generateTextures;generateBoundingVolumes;layersHasTexture;workerSource={};writeQueue=new Zg(new fh);compressList=null;preprocessData={meshTopologyTypes:new Set,metadataClasses:new Set};progresses={};conversionDump;constructor(){this.attributeMetadataInfo=new n3,this.nodePages=new Di(Ia,U6e,this),this.options={},this.layers0Path="",this.materialMap=new Map,this.materialDefinitions=[],this.geometryMap=new Map,this.geometryConfigs=[],this.vertexCounter=0,this.layers0=null,this.featuresHashArray=[],this.refinementCounter={tilesCount:0,tilesWithAddRefineCount:0},this.validate=!1,this.generateTextures=!1,this.generateBoundingVolumes=!1,this.layersHasTexture=!1,this.compressList=null,this.conversionDump=new fh}async convert(t){var x;if(dr)return console.log(ev),ev;this.conversionStartTime=dh.default.hrtime();let{tilesetName:r,egmFilePath:n,inputUrl:i,validate:a,outputPath:o,draco:s=!0,maxDepth:u,token:c,generateTextures:l,generateBoundingVolumes:f,instantNodeWriting:d=!1,mergeMaterials:p=!0,inquirer:h,metadataClass:m,analyze:g=!1}=t;this.options={outputPath:o,tilesetName:r,maxDepth:u,egmFilePath:n,draco:s,token:c,inputUrl:i,instantNodeWriting:d,mergeMaterials:p,inquirer:h,metadataClass:m},this.progresses[ld]=new tv,this.compressList=this.options.instantNodeWriting&&[]||null,this.validate=Boolean(a),this.Loader=i.indexOf(xIt)!==-1?g8:Uu,this.generateTextures=Boolean(l),this.generateBoundingVolumes=Boolean(f),this.writeQueue=new Zg(this.conversionDump),this.writeQueue.startListening(),n.toLowerCase()==="none"?console.log('--egm chousen to be "none", skip loading egm file'):(console.log("Loading egm file..."),this.geoidHeightModel=await Kr(n,_4),console.log("Loading egm file completed!")),this.nodePages.useWriteFunction(Yu);try{let y=await this._fetchPreloadOptions(),w=i;if(y.url&&(w=y.url),y.headers){(x=this.loadOptions).core||(x.core={});let A=this.loadOptions.core.fetch;if(typeof A=="function")this.loadOptions.core.fetch=(D,F)=>A(D,{...F||{},headers:y.headers});else{let D=A&&typeof A=="object"?A:{};this.loadOptions.core.fetch={...D,headers:y.headers}}}this.sourceTileset=await A4(w,this.Loader,this.loadOptions),(this.Loader===Uu||g?await this.preprocessConversion():!0)&&!g&&await this.selectMetadataClass()&&(await this._createAndSaveTileset(o,r),await this._finishConversion({outputPath:o,tilesetName:r}))}catch(y){throw y}finally{await this.writeQueue.finalize(),Gi.getWorkerFarm({}).destroy()}return"success"}async preprocessConversion(){console.log("Analyze source tileset");let t=this.sourceTileset.root;await E4({tile:t,traversalProps:null,processTile:this.analyzeTile.bind(this),postprocessTile:void 0,maxDepth:this.options.maxDepth});let{meshTopologyTypes:r,metadataClasses:n}=this.preprocessData;return console.log("------------------------------------------------"),console.log("Preprocess results:"),console.log(`Tile count: ${this.progresses[ld].stepsTotal}`),console.log(`glTF mesh topology types: ${Array.from(r).join(", ")}`),n.size?console.log(`Feature metadata classes have been found: ${Array.from(n).join(", ")}`):console.log("Feature metadata classes have not been found"),!r.has("TRIANGLES")&&!r.has("TRIANGLE_STRIP")?(console.log("The tileset is of unsupported mesh topology types. The conversion will be interrupted."),console.log("------------------------------------------------"),!1):(console.log("------------------------------------------------"),!0)}async analyzeTile(t,r){if(R1(t))return await kN(this.sourceTileset,t,this.loadOptions),null;t.id&&(this.progresses[ld].stepsTotal+=1,console.log(`[analyze]: ${t.id}`));let i=null;try{i=await CN(this.sourceTileset,t,{...this.loadOptions,"3d-tiles":{...this.loadOptions["3d-tiles"],loadGLTF:!1}})}catch{console.log(`[warning]: Failed to load ${t.contentUrl}. An I3S tile with empty content will be added to the output tileset`)}let a=await rEe(i);return nEe(this.preprocessData,a),null}async selectMetadataClass(){var r;let{metadataClasses:t}=this.preprocessData;if(t.size>1)if((r=this.options.metadataClass)!=null&&r.length)console.log(`${this.options.metadataClass} has been selected`);else if(this.options.inquirer){let n=await this.options.inquirer.prompt([{name:"metadataClass",type:"list",message:"Select feature metadata data class to convert...",choices:Array.from(t)}]);this.options.metadataClass=n.metadataClass,console.log(`${n.metadataClass} has been selected`)}else return console.log(`A feature metadata class has not been selected. Start the converter with option "--metadata-class". For example, "npx tile-converter ... --metadata-class ${Array.from(t)[0]}"`),console.log("------------------------------------------------"),!1;return!0}async _createAndSaveTileset(t,r){var c,l,f;let n=(0,Jo.join)(`${t}`,`${r}`);await this.conversionDump.createDump(this.options),this.conversionDump.restored&&this.options.inquirer&&((await this.options.inquirer.prompt([{name:"resumeConversion",type:"confirm",message:"Dump file of the previous conversion exists, do you want to resume that conversion?"}])).resumeConversion||this.conversionDump.reset()),this.layers0Path=(0,Jo.join)(n,"SceneServer","layers","0");let i=this.conversionDump.restored?(0,Jo.join)(this.layers0Path,"nodepages"):n;try{await D1(i)}catch{}if(this.conversionDump.restored&&this.conversionDump.attributeMetadataInfo&&this.attributeMetadataInfo.fromObject(this.conversionDump.attributeMetadataInfo),this.materialDefinitions=[],this.materialMap=new Map,this.conversionDump.restored&&this.conversionDump.materialDefinitions){for(let d=0;d<this.conversionDump.materialDefinitions.length;d++){let p=(0,ok.default)(JSON.stringify(this.conversionDump.materialDefinitions[d]));this.materialMap.set(p,d)}this.materialDefinitions=this.conversionDump.materialDefinitions}let a=this.sourceTileset.root,o=wy(a.boundingVolume,new gr(a.transform),null);this._formLayers0(r,o,(f=(l=(c=this.sourceTileset)==null?void 0:c.root)==null?void 0:l.boundingVolume)==null?void 0:f.region);let s=v4(o,this.geoidHeightModel);await this.nodePages.push({index:0,lodThreshold:0,obb:s.obb,children:[]}),this.progresses[ld].startMonitoring();let u=await Rs.createRootNode(s,this);await E4({tile:a,traversalProps:{transform:new gr(a.transform),parentNodes:[u]},processTile:this.convertTile.bind(this),postprocessTile:this.finalizeTile.bind(this),maxDepth:this.options.maxDepth}),this.progresses[ld].stopMonitoring(),console.log("[finalizing conversion]"),this.layers0.attributeStorageInfo=this.attributeMetadataInfo.attributeStorageInfo,this.layers0.fields=this.attributeMetadataInfo.fields,this.layers0.popupInfo=this.attributeMetadataInfo.popupInfo,this.attributeMetadataInfo.attributeStorageInfo.length&&(this.layers0.layerType=vIt),this.conversionDump.restored&&this.conversionDump.textureSetDefinitions&&(this.layers0.textureSetDefinitions=this.conversionDump.textureSetDefinitions),this.layers0.materialDefinitions=this.materialDefinitions,this.layers0.geometryDefinitions=(0,ak.default)(this.geometryConfigs.map(d=>({geometryConfig:{...d,draco:this.options.draco}})),JAe()),this.layersHasTexture===!1&&(this.layers0.store.defaultGeometrySchema.ordering=this.layers0.store.defaultGeometrySchema.ordering.filter(d=>d!=="uv0")),await this._writeLayers0(),zAe(r,this.layers0,n);for(let d of this.compressList||[])await p4(d),await B1(d);await this.nodePages.save(),await this.writeQueue.finalize(),await this._createSlpk(n)}_formLayers0(t,r,n){var s;if(!((s=this.sourceTileset)!=null&&s.root))return;let i=AAe(r);n&&(i.zmin=n[4],i.zmax=n[5]);let a=[i.xmin,i.ymin,i.xmax,i.ymax],o={version:`{${Xu().toUpperCase()}}`,id:0,name:t,href:"./layers/0",store:{id:`{${Xu().toUpperCase()}}`,extent:a},nodePages:{nodesPerPage:U6e},compressGeometry:this.options.draco,fullExtent:i};this.layers0=(0,ak.default)(o,KAe())}async _writeLayers0(){await this.writeQueue.enqueue({archiveKey:"3dSceneLayer.json.gz",writePromise:()=>Yu(this.layers0Path,JSON.stringify(this.layers0),"3dSceneLayer.json")})}async _createSlpk(t){await this.conversionDump.deleteDumpFile();let r=(0,Jo.join)(t,"SceneServer","layers","0"),n=`${t}.slpk`;await sN(r,n,async i=>({path:"@specialIndexFileHASH128@",file:await T1(i)}));try{await D1(t)}catch{}}async convertTile(t,r){let n=R1(t);if(n||t.type==="empty")return n&&(t.id&&console.log(`[load]: ${t.id}`),await kN(this.sourceTileset,t,this.loadOptions)),r;t.id&&console.log(`[convert]: ${t.id}`);let{parentNodes:i,transform:a}=r,o=a.clone();t.transform&&(o=o.multiplyRight(t.transform));let s=i[0],u=await this._restoreNode(s,t,o),c;u===null?c=await this._createNode(s,t,o):c=u,await s.addChildren(c);let l={transform:o,parentNodes:c};if(t.id){this.progresses[ld].stepsDone+=1;let f="Calculating time left...",d=this.progresses[ld].getTimeRemainingString();d&&(f=`${d} left`);let p=this.progresses[ld].getPercentString(),h=p?` ${p}%, ${f}`:"";console.log(`[converted${h}]: ${t.id}`)}return l}async finalizeTile(t,r){for(let n of t)for(let i of n.parentNodes)await i.addNeighbors();for(let n of r.parentNodes)await n.save()}async _generateNodeIndexDocument(t,r,n,i,a){this.layersHasTexture=this.layersHasTexture||Boolean("texture"in r&&r.texture||"texelCountHint"in r&&r.texelCountHint),this.generateBoundingVolumes&&r.boundingVolumes&&(t=r.boundingVolumes);let o=HAe(i,t),s=o.find(f=>f.metricType==="maxScreenThresholdSQ")||{maxError:0};if(a){let f={center:[],halfSize:[],quaternion:[]};await this.nodePages.push({index:0,obb:f},n.inPageId)}let u=await this._updateNodeInNodePages(s,t,i,n.inPageId,r),c=await Rs.createNodeIndexDocument(n,t,o,u,r);return{node:await new Rs(u.index,this).addData(c),nodeInPage:u,nodeData:c}}async _restoreNode(t,r,n){if(this._checkAddRefinementTypeForTile(r),await this._updateTilesetOptions(),this.conversionDump.restored&&r.id&&this.conversionDump.isFileConversionComplete(r.id)){let i=wy(r.boundingVolume,n,null),a=v4(i,this.geoidHeightModel),o=[];for(let s of this.conversionDump.tilesConverted[r.id].nodes){let{node:u}=await this._generateNodeIndexDocument(a,{...s.dumpMetadata,nodeId:s.nodeId},t,r,!0);o.push(u)}return o}else this.conversionDump.restored&&r.id&&this.conversionDump.clearDumpRecord(r.id);return null}async _createNode(t,r,n){var p;this._checkAddRefinementTypeForTile(r),await this._updateTilesetOptions();let i=null;try{i=await CN(this.sourceTileset,r,this.loadOptions)}catch{console.log(`[warning]: Failed to load ${r.contentUrl}`)}let a=wy(r.boundingVolume,n,null),o=v4(a,this.geoidHeightModel),s=qAe(i,this.options.metadataClass);this.createAttributeStorageInfo(i,s),this.conversionDump.attributeMetadataInfo={attributeStorageInfo:this.attributeMetadataInfo.attributeStorageInfo,fields:this.attributeMetadataInfo.fields,popupInfo:this.attributeMetadataInfo.popupInfo};let u=await this._convertResources({sourceTile:r,transformationMatrix:n,boundingVolume:a,tileContent:i,parentId:t.inPageId,propertyTable:s}),c=[],l=[],f=[],d={geometry:null,compressedGeometry:null,texture:null,hasUvRegions:!1,sharedResources:null,meshMaterial:null,vertexCount:null,attributes:null,featureCount:null,boundingVolumes:null};for(let h of u||[d]){let{node:m,nodeInPage:g,nodeData:x}=await this._generateNodeIndexDocument(o,h,t,r,!1);if(c.push(m),g.mesh){if(r.id){let y={boundingVolumes:h.boundingVolumes,attributesCount:(p=h.attributes)==null?void 0:p.length,featureCount:h.featureCount,geometry:Boolean(h.geometry),hasUvRegions:h.hasUvRegions,materialId:g.mesh.material.definition,texelCountHint:g.mesh.material.texelCountHint,vertexCount:h.vertexCount};this.conversionDump.setMaterialsDefinitions(this.materialDefinitions),await this.conversionDump.addNode(r.id,g.index,y)}await this._writeResources(h,m.id,r)}this.validate&&(this.boundingVolumeWarnings=QAe(x),this.boundingVolumeWarnings&&this.boundingVolumeWarnings.length&&console.warn("Bounding Volume Warnings: ",...this.boundingVolumeWarnings)),l.push(g.index),f.push(g)}return c}async _convertResources({sourceTile:t,transformationMatrix:r,boundingVolume:n,tileContent:i,parentId:a,propertyTable:o}){if(!this.isContentSupported(t)||!i)return null;let s={center:[],halfSize:[],quaternion:[]};return await bN({tileContent:i,tileTransform:r,tileBoundingVolume:n,addNodeToNodePage:async()=>(await this.nodePages.push({index:0,obb:s},a)).index,propertyTable:o,featuresHashArray:this.featuresHashArray,attributeStorageInfo:this.attributeMetadataInfo.attributeStorageInfo,draco:this.options.draco??!1,generateBoundingVolumes:this.generateBoundingVolumes,shouldMergeMaterials:this.options.mergeMaterials??!1,geoidHeightModel:this.geoidHeightModel,libraries:this.loadOptions.modules,metadataClass:this.options.metadataClass})}async _updateNodeInNodePages(t,r,n,i,a){let{vertexCount:o,featureCount:s,geometry:u,hasUvRegions:c}=a,l={index:0,lodThreshold:t.maxError,obb:r.obb,children:[]};u&&this.isContentSupported(n)&&(l.mesh={geometry:{definition:this.findOrCreateGeometryDefinition(Boolean("texture"in a&&a.texture||"texelCountHint"in a&&a.texelCountHint),c),resource:0},attribute:{resource:0},material:{definition:0}});let f="nodeId"in a?a.nodeId:void 0,d;if(f?d=await this.nodePages.getNodeById(f):d=await this.nodePages.push(l,i),l.mesh||console.log(`[warning]: node ${d.index} is created with empty content`),Di.updateAll(d,l),"meshMaterial"in a&&a.meshMaterial?Di.updateMaterialByNodeId(d,this._findOrCreateMaterial(a.meshMaterial)):"materialId"in a&&a.materialId!==null&&Di.updateMaterialByNodeId(d,a.materialId),"texture"in a&&a.texture){let p=a.texture.image.height*a.texture.image.width;Di.updateTexelCountHintByNodeId(d,p)}else"texelCountHint"in a&&a.texelCountHint&&Di.updateTexelCountHintByNodeId(d,a.texelCountHint);return o&&(this.vertexCounter+=o,Di.updateVertexCountByNodeId(d,o)),Di.updateNodeAttributeByNodeId(d),s&&Di.updateFeatureCountByNodeId(d,s),this.nodePages.saveNode(d),d}async _writeResources(t,r,n){let{geometry:i,compressedGeometry:a,texture:o,sharedResources:s,attributes:u}=t,c=(0,Jo.join)(this.layers0Path,"nodes",r),l=(0,Jo.join)("nodes",r);await this._writeGeometries({geometryBuffer:i,compressedGeometry:a,childPath:c,slpkChildPath:l,sourceId:n.id||"",nodeId:parseInt(r)}),await this._writeShared({sharedResources:s,childPath:c,slpkChildPath:l,nodePath:r,sourceId:n.id||"",nodeId:parseInt(r)}),await this._writeTexture(o,c,l,n.id||"",parseInt(r)),await this._writeAttributes(u,c,l,n.id||"",parseInt(r))}async _writeGeometries({geometryBuffer:t,compressedGeometry:r,childPath:n,slpkChildPath:i,sourceId:a,nodeId:o}){if(!t)return;this.conversionDump.updateDoneStatus(a,o,"GEOMETRY",!1);let s=(0,Jo.join)(n,"geometries");if(await this.writeQueue.enqueue({archiveKey:`${i}/geometries/0.bin.gz`,sourceId:a,outputId:o,resourceType:"GEOMETRY",writePromise:()=>Yu(s,t,"0.bin")}),this.options.draco&&r){this.conversionDump.updateDoneStatus(a,o,"DRACO_GEOMETRY",!1);let u=(0,Jo.join)(n,"geometries");await this.writeQueue.enqueue({archiveKey:`${i}/geometries/1.bin.gz`,sourceId:a,outputId:o,resourceType:"DRACO_GEOMETRY",writePromise:()=>Yu(u,r,"1.bin")})}}async _writeShared({sharedResources:t,childPath:r,slpkChildPath:n,nodePath:i,sourceId:a,nodeId:o}){if(!t)return;t.nodePath=i;let s=(0,ak.default)(t,XAe()),u=JSON.stringify(s);this.conversionDump.updateDoneStatus(a,o,"SHARED",!1);let c=(0,Jo.join)(r,"shared");await this.writeQueue.enqueue({archiveKey:`${n}/shared/sharedResource.json.gz`,sourceId:a,outputId:o,resourceType:"SHARED",writePromise:()=>Yu(c,u,"sharedResource.json")})}async _writeTexture(t,r,n,i,a){if(t){let o=this._getFormatByMimeType(t==null?void 0:t.mimeType),s=[],u=t.bufferView.data;switch(o){case"jpg":case"png":{if(s.push({name:"0",format:o}),this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/${o}`,!1),await this.writeTextureFile({textureData:u,name:"0",format:o,childPath:r,slpkChildPath:n,sourceId:i,nodeId:a}),this.generateTextures){s.push({name:"1",format:"ktx2"});let c=t.image.data.subarray(),l=new Uint8Array(c),f=$m({...t.image,data:l},DL,{...DL.options,["ktx2-basis-writer"]:{workerUrl:"./modules/textures/dist/ktx2-basis-writer-worker-node.js"},reuseWorkers:!0,_nodeWorkers:!0,useLocalLibraries:!0});this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/ktx2`,!1),await this.writeTextureFile({textureData:f,name:"1",format:"ktx2",childPath:r,slpkChildPath:n,sourceId:i,nodeId:a})}break}case"ktx2":{if(s.push({name:"1",format:o}),this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/${o}`,!1),await this.writeTextureFile({textureData:u,name:"1",format:o,childPath:r,slpkChildPath:n,sourceId:i,nodeId:a}),this.generateTextures){s.push({name:"0",format:"jpg"});let c=$m(t.image.data[0],bL);this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/jpg`,!1),await this.writeTextureFile({textureData:c,name:"0",format:"jpg",childPath:r,slpkChildPath:n,sourceId:i,nodeId:a})}break}default:}this.layers0.textureSetDefinitions.length||(this.layers0.textureSetDefinitions.push({formats:s}),this.layers0.textureSetDefinitions.push({formats:s,atlas:!0}),this.layers0.textureSetDefinitions&&this.conversionDump.addTexturesDefinitions(this.layers0.textureSetDefinitions))}}async writeTextureFile({textureData:t,name:r,format:n,childPath:i,slpkChildPath:a,sourceId:o,nodeId:s}){let u=(0,Jo.join)(i,"textures"),c=!1;await this.writeQueue.enqueue({archiveKey:`${a}/textures/${r}.${n}`,sourceId:o,outputId:s,resourceType:`${"TEXTURE"}/${n}`,writePromise:()=>Yu(u,t,`${r}.${n}`,c)})}async _writeAttributes(t=[],r,n,i,a){if(t!=null&&t.length&&this.attributeMetadataInfo.attributeStorageInfo.length){let o=t.length<this.attributeMetadataInfo.attributeStorageInfo.length?t.length:this.attributeMetadataInfo.attributeStorageInfo.length;for(let s=0;s<o;s++){let u=this.attributeMetadataInfo.attributeStorageInfo[s].key,c=new Uint8Array(t[s]);this.conversionDump.updateDoneStatus(i,a,`${"ATTRIBUTES"}/${u}`,!1);let l=(0,Jo.join)(r,"attributes",u);await this.writeQueue.enqueue({archiveKey:`${n}/attributes/${u}.bin.gz`,sourceId:i,outputId:a,resourceType:`${"ATTRIBUTES"}/${u}`,writePromise:()=>Yu(l,c,"0.bin")})}}}_getFormatByMimeType(t){switch(t){case"image/jpeg":return"jpg";case"image/png":return"png";case"image/ktx2":return"ktx2";default:return"jpg"}}_findOrCreateMaterial(t){let r=(0,ok.default)(JSON.stringify(t));if(this.materialMap.has(r))return this.materialMap.get(r)||0;let n=this.materialDefinitions.push(t)-1;return this.materialMap.set(r,n),n}findOrCreateGeometryDefinition(t,r){let n={hasTexture:t,hasUvRegions:r},i=(0,ok.default)(JSON.stringify(n));if(this.geometryMap.has(i))return this.geometryMap.get(i)||0;let a=this.geometryConfigs.push(n)-1;return this.geometryMap.set(i,a),a}createAttributeStorageInfo(t,r){let n=null;this.options.metadataClass?!this.attributeMetadataInfo.attributeStorageInfo.length&&(t!=null&&t.gltf)&&(n=FAe(t.gltf,this.options.metadataClass)):r&&(n=BAe(r)),n&&this.attributeMetadataInfo.addMetadataInfo(n)}async _finishConversion(t){let{tilesCount:r,tilesWithAddRefineCount:n}=this.refinementCounter,i=n?n/r*100:0,a=await g4({outputPath:t.outputPath,tilesetName:t.tilesetName,slpk:!0}),o=dh.default.hrtime(this.conversionStartTime),s=Jg(o);console.log("------------------------------------------------"),console.log(`Finishing conversion of ${gIt}`),console.log(`Total conversion time: ${s}`),console.log("Vertex count: ",this.vertexCounter),console.log("File(s) size: ",a," bytes"),console.log('Percentage of tiles with "ADD" refinement type:',i,"%"),console.log("------------------------------------------------")}async _fetchPreloadOptions(){if(!this.Loader.preload)return{};let t={"cesium-ion":{accessToken:this.options.token||mIt}},r=await this.Loader.preload(this.options.inputUrl??"",t);return this.refreshTokenTime=dh.default.hrtime(),{...t,...r}}async _updateTilesetOptions(){var n;if(dh.default.hrtime(this.refreshTokenTime)[0]<bIt)return;this.refreshTokenTime=dh.default.hrtime();let r=await this._fetchPreloadOptions();if(r.headers){(n=this.loadOptions).core||(n.core={});let i=this.loadOptions.core.fetch;if(typeof i=="function")this.loadOptions.core.fetch=(a,o)=>i(a,{...o||{},headers:r.headers});else{let a=i&&typeof i=="object"?i:{};this.loadOptions.core.fetch={...a,headers:r.headers}}console.log("Authorization Bearer token has been updated")}}_checkAddRefinementTypeForTile(t){let r=1;t.refine===r&&(this.refinementCounter.tilesWithAddRefineCount+=1,console.warn('This tile uses "ADD" type of refinement')),this.refinementCounter.tilesCount+=1}isContentSupported(t){return["b3dm","glTF","scenegraph"].includes(t.type||"")}};var hSe=require("path"),gG=Dt(require("process"),1),mSe=Dt(Is(),1);function fG(e){switch(e){case"UInt8":return Uint8Array;case"UInt16":return Uint16Array;case"UInt32":return Uint32Array;case"Float32":return Float32Array;case"UInt64":return Float64Array;default:throw new Error(`parse i3s tile content: unknown type of data: ${e}`)}}var z6e={UInt8:mt.UNSIGNED_BYTE,UInt16:mt.UNSIGNED_SHORT,Float32:mt.FLOAT,UInt32:mt.UNSIGNED_INT,UInt64:mt.DOUBLE};function vv(e){switch(e){case"UInt8":return 1;case"UInt16":case"Int16":return 2;case"UInt32":case"Int32":case"Float32":return 4;case"UInt64":case"Int64":case"Float64":return 8;default:throw new Error(`parse i3s tile content: unknown size of data: ${e}`)}}var H6e="String",V6e="Oid32",$6e="Float64",W6e="Int16";function sk(e){let t;try{let r=new URL(e);t=`${r.origin}${r.pathname}`,t.startsWith("null")&&(t=null)}catch{t=null}return t||e}function bv(e,t=null){return t?`${e}?token=${t}`:e}function K6e(e,t){let{attributeData:r=[]}=t,n=[];for(let i=0;i<r.length;i++){let a=r[i].href.replace("./","");n.push(`${e}/${a}`)}return n}function J6e(e,t,r){let n=[],{attributeStorageInfo:i=[]}=e;for(let a=0;a<i.length;a++){let o=i[a].key;n.push(`${t}/nodes/${r}/attributes/${o}/0`)}return n}var uk=new Z([0,0,0]);function _It(e){switch(e){case"ktx-etc2":case"dds":return r8;case"ktx2":return Fp;case"jpg":case"png":default:return ag}}var wIt="i3s-attribute-type";async function Z6e(e,t,r,n,i){var o;let a={attributes:{},indices:null,featureIds:[],vertexCount:0,modelMatrix:new gr,coordinateSystem:0,byteLength:0,texture:null};if(t.textureUrl){let s=bv(t.textureUrl,(o=n==null?void 0:n.i3s)==null?void 0:o.token),u=_It(t.textureFormat),f=await(await((i==null?void 0:i.fetch)||fetch)(s)).arrayBuffer();if(n!=null&&n.i3s.decodeTextures){if(u===ag){let d={...t.textureLoaderOptions,image:{type:"data"}};try{let p=await Va(f,[],d,i);a.texture=p}catch{let h=await Ya(f,u,d,i);a.texture=h}}else if(u===r8||u===Fp){let d=await Kr(f,u,t.textureLoaderOptions);u===Fp&&(d=d[0]),a.texture={compressed:!0,mipmaps:!1,width:d[0].width,height:d[0].height,data:d}}}else a.texture=f}return a.material=FIt(t.materialDefinition,a.texture),a.material&&(a.texture=null),await AIt(e,a,t,r,n)}async function AIt(e,t,r,n,i){var f,d;let a=e.byteLength,o,s,u=0,c=0,l;if(r.isDracoGeometry){let p=await Ya(e,kp,{draco:{attributeNameEntry:wIt}});s=p.header.vertexCount,l=(f=p.indices)==null?void 0:f.value;let{POSITION:h,NORMAL:m,COLOR_0:g,TEXCOORD_0:x,["feature-index"]:y,["uv-region"]:w}=p.attributes;o={position:h,normal:m,color:g,uv0:x,uvRegion:w,id:y},EIt(o,p);let T=RIt(y);T&&PIt(o,T)}else{let{vertexAttributes:p,ordering:h,featureAttributes:m,featureAttributeOrder:g}=n.store.defaultGeometrySchema,x=SIt(e,n);u=x.byteOffset,s=x.vertexCount,c=x.featureCount;let{attributes:y,byteOffset:w}=Y6e(e,u,p,s,h),{attributes:T}=Y6e(e,w,m,c,g);IIt(T),o=TIt(y,T)}if(!((d=i==null?void 0:i.i3s)!=null&&d.coordinateSystem)||i.i3s.coordinateSystem===2){let p=CIt(o.position,r);t.modelMatrix=p.invert(),t.coordinateSystem=2}else t.modelMatrix=BIt(o.position),t.coordinateSystem=3;t.attributes={positions:o.position,normals:o.normal,colors:X6e(o.color),texCoords:o.uv0,uvRegions:X6e(o.uvRegion||o.region)},t.indices=l||null,o.id&&o.id.value&&(t.featureIds=o.id.value);for(let p in t.attributes)t.attributes[p]||delete t.attributes[p];return t.vertexCount=s,t.byteLength=a,t}function EIt(e,t){for(let r in t.loaderData.attributes){let n=t.loaderData.attributes[r];switch(n.name){case"POSITION":e.position.metadata=n.metadata;break;case"feature-index":e.id.metadata=n.metadata;break;default:break}}}function TIt(e,t){return{...e,...t}}function X6e(e){return e&&(e.normalized=!0,e)}function SIt(e,t){let r=0,n=0,i=0;for(let{property:a,type:o}of t.store.defaultGeometrySchema.header){let s=fG(o);switch(a){case"vertexCount".toString():n=new s(e,0,4)[0],r+=vv(o);break;case"featureCount".toString():i=new s(e,4,4)[0],r+=vv(o);break;default:break}}return{vertexCount:n,featureCount:i,byteOffset:r}}function Y6e(e,t,r,n,i){let a={};for(let o of i)if(r[o]){let{valueType:s,valuesPerElement:u}=r[o];if(t+n*u*vv(s)<=e.byteLength){let c=e.slice(t),l;if(s==="UInt64")l=kIt(c,n*u,vv(s));else{let f=fG(s);l=new f(c,0,n*u)}switch(a[o]={value:l,type:z6e[s],size:u},o){case"color":a.color.normalized=!0;break;case"position":case"region":case"normal":default:}t=t+n*u*vv(s)}else if(o!=="uv0")break}return{attributes:a,byteOffset:t}}function kIt(e,t,r){let n=[],i=new DataView(e),a=0;for(let o=0;o<t;o++){let s=i.getUint32(a,!0),u=i.getUint32(a+4,!0),c=s+2**32*u;n.push(c),a+=r}return new Uint32Array(n)}function CIt(e,t){let r=t.mbs,n=e.value,i=e.metadata,a=new gr,o=new Z(r[0],r[1],r[2]),s=new Z;return Ot.WGS84.cartographicToCartesian(o,s),Ot.WGS84.eastNorthUpToFixedFrame(s,a),e.value=DIt(n,i,o),a}function DIt(e,t={},r){let n=new Float64Array(e.length),i=t["i3s-scale_x"]&&t["i3s-scale_x"].double||1,a=t["i3s-scale_y"]&&t["i3s-scale_y"].double||1;for(let o=0;o<n.length;o+=3)n[o]=e[o]*i+r.x,n[o+1]=e[o+1]*a+r.y,n[o+2]=e[o+2]+r.z;for(let o=0;o<n.length;o+=3)Ot.WGS84.cartographicToCartesian(n.subarray(o,o+3),uk),n[o]=uk.x,n[o+1]=uk.y,n[o+2]=uk.z;return n}function BIt(e){var a,o;let t=e.metadata,r=((a=t==null?void 0:t["i3s-scale_x"])==null?void 0:a.double)||1,n=((o=t==null?void 0:t["i3s-scale_y"])==null?void 0:o.double)||1,i=new gr;return i[0]=r,i[5]=n,i}function FIt(e,t){let r;return e?r={...e,pbrMetallicRoughness:e.pbrMetallicRoughness?{...e.pbrMetallicRoughness}:{baseColorFactor:[255,255,255,255]}}:(r={pbrMetallicRoughness:{}},t?r.pbrMetallicRoughness.baseColorTexture={texCoord:0}:r.pbrMetallicRoughness.baseColorFactor=[255,255,255,255]),r.alphaCutoff=r.alphaCutoff||.25,r.alphaMode&&(r.alphaMode=r.alphaMode.toUpperCase()),r.emissiveFactor&&(r.emissiveFactor=Q6e(r.emissiveFactor)),r.pbrMetallicRoughness&&r.pbrMetallicRoughness.baseColorFactor&&(r.pbrMetallicRoughness.baseColorFactor=Q6e(r.pbrMetallicRoughness.baseColorFactor)),t&&OIt(r,t),r}function Q6e(e){let t=[...e];for(let r=0;r<e.length;r++)t[r]=e[r]/255;return t}function OIt(e,t){let r={source:{image:t}};e.pbrMetallicRoughness&&e.pbrMetallicRoughness.baseColorTexture?e.pbrMetallicRoughness.baseColorTexture={...e.pbrMetallicRoughness.baseColorTexture,texture:r}:e.emissiveTexture?e.emissiveTexture={...e.emissiveTexture,texture:r}:e.pbrMetallicRoughness&&e.pbrMetallicRoughness.metallicRoughnessTexture?e.pbrMetallicRoughness.metallicRoughnessTexture={...e.pbrMetallicRoughness.metallicRoughnessTexture,texture:r}:e.normalTexture?e.normalTexture={...e.normalTexture,texture:r}:e.occlusionTexture&&(e.occlusionTexture={...e.occlusionTexture,texture:r})}function IIt(e){let{id:t,faceRange:r}=e;if(!t||!r)return;let n=t.value,i=r.value,a=i[i.length-1]+1,o=new Uint32Array(a*3),s=0,u=0;for(let c=1;c<i.length;c+=2){let l=Number(n[s]),f=i[c],d=i[c-1],p=f-d+1,h=u+p*3;o.fill(l,u,h),s++,u=h}e.id.value=o}function PIt(e,t){let r=e.id.value,n=new Float32Array(r.length);for(let i=0;i<r.length;i++)n[i]=t[r[i]];e.id.value=n}function RIt(e){var t,r;return(r=(t=e==null?void 0:e.metadata)==null?void 0:t["i3s-feature-ids"])==null?void 0:r.intArray}var jIt="4.4.0-alpha.13",eSe={dataType:null,batchType:null,name:"I3S Content (Indexed Scene Layers)",id:"i3s-content",module:"i3s",worker:!0,version:jIt,mimeTypes:["application/octet-stream"],parse:MIt,extensions:["bin"],options:{"i3s-content":{}}};async function MIt(e,t,r){let{tile:n,_tileOptions:i,tileset:a,_tilesetOptions:o}=(t==null?void 0:t.i3s)||{},s=i||n,u=o||a;return!s||!u?null:await Z6e(e,s,u,t,r)}var LIt="4.4.0-alpha.13",tSe={dataType:null,batchType:null,name:"I3S Node Page",id:"i3s-node-page",module:"i3s",version:LIt,mimeTypes:["application/json"],parse:qIt,extensions:["json"],options:{i3s:{}}};async function qIt(e,t){return JSON.parse(new TextDecoder().decode(e))}var l_=class{tileset;nodePages=[];pendingNodePages=[];nodesPerPage;options;lodSelectionMetricType;textureDefinitionsSelectedFormats=[];nodesInNodePages;url;textureLoaderOptions={};constructor(t,r="",n){var i,a;this.tileset={...t},this.url=r,this.nodesPerPage=((i=t.nodePages)==null?void 0:i.nodesPerPage)||64,this.lodSelectionMetricType=(a=t.nodePages)==null?void 0:a.lodSelectionMetricType,this.options=n,this.nodesInNodePages=0,this.initSelectedFormatsForTextureDefinitions(t)}async getNodeById(t){var i;let r=Math.floor(t/this.nodesPerPage);if(!this.nodePages[r]&&!this.pendingNodePages[r]){let a=bv(`${this.url}/nodepages/${r}`,(i=this.options.i3s)==null?void 0:i.token);this.pendingNodePages[r]={status:"Pending",promise:Kr(a,tSe,this.options)},this.nodePages[r]=await this.pendingNodePages[r].promise,this.nodesInNodePages+=this.nodePages[r].nodes.length,this.pendingNodePages[r].status="Done"}this.pendingNodePages[r].status==="Pending"&&(this.nodePages[r]=await this.pendingNodePages[r].promise);let n=t%this.nodesPerPage;return this.nodePages[r].nodes[n]}async formTileFromNodePages(t){let r=await this.getNodeById(t),n=[],i=[];for(let p of r.children||[])i.push(this.getNodeById(p));let a=await Promise.all(i);for(let p of a)n.push({id:p.index.toString(),obb:p.obb});let o,s,u,c="jpg",l=[],f=!1;if(r&&r.mesh){let{url:p,isDracoGeometry:h}=r.mesh.geometry&&this.getContentUrl(r.mesh.geometry)||{isDracoGeometry:!1};o=p,f=h;let{textureData:m,materialDefinition:g}=this.getInformationFromMaterial(r.mesh.material);u=g,c=m.format||c,m.name&&(s=`${this.url}/nodes/${r.mesh.material.resource}/textures/${m.name}`),this.tileset.attributeStorageInfo&&(l=J6e(this.tileset,this.url,r.mesh.attribute.resource))}let d=this.getLodSelection(r);return dG({id:t.toString(),lodSelection:d,obb:r.obb,contentUrl:o,textureUrl:s,attributeUrls:l,materialDefinition:u,textureFormat:c,textureLoaderOptions:this.textureLoaderOptions,children:n,isDracoGeometry:f})}getContentUrl(t){let r=null,n=this.tileset.geometryDefinitions[t.definition],i=-1,a=this.options.i3s;if(a&&typeof a=="object"&&a.useDracoGeometry&&(i=n.geometryBuffers.findIndex(o=>o.compressedAttributes&&o.compressedAttributes.encoding==="draco")),i===-1&&(i=n.geometryBuffers.findIndex(o=>!o.compressedAttributes)),i!==-1){let o=Boolean(n.geometryBuffers[i].compressedAttributes);r={url:`${this.url}/nodes/${t.resource}/geometries/${i}`,isDracoGeometry:o}}return r}getLodSelection(t){let r=[];return this.lodSelectionMetricType==="maxScreenThresholdSQ"&&r.push({metricType:"maxScreenThreshold",maxError:Math.sqrt(t.lodThreshold/(Math.PI*.25))}),r.push({metricType:this.lodSelectionMetricType,maxError:t.lodThreshold}),r}getInformationFromMaterial(t){var n,i,a;let r={textureData:{name:null}};if(t){let o=(n=this.tileset.materialDefinitions)==null?void 0:n[t.definition];if(o){r.materialDefinition=o;let s=(a=(i=o==null?void 0:o.pbrMetallicRoughness)==null?void 0:i.baseColorTexture)==null?void 0:a.textureSetDefinitionId;typeof s=="number"&&(r.textureData=this.textureDefinitionsSelectedFormats[s]||r.textureData)}}return r}initSelectedFormatsForTextureDefinitions(t){this.textureDefinitionsSelectedFormats=[];let r=this.getSupportedTextureFormats(),n=t.textureSetDefinitions||[];for(let i of n){let a=i&&i.formats||[],o=null;for(let s of r){let u=a.find(c=>c.format===s);if(u){o=u;break}}o&&o.format==="ktx2"&&(this.textureLoaderOptions.basis={format:hg(),containerFormat:"ktx2",module:"encoder"}),this.textureDefinitionsSelectedFormats.push(o)}}getSupportedTextureFormats(){let t=[],r=this.options.i3s;if(!r||r.useCompressedTextures){let n=Cy();n.has("etc2")&&t.push("ktx-etc2"),n.has("dxt")&&t.push("dds"),t.push("ktx2")}return t.push("jpg"),t.push("png"),t}};function rSe(e,t){let r=t.url||"",n;e.geometryData&&(n=`${r}/${e.geometryData[0].href}`);let i;e.textureData&&(i=`${r}/${e.textureData[0].href}`);let a;e.attributeData&&(a=K6e(r,e));let o=e.children||[];return dG({...e,children:o,url:r,contentUrl:n,textureUrl:i,textureFormat:"jpg",attributeUrls:a,isDracoGeometry:!1})}function dG(e){var s,u;let t={},r=[0,0,0,1];if(e.mbs)r=e.mbs,t.sphere=[...Ot.WGS84.cartographicToCartesian(e.mbs.slice(0,3)),e.mbs[3]];else if(e.obb){t.box=[...Ot.WGS84.cartographicToCartesian(e.obb.center),...e.obb.halfSize,...e.obb.quaternion];let l=new di().fromCenterHalfSizeQuaternion(t.box.slice(0,3),e.obb.halfSize,e.obb.quaternion).getBoundingSphere();t.sphere=[...l.center,l.radius],r=[...e.obb.center,l.radius]}let n=(s=e.lodSelection)==null?void 0:s[0].metricType,i=(u=e.lodSelection)==null?void 0:u[0].maxError,a="mesh",o=2;return{...e,mbs:r,boundingVolume:t,lodMetricType:n,lodMetricValue:i,type:a,refine:o}}async function nSe(e,t,r){let n=sk(r.url||""),i,a;if(e.nodePages)i=new l_(e,n,t),a=await i.formTileFromNodePages(0);else{let o=t.i3s&&typeof t.i3s=="object"?t.i3s:{},s=bv(`${n}/nodes/root`,o.token);a=await Kr(s,bl,{...t,i3s:{...o,loadContent:!1,isTileHeader:!0,isTileset:!1}})}return{...e,loader:bl,url:n,basePath:n,type:"I3S",nodePagesTile:i,root:a,lodMetricType:a.lodMetricType,lodMetricValue:a.lodMetricValue}}var NIt="4.4.0-alpha.13",UIt=/layers\/[0-9]+$/,GIt=/\.slpk$/,zIt=/nodes\/([0-9-]+|root)$/,HIt="504b0304",VIt="PointCloud",bl={dataType:null,batchType:null,name:"I3S (Indexed Scene Layers)",id:"i3s",module:"i3s",version:NIt,mimeTypes:["application/octet-stream"],parse:$It,extensions:["bin"],options:{i3s:{token:void 0,isTileset:"auto",isTileHeader:"auto",tile:void 0,tileset:void 0,_tileOptions:void 0,_tilesetOptions:void 0,useDracoGeometry:!0,useCompressedTextures:!0,decodeTextures:!0,coordinateSystem:2}}};async function $It(e,t={},r){let n=r.url;if(t.i3s=t.i3s||{},XIt(e)===HIt)throw new Error("Files with .slpk extention currently are not supported by I3SLoader");let a=sk(n),o;t.i3s.isTileset==="auto"?o=UIt.test(a)||GIt.test(a):o=t.i3s.isTileset;let s;return t.i3s.isTileHeader==="auto"?s=zIt.test(a):s=t.i3s.isTileHeader,o?e=await KIt(e,t,r):s?e=await JIt(e,r):e=await WIt(e,t),e}async function WIt(e,t){return await Ya(e,eSe,t)}async function KIt(e,t,r){let n=JSON.parse(new TextDecoder().decode(e));if((n==null?void 0:n.layerType)===VIt)throw new Error("Point Cloud layers currently are not supported by I3SLoader");return await nSe(n,t,r)}async function JIt(e,t){return e=JSON.parse(new TextDecoder().decode(e)),rSe(e,t)}function XIt(e){return e instanceof ArrayBuffer?[...new Uint8Array(e,0,4)].map(t=>t.toString(16).padStart(2,"0")).join(""):null}var YIt=[{test:/^$/,extensions:["3dSceneLayer.json.gz"]},{test:/nodepages\/\d+$/,extensions:[".json.gz"]},{test:/sublayers\/\d+$/,extensions:["/3dSceneLayer.json.gz"]},{test:/nodes\/(\d+|root)$/,extensions:["/3dNodeIndexDocument.json.gz"]},{test:/nodes\/\d+\/textures\/.+$/,extensions:[".jpg",".png",".bin.dds.gz",".ktx",".ktx2"]},{test:/nodes\/\d+\/geometries\/\d+$/,extensions:[".bin.gz",".draco.gz"]},{test:/nodes\/\d+\/attributes\/f_\d+\/\d+$/,extensions:[".bin.gz"]},{test:/statistics\/(f_\d+\/\d+|summary)$/,extensions:[".json.gz"]},{test:/nodes\/\d+\/shared$/,extensions:["/sharedResource.json.gz"]}],ck=class extends dl{hashTable;_textEncoder=new TextEncoder;_textDecoder=new TextDecoder;_md5Hash=new gu;constructor(t,r,n){super(t,r,n),this.hashTable=r}async getFile(t,r="raw"){var n;if(r==="http"){let i=(n=YIt.find(a=>a.test.test(t)))==null?void 0:n.extensions;if(i){let a;for(let o of i)if(a=await this.getDataByPath(`${t}${o}`),a)break;if(a)return a}}if(r==="raw"){let i=await this.getDataByPath(`${t}.gz`);if(i)return i;let a=await this.getFileBytes(t);if(a)return a}throw new Error(`No such file in the archive: ${t}`)}async getDataByPath(t){let r=await this.getFileBytes(t.toLocaleLowerCase());if(r||(r=await this.getFileBytes(t)),!!r)return/\.gz$/.test(t)?await new A1().decompress(r):r}async getFileBytes(t){let r;if(this.hashTable){let n=this._textEncoder.encode(t),i=await this._md5Hash.hash(n.buffer,"hex"),a=this.hashTable[i];if(a===void 0)return;let o=await Os(a,this.file);if(!o)return;r=await Xr(this.file,o.fileDataOffset,o.fileDataOffset+o.compressedSize)}else try{r=await this.getFileWithoutHash(t)}catch{r=void 0}return r}};async function pG(e,t,r){let n=await Xp(e,Qp),i=await Yp(n,e),a;if((i==null?void 0:i.fileName)!=="@specialIndexFileHASH128@")a=await uN(e),t==null||t("SLPK doesnt contain hash file, hash info has been composed according to zip archive headers");else{let o=await Os(i.localHeaderOffset,e);if(!o)throw new Error("corrupted SLPK");let s=o.fileDataOffset,u=await Xr(e,s,s+o.compressedSize);a=E1(u)}return new ck(e,a,r)}function aSe(e,t){let{attributeName:r,attributeType:n}=t;return r?{[r]:n?QIt(n,e):null}:{}}function QIt(e,t){switch(e){case H6e:return tPt(t);case V6e:return iSe(t);case $6e:return ePt(t);case W6e:return ZIt(t);default:return iSe(t)}}function iSe(e){return new Uint32Array(e,4)}function ZIt(e){return new Int16Array(e,4)}function ePt(e){return new Float64Array(e,8)}function tPt(e){let i=[];try{let a=new DataView(e,0,4).getUint32(0,!0),o=new Uint32Array(e,8,a),s=8+a*4;for(let u of o){let c=new TextDecoder("utf-8"),l=new Uint8Array(e,s,u);i.push(c.decode(l)),s+=u}}catch(a){console.error("Parse string attribute error: ",a.message)}return i}var rPt="4.4.0-alpha.13";var hG={dataType:null,batchType:null,name:"I3S Attribute",id:"i3s-attribute",module:"i3s",version:rPt,mimeTypes:["application/binary"],parse:async(e,t)=>aSe(e,t),extensions:["bin"],options:{},binary:!0};function mG(e,t){let r=[e.center[0],e.center[1],e.center[2]+t.getHeight(e.center[1],e.center[0])],n=Ot.WGS84.cartographicToCartesian(r,new Z),i=new di().fromCenterHalfSizeQuaternion(n,e.halfSize,e.quaternion);return[...i.center,...i.halfAxes.toArray()]}var lk=Dt(Is(),1),nPt=()=>({version:{path:"version",default:"1.0"}}),oSe=()=>({boundingVolume:{path:"boundingVolume"},geometricError:{path:"geometricError"},refine:{path:"refine"},content:{path:"content"},children:{path:"children",transform:e=>e.map(t=>(0,lk.default)(t,oSe()))}}),sSe=()=>({asset:{path:"asset",transform:e=>(0,lk.default)(e,nPt())},geometricError:{path:"root",transform:e=>e.geometricError},root:{path:"root",transform:e=>(0,lk.default)(e,oSe())}});function uSe(e,t){let r=new Float32Array(e.length),n=aPt(t);for(let i=0;i<e.length;i+=2){let a=e.subarray(i,i+2),o=n.slice(i*2,i*2+4),s=iPt([a[0],a[1]]),u=[o[2]-o[0],o[3]-o[1]],c=[s[0]*u[0],s[1]*u[1]],l=[c[0]+o[0],c[1]+o[1]];r[i]=l[0],r[i+1]=l[1]}return r}function iPt(e){return[e[0]-Math.floor(e[0]),e[1]-Math.floor(e[1])]}function aPt(e){let r=[];for(let n=0;n<e.length;n++)r[n]=e[n]/65535;return r}var oPt=new gr([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]),cSe=new Z,lSe="KHR_materials_unlit",sPt=1,uPt=1,fk=class{rtcCenter;i3sTile;tileType;constructor(t={outputVersion:"1.1"}){this.tileType=t.outputVersion==="1.0"?pi.BATCHED_3D_MODEL:pi.GLTF}async convert(t,r=null,n){let i=await this.buildGLTF(t,r,n);return this.tileType===pi.BATCHED_3D_MODEL?l3({gltfEncoded:new Uint8Array(i),type:"b3dm",featuresLength:this._getFeaturesLength(r),batchTable:r},fN):i}async buildGLTF(t,r,n){let{tileContent:i,textureFormat:a,box:o}=t,{material:s,attributes:u,indices:c,modelMatrix:l}=i,f=new Yt,d=await this._addI3sTextureToGLTF(i,a,f),p=s==null?void 0:s.pbrMetallicRoughness;p&&(p.metallicFactor===void 0||p.metallicFactor===sPt)&&(p.roughnessFactor===void 0||p.roughnessFactor===uPt)&&(f.addObjectExtension(s,lSe,{}),f.addExtension(lSe));let h=this._convertI3sMaterialToGLTFMaterial(s,d),m=f.addMaterial(h),g=u.positions,x=g.value;u.uvRegions&&u.texCoords&&(u.texCoords.value=uSe(u.texCoords.value,u.uvRegions.value));let y=new Z(o),w=Ot.WGS84.cartesianToCartographic(y,new Z);u.positions.value=this._normalizePositions(x,y,w,l),this._createBatchIds(i,r),u.normals&&!this._checkNormals(u.normals.value)&&delete u.normals;let T=c||b4(x.length/g.size),A=f.addMesh({attributes:u,indices:T,material:m,mode:4});this.tileType===pi.GLTF&&this._createMetadataExtensions(f,A,r,n,i);let D=this._generateTransformMatrix(y),F=f.addNode({meshIndex:A,matrix:D}),j=f.addScene({nodeIndices:[F]});return f.setDefaultScene(j),f.createBinaryChunk(),l3(f.gltf,KL,{gltfBuilder:f})}_createMetadataExtensions(t,r,n,i,a){var c;let o=this._createPropertyAttibutes(n,i),s=J3(t,o),u=t.getMesh(r);for(let l of u.primitives)(c=a.attributes._BATCHID)!=null&&c.value&&W3(t,l,a.attributes._BATCHID.value,s)}_createPropertyAttibutes(t,r){if(!t||!r)return[];let n=[];for(let i in t){let a=this._convertAttributeStorageInfoToPropertyAttribute(i,r,t);a&&n.push(a)}return n}_convertAttributeStorageInfoToPropertyAttribute(t,r,n){let i=n[t],a=r.find(l=>l.name===t);if(!a)return null;let o=a.attributeValues;if(!(o!=null&&o.valueType))return null;let s,u;switch(o.valueType.toLowerCase()){case"oid32":s="SCALAR",u="UINT32";break;case"int32":s="SCALAR",u="INT32";break;case"uint32":s="SCALAR",u="UINT32";break;case"int16":s="SCALAR",u="INT16";break;case"uint16":s="SCALAR",u="UINT16";break;case"float64":s="SCALAR",u="FLOAT64";break;case"string":s="STRING";break;default:s="";break}let c={name:t,elementType:s,componentType:u,values:[]};return hM(i)?c.values=Array.from(i):i!==null&&(c.values=i),c}async _addI3sTextureToGLTF(t,r,n){let{texture:i,material:a,attributes:o}=t,s=null,u=i;if(!i&&a&&(u=a.pbrMetallicRoughness&&a.pbrMetallicRoughness.baseColorTexture&&a.pbrMetallicRoughness.baseColorTexture.texture.source.image),u){let c=this._deduceMimeTypeFromFormat(r),l=n.addImage(u,c);s=n.addTexture({imageIndex:l}),delete o.colors}return s}_normalizePositions(t,r,n,i){let a=new Float32Array(t.length);for(let o=0;o<t.length;o+=3){let s=t.subarray(o,o+3),u=new Z(r),c=new Z(Array.from(s)).transform(i).add(n);Ot.WGS84.cartographicToCartesian(c,cSe),c=cSe.subtract(u),a.set(c,o)}return a}_generateTransformMatrix(t){return new gr().translate(t).multiplyLeft(oPt)}_createBatchIds(t,r){let{featureIds:n}=t,{OBJECTID:i}=r||{};if(!(!n||!i)){for(let a=0;a<n.length;a++){let o=n[a],s=i.indexOf(o);n[a]=s}t.attributes._BATCHID={size:1,byteOffset:0,value:n}}}_deduceMimeTypeFromFormat(t){switch(t){case"jpg":return"image/jpeg";case"png":return"image/png";case"ktx2":return"image/ktx2";default:return console.warn(`Unexpected texture format in I3S: ${t}`),"image/jpeg"}}_convertI3sMaterialToGLTFMaterial(t,r){let n=r!==null;return t?(r!==null&&(t=this._setGLTFTexture(t,r)),t):(t={alphaMode:"OPAQUE",doubleSided:!1,pbrMetallicRoughness:{metallicFactor:0,roughnessFactor:1}},n?t.pbrMetallicRoughness.baseColorTexture={index:r,texCoord:0}:t.pbrMetallicRoughness.baseColorFactor=[1,1,1,1],t)}_setGLTFTexture(t,r){let n={...t,pbrMetallicRoughness:{...t.pbrMetallicRoughness}};return t.pbrMetallicRoughness&&t.pbrMetallicRoughness.baseColorTexture?n.pbrMetallicRoughness.baseColorTexture={index:r,texCoord:0}:t.emissiveTexture?n.emissiveTexture={index:r,texCoord:0}:t.pbrMetallicRoughness&&t.pbrMetallicRoughness.metallicRoughnessTexture?n.pbrMetallicRoughness.metallicRoughnessTexture={index:r,texCoord:0}:t.normalTexture?n.normalTexture={index:r,texCoord:0}:t.occlusionTexture&&(n.occlusionTexture={index:r,texCoord:0}),n}_getFeaturesLength(t){if(!t)return 0;let r=Object.keys(t)[0];return r?t[r].length:0}_checkNormals(t){return t.find(r=>r)}};var fSe=async(e,t,r,n)=>{if(!e||!t.contentUrl)return null;let i={...r,i3s:{...r.i3s,isTileset:!1,isTileHeader:!1,_tileOptions:{attributeUrls:t.attributeUrls||[],textureUrl:t.textureUrl,textureFormat:t.textureFormat,textureLoaderOptions:t.textureLoaderOptions,materialDefinition:t.materialDefinition,isDracoGeometry:t.isDracoGeometry,mbs:t.mbs},_tilesetOptions:{store:e.store,attributeStorageInfo:e.attributeStorageInfo,fields:e.fields}}};return await f_(t.contentUrl,bl,i,n)};async function dSe(e){let t=e.split(".slpk");if(t.length===2){let r=`${t[0]}.slpk`,n=new Hi(r),i=await pG(n,void 0,r);return new fl(i)}return null}async function f_(e,t,r,n){return n!==null?await Kr(e,t,{...r,core:{...r==null?void 0:r.core,fetch:n.fetch.bind(n)}}):await Kr(e,t,r)}async function pSe(e){if(!(e!=null&&e.file))return 0;let t=new Set,r=Ju(e.file);for await(let n of r){let i=n.fileName,a=/^nodes\/(\d+)\//.exec(i);a&&t.add(a[1])}return t.size}var cPt="I3S",xv=class{options;tilesetPath;vertexCounter;conversionStartTime;geoidHeightModel;sourceTileset;attributeStorageInfo;workerSource={};slpkFilesystem=null;loaderOptions={core:{_nodeWorkers:!0,reuseWorkers:!0,worker:!1},i3s:{coordinateSystem:3,decodeTextures:!1},"i3s-content":{workerUrl:"./modules/i3s/dist/i3s-content-worker-node.js"}};conversionDump;progress;fileExt;constructor(){this.options={},this.tilesetPath="",this.vertexCounter=0,this.conversionStartTime=[0,0],this.geoidHeightModel=null,this.sourceTileset=null,this.attributeStorageInfo=null,this.workerSource={},this.conversionDump=new fh,this.progress=new tv,this.fileExt=""}async convert(t){var m;if(dr)return console.log(ev),ev;let{inputUrl:r,outputPath:n,outputVersion:i,tilesetName:a,maxDepth:o,egmFilePath:s,inquirer:u,analyze:c}=t;this.conversionStartTime=gG.default.hrtime(),this.options={maxDepth:o,inquirer:u,outputVersion:i},this.fileExt=this.options.outputVersion==="1.0"?"b3dm":"glb",console.log("Loading egm file..."),this.geoidHeightModel=await Kr(s,_4),console.log("Loading egm file completed!"),this.slpkFilesystem=await dSe(r);let l=!0;if((c||this.slpkFilesystem)&&(l=await this.preprocessConversion(),!l||c)||(this.progress.startMonitoring(),this.sourceTileset=await f_(r,bl,{...this.loaderOptions,i3s:{...this.loaderOptions.i3s,isTileset:!0}},this.slpkFilesystem),!this.sourceTileset))return;let f=(m=this.sourceTileset)==null?void 0:m.root;if(f.obb||(f.obb=vN(f.mbs)),this.tilesetPath=(0,hSe.join)(`${n}`,`${a}`),this.attributeStorageInfo=this.sourceTileset.attributeStorageInfo,await this.conversionDump.createDump(t),this.conversionDump.restored&&this.options.inquirer&&((await this.options.inquirer.prompt([{name:"resumeConversion",type:"confirm",message:"Dump file of the previous conversion exists, do you want to resume that conversion?"}])).resumeConversion||this.conversionDump.reset()),!this.conversionDump.restored)try{await D1(this.tilesetPath)}catch{}let d={boundingVolume:{box:mG(f.obb,this.geoidHeightModel)},geometricError:yN(f),children:[],refine:"REPLACE"};await this._addChildren(f,d,1);let p=(0,mSe.default)({asset:{version:i},root:d},sSe());await Ia(this.tilesetPath,JSON.stringify(p),"tileset.json"),await this.conversionDump.deleteDumpFile(),this.progress.stopMonitoring(),await this._finishConversion({slpk:!1,outputPath:n,tilesetName:a}),this.slpkFilesystem&&this.slpkFilesystem.destroy(),Gi.getWorkerFarm({}).destroy()}async preprocessConversion(){console.log("Analyze source layer");let t=await pSe(this.slpkFilesystem);if(this.progress.stepsTotal=t,console.log("------------------------------------------------"),console.log("Preprocess results:"),this.slpkFilesystem){if(console.log(`Node count: ${t}`),t===0)return console.log("Node count is 0. The conversion will be interrupted."),console.log("------------------------------------------------"),!1}else console.log("Node count cannot be calculated for the remote dataset");return console.log("------------------------------------------------"),!0}async convertChildNode(t,r,n,i){let a=r,o=await this._loadChildNode(t,i);if(o.contentUrl){if(this.conversionDump.restored&&this.conversionDump.isFileConversionComplete(`${o.id}.${this.fileExt}`)&&(o.obb||o.mbs)){let{child:y}=this._createChildAndBoundingVolume(o);r.children.push(y),await this._addChildren(o,y,n+1);return}let f=await fSe(this.sourceTileset,o,this.loaderOptions,this.slpkFilesystem);if(!f){await this._addChildren(o,r,n+1);return}this.vertexCounter+=(f==null?void 0:f.vertexCount)||0;let d=null;this.attributeStorageInfo&&(d=await this._loadChildAttributes(o,this.attributeStorageInfo));let{child:p,boundingVolume:h}=this._createChildAndBoundingVolume(o),m={tileContent:f,box:h.box||[],textureFormat:o.textureFormat},x=await new fk({outputVersion:this.options.outputVersion}).convert(m,d,this.attributeStorageInfo);await this.conversionDump.addNode(`${o.id}.${this.fileExt}`,o.id),await Ia(this.tilesetPath,new Uint8Array(x),`${o.id}.${this.fileExt}`),await this.conversionDump.updateConvertedNodesDumpFile(`${o.id}.${this.fileExt}`,o.id,!0),r.children.push(p),a=p}this.progress.stepsDone+=1;let s="Calculating time left...",u=this.progress.getTimeRemainingString();u&&(s=`${u} left`);let c=this.progress.getPercentString(),l=c?` ${c}%, ${s}`:"";console.log(`[converted${l}]: ${i.id}`),await this._addChildren(o,a,n+1)}async _addChildren(t,r,n){if(!(this.options.maxDepth&&n>this.options.maxDepth))for(let i of t.children||[])await this.convertChildNode(t,r,n,i)}async _loadChildNode(t,r){var i;let n;if((i=this.sourceTileset)!=null&&i.nodePagesTile)console.log(`Node conversion: ${r.id}`),n=await this.sourceTileset.nodePagesTile.formTileFromNodePages(parseInt(r.id));else{let a=this._relativeUrlToFullUrl(t.url,r.href),o={i3s:{...this.loaderOptions,isTileHeader:!0,loadContent:!1}};console.log(`Node conversion: ${a}`),n=await f_(a,bl,o,this.slpkFilesystem)}return n}_createChildAndBoundingVolume(t){t.obb||(t.obb=vN(t.mbs));let r={box:mG(t.obb,this.geoidHeightModel)},n={boundingVolume:r,geometricError:yN(t),children:[],content:{uri:`${t.id}.${this.fileExt}`,boundingVolume:r}};return{boundingVolume:r,child:n}}_relativeUrlToFullUrl(t="",r){let n=t.split("/"),i=r.split("/");for(let a of i)switch(a){case".":continue;case"..":n=n.slice(0,-1);break;default:n.push(a)}return n.join("/")}async _loadChildAttributes(t,r){let n=[],{attributeUrls:i=[]}=t;for(let o=0;o<i.length;o++){let s=i[o],u=r[o],c={i3s:{attributeName:u.name,attributeType:this._getAttributeType(u)}};n.push(f_(s,hG,c,this.slpkFilesystem))}let a=await Promise.all(n);return this._replaceNestedArrays(a),Object.assign({},...a)}_getAttributeType(t){return t.attributeValues?t.attributeValues.valueType:t.objectIds?"Oid32":""}_replaceNestedArrays(t){for(let r=0;r<t.length;r++){let n=t[r];for(let i in n)n[i]=Array.from(n[i])}}async _finishConversion(t){let r=await g4(t),n=gG.default.hrtime(this.conversionStartTime),i=Jg(n);console.log("------------------------------------------------"),console.log(`Finish conversion of ${cPt}`),console.log(`Total conversion time: ${i}`),console.log("Vertex count: ",this.vertexCounter),console.log("File(s) size: ",r," bytes"),console.log("------------------------------------------------")}};var yv=require("path");var lPt="4.4.0-alpha.13",fPt="https://raw.githubusercontent.com/visgl/deck.gl-data/master/egm/egm2008-5.zip",dk=class{async install(t=""){console.log('Installing "EGM2008-5" model...');let r=await Kr(fPt,tN,{}),n=process.cwd();t&&(n=(0,yv.join)(n,t)),await Ia(n,new Uint8Array(r["geoids/egm2008-5.pgm"]),"egm2008-5.pgm"),console.log('Installing "I3S Content Loader" worker'),await this.installFromNpm("i3s","i3s-content-worker-node.js"),console.log('Installing "Draco Loader" worker'),await this.installFromNpm("draco","draco-worker-node.js"),console.log('Installing "Draco Writer" worker'),await this.installFromNpm("draco","draco-writer-worker-node.js"),console.log('Installing "Basis Loader" worker'),await this.installFromNpm("textures","basis-worker-node.js"),console.log('Installing "KTX2 Basis Writer" worker'),await this.installFromNpm("textures","ktx2-basis-writer-worker-node.js"),console.log('Installing "Draco decoder" library'),await this.installFromUrl(ju[Ur.DECODER],"draco",Ur.DECODER),await this.installFromUrl(ju[Ur.DECODER_WASM],"draco",Ur.DECODER_WASM),console.log('Installing "Draco encoder" library'),await this.installFromUrl(ju[Ur.ENCODER],"draco",Ur.ENCODER),console.log('Installing "Basis transcoder" library'),await this.installFromNpm("textures",qu.TRANSCODER,"libs"),await this.installFromNpm("textures",qu.TRANSCODER_WASM,"libs"),console.log('Installing "Basis encoder" library'),await this.installFromNpm("textures",qu.ENCODER,"libs"),await this.installFromNpm("textures",qu.ENCODER_WASM,"libs"),console.log('Installing "join-images" npm package');let i=new c0,a=(0,yv.dirname)(process.execPath);await i.start({command:`"${a}/${process.platform==="win32"?"npm.cmd":"npm"}"`,arguments:["install","sharp@0.30.4","join-images@1.1.3"],wait:0,ignoreStderr:!0,spawn:{shell:!0}}),console.log("All dependencies were installed succesfully.")}async installFromNpm(t,r,n=""){let i=await sa(`https://unpkg.com/@loaders.gl/${t}@${lPt}/dist/${n}/${r}`);if(i.status<200||i.status>=300)throw new Error(`Failed to load resource ${r}`);let a=await i.arrayBuffer();if(!a)return;let o=(0,yv.join)(process.cwd(),"modules",t,"dist",n);await Ia(o,a,r)}async installFromUrl(t,r,n){let a=await(await sa(t)).arrayBuffer();if(!a)return;let o=(0,yv.join)(process.cwd(),"modules",r,"dist","libs");await Ia(o,a,n)}};function Us(e,t){if(e+1>=t.length)return"";let r=t[e+1];return r.indexOf("--")===0?"":r}function gSe(e,t){let r=Us(e,t);return console.log(`Input tileset value: ${r}`),console.log(`Modified tileset value: ${r.replace(/\\/g,"/")}`),r.replace(/\\/g,"/")}function vSe(e){return e.reduce((t,r)=>{let n=r.indexOf("="),i=r.slice(0,n),a=r.slice(n+1,r.length);return r.includes("=")&&r.startsWith("--")&&a?t.concat(i,a):t.concat(r)},[])}function bSe(e,t){let r=Us(e,t),n=Number.parseInt(r);return isFinite(n)?n:NaN}function Gs(e,t){let r=Us(e,t).toLowerCase().trim();return["--no-draco","--split-nodes"].includes(t[e])&&!r?!1:!r||r==="true"}var _Se=require("fs/promises"),vG={I3S:"I3S",_3DTILES:"3DTILES"};async function dPt(){let[,,...e]=process.argv;e.length===0&&bG();let t=vSe(e),r=hPt(t);if(r.installDependencies){new dk().install("deps");return}if(r.addHash){let i=xSe(r,!0),a=i.tileset;if(!r.quiet)if(i.output==="data"){let s=i.tileset.substring(0,i.tileset.length-5);(await pk.default.prompt([{name:"isNewFileRequired",type:"list",message:"What would you like to do?",choices:[{name:"Add hash file to the current SLPK file",value:!1},{name:`Create a new file ${s}-hash.slpk with hash file inside`,value:!0}]}])).isNewFileRequired&&(a=`${s}-hash.slpk`)}else a=i.output;a!==i.tileset&&await(0,_Se.copyFile)(i.tileset,a);let o=await T1(Ju(new Hi(a)));await oN(a,o,"@specialIndexFileHASH128@");return}let n=xSe(r);await pPt(n)}dPt().catch(e=>{console.log(e),process.exit(1)});function bG(){console.log("cli: converter 3dTiles to I3S or I3S to 3dTiles..."),console.log('--install-dependencies [Run the script for installing dependencies. Run this options separate from others. Now "*.pgm" file installation is implemented]'),console.log("--max-depth [Maximal depth of hierarchical tiles tree traversal, default: infinite]"),console.log("--name [Tileset name]"),console.log('--output [Output folder, default: "data" folder]'),console.log("--instant-node-writing [Keep created 3DNodeIndexDocument files on disk instead of memory. This option reduces memory usage but decelerates conversion speed]"),console.log("--split-nodes [Prevent merging similar materials that could lead to incorrect visualization (I3S to 3DTiles conversion only)]"),console.log("--slpk [(Deprecated since version 4.3.0) Whether the converter generates *.slpk (Scene Layer Package) I3S output files. Note: For versions 4.3.0 and up *.slpk is the default output without this option specified.]"),console.log("--tileset [tileset.json file (3DTiles) / http://..../SceneServer/layers/0 resource (I3S)]"),console.log("--input-type [tileset input type: I3S or 3DTILES]"),console.log("--output-version [3DTiles version: 1.0 or 1.1, default: 1.1]. This option supports only 1.0/1.1 values for 3DTiles output. I3S output version setting is not supported yet."),console.log('--egm [location of Earth Gravity Model *.pgm file to convert heights from ellipsoidal to gravity-related format or "None" to not use it. A model file can be loaded from GeographicLib https://geographiclib.sourceforge.io/html/geoid.html], default: "./deps/egm2008-5.zip"'),console.log("--token [Token for Cesium ION tilesets authentication]"),console.log("--no-draco [Disable draco compression for geometry]"),console.log("--generate-textures [Enable KTX2 textures generation if only one of (JPG, PNG) texture is provided or generate JPG texture if only KTX2 is provided]"),console.log("--generate-bounding-volumes [Generate obb and mbs bounding volumes from geometry]"),console.log("--analyze [Analyze the input tileset content without conversion, default: false]"),console.log('--metadata-class [One of the list of feature metadata classes, detected by converter on "analyze" stage, default: not set]'),console.log("--validate [Enable validation]"),console.log("--quiet [Skip all prompts that stop conversion and wait for a user input: default: false]"),process.exit(0)}async function pPt(e){switch(console.log("------------------------------------------------"),console.log(`Starting conversion of ${e.inputType}`),console.log("------------------------------------------------"),e.inputType.toUpperCase()){case vG.I3S:await new xv().convert({inputUrl:e.tileset,outputPath:e.output,outputVersion:e.outputVersion,tilesetName:e.name,maxDepth:e.maxDepth,egmFilePath:e.egm,analyze:e.analyze,inquirer:e.quiet?void 0:pk.default});break;case vG._3DTILES:await new gv().convert({inputUrl:e.tileset,outputPath:e.output,tilesetName:e.name,maxDepth:e.maxDepth,egmFilePath:e.egm,token:e.token,draco:e.draco,mergeMaterials:e.mergeMaterials,generateTextures:e.generateTextures,generateBoundingVolumes:e.generateBoundingVolumes,validate:e.validate,instantNodeWriting:e.instantNodeWriting,metadataClass:e.metadataClass,analyze:e.analyze,inquirer:e.quiet?void 0:pk.default});break;default:bG()}}function xSe(e,t){let r={name:{getMessage:()=>console.log("Missed: --name [Tileset name]"),condition:i=>t||Boolean(i)||Boolean(e.analyze)},output:{getMessage:()=>console.log("Missed: --output [Output path name]")},egm:{getMessage:()=>console.log("Missed: --egm [*.pgm earth gravity model file path]")},tileset:{getMessage:()=>console.log("Missed: --tileset [tileset.json file]")},inputType:{getMessage:()=>console.log("Missed/Incorrect: --input-type [tileset input type: I3S or 3DTILES]"),condition:i=>t||Boolean(i)&&Object.values(vG).includes(i.toUpperCase())},outputVersion:{getMessage:()=>console.log('Incorrect: --output-version [1.0 or 1.1] is for --input-type "I3S" only'),condition:i=>t||Boolean(i)&&Object.values(["1.0","1.1"]).includes(i)&&Boolean(e.inputType==="I3S")||Boolean(e.inputType!=="I3S")||Boolean(e.analyze)}},n=[];for(let i in r){let a=e[i],o=r[i].condition;(o?o(a):a)||n.push(r[i].getMessage)}return n.length&&(n.forEach(i=>i()),process.exit(1)),e}function hPt(e){let t={output:"data",outputVersion:"1.1",instantNodeWriting:!1,mergeMaterials:!0,egm:(0,ySe.join)(process.cwd(),"deps","egm2008-5.pgm"),draco:!0,installDependencies:!1,generateTextures:!1,generateBoundingVolumes:!1,validate:!1,addHash:!1,quiet:!1};return e.forEach((r,n)=>{if(r.indexOf("--")===0)switch(r){case"--input-type":t.inputType=Us(n,e);break;case"--tileset":t.tileset=gSe(n,e);break;case"--name":t.name=Us(n,e);break;case"--output":t.output=Us(n,e);break;case"--output-version":t.outputVersion=Us(n,e);break;case"--instant-node-writing":t.instantNodeWriting=Gs(n,e);break;case"--split-nodes":t.mergeMaterials=Gs(n,e);break;case"--max-depth":t.maxDepth=bSe(n,e);break;case"--add-hash":t.addHash=Gs(n,e);break;case"--egm":t.egm=Us(n,e);break;case"--token":t.token=Us(n,e);break;case"--no-draco":t.draco=Gs(n,e);break;case"--validate":t.validate=Gs(n,e);break;case"--install-dependencies":t.installDependencies=Gs(n,e);break;case"--generate-textures":t.generateTextures=Gs(n,e);break;case"--generate-bounding-volumes":t.generateBoundingVolumes=Gs(n,e);break;case"--analyze":t.analyze=Gs(n,e);break;case"--quiet":t.quiet=Gs(n,e);break;case"--metadata-class":t.metadataClass=Us(n,e);break;case"--help":bG();break;case"--slpk":break;default:console.warn(`Unknown option ${r}`),process.exit(0)}}),t}
|
|
161
161
|
/*! Bundled license information:
|
|
162
162
|
|
|
163
163
|
is-buffer/index.js:
|