@loaders.gl/draco 4.4.0-alpha.1 → 4.4.0-alpha.2

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/dist.min.js CHANGED
@@ -4,9 +4,9 @@
4
4
  else if (typeof define === 'function' && define.amd) define([], factory);
5
5
  else if (typeof exports === 'object') exports['loaders'] = factory();
6
6
  else root['loaders'] = factory();})(globalThis, function () {
7
- "use strict";var __exports__=(()=>{var _l=Object.create;var Sn=Object.defineProperty;var wl=Object.getOwnPropertyDescriptor;var vl=Object.getOwnPropertyNames;var Il=Object.getPrototypeOf,Sl=Object.prototype.hasOwnProperty;var Al=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),Qe=(r,t)=>{for(var e in t)Sn(r,e,{get:t[e],enumerable:!0})},In=(r,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of vl(t))!Sl.call(r,n)&&n!==e&&Sn(r,n,{get:()=>t[n],enumerable:!(i=wl(t,n))||i.enumerable});return r},An=(r,t,e)=>(In(r,t,"default"),e&&In(e,t,"default")),Bl=(r,t,e)=>(e=r!=null?_l(Il(r)):{},In(t||!r||!r.__esModule?Sn(e,"default",{value:r,enumerable:!0}):e,r)),Dl=r=>In(Sn({},"__esModule",{value:!0}),r);var sa=Al((Ah,na)=>{na.exports=globalThis.loaders});var vn={};Qe(vn,{DRACO_EXTERNAL_LIBRARIES:()=>lt,DRACO_EXTERNAL_LIBRARY_URLS:()=>kr,DracoArrowLoader:()=>bl,DracoLoader:()=>wn,DracoWorkerLoader:()=>ia,DracoWriter:()=>ma,DracoWriterWorker:()=>pa});An(vn,Bl(sa(),1));function xl(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.4.0-alpha.0"),globalThis._loadersgl_.version}var oa=xl();function aa(r,t){if(!r)throw new Error(t||"loaders.gl assertion failed.")}var ve={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},xh=ve.self||ve.window||ve.global||{},Th=ve.window||ve.self||ve.global||{},Oh=ve.global||ve.self||ve.window||{},Fh=ve.document||{};var zr=typeof process!="object"||String(process)!=="[object process]"||process.browser,Bn=typeof importScripts=="function",Mh=typeof window<"u"&&typeof window.orientation<"u",ca=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Nh=ca&&parseFloat(ca[1])||0;var Hs={};async function Pr(r,t=null,e={},i=null){return t&&(r=la(r,t,e,i)),Hs[r]=Hs[r]||Tl(r),await Hs[r]}function la(r,t,e={},i=null){if(!e.useLocalLibraries&&r.startsWith("http"))return r;i=i||r;let n=e.modules||{};return n[i]?n[i]:zr?e.CDN?(aa(e.CDN.startsWith("http")),`${e.CDN}/${t}@${oa}/dist/libs/${i}`):Bn?`../src/libs/${i}`:`modules/${t}/src/libs/${i}`:`modules/${t}/dist/libs/${i}`}async function Tl(r){if(r.endsWith("wasm"))return await Fl(r);if(!zr)try{let{requireFromFile:e}=globalThis.loaders||{};return await e?.(r)}catch(e){return console.error(e),null}if(Bn)return importScripts(r);let t=await Ml(r);return Ol(t,r)}function Ol(r,t){if(!zr){let{requireFromString:i}=globalThis.loaders||{};return i?.(r,t)}if(Bn)return eval.call(globalThis,r),null;let e=document.createElement("script");e.id=t;try{e.appendChild(document.createTextNode(r))}catch{e.text=r}return document.body.appendChild(e),null}async function Fl(r){let{readFileAsArrayBuffer:t}=globalThis.loaders||{};return zr||!t||r.startsWith("http")?await(await fetch(r)).arrayBuffer():await t(r)}async function Ml(r){let{readFileAsText:t}=globalThis.loaders||{};return zr||!t||r.startsWith("http")?await(await fetch(r)).text():await t(r)}var Nl="1.5.6",Ll="1.4.1",Gs=`https://www.gstatic.com/draco/versioned/decoders/${Nl}`,lt={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},kr={[lt.DECODER]:`${Gs}/${lt.DECODER}`,[lt.DECODER_WASM]:`${Gs}/${lt.DECODER_WASM}`,[lt.FALLBACK_DECODER]:`${Gs}/${lt.FALLBACK_DECODER}`,[lt.ENCODER]:`https://raw.githubusercontent.com/google/draco/${Ll}/javascript/${lt.ENCODER}`},Js,Zs;async function ua(r){let t=r.modules||{};return t.draco3d?Js||=t.draco3d.createDecoderModule({}).then(e=>({draco:e})):Js||=El(r),await Js}async function da(r){let t=r.modules||{};return t.draco3d?Zs||=t.draco3d.createEncoderModule({}).then(e=>({draco:e})):Zs||=Rl(r),await Zs}async function El(r){let t,e;switch(r.draco&&r.draco.decoderType){case"js":t=await Pr(kr[lt.FALLBACK_DECODER],"draco",r,lt.FALLBACK_DECODER);break;case"wasm":default:[t,e]=await Promise.all([await Pr(kr[lt.DECODER],"draco",r,lt.DECODER),await Pr(kr[lt.DECODER_WASM],"draco",r,lt.DECODER_WASM)])}return t=t||globalThis.DracoDecoderModule,await Ul(t,e)}function Ul(r,t){let e={};return t&&(e.wasmBinary=t),new Promise(i=>{r({...e,onModuleLoaded:n=>i({draco:n})})})}async function Rl(r){let t=await Pr(kr[lt.ENCODER],"draco",r,lt.ENCODER);return t=t||globalThis.DracoEncoderModule,new Promise(e=>{t({onModuleLoaded:i=>e({draco:i})})})}var ha={POSITION:"POSITION",NORMAL:"NORMAL",COLOR_0:"COLOR",TEXCOORD_0:"TEX_COORD"},Cl=()=>{},xi=class{draco;dracoEncoder;dracoMeshBuilder;dracoMetadataBuilder;log;constructor(t){this.draco=t,this.dracoEncoder=new this.draco.Encoder,this.dracoMeshBuilder=new this.draco.MeshBuilder,this.dracoMetadataBuilder=new this.draco.MetadataBuilder}destroy(){this.destroyEncodedObject(this.dracoMeshBuilder),this.destroyEncodedObject(this.dracoEncoder),this.destroyEncodedObject(this.dracoMetadataBuilder),this.dracoMeshBuilder=null,this.dracoEncoder=null,this.draco=null}destroyEncodedObject(t){t&&this.draco.destroy(t)}encodeSync(t,e={}){return this.log=Cl,this._setOptions(e),e.pointcloud?this._encodePointCloud(t,e):this._encodeMesh(t,e)}_getAttributesFromMesh(t){let e={...t,...t.attributes};return t.indices&&(e.indices=t.indices),e}_encodePointCloud(t,e){let i=new this.draco.PointCloud;e.metadata&&this._addGeometryMetadata(i,e.metadata);let n=this._getAttributesFromMesh(t);this._createDracoPointCloud(i,n,e);let s=new this.draco.DracoInt8Array;try{let o=this.dracoEncoder.EncodePointCloudToDracoBuffer(i,!1,s);if(!(o>0))throw new Error("Draco encoding failed.");return this.log(`DRACO encoded ${i.num_points()} points
7
+ "use strict";var __exports__=(()=>{var _l=Object.create;var Sn=Object.defineProperty;var wl=Object.getOwnPropertyDescriptor;var vl=Object.getOwnPropertyNames;var Il=Object.getPrototypeOf,Sl=Object.prototype.hasOwnProperty;var Al=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),Qe=(r,t)=>{for(var e in t)Sn(r,e,{get:t[e],enumerable:!0})},In=(r,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of vl(t))!Sl.call(r,n)&&n!==e&&Sn(r,n,{get:()=>t[n],enumerable:!(i=wl(t,n))||i.enumerable});return r},An=(r,t,e)=>(In(r,t,"default"),e&&In(e,t,"default")),Bl=(r,t,e)=>(e=r!=null?_l(Il(r)):{},In(t||!r||!r.__esModule?Sn(e,"default",{value:r,enumerable:!0}):e,r)),Dl=r=>In(Sn({},"__esModule",{value:!0}),r);var sa=Al((Ah,na)=>{na.exports=globalThis.loaders});var vn={};Qe(vn,{DRACO_EXTERNAL_LIBRARIES:()=>lt,DRACO_EXTERNAL_LIBRARY_URLS:()=>kr,DracoArrowLoader:()=>bl,DracoLoader:()=>wn,DracoWorkerLoader:()=>ia,DracoWriter:()=>ma,DracoWriterWorker:()=>pa});An(vn,Bl(sa(),1));function xl(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.4.0-alpha.1"),globalThis._loadersgl_.version}var oa=xl();function aa(r,t){if(!r)throw new Error(t||"loaders.gl assertion failed.")}var ve={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},xh=ve.self||ve.window||ve.global||{},Th=ve.window||ve.self||ve.global||{},Oh=ve.global||ve.self||ve.window||{},Fh=ve.document||{};var zr=typeof process!="object"||String(process)!=="[object process]"||process.browser,Bn=typeof importScripts=="function",Mh=typeof window<"u"&&typeof window.orientation<"u",ca=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Nh=ca&&parseFloat(ca[1])||0;var Hs={};async function Pr(r,t=null,e={},i=null){return t&&(r=la(r,t,e,i)),Hs[r]=Hs[r]||Tl(r),await Hs[r]}function la(r,t,e={},i=null){if(!e.useLocalLibraries&&r.startsWith("http"))return r;i=i||r;let n=e.modules||{};return n[i]?n[i]:zr?e.CDN?(aa(e.CDN.startsWith("http")),`${e.CDN}/${t}@${oa}/dist/libs/${i}`):Bn?`../src/libs/${i}`:`modules/${t}/src/libs/${i}`:`modules/${t}/dist/libs/${i}`}async function Tl(r){if(r.endsWith("wasm"))return await Fl(r);if(!zr)try{let{requireFromFile:e}=globalThis.loaders||{};return await e?.(r)}catch(e){return console.error(e),null}if(Bn)return importScripts(r);let t=await Ml(r);return Ol(t,r)}function Ol(r,t){if(!zr){let{requireFromString:i}=globalThis.loaders||{};return i?.(r,t)}if(Bn)return eval.call(globalThis,r),null;let e=document.createElement("script");e.id=t;try{e.appendChild(document.createTextNode(r))}catch{e.text=r}return document.body.appendChild(e),null}async function Fl(r){let{readFileAsArrayBuffer:t}=globalThis.loaders||{};return zr||!t||r.startsWith("http")?await(await fetch(r)).arrayBuffer():await t(r)}async function Ml(r){let{readFileAsText:t}=globalThis.loaders||{};return zr||!t||r.startsWith("http")?await(await fetch(r)).text():await t(r)}var Nl="1.5.6",Ll="1.4.1",Gs=`https://www.gstatic.com/draco/versioned/decoders/${Nl}`,lt={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},kr={[lt.DECODER]:`${Gs}/${lt.DECODER}`,[lt.DECODER_WASM]:`${Gs}/${lt.DECODER_WASM}`,[lt.FALLBACK_DECODER]:`${Gs}/${lt.FALLBACK_DECODER}`,[lt.ENCODER]:`https://raw.githubusercontent.com/google/draco/${Ll}/javascript/${lt.ENCODER}`},Js,Zs;async function ua(r){let t=r.modules||{};return t.draco3d?Js||=t.draco3d.createDecoderModule({}).then(e=>({draco:e})):Js||=El(r),await Js}async function da(r){let t=r.modules||{};return t.draco3d?Zs||=t.draco3d.createEncoderModule({}).then(e=>({draco:e})):Zs||=Rl(r),await Zs}async function El(r){let t,e;switch(r.draco&&r.draco.decoderType){case"js":t=await Pr(kr[lt.FALLBACK_DECODER],"draco",r,lt.FALLBACK_DECODER);break;case"wasm":default:[t,e]=await Promise.all([await Pr(kr[lt.DECODER],"draco",r,lt.DECODER),await Pr(kr[lt.DECODER_WASM],"draco",r,lt.DECODER_WASM)])}return t=t||globalThis.DracoDecoderModule,await Ul(t,e)}function Ul(r,t){let e={};return t&&(e.wasmBinary=t),new Promise(i=>{r({...e,onModuleLoaded:n=>i({draco:n})})})}async function Rl(r){let t=await Pr(kr[lt.ENCODER],"draco",r,lt.ENCODER);return t=t||globalThis.DracoEncoderModule,new Promise(e=>{t({onModuleLoaded:i=>e({draco:i})})})}var ha={POSITION:"POSITION",NORMAL:"NORMAL",COLOR_0:"COLOR",TEXCOORD_0:"TEX_COORD"},Cl=()=>{},xi=class{draco;dracoEncoder;dracoMeshBuilder;dracoMetadataBuilder;log;constructor(t){this.draco=t,this.dracoEncoder=new this.draco.Encoder,this.dracoMeshBuilder=new this.draco.MeshBuilder,this.dracoMetadataBuilder=new this.draco.MetadataBuilder}destroy(){this.destroyEncodedObject(this.dracoMeshBuilder),this.destroyEncodedObject(this.dracoEncoder),this.destroyEncodedObject(this.dracoMetadataBuilder),this.dracoMeshBuilder=null,this.dracoEncoder=null,this.draco=null}destroyEncodedObject(t){t&&this.draco.destroy(t)}encodeSync(t,e={}){return this.log=Cl,this._setOptions(e),e.pointcloud?this._encodePointCloud(t,e):this._encodeMesh(t,e)}_getAttributesFromMesh(t){let e={...t,...t.attributes};return t.indices&&(e.indices=t.indices),e}_encodePointCloud(t,e){let i=new this.draco.PointCloud;e.metadata&&this._addGeometryMetadata(i,e.metadata);let n=this._getAttributesFromMesh(t);this._createDracoPointCloud(i,n,e);let s=new this.draco.DracoInt8Array;try{let o=this.dracoEncoder.EncodePointCloudToDracoBuffer(i,!1,s);if(!(o>0))throw new Error("Draco encoding failed.");return this.log(`DRACO encoded ${i.num_points()} points
8
8
  with ${i.num_attributes()} attributes into ${o} bytes`),fa(s)}finally{this.destroyEncodedObject(s),this.destroyEncodedObject(i)}}_encodeMesh(t,e){let i=new this.draco.Mesh;e.metadata&&this._addGeometryMetadata(i,e.metadata);let n=this._getAttributesFromMesh(t);this._createDracoMesh(i,n,e);let s=new this.draco.DracoInt8Array;try{let o=this.dracoEncoder.EncodeMeshToDracoBuffer(i,s);if(o<=0)throw new Error("Draco encoding failed.");return this.log(`DRACO encoded ${i.num_points()} points
9
- with ${i.num_attributes()} attributes into ${o} bytes`),fa(s)}finally{this.destroyEncodedObject(s),this.destroyEncodedObject(i)}}_setOptions(t){if("speed"in t&&this.dracoEncoder.SetSpeedOptions(...t.speed),"method"in t){let e=this.draco[t.method||"MESH_SEQUENTIAL_ENCODING"];this.dracoEncoder.SetEncodingMethod(e)}if("quantization"in t)for(let e in t.quantization){let i=t.quantization[e],n=this.draco[e];this.dracoEncoder.SetAttributeQuantization(n,i)}}_createDracoMesh(t,e,i){let n=i.attributesMetadata||{};try{let s=this._getPositionAttribute(e);if(!s)throw new Error("positions");let o=s.length/3;for(let a in e){let c=e[a];a=ha[a]||a;let l=this._addAttributeToMesh(t,a,c,o);l!==-1&&this._addAttributeMetadata(t,l,{name:a,...n[a]||{}})}}catch(s){throw this.destroyEncodedObject(t),s}return t}_createDracoPointCloud(t,e,i){let n=i.attributesMetadata||{};try{let s=this._getPositionAttribute(e);if(!s)throw new Error("positions");let o=s.length/3;for(let a in e){let c=e[a];a=ha[a]||a;let l=this._addAttributeToMesh(t,a,c,o);l!==-1&&this._addAttributeMetadata(t,l,{name:a,...n[a]||{}})}}catch(s){throw this.destroyEncodedObject(t),s}return t}_addAttributeToMesh(t,e,i,n){if(!ArrayBuffer.isView(i))return-1;let s=this._getDracoAttributeType(e),o=i.length/n;if(s==="indices"){let l=i.length/3;return this.log(`Adding attribute ${e}, size ${l}`),this.dracoMeshBuilder.AddFacesToMesh(t,l,i),-1}this.log(`Adding attribute ${e}, size ${o}`);let a=this.dracoMeshBuilder,{buffer:c}=i;switch(i.constructor){case Int8Array:return a.AddInt8Attribute(t,s,n,o,new Int8Array(c));case Int16Array:return a.AddInt16Attribute(t,s,n,o,new Int16Array(c));case Int32Array:return a.AddInt32Attribute(t,s,n,o,new Int32Array(c));case Uint8Array:case Uint8ClampedArray:return a.AddUInt8Attribute(t,s,n,o,new Uint8Array(c));case Uint16Array:return a.AddUInt16Attribute(t,s,n,o,new Uint16Array(c));case Uint32Array:return a.AddUInt32Attribute(t,s,n,o,new Uint32Array(c));case Float32Array:return a.AddFloatAttribute(t,s,n,o,new Float32Array(c));default:return console.warn("Unsupported attribute type",i),-1}}_getDracoAttributeType(t){switch(t.toLowerCase()){case"indices":return"indices";case"position":case"positions":case"vertices":return this.draco.POSITION;case"normal":case"normals":return this.draco.NORMAL;case"color":case"colors":return this.draco.COLOR;case"texcoord":case"texcoords":return this.draco.TEX_COORD;default:return this.draco.GENERIC}}_getPositionAttribute(t){for(let e in t){let i=t[e];if(this._getDracoAttributeType(e)===this.draco.POSITION)return i}return null}_addGeometryMetadata(t,e){let i=new this.draco.Metadata;this._populateDracoMetadata(i,e),this.dracoMeshBuilder.AddMetadata(t,i)}_addAttributeMetadata(t,e,i){let n=new this.draco.Metadata;this._populateDracoMetadata(n,i),this.dracoMeshBuilder.SetMetadataForAttribute(t,e,n)}_populateDracoMetadata(t,e){for(let[i,n]of Vl(e))switch(typeof n){case"number":Math.trunc(n)===n?this.dracoMetadataBuilder.AddIntEntry(t,i,n):this.dracoMetadataBuilder.AddDoubleEntry(t,i,n);break;case"object":n instanceof Int32Array&&this.dracoMetadataBuilder.AddIntEntryArray(t,i,n,n.length);break;case"string":default:this.dracoMetadataBuilder.AddStringEntry(t,i,n)}}};function fa(r){let t=r.size(),e=new ArrayBuffer(t),i=new Int8Array(e);for(let n=0;n<t;++n)i[n]=r.GetValue(n);return e}function Vl(r){return r.entries&&!r.hasOwnProperty("entries")?r.entries():Object.entries(r)}var Ti="4.4.0-alpha.0";var zl={pointcloud:!1,attributeNameEntry:"name"},pa={id:"draco-writer",name:"Draco compressed geometry writer",module:"draco",version:Ti,worker:!0,options:{draco:{},source:null}},ma={name:"DRACO",id:"draco",module:"draco",version:Ti,extensions:["drc"],mimeTypes:["application/octet-stream"],options:{draco:zl},encode:Pl};async function Pl(r,t={}){let{draco:e}=await da(t),i=new xi(e);try{return i.encodeSync(r,t.draco)}finally{i.destroy()}}function kl(r,t="float32"){return r instanceof Date?"date-millisecond":r instanceof Number?t:typeof r=="string"?"utf8":(r===null||r==="undefined","null")}function ya(r){let t=Xs(r);return t!=="null"?{type:t,nullable:!1}:r.length>0?(t=kl(r[0]),{type:t,nullable:!0}):{type:"null",nullable:!0}}function Xs(r){switch(r.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 ga(r,t){var e={};for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&t.indexOf(i)<0&&(e[i]=r[i]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,i=Object.getOwnPropertySymbols(r);n<i.length;n++)t.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(r,i[n])&&(e[i[n]]=r[i[n]]);return e}function m(r,t,e,i){function n(s){return s instanceof e?s:new e(function(o){o(s)})}return new(e||(e=Promise))(function(s,o){function a(d){try{l(i.next(d))}catch(h){o(h)}}function c(d){try{l(i.throw(d))}catch(h){o(h)}}function l(d){d.done?s(d.value):n(d.value).then(a,c)}l((i=i.apply(r,t||[])).next())})}function ba(r){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&r[t],i=0;if(e)return e.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&i>=r.length&&(r=void 0),{value:r&&r[i++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function M(r){return this instanceof M?(this.v=r,this):new M(r)}function Ht(r,t,e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=e.apply(r,t||[]),n,s=[];return n=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",o),n[Symbol.asyncIterator]=function(){return this},n;function o(R){return function(it){return Promise.resolve(it).then(R,h)}}function a(R,it){i[R]&&(n[R]=function(Vr){return new Promise(function(Ys,Ke){s.push([R,Vr,Ys,Ke])>1||c(R,Vr)})},it&&(n[R]=it(n[R])))}function c(R,it){try{l(i[R](it))}catch(Vr){V(s[0][3],Vr)}}function l(R){R.value instanceof M?Promise.resolve(R.value.v).then(d,h):V(s[0][2],R)}function d(R){c("next",R)}function h(R){c("throw",R)}function V(R,it){R(it),s.shift(),s.length&&c(s[0][0],s[0][1])}}function jr(r){var t,e;return t={},i("next"),i("throw",function(n){throw n}),i("return"),t[Symbol.iterator]=function(){return this},t;function i(n,s){t[n]=r[n]?function(o){return(e=!e)?{value:M(r[n](o)),done:!1}:s?s(o):o}:s}}function le(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=r[Symbol.asyncIterator],e;return t?t.call(r):(r=typeof ba=="function"?ba(r):r[Symbol.iterator](),e={},i("next"),i("throw"),i("return"),e[Symbol.asyncIterator]=function(){return this},e);function i(s){e[s]=r[s]&&function(o){return new Promise(function(a,c){o=r[s](o),n(a,c,o.done,o.value)})}}function n(s,o,a,c){Promise.resolve(c).then(function(l){s({value:l,done:a})},o)}}var ro={};Qe(ro,{compareArrayLike:()=>eo,joinUint8Arrays:()=>Gt,memcpy:()=>Mi,rebaseValueOffsets:()=>Ln,toArrayBufferView:()=>N,toArrayBufferViewAsyncIterator:()=>he,toArrayBufferViewIterator:()=>Se,toBigInt64Array:()=>Nn,toBigUint64Array:()=>Xl,toFloat32Array:()=>ql,toFloat32ArrayAsyncIterator:()=>fu,toFloat32ArrayIterator:()=>su,toFloat64Array:()=>Kl,toFloat64ArrayAsyncIterator:()=>pu,toFloat64ArrayIterator:()=>ou,toInt16Array:()=>Gl,toInt16ArrayAsyncIterator:()=>lu,toInt16ArrayIterator:()=>eu,toInt32Array:()=>or,toInt32ArrayAsyncIterator:()=>uu,toInt32ArrayIterator:()=>ru,toInt8Array:()=>Hl,toInt8ArrayAsyncIterator:()=>cu,toInt8ArrayIterator:()=>tu,toUint16Array:()=>Jl,toUint16ArrayAsyncIterator:()=>du,toUint16ArrayIterator:()=>iu,toUint32Array:()=>Zl,toUint32ArrayAsyncIterator:()=>hu,toUint32ArrayIterator:()=>nu,toUint8Array:()=>S,toUint8ArrayAsyncIterator:()=>to,toUint8ArrayIterator:()=>Qs,toUint8ClampedArray:()=>Ql,toUint8ClampedArrayAsyncIterator:()=>mu,toUint8ClampedArrayIterator:()=>au});var jl=new TextDecoder("utf-8"),Oi=r=>jl.decode(r),Wl=new TextEncoder,Ie=r=>Wl.encode(r);var $l=r=>typeof r=="number",_a=r=>typeof r=="boolean",ct=r=>typeof r=="function",St=r=>r!=null&&Object(r)===r,ue=r=>St(r)&&ct(r.then);var de=r=>St(r)&&ct(r[Symbol.iterator]),Qt=r=>St(r)&&ct(r[Symbol.asyncIterator]),Dn=r=>St(r)&&St(r.schema);var xn=r=>St(r)&&"done"in r&&"value"in r;var Tn=r=>St(r)&&ct(r.stat)&&$l(r.fd);var On=r=>St(r)&&Fi(r.body),Fn=r=>"_getDOMStream"in r&&"_getNodeStream"in r,wa=r=>St(r)&&ct(r.abort)&&ct(r.getWriter)&&!Fn(r),Fi=r=>St(r)&&ct(r.cancel)&&ct(r.getReader)&&!Fn(r),va=r=>St(r)&&ct(r.end)&&ct(r.write)&&_a(r.writable)&&!Fn(r),Mn=r=>St(r)&&ct(r.read)&&ct(r.pipe)&&_a(r.readable)&&!Fn(r),Ia=r=>St(r)&&ct(r.clear)&&ct(r.bytes)&&ct(r.position)&&ct(r.setPosition)&&ct(r.capacity)&&ct(r.getBufferIdentifier)&&ct(r.createLong);var Ks=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:ArrayBuffer;function Yl(r){let t=r[0]?[r[0]]:[],e,i,n,s;for(let o,a,c=0,l=0,d=r.length;++c<d;){if(o=t[l],a=r[c],!o||!a||o.buffer!==a.buffer||a.byteOffset<o.byteOffset){a&&(t[++l]=a);continue}if({byteOffset:e,byteLength:n}=o,{byteOffset:i,byteLength:s}=a,e+n<i||i+s<e){a&&(t[++l]=a);continue}t[l]=new Uint8Array(o.buffer,e,i-e+s)}return t}function Mi(r,t,e=0,i=t.byteLength){let n=r.byteLength,s=new Uint8Array(r.buffer,r.byteOffset,n),o=new Uint8Array(t.buffer,t.byteOffset,Math.min(i,n));return s.set(o,e),r}function Gt(r,t){let e=Yl(r),i=e.reduce((d,h)=>d+h.byteLength,0),n,s,o,a=0,c=-1,l=Math.min(t||Number.POSITIVE_INFINITY,i);for(let d=e.length;++c<d;){if(n=e[c],s=n.subarray(0,Math.min(n.length,l-a)),l<=a+s.length){s.length<n.length?e[c]=n.subarray(s.length):s.length===n.length&&c++,o?Mi(o,s,a):o=s;break}Mi(o||(o=new Uint8Array(l)),s,a),a+=s.length}return[o||new Uint8Array(0),e.slice(c),i-(o?o.byteLength:0)]}function N(r,t){let e=xn(t)?t.value:t;return e instanceof r?r===Uint8Array?new r(e.buffer,e.byteOffset,e.byteLength):e:e?(typeof e=="string"&&(e=Ie(e)),e instanceof ArrayBuffer?new r(e):e instanceof Ks?new r(e):Ia(e)?N(r,e.bytes()):ArrayBuffer.isView(e)?e.byteLength<=0?new r(0):new r(e.buffer,e.byteOffset,e.byteLength/r.BYTES_PER_ELEMENT):r.from(e)):new r(0)}var Hl=r=>N(Int8Array,r),Gl=r=>N(Int16Array,r),or=r=>N(Int32Array,r),Nn=r=>N(BigInt64Array,r),S=r=>N(Uint8Array,r),Jl=r=>N(Uint16Array,r),Zl=r=>N(Uint32Array,r),Xl=r=>N(BigUint64Array,r),ql=r=>N(Float32Array,r),Kl=r=>N(Float64Array,r),Ql=r=>N(Uint8ClampedArray,r),qs=r=>(r.next(),r);function*Se(r,t){let e=function*(n){yield n},i=typeof t=="string"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof Ks?e(t):de(t)?t:e(t);return yield*qs(function*(n){let s=null;do s=n.next(yield N(r,s));while(!s.done)}(i[Symbol.iterator]())),new r}var tu=r=>Se(Int8Array,r),eu=r=>Se(Int16Array,r),ru=r=>Se(Int32Array,r),Qs=r=>Se(Uint8Array,r),iu=r=>Se(Uint16Array,r),nu=r=>Se(Uint32Array,r),su=r=>Se(Float32Array,r),ou=r=>Se(Float64Array,r),au=r=>Se(Uint8ClampedArray,r);function he(r,t){return Ht(this,arguments,function*(){if(ue(t))return yield M(yield M(yield*jr(le(he(r,yield M(t))))));let i=function(o){return Ht(this,arguments,function*(){yield yield M(yield M(o))})},n=function(o){return Ht(this,arguments,function*(){yield M(yield*jr(le(qs(function*(a){let c=null;do c=a.next(yield c?.value);while(!c.done)}(o[Symbol.iterator]())))))})},s=typeof t=="string"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof Ks?i(t):de(t)?n(t):Qt(t)?t:i(t);return yield M(yield*jr(le(qs(function(o){return Ht(this,arguments,function*(){let a=null;do a=yield M(o.next(yield yield M(N(r,a))));while(!a.done)})}(s[Symbol.asyncIterator]()))))),yield M(new r)})}var cu=r=>he(Int8Array,r),lu=r=>he(Int16Array,r),uu=r=>he(Int32Array,r),to=r=>he(Uint8Array,r),du=r=>he(Uint16Array,r),hu=r=>he(Uint32Array,r),fu=r=>he(Float32Array,r),pu=r=>he(Float64Array,r),mu=r=>he(Uint8ClampedArray,r);function Ln(r,t,e){if(r!==0){e=e.slice(0,t);for(let i=-1,n=e.length;++i<n;)e[i]+=r}return e.subarray(0,t)}function eo(r,t){let e=0,i=r.length;if(i!==t.length)return!1;if(i>0)do if(r[e]!==t[e])return!1;while(++e<i);return!0}var mt={fromIterable(r){return En(yu(r))},fromAsyncIterable(r){return En(bu(r))},fromDOMStream(r){return En(gu(r))},fromNodeStream(r){return En(_u(r))},toDOMStream(r,t){throw new Error('"toDOMStream" not available in this environment')},toNodeStream(r,t){throw new Error('"toNodeStream" not available in this environment')}},En=r=>(r.next(),r);function*yu(r){let t,e=!1,i=[],n,s,o,a=0;function c(){return s==="peek"?Gt(i,o)[0]:([n,i,a]=Gt(i,o),n)}({cmd:s,size:o}=(yield(()=>null)())||{cmd:"read",size:0});let l=Qs(r)[Symbol.iterator]();try{do if({done:t,value:n}=Number.isNaN(o-a)?l.next():l.next(o-a),!t&&n.byteLength>0&&(i.push(n),a+=n.byteLength),t||o<=a)do({cmd:s,size:o}=yield c());while(o<a);while(!t)}catch(d){(e=!0)&&typeof l.throw=="function"&&l.throw(d)}finally{e===!1&&typeof l.return=="function"&&l.return(null)}return null}function bu(r){return Ht(this,arguments,function*(){let e,i=!1,n=[],s,o,a,c=0;function l(){return o==="peek"?Gt(n,a)[0]:([s,n,c]=Gt(n,a),s)}({cmd:o,size:a}=(yield yield M((()=>null)()))||{cmd:"read",size:0});let d=to(r)[Symbol.asyncIterator]();try{do if({done:e,value:s}=Number.isNaN(a-c)?yield M(d.next()):yield M(d.next(a-c)),!e&&s.byteLength>0&&(n.push(s),c+=s.byteLength),e||a<=c)do({cmd:o,size:a}=yield yield M(l()));while(a<c);while(!e)}catch(h){(i=!0)&&typeof d.throw=="function"&&(yield M(d.throw(h)))}finally{i===!1&&typeof d.return=="function"&&(yield M(d.return(new Uint8Array(0))))}return yield M(null)})}function gu(r){return Ht(this,arguments,function*(){let e=!1,i=!1,n=[],s,o,a,c=0;function l(){return o==="peek"?Gt(n,a)[0]:([s,n,c]=Gt(n,a),s)}({cmd:o,size:a}=(yield yield M((()=>null)()))||{cmd:"read",size:0});let d=new no(r);try{do if({done:e,value:s}=Number.isNaN(a-c)?yield M(d.read()):yield M(d.read(a-c)),!e&&s.byteLength>0&&(n.push(S(s)),c+=s.byteLength),e||a<=c)do({cmd:o,size:a}=yield yield M(l()));while(a<c);while(!e)}catch(h){(i=!0)&&(yield M(d.cancel(h)))}finally{i===!1?yield M(d.cancel()):r.locked&&d.releaseLock()}return yield M(null)})}var no=class{constructor(t){this.source=t,this.reader=null,this.reader=this.source.getReader(),this.reader.closed.catch(()=>{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(t){return m(this,void 0,void 0,function*(){let{reader:e,source:i}=this;e&&(yield e.cancel(t).catch(()=>{})),i&&i.locked&&this.releaseLock()})}read(t){return m(this,void 0,void 0,function*(){if(t===0)return{done:this.reader==null,value:new Uint8Array(0)};let e=yield this.reader.read();return!e.done&&(e.value=S(e)),e})}},io=(r,t)=>{let e=n=>i([t,n]),i;return[t,e,new Promise(n=>(i=n)&&r.once(t,e))]};function _u(r){return Ht(this,arguments,function*(){let e=[],i="error",n=!1,s=null,o,a,c=0,l=[],d;function h(){return o==="peek"?Gt(l,a)[0]:([d,l,c]=Gt(l,a),d)}if({cmd:o,size:a}=(yield yield M((()=>null)()))||{cmd:"read",size:0},r.isTTY)return yield yield M(new Uint8Array(0)),yield M(null);try{e[0]=io(r,"end"),e[1]=io(r,"error");do{if(e[2]=io(r,"readable"),[i,s]=yield M(Promise.race(e.map(R=>R[2]))),i==="error")break;if((n=i==="end")||(Number.isFinite(a-c)?(d=S(r.read(a-c)),d.byteLength<a-c&&(d=S(r.read()))):d=S(r.read()),d.byteLength>0&&(l.push(d),c+=d.byteLength)),n||a<=c)do({cmd:o,size:a}=yield yield M(h()));while(a<c)}while(!n)}finally{yield M(V(e,i==="error"?s:null))}return yield M(null);function V(R,it){return d=l=null,new Promise((Vr,Ys)=>{for(let[Ke,gl]of R)r.off(Ke,gl);try{let Ke=r.destroy;Ke&&Ke.call(r,it),it=void 0}catch(Ke){it=Ke||it}finally{it!=null?Ys(it):Vr()}})}})}var P;(function(r){r[r.V1=0]="V1",r[r.V2=1]="V2",r[r.V3=2]="V3",r[r.V4=3]="V4",r[r.V5=4]="V5"})(P||(P={}));var Y;(function(r){r[r.Sparse=0]="Sparse",r[r.Dense=1]="Dense"})(Y||(Y={}));var W;(function(r){r[r.HALF=0]="HALF",r[r.SINGLE=1]="SINGLE",r[r.DOUBLE=2]="DOUBLE"})(W||(W={}));var X;(function(r){r[r.DAY=0]="DAY",r[r.MILLISECOND=1]="MILLISECOND"})(X||(X={}));var p;(function(r){r[r.SECOND=0]="SECOND",r[r.MILLISECOND=1]="MILLISECOND",r[r.MICROSECOND=2]="MICROSECOND",r[r.NANOSECOND=3]="NANOSECOND"})(p||(p={}));var Q;(function(r){r[r.YEAR_MONTH=0]="YEAR_MONTH",r[r.DAY_TIME=1]="DAY_TIME",r[r.MONTH_DAY_NANO=2]="MONTH_DAY_NANO"})(Q||(Q={}));var Ae=new Int32Array(2),Un=new Float32Array(Ae.buffer),Rn=new Float64Array(Ae.buffer),Wr=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var Ni;(function(r){r[r.UTF8_BYTES=1]="UTF8_BYTES",r[r.UTF16_STRING=2]="UTF16_STRING"})(Ni||(Ni={}));var At=class{constructor(t){this.bytes_=t,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(t){return new At(new Uint8Array(t))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(t){this.position_=t}capacity(){return this.bytes_.length}readInt8(t){return this.readUint8(t)<<24>>24}readUint8(t){return this.bytes_[t]}readInt16(t){return this.readUint16(t)<<16>>16}readUint16(t){return this.bytes_[t]|this.bytes_[t+1]<<8}readInt32(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24}readUint32(t){return this.readInt32(t)>>>0}readInt64(t){return BigInt.asIntN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<<BigInt(32)))}readUint64(t){return BigInt.asUintN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<<BigInt(32)))}readFloat32(t){return Ae[0]=this.readInt32(t),Un[0]}readFloat64(t){return Ae[Wr?0:1]=this.readInt32(t),Ae[Wr?1:0]=this.readInt32(t+4),Rn[0]}writeInt8(t,e){this.bytes_[t]=e}writeUint8(t,e){this.bytes_[t]=e}writeInt16(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8}writeUint16(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8}writeInt32(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24}writeUint32(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24}writeInt64(t,e){this.writeInt32(t,Number(BigInt.asIntN(32,e))),this.writeInt32(t+4,Number(BigInt.asIntN(32,e>>BigInt(32))))}writeUint64(t,e){this.writeUint32(t,Number(BigInt.asUintN(32,e))),this.writeUint32(t+4,Number(BigInt.asUintN(32,e>>BigInt(32))))}writeFloat32(t,e){Un[0]=e,this.writeInt32(t,Ae[0])}writeFloat64(t,e){Rn[0]=e,this.writeInt32(t,Ae[Wr?0:1]),this.writeInt32(t+4,Ae[Wr?1:0])}getBufferIdentifier(){if(this.bytes_.length<this.position_+4+4)throw new Error("FlatBuffers: ByteBuffer is too short to contain an identifier.");let t="";for(let e=0;e<4;e++)t+=String.fromCharCode(this.readInt8(this.position_+4+e));return t}__offset(t,e){let i=t-this.readInt32(t);return e<this.readInt16(i)?this.readInt16(i+e):0}__union(t,e){return t.bb_pos=e+this.readInt32(e),t.bb=this,t}__string(t,e){t+=this.readInt32(t);let i=this.readInt32(t);t+=4;let n=this.bytes_.subarray(t,t+i);return e===Ni.UTF8_BYTES?n:this.text_decoder_.decode(n)}__union_with_string(t,e){return typeof t=="string"?this.__string(e):this.__union(t,e)}__indirect(t){return t+this.readInt32(t)}__vector(t){return t+this.readInt32(t)+4}__vector_len(t){return this.readInt32(t+this.readInt32(t))}__has_identifier(t){if(t.length!=4)throw new Error("FlatBuffers: file identifier must be length "+4);for(let e=0;e<4;e++)if(t.charCodeAt(e)!=this.readInt8(this.position()+4+e))return!1;return!0}createScalarList(t,e){let i=[];for(let n=0;n<e;++n){let s=t(n);s!==null&&i.push(s)}return i}createObjList(t,e){let i=[];for(let n=0;n<e;++n){let s=t(n);s!==null&&i.push(s.unpack())}return i}};var ke=class{constructor(t){this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1,this.string_maps=null,this.text_encoder=new TextEncoder;let e;t?e=t:e=1024,this.bb=At.allocate(e),this.space=e}clear(){this.bb.clear(),this.space=this.bb.capacity(),this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1,this.string_maps=null}forceDefaults(t){this.force_defaults=t}dataBuffer(){return this.bb}asUint8Array(){return this.bb.bytes().subarray(this.bb.position(),this.bb.position()+this.offset())}prep(t,e){t>this.minalign&&(this.minalign=t);let i=~(this.bb.capacity()-this.space+e)+1&t-1;for(;this.space<i+t+e;){let n=this.bb.capacity();this.bb=ke.growByteBuffer(this.bb),this.space+=this.bb.capacity()-n}this.pad(i)}pad(t){for(let e=0;e<t;e++)this.bb.writeInt8(--this.space,0)}writeInt8(t){this.bb.writeInt8(this.space-=1,t)}writeInt16(t){this.bb.writeInt16(this.space-=2,t)}writeInt32(t){this.bb.writeInt32(this.space-=4,t)}writeInt64(t){this.bb.writeInt64(this.space-=8,t)}writeFloat32(t){this.bb.writeFloat32(this.space-=4,t)}writeFloat64(t){this.bb.writeFloat64(this.space-=8,t)}addInt8(t){this.prep(1,0),this.writeInt8(t)}addInt16(t){this.prep(2,0),this.writeInt16(t)}addInt32(t){this.prep(4,0),this.writeInt32(t)}addInt64(t){this.prep(8,0),this.writeInt64(t)}addFloat32(t){this.prep(4,0),this.writeFloat32(t)}addFloat64(t){this.prep(8,0),this.writeFloat64(t)}addFieldInt8(t,e,i){(this.force_defaults||e!=i)&&(this.addInt8(e),this.slot(t))}addFieldInt16(t,e,i){(this.force_defaults||e!=i)&&(this.addInt16(e),this.slot(t))}addFieldInt32(t,e,i){(this.force_defaults||e!=i)&&(this.addInt32(e),this.slot(t))}addFieldInt64(t,e,i){(this.force_defaults||e!==i)&&(this.addInt64(e),this.slot(t))}addFieldFloat32(t,e,i){(this.force_defaults||e!=i)&&(this.addFloat32(e),this.slot(t))}addFieldFloat64(t,e,i){(this.force_defaults||e!=i)&&(this.addFloat64(e),this.slot(t))}addFieldOffset(t,e,i){(this.force_defaults||e!=i)&&(this.addOffset(e),this.slot(t))}addFieldStruct(t,e,i){e!=i&&(this.nested(e),this.slot(t))}nested(t){if(t!=this.offset())throw new TypeError("FlatBuffers: struct must be serialized inline.")}notNested(){if(this.isNested)throw new TypeError("FlatBuffers: object serialization must not be nested.")}slot(t){this.vtable!==null&&(this.vtable[t]=this.offset())}offset(){return this.bb.capacity()-this.space}static growByteBuffer(t){let e=t.capacity();if(e&3221225472)throw new Error("FlatBuffers: cannot grow buffer beyond 2 gigabytes.");let i=e<<1,n=At.allocate(i);return n.setPosition(i-e),n.bytes().set(t.bytes(),i-e),n}addOffset(t){this.prep(4,0),this.writeInt32(this.offset()-t+4)}startObject(t){this.notNested(),this.vtable==null&&(this.vtable=[]),this.vtable_in_use=t;for(let e=0;e<t;e++)this.vtable[e]=0;this.isNested=!0,this.object_start=this.offset()}endObject(){if(this.vtable==null||!this.isNested)throw new Error("FlatBuffers: endObject called without startObject");this.addInt32(0);let t=this.offset(),e=this.vtable_in_use-1;for(;e>=0&&this.vtable[e]==0;e--);let i=e+1;for(;e>=0;e--)this.addInt16(this.vtable[e]!=0?t-this.vtable[e]:0);let n=2;this.addInt16(t-this.object_start);let s=(i+n)*2;this.addInt16(s);let o=0,a=this.space;t:for(e=0;e<this.vtables.length;e++){let c=this.bb.capacity()-this.vtables[e];if(s==this.bb.readInt16(c)){for(let l=2;l<s;l+=2)if(this.bb.readInt16(a+l)!=this.bb.readInt16(c+l))continue t;o=this.vtables[e];break}}return o?(this.space=this.bb.capacity()-t,this.bb.writeInt32(this.space,o-t)):(this.vtables.push(this.offset()),this.bb.writeInt32(this.bb.capacity()-t,this.offset()-t)),this.isNested=!1,t}finish(t,e,i){let n=i?4:0;if(e){let s=e;if(this.prep(this.minalign,4+4+n),s.length!=4)throw new TypeError("FlatBuffers: file identifier must be length "+4);for(let o=4-1;o>=0;o--)this.writeInt8(s.charCodeAt(o))}this.prep(this.minalign,4+n),this.addOffset(t),n&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(t,e){this.finish(t,e,!0)}requiredField(t,e){let i=this.bb.capacity()-t,n=i-this.bb.readInt32(i);if(!(e<this.bb.readInt16(n)&&this.bb.readInt16(n+e)!=0))throw new TypeError("FlatBuffers: field "+e+" must be set")}startVector(t,e,i){this.notNested(),this.vector_num_elems=e,this.prep(4,t*e),this.prep(i,t*e)}endVector(){return this.writeInt32(this.vector_num_elems),this.offset()}createSharedString(t){if(!t)return 0;if(this.string_maps||(this.string_maps=new Map),this.string_maps.has(t))return this.string_maps.get(t);let e=this.createString(t);return this.string_maps.set(t,e),e}createString(t){if(t==null)return 0;let e;return t instanceof Uint8Array?e=t:e=this.text_encoder.encode(t),this.addInt8(0),this.startVector(1,e.length,1),this.bb.setPosition(this.space-=e.length),this.bb.bytes().set(e,this.space),this.endVector()}createByteVector(t){return t==null?0:(this.startVector(1,t.length,1),this.bb.setPosition(this.space-=t.length),this.bb.bytes().set(t,this.space),this.endVector())}createObjectOffset(t){return t===null?0:typeof t=="string"?this.createString(t):t.pack(this)}createObjectOffsetList(t){let e=[];for(let i=0;i<t.length;++i){let n=t[i];if(n!==null)e.push(this.createObjectOffset(n));else throw new TypeError("FlatBuffers: Argument for createObjectOffsetList cannot contain null.")}return e}createStructOffsetList(t,e){return e(this,t.length),this.createObjectOffsetList(t.slice().reverse()),this.endVector()}};var Li;(function(r){r[r.BUFFER=0]="BUFFER"})(Li||(Li={}));var Ei;(function(r){r[r.LZ4_FRAME=0]="LZ4_FRAME",r[r.ZSTD=1]="ZSTD"})(Ei||(Ei={}));var pe=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsBodyCompression(t,e){return(e||new pe).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsBodyCompression(t,e){return t.setPosition(t.position()+4),(e||new pe).__init(t.readInt32(t.position())+t.position(),t)}codec(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt8(this.bb_pos+t):Ei.LZ4_FRAME}method(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt8(this.bb_pos+t):Li.BUFFER}static startBodyCompression(t){t.startObject(2)}static addCodec(t,e){t.addFieldInt8(0,e,Ei.LZ4_FRAME)}static addMethod(t,e){t.addFieldInt8(1,e,Li.BUFFER)}static endBodyCompression(t){return t.endObject()}static createBodyCompression(t,e,i){return pe.startBodyCompression(t),pe.addCodec(t,e),pe.addMethod(t,i),pe.endBodyCompression(t)}};var $r=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}offset(){return this.bb.readInt64(this.bb_pos)}length(){return this.bb.readInt64(this.bb_pos+8)}static sizeOf(){return 16}static createBuffer(t,e,i){return t.prep(8,16),t.writeInt64(BigInt(i??0)),t.writeInt64(BigInt(e??0)),t.offset()}};var Yr=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}length(){return this.bb.readInt64(this.bb_pos)}nullCount(){return this.bb.readInt64(this.bb_pos+8)}static sizeOf(){return 16}static createFieldNode(t,e,i){return t.prep(8,16),t.writeInt64(BigInt(i??0)),t.writeInt64(BigInt(e??0)),t.offset()}};var gt=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsRecordBatch(t,e){return(e||new gt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsRecordBatch(t,e){return t.setPosition(t.position()+4),(e||new gt).__init(t.readInt32(t.position())+t.position(),t)}length(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt64(this.bb_pos+t):BigInt("0")}nodes(t,e){let i=this.bb.__offset(this.bb_pos,6);return i?(e||new Yr).__init(this.bb.__vector(this.bb_pos+i)+t*16,this.bb):null}nodesLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}buffers(t,e){let i=this.bb.__offset(this.bb_pos,8);return i?(e||new $r).__init(this.bb.__vector(this.bb_pos+i)+t*16,this.bb):null}buffersLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}compression(t){let e=this.bb.__offset(this.bb_pos,10);return e?(t||new pe).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}static startRecordBatch(t){t.startObject(4)}static addLength(t,e){t.addFieldInt64(0,e,BigInt("0"))}static addNodes(t,e){t.addFieldOffset(1,e,0)}static startNodesVector(t,e){t.startVector(16,e,8)}static addBuffers(t,e){t.addFieldOffset(2,e,0)}static startBuffersVector(t,e){t.startVector(16,e,8)}static addCompression(t,e){t.addFieldOffset(3,e,0)}static endRecordBatch(t){return t.endObject()}};var ee=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsDictionaryBatch(t,e){return(e||new ee).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDictionaryBatch(t,e){return t.setPosition(t.position()+4),(e||new ee).__init(t.readInt32(t.position())+t.position(),t)}id(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt64(this.bb_pos+t):BigInt("0")}data(t){let e=this.bb.__offset(this.bb_pos,6);return e?(t||new gt).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}isDelta(){let t=this.bb.__offset(this.bb_pos,8);return t?!!this.bb.readInt8(this.bb_pos+t):!1}static startDictionaryBatch(t){t.startObject(3)}static addId(t,e){t.addFieldInt64(0,e,BigInt("0"))}static addData(t,e){t.addFieldOffset(1,e,0)}static addIsDelta(t,e){t.addFieldInt8(2,+e,0)}static endDictionaryBatch(t){return t.endObject()}};var tr;(function(r){r[r.Little=0]="Little",r[r.Big=1]="Big"})(tr||(tr={}));var Ui;(function(r){r[r.DenseArray=0]="DenseArray"})(Ui||(Ui={}));var ut=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsInt(t,e){return(e||new ut).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsInt(t,e){return t.setPosition(t.position()+4),(e||new ut).__init(t.readInt32(t.position())+t.position(),t)}bitWidth(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}isSigned(){let t=this.bb.__offset(this.bb_pos,6);return t?!!this.bb.readInt8(this.bb_pos+t):!1}static startInt(t){t.startObject(2)}static addBitWidth(t,e){t.addFieldInt32(0,e,0)}static addIsSigned(t,e){t.addFieldInt8(1,+e,0)}static endInt(t){return t.endObject()}static createInt(t,e,i){return ut.startInt(t),ut.addBitWidth(t,e),ut.addIsSigned(t,i),ut.endInt(t)}};var Jt=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsDictionaryEncoding(t,e){return(e||new Jt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDictionaryEncoding(t,e){return t.setPosition(t.position()+4),(e||new Jt).__init(t.readInt32(t.position())+t.position(),t)}id(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt64(this.bb_pos+t):BigInt("0")}indexType(t){let e=this.bb.__offset(this.bb_pos,6);return e?(t||new ut).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}isOrdered(){let t=this.bb.__offset(this.bb_pos,8);return t?!!this.bb.readInt8(this.bb_pos+t):!1}dictionaryKind(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):Ui.DenseArray}static startDictionaryEncoding(t){t.startObject(4)}static addId(t,e){t.addFieldInt64(0,e,BigInt("0"))}static addIndexType(t,e){t.addFieldOffset(1,e,0)}static addIsOrdered(t,e){t.addFieldInt8(2,+e,0)}static addDictionaryKind(t,e){t.addFieldInt16(3,e,Ui.DenseArray)}static endDictionaryEncoding(t){return t.endObject()}};var G=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsKeyValue(t,e){return(e||new G).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsKeyValue(t,e){return t.setPosition(t.position()+4),(e||new G).__init(t.readInt32(t.position())+t.position(),t)}key(t){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}value(t){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__string(this.bb_pos+e,t):null}static startKeyValue(t){t.startObject(2)}static addKey(t,e){t.addFieldOffset(0,e,0)}static addValue(t,e){t.addFieldOffset(1,e,0)}static endKeyValue(t){return t.endObject()}static createKeyValue(t,e,i){return G.startKeyValue(t),G.addKey(t,e),G.addValue(t,i),G.endKeyValue(t)}};var Be=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsBinary(t,e){return(e||new Be).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsBinary(t,e){return t.setPosition(t.position()+4),(e||new Be).__init(t.readInt32(t.position())+t.position(),t)}static startBinary(t){t.startObject(0)}static endBinary(t){return t.endObject()}static createBinary(t){return Be.startBinary(t),Be.endBinary(t)}};var De=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsBool(t,e){return(e||new De).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsBool(t,e){return t.setPosition(t.position()+4),(e||new De).__init(t.readInt32(t.position())+t.position(),t)}static startBool(t){t.startObject(0)}static endBool(t){return t.endObject()}static createBool(t){return De.startBool(t),De.endBool(t)}};var Ot=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsDate(t,e){return(e||new Ot).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDate(t,e){return t.setPosition(t.position()+4),(e||new Ot).__init(t.readInt32(t.position())+t.position(),t)}unit(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):X.MILLISECOND}static startDate(t){t.startObject(1)}static addUnit(t,e){t.addFieldInt16(0,e,X.MILLISECOND)}static endDate(t){return t.endObject()}static createDate(t,e){return Ot.startDate(t),Ot.addUnit(t,e),Ot.endDate(t)}};var dt=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsDecimal(t,e){return(e||new dt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDecimal(t,e){return t.setPosition(t.position()+4),(e||new dt).__init(t.readInt32(t.position())+t.position(),t)}precision(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}scale(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt32(this.bb_pos+t):0}bitWidth(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt32(this.bb_pos+t):128}static startDecimal(t){t.startObject(3)}static addPrecision(t,e){t.addFieldInt32(0,e,0)}static addScale(t,e){t.addFieldInt32(1,e,0)}static addBitWidth(t,e){t.addFieldInt32(2,e,128)}static endDecimal(t){return t.endObject()}static createDecimal(t,e,i,n){return dt.startDecimal(t),dt.addPrecision(t,e),dt.addScale(t,i),dt.addBitWidth(t,n),dt.endDecimal(t)}};var Ft=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsDuration(t,e){return(e||new Ft).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDuration(t,e){return t.setPosition(t.position()+4),(e||new Ft).__init(t.readInt32(t.position())+t.position(),t)}unit(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):p.MILLISECOND}static startDuration(t){t.startObject(1)}static addUnit(t,e){t.addFieldInt16(0,e,p.MILLISECOND)}static endDuration(t){return t.endObject()}static createDuration(t,e){return Ft.startDuration(t),Ft.addUnit(t,e),Ft.endDuration(t)}};var Mt=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsFixedSizeBinary(t,e){return(e||new Mt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsFixedSizeBinary(t,e){return t.setPosition(t.position()+4),(e||new Mt).__init(t.readInt32(t.position())+t.position(),t)}byteWidth(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}static startFixedSizeBinary(t){t.startObject(1)}static addByteWidth(t,e){t.addFieldInt32(0,e,0)}static endFixedSizeBinary(t){return t.endObject()}static createFixedSizeBinary(t,e){return Mt.startFixedSizeBinary(t),Mt.addByteWidth(t,e),Mt.endFixedSizeBinary(t)}};var Nt=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsFixedSizeList(t,e){return(e||new Nt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsFixedSizeList(t,e){return t.setPosition(t.position()+4),(e||new Nt).__init(t.readInt32(t.position())+t.position(),t)}listSize(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}static startFixedSizeList(t){t.startObject(1)}static addListSize(t,e){t.addFieldInt32(0,e,0)}static endFixedSizeList(t){return t.endObject()}static createFixedSizeList(t,e){return Nt.startFixedSizeList(t),Nt.addListSize(t,e),Nt.endFixedSizeList(t)}};var Lt=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsFloatingPoint(t,e){return(e||new Lt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsFloatingPoint(t,e){return t.setPosition(t.position()+4),(e||new Lt).__init(t.readInt32(t.position())+t.position(),t)}precision(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):W.HALF}static startFloatingPoint(t){t.startObject(1)}static addPrecision(t,e){t.addFieldInt16(0,e,W.HALF)}static endFloatingPoint(t){return t.endObject()}static createFloatingPoint(t,e){return Lt.startFloatingPoint(t),Lt.addPrecision(t,e),Lt.endFloatingPoint(t)}};var Et=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsInterval(t,e){return(e||new Et).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsInterval(t,e){return t.setPosition(t.position()+4),(e||new Et).__init(t.readInt32(t.position())+t.position(),t)}unit(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):Q.YEAR_MONTH}static startInterval(t){t.startObject(1)}static addUnit(t,e){t.addFieldInt16(0,e,Q.YEAR_MONTH)}static endInterval(t){return t.endObject()}static createInterval(t,e){return Et.startInterval(t),Et.addUnit(t,e),Et.endInterval(t)}};var xe=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsLargeBinary(t,e){return(e||new xe).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsLargeBinary(t,e){return t.setPosition(t.position()+4),(e||new xe).__init(t.readInt32(t.position())+t.position(),t)}static startLargeBinary(t){t.startObject(0)}static endLargeBinary(t){return t.endObject()}static createLargeBinary(t){return xe.startLargeBinary(t),xe.endLargeBinary(t)}};var Te=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsLargeUtf8(t,e){return(e||new Te).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsLargeUtf8(t,e){return t.setPosition(t.position()+4),(e||new Te).__init(t.readInt32(t.position())+t.position(),t)}static startLargeUtf8(t){t.startObject(0)}static endLargeUtf8(t){return t.endObject()}static createLargeUtf8(t){return Te.startLargeUtf8(t),Te.endLargeUtf8(t)}};var Oe=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsList(t,e){return(e||new Oe).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsList(t,e){return t.setPosition(t.position()+4),(e||new Oe).__init(t.readInt32(t.position())+t.position(),t)}static startList(t){t.startObject(0)}static endList(t){return t.endObject()}static createList(t){return Oe.startList(t),Oe.endList(t)}};var Ut=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsMap(t,e){return(e||new Ut).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsMap(t,e){return t.setPosition(t.position()+4),(e||new Ut).__init(t.readInt32(t.position())+t.position(),t)}keysSorted(){let t=this.bb.__offset(this.bb_pos,4);return t?!!this.bb.readInt8(this.bb_pos+t):!1}static startMap(t){t.startObject(1)}static addKeysSorted(t,e){t.addFieldInt8(0,+e,0)}static endMap(t){return t.endObject()}static createMap(t,e){return Ut.startMap(t),Ut.addKeysSorted(t,e),Ut.endMap(t)}};var Fe=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsNull(t,e){return(e||new Fe).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsNull(t,e){return t.setPosition(t.position()+4),(e||new Fe).__init(t.readInt32(t.position())+t.position(),t)}static startNull(t){t.startObject(0)}static endNull(t){return t.endObject()}static createNull(t){return Fe.startNull(t),Fe.endNull(t)}};var Me=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsStruct_(t,e){return(e||new Me).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsStruct_(t,e){return t.setPosition(t.position()+4),(e||new Me).__init(t.readInt32(t.position())+t.position(),t)}static startStruct_(t){t.startObject(0)}static endStruct_(t){return t.endObject()}static createStruct_(t){return Me.startStruct_(t),Me.endStruct_(t)}};var _t=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsTime(t,e){return(e||new _t).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsTime(t,e){return t.setPosition(t.position()+4),(e||new _t).__init(t.readInt32(t.position())+t.position(),t)}unit(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):p.MILLISECOND}bitWidth(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt32(this.bb_pos+t):32}static startTime(t){t.startObject(2)}static addUnit(t,e){t.addFieldInt16(0,e,p.MILLISECOND)}static addBitWidth(t,e){t.addFieldInt32(1,e,32)}static endTime(t){return t.endObject()}static createTime(t,e,i){return _t.startTime(t),_t.addUnit(t,e),_t.addBitWidth(t,i),_t.endTime(t)}};var wt=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsTimestamp(t,e){return(e||new wt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsTimestamp(t,e){return t.setPosition(t.position()+4),(e||new wt).__init(t.readInt32(t.position())+t.position(),t)}unit(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):p.SECOND}timezone(t){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__string(this.bb_pos+e,t):null}static startTimestamp(t){t.startObject(2)}static addUnit(t,e){t.addFieldInt16(0,e,p.SECOND)}static addTimezone(t,e){t.addFieldOffset(1,e,0)}static endTimestamp(t){return t.endObject()}static createTimestamp(t,e,i){return wt.startTimestamp(t),wt.addUnit(t,e),wt.addTimezone(t,i),wt.endTimestamp(t)}};var ht=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsUnion(t,e){return(e||new ht).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsUnion(t,e){return t.setPosition(t.position()+4),(e||new ht).__init(t.readInt32(t.position())+t.position(),t)}mode(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):Y.Sparse}typeIds(t){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readInt32(this.bb.__vector(this.bb_pos+e)+t*4):0}typeIdsLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}typeIdsArray(){let t=this.bb.__offset(this.bb_pos,6);return t?new Int32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startUnion(t){t.startObject(2)}static addMode(t,e){t.addFieldInt16(0,e,Y.Sparse)}static addTypeIds(t,e){t.addFieldOffset(1,e,0)}static createTypeIdsVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addInt32(e[i]);return t.endVector()}static startTypeIdsVector(t,e){t.startVector(4,e,4)}static endUnion(t){return t.endObject()}static createUnion(t,e,i){return ht.startUnion(t),ht.addMode(t,e),ht.addTypeIds(t,i),ht.endUnion(t)}};var Ne=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsUtf8(t,e){return(e||new Ne).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsUtf8(t,e){return t.setPosition(t.position()+4),(e||new Ne).__init(t.readInt32(t.position())+t.position(),t)}static startUtf8(t){t.startObject(0)}static endUtf8(t){return t.endObject()}static createUtf8(t){return Ne.startUtf8(t),Ne.endUtf8(t)}};var H;(function(r){r[r.NONE=0]="NONE",r[r.Null=1]="Null",r[r.Int=2]="Int",r[r.FloatingPoint=3]="FloatingPoint",r[r.Binary=4]="Binary",r[r.Utf8=5]="Utf8",r[r.Bool=6]="Bool",r[r.Decimal=7]="Decimal",r[r.Date=8]="Date",r[r.Time=9]="Time",r[r.Timestamp=10]="Timestamp",r[r.Interval=11]="Interval",r[r.List=12]="List",r[r.Struct_=13]="Struct_",r[r.Union=14]="Union",r[r.FixedSizeBinary=15]="FixedSizeBinary",r[r.FixedSizeList=16]="FixedSizeList",r[r.Map=17]="Map",r[r.Duration=18]="Duration",r[r.LargeBinary=19]="LargeBinary",r[r.LargeUtf8=20]="LargeUtf8",r[r.LargeList=21]="LargeList",r[r.RunEndEncoded=22]="RunEndEncoded"})(H||(H={}));var nt=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsField(t,e){return(e||new nt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsField(t,e){return t.setPosition(t.position()+4),(e||new nt).__init(t.readInt32(t.position())+t.position(),t)}name(t){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}nullable(){let t=this.bb.__offset(this.bb_pos,6);return t?!!this.bb.readInt8(this.bb_pos+t):!1}typeType(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readUint8(this.bb_pos+t):H.NONE}type(t){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__union(t,this.bb_pos+e):null}dictionary(t){let e=this.bb.__offset(this.bb_pos,12);return e?(t||new Jt).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}children(t,e){let i=this.bb.__offset(this.bb_pos,14);return i?(e||new nt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}childrenLength(){let t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,e){let i=this.bb.__offset(this.bb_pos,16);return i?(e||new G).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}static startField(t){t.startObject(7)}static addName(t,e){t.addFieldOffset(0,e,0)}static addNullable(t,e){t.addFieldInt8(1,+e,0)}static addTypeType(t,e){t.addFieldInt8(2,e,H.NONE)}static addType(t,e){t.addFieldOffset(3,e,0)}static addDictionary(t,e){t.addFieldOffset(4,e,0)}static addChildren(t,e){t.addFieldOffset(5,e,0)}static createChildrenVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startChildrenVector(t,e){t.startVector(4,e,4)}static addCustomMetadata(t,e){t.addFieldOffset(6,e,0)}static createCustomMetadataVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startCustomMetadataVector(t,e){t.startVector(4,e,4)}static endField(t){return t.endObject()}};var K=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsSchema(t,e){return(e||new K).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSchema(t,e){return t.setPosition(t.position()+4),(e||new K).__init(t.readInt32(t.position())+t.position(),t)}endianness(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):tr.Little}fields(t,e){let i=this.bb.__offset(this.bb_pos,6);return i?(e||new nt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}fieldsLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,e){let i=this.bb.__offset(this.bb_pos,8);return i?(e||new G).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}features(t){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readInt64(this.bb.__vector(this.bb_pos+e)+t*8):BigInt(0)}featuresLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}static startSchema(t){t.startObject(4)}static addEndianness(t,e){t.addFieldInt16(0,e,tr.Little)}static addFields(t,e){t.addFieldOffset(1,e,0)}static createFieldsVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startFieldsVector(t,e){t.startVector(4,e,4)}static addCustomMetadata(t,e){t.addFieldOffset(2,e,0)}static createCustomMetadataVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startCustomMetadataVector(t,e){t.startVector(4,e,4)}static addFeatures(t,e){t.addFieldOffset(3,e,0)}static createFeaturesVector(t,e){t.startVector(8,e.length,8);for(let i=e.length-1;i>=0;i--)t.addInt64(e[i]);return t.endVector()}static startFeaturesVector(t,e){t.startVector(8,e,8)}static endSchema(t){return t.endObject()}static finishSchemaBuffer(t,e){t.finish(e)}static finishSizePrefixedSchemaBuffer(t,e){t.finish(e,void 0,!0)}static createSchema(t,e,i,n,s){return K.startSchema(t),K.addEndianness(t,e),K.addFields(t,i),K.addCustomMetadata(t,n),K.addFeatures(t,s),K.endSchema(t)}};var U;(function(r){r[r.NONE=0]="NONE",r[r.Schema=1]="Schema",r[r.DictionaryBatch=2]="DictionaryBatch",r[r.RecordBatch=3]="RecordBatch",r[r.Tensor=4]="Tensor",r[r.SparseTensor=5]="SparseTensor"})(U||(U={}));var u;(function(r){r[r.NONE=0]="NONE",r[r.Null=1]="Null",r[r.Int=2]="Int",r[r.Float=3]="Float",r[r.Binary=4]="Binary",r[r.Utf8=5]="Utf8",r[r.Bool=6]="Bool",r[r.Decimal=7]="Decimal",r[r.Date=8]="Date",r[r.Time=9]="Time",r[r.Timestamp=10]="Timestamp",r[r.Interval=11]="Interval",r[r.List=12]="List",r[r.Struct=13]="Struct",r[r.Union=14]="Union",r[r.FixedSizeBinary=15]="FixedSizeBinary",r[r.FixedSizeList=16]="FixedSizeList",r[r.Map=17]="Map",r[r.Duration=18]="Duration",r[r.LargeBinary=19]="LargeBinary",r[r.LargeUtf8=20]="LargeUtf8",r[r.Dictionary=-1]="Dictionary",r[r.Int8=-2]="Int8",r[r.Int16=-3]="Int16",r[r.Int32=-4]="Int32",r[r.Int64=-5]="Int64",r[r.Uint8=-6]="Uint8",r[r.Uint16=-7]="Uint16",r[r.Uint32=-8]="Uint32",r[r.Uint64=-9]="Uint64",r[r.Float16=-10]="Float16",r[r.Float32=-11]="Float32",r[r.Float64=-12]="Float64",r[r.DateDay=-13]="DateDay",r[r.DateMillisecond=-14]="DateMillisecond",r[r.TimestampSecond=-15]="TimestampSecond",r[r.TimestampMillisecond=-16]="TimestampMillisecond",r[r.TimestampMicrosecond=-17]="TimestampMicrosecond",r[r.TimestampNanosecond=-18]="TimestampNanosecond",r[r.TimeSecond=-19]="TimeSecond",r[r.TimeMillisecond=-20]="TimeMillisecond",r[r.TimeMicrosecond=-21]="TimeMicrosecond",r[r.TimeNanosecond=-22]="TimeNanosecond",r[r.DenseUnion=-23]="DenseUnion",r[r.SparseUnion=-24]="SparseUnion",r[r.IntervalDayTime=-25]="IntervalDayTime",r[r.IntervalYearMonth=-26]="IntervalYearMonth",r[r.DurationSecond=-27]="DurationSecond",r[r.DurationMillisecond=-28]="DurationMillisecond",r[r.DurationMicrosecond=-29]="DurationMicrosecond",r[r.DurationNanosecond=-30]="DurationNanosecond"})(u||(u={}));var Rt;(function(r){r[r.OFFSET=0]="OFFSET",r[r.DATA=1]="DATA",r[r.VALIDITY=2]="VALIDITY",r[r.TYPE=3]="TYPE"})(Rt||(Rt={}));var Bo={};Qe(Bo,{clampRange:()=>Vi,createElementComparator:()=>nr,wrapIndex:()=>gr});var so={};Qe(so,{valueToString:()=>me});function me(r){if(r===null)return"null";if(r===void 0)return"undefined";switch(typeof r){case"number":return`${r}`;case"bigint":return`${r}`;case"string":return`"${r}"`}return typeof r[Symbol.toPrimitive]=="function"?r[Symbol.toPrimitive]("string"):ArrayBuffer.isView(r)?r instanceof BigInt64Array||r instanceof BigUint64Array?`[${[...r].map(t=>me(t))}]`:`[${r}]`:ArrayBuffer.isView(r)?`[${r}]`:JSON.stringify(r,(t,e)=>typeof e=="bigint"?`${e}`:e)}var lo={};Qe(lo,{BN:()=>ar,bigNumToBigInt:()=>Aa,bigNumToNumber:()=>co,bigNumToString:()=>Jr,isArrowBigNumSymbol:()=>Sa});function C(r){if(typeof r=="bigint"&&(r<Number.MIN_SAFE_INTEGER||r>Number.MAX_SAFE_INTEGER))throw new TypeError(`${r} is not safe to convert to a number.`);return Number(r)}function oo(r,t){return C(r/t)+C(r%t)/C(t)}var Sa=Symbol.for("isArrowBigNum");function ye(r,...t){return t.length===0?Object.setPrototypeOf(N(this.TypedArray,r),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(r,...t),this.constructor.prototype)}ye.prototype[Sa]=!0;ye.prototype.toJSON=function(){return`"${Jr(this)}"`};ye.prototype.valueOf=function(r){return co(this,r)};ye.prototype.toString=function(){return Jr(this)};ye.prototype[Symbol.toPrimitive]=function(r="default"){switch(r){case"number":return co(this);case"string":return Jr(this);case"default":return Aa(this)}return Jr(this)};function Hr(...r){return ye.apply(this,r)}function Gr(...r){return ye.apply(this,r)}function Ri(...r){return ye.apply(this,r)}Object.setPrototypeOf(Hr.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(Gr.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(Ri.prototype,Object.create(Uint32Array.prototype));Object.assign(Hr.prototype,ye.prototype,{constructor:Hr,signed:!0,TypedArray:Int32Array,BigIntArray:BigInt64Array});Object.assign(Gr.prototype,ye.prototype,{constructor:Gr,signed:!1,TypedArray:Uint32Array,BigIntArray:BigUint64Array});Object.assign(Ri.prototype,ye.prototype,{constructor:Ri,signed:!0,TypedArray:Uint32Array,BigIntArray:BigUint64Array});var wu=BigInt(4294967296)*BigInt(4294967296),vu=wu-BigInt(1);function co(r,t){let{buffer:e,byteOffset:i,byteLength:n,signed:s}=r,o=new BigUint64Array(e,i,n/8),a=s&&o.at(-1)&BigInt(1)<<BigInt(63),c=BigInt(0),l=0;if(a){for(let d of o)c|=(d^vu)*(BigInt(1)<<BigInt(64*l++));c*=BigInt(-1),c-=BigInt(1)}else for(let d of o)c|=d*(BigInt(1)<<BigInt(64*l++));if(typeof t=="number"){let d=BigInt(Math.pow(10,t)),h=c/d,V=c%d;return C(h)+C(V)/C(d)}return C(c)}function Jr(r){if(r.byteLength===8)return`${new r.BigIntArray(r.buffer,r.byteOffset,1)[0]}`;if(!r.signed)return ao(r);let t=new Uint16Array(r.buffer,r.byteOffset,r.byteLength/2);if(new Int16Array([t.at(-1)])[0]>=0)return ao(r);t=t.slice();let i=1;for(let s=0;s<t.length;s++){let o=t[s],a=~o+i;t[s]=a,i&=o===0?1:0}return`-${ao(t)}`}function Aa(r){return r.byteLength===8?new r.BigIntArray(r.buffer,r.byteOffset,1)[0]:Jr(r)}function ao(r){let t="",e=new Uint32Array(2),i=new Uint16Array(r.buffer,r.byteOffset,r.byteLength/2),n=new Uint32Array((i=new Uint16Array(i).reverse()).buffer),s=-1,o=i.length-1;do{for(e[0]=i[s=0];s<o;)i[s++]=e[1]=e[0]/10,e[0]=(e[0]-e[1]*10<<16)+i[s];i[s]=e[1]=e[0]/10,e[0]=e[0]-e[1]*10,t=`${e[0]}${t}`}while(n[0]||n[1]||n[2]||n[3]);return t??"0"}var ar=class{static new(t,e){switch(e){case!0:return new Hr(t);case!1:return new Gr(t)}switch(t.constructor){case Int8Array:case Int16Array:case Int32Array:case BigInt64Array:return new Hr(t)}return t.byteLength===16?new Ri(t):new Gr(t)}static signed(t){return new Hr(t)}static unsigned(t){return new Gr(t)}static decimal(t){return new Ri(t)}constructor(t,e){return ar.new(t,e)}};var Ba,Da,xa,Ta,Oa,Fa,Ma,Na,La,Ea,Ua,Ra,Ca,Va,za,Pa,ka,ja,Wa,$a,Ya,Ha,f=class{static isNull(t){return t?.typeId===u.Null}static isInt(t){return t?.typeId===u.Int}static isFloat(t){return t?.typeId===u.Float}static isBinary(t){return t?.typeId===u.Binary}static isLargeBinary(t){return t?.typeId===u.LargeBinary}static isUtf8(t){return t?.typeId===u.Utf8}static isLargeUtf8(t){return t?.typeId===u.LargeUtf8}static isBool(t){return t?.typeId===u.Bool}static isDecimal(t){return t?.typeId===u.Decimal}static isDate(t){return t?.typeId===u.Date}static isTime(t){return t?.typeId===u.Time}static isTimestamp(t){return t?.typeId===u.Timestamp}static isInterval(t){return t?.typeId===u.Interval}static isDuration(t){return t?.typeId===u.Duration}static isList(t){return t?.typeId===u.List}static isStruct(t){return t?.typeId===u.Struct}static isUnion(t){return t?.typeId===u.Union}static isFixedSizeBinary(t){return t?.typeId===u.FixedSizeBinary}static isFixedSizeList(t){return t?.typeId===u.FixedSizeList}static isMap(t){return t?.typeId===u.Map}static isDictionary(t){return t?.typeId===u.Dictionary}static isDenseUnion(t){return f.isUnion(t)&&t.mode===Y.Dense}static isSparseUnion(t){return f.isUnion(t)&&t.mode===Y.Sparse}constructor(t){this.typeId=t}};Ba=Symbol.toStringTag;f[Ba]=(r=>(r.children=null,r.ArrayType=Array,r.OffsetArrayType=Int32Array,r[Symbol.toStringTag]="DataType"))(f.prototype);var ft=class extends f{constructor(){super(u.Null)}toString(){return"Null"}};Da=Symbol.toStringTag;ft[Da]=(r=>r[Symbol.toStringTag]="Null")(ft.prototype);var tt=class extends f{constructor(t,e){super(u.Int),this.isSigned=t,this.bitWidth=e}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?BigInt64Array:BigUint64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}};xa=Symbol.toStringTag;tt[xa]=(r=>(r.isSigned=null,r.bitWidth=null,r[Symbol.toStringTag]="Int"))(tt.prototype);var cr=class extends tt{constructor(){super(!0,8)}get ArrayType(){return Int8Array}},lr=class extends tt{constructor(){super(!0,16)}get ArrayType(){return Int16Array}},Zt=class extends tt{constructor(){super(!0,32)}get ArrayType(){return Int32Array}},ur=class extends tt{constructor(){super(!0,64)}get ArrayType(){return BigInt64Array}},dr=class extends tt{constructor(){super(!1,8)}get ArrayType(){return Uint8Array}},hr=class extends tt{constructor(){super(!1,16)}get ArrayType(){return Uint16Array}},fr=class extends tt{constructor(){super(!1,32)}get ArrayType(){return Uint32Array}},pr=class extends tt{constructor(){super(!1,64)}get ArrayType(){return BigUint64Array}};Object.defineProperty(cr.prototype,"ArrayType",{value:Int8Array});Object.defineProperty(lr.prototype,"ArrayType",{value:Int16Array});Object.defineProperty(Zt.prototype,"ArrayType",{value:Int32Array});Object.defineProperty(ur.prototype,"ArrayType",{value:BigInt64Array});Object.defineProperty(dr.prototype,"ArrayType",{value:Uint8Array});Object.defineProperty(hr.prototype,"ArrayType",{value:Uint16Array});Object.defineProperty(fr.prototype,"ArrayType",{value:Uint32Array});Object.defineProperty(pr.prototype,"ArrayType",{value:BigUint64Array});var Ct=class extends f{constructor(t){super(u.Float),this.precision=t}get ArrayType(){switch(this.precision){case W.HALF:return Uint16Array;case W.SINGLE:return Float32Array;case W.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}};Ta=Symbol.toStringTag;Ct[Ta]=(r=>(r.precision=null,r[Symbol.toStringTag]="Float"))(Ct.prototype);var mr=class extends Ct{constructor(){super(W.HALF)}},yr=class extends Ct{constructor(){super(W.SINGLE)}},br=class extends Ct{constructor(){super(W.DOUBLE)}};Object.defineProperty(mr.prototype,"ArrayType",{value:Uint16Array});Object.defineProperty(yr.prototype,"ArrayType",{value:Float32Array});Object.defineProperty(br.prototype,"ArrayType",{value:Float64Array});var re=class extends f{constructor(){super(u.Binary)}toString(){return"Binary"}};Oa=Symbol.toStringTag;re[Oa]=(r=>(r.ArrayType=Uint8Array,r[Symbol.toStringTag]="Binary"))(re.prototype);var Le=class extends f{constructor(){super(u.LargeBinary)}toString(){return"LargeBinary"}};Fa=Symbol.toStringTag;Le[Fa]=(r=>(r.ArrayType=Uint8Array,r.OffsetArrayType=BigInt64Array,r[Symbol.toStringTag]="LargeBinary"))(Le.prototype);var ie=class extends f{constructor(){super(u.Utf8)}toString(){return"Utf8"}};Ma=Symbol.toStringTag;ie[Ma]=(r=>(r.ArrayType=Uint8Array,r[Symbol.toStringTag]="Utf8"))(ie.prototype);var Ee=class extends f{constructor(){super(u.LargeUtf8)}toString(){return"LargeUtf8"}};Na=Symbol.toStringTag;Ee[Na]=(r=>(r.ArrayType=Uint8Array,r.OffsetArrayType=BigInt64Array,r[Symbol.toStringTag]="LargeUtf8"))(Ee.prototype);var ne=class extends f{constructor(){super(u.Bool)}toString(){return"Bool"}};La=Symbol.toStringTag;ne[La]=(r=>(r.ArrayType=Uint8Array,r[Symbol.toStringTag]="Bool"))(ne.prototype);var se=class extends f{constructor(t,e,i=128){super(u.Decimal),this.scale=t,this.precision=e,this.bitWidth=i}toString(){return`Decimal[${this.precision}e${this.scale>0?"+":""}${this.scale}]`}};Ea=Symbol.toStringTag;se[Ea]=(r=>(r.scale=null,r.precision=null,r.ArrayType=Uint32Array,r[Symbol.toStringTag]="Decimal"))(se.prototype);var Xt=class extends f{constructor(t){super(u.Date),this.unit=t}toString(){return`Date${(this.unit+1)*32}<${X[this.unit]}>`}get ArrayType(){return this.unit===X.DAY?Int32Array:BigInt64Array}};Ua=Symbol.toStringTag;Xt[Ua]=(r=>(r.unit=null,r[Symbol.toStringTag]="Date"))(Xt.prototype);var Zr=class extends Xt{constructor(){super(X.DAY)}},Xr=class extends Xt{constructor(){super(X.MILLISECOND)}},Bt=class extends f{constructor(t,e){super(u.Time),this.unit=t,this.bitWidth=e}toString(){return`Time${this.bitWidth}<${p[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return BigInt64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}};Ra=Symbol.toStringTag;Bt[Ra]=(r=>(r.unit=null,r.bitWidth=null,r[Symbol.toStringTag]="Time"))(Bt.prototype);var qr=class extends Bt{constructor(){super(p.SECOND,32)}},Kr=class extends Bt{constructor(){super(p.MILLISECOND,32)}},Qr=class extends Bt{constructor(){super(p.MICROSECOND,64)}},ti=class extends Bt{constructor(){super(p.NANOSECOND,64)}},Dt=class extends f{constructor(t,e){super(u.Timestamp),this.unit=t,this.timezone=e}toString(){return`Timestamp<${p[this.unit]}${this.timezone?`, ${this.timezone}`:""}>`}};Ca=Symbol.toStringTag;Dt[Ca]=(r=>(r.unit=null,r.timezone=null,r.ArrayType=BigInt64Array,r[Symbol.toStringTag]="Timestamp"))(Dt.prototype);var ei=class extends Dt{constructor(t){super(p.SECOND,t)}},ri=class extends Dt{constructor(t){super(p.MILLISECOND,t)}},ii=class extends Dt{constructor(t){super(p.MICROSECOND,t)}},ni=class extends Dt{constructor(t){super(p.NANOSECOND,t)}},qt=class extends f{constructor(t){super(u.Interval),this.unit=t}toString(){return`Interval<${Q[this.unit]}>`}};Va=Symbol.toStringTag;qt[Va]=(r=>(r.unit=null,r.ArrayType=Int32Array,r[Symbol.toStringTag]="Interval"))(qt.prototype);var si=class extends qt{constructor(){super(Q.DAY_TIME)}},oi=class extends qt{constructor(){super(Q.YEAR_MONTH)}},Ue=class extends f{constructor(t){super(u.Duration),this.unit=t}toString(){return`Duration<${p[this.unit]}>`}};za=Symbol.toStringTag;Ue[za]=(r=>(r.unit=null,r.ArrayType=BigInt64Array,r[Symbol.toStringTag]="Duration"))(Ue.prototype);var Vt=class extends f{constructor(t){super(u.List),this.children=[t]}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}};Pa=Symbol.toStringTag;Vt[Pa]=(r=>(r.children=null,r[Symbol.toStringTag]="List"))(Vt.prototype);var j=class extends f{constructor(t){super(u.Struct),this.children=t}toString(){return`Struct<{${this.children.map(t=>`${t.name}:${t.type}`).join(", ")}}>`}};ka=Symbol.toStringTag;j[ka]=(r=>(r.children=null,r[Symbol.toStringTag]="Struct"))(j.prototype);var oe=class extends f{constructor(t,e,i){super(u.Union),this.mode=t,this.children=i,this.typeIds=e=Int32Array.from(e),this.typeIdToChildIndex=e.reduce((n,s,o)=>(n[s]=o)&&n||n,Object.create(null))}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(t=>`${t.type}`).join(" | ")}>`}};ja=Symbol.toStringTag;oe[ja]=(r=>(r.mode=null,r.typeIds=null,r.children=null,r.typeIdToChildIndex=null,r.ArrayType=Int8Array,r[Symbol.toStringTag]="Union"))(oe.prototype);var Re=class extends f{constructor(t){super(u.FixedSizeBinary),this.byteWidth=t}toString(){return`FixedSizeBinary[${this.byteWidth}]`}};Wa=Symbol.toStringTag;Re[Wa]=(r=>(r.byteWidth=null,r.ArrayType=Uint8Array,r[Symbol.toStringTag]="FixedSizeBinary"))(Re.prototype);var vt=class extends f{constructor(t,e){super(u.FixedSizeList),this.listSize=t,this.children=[e]}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}};$a=Symbol.toStringTag;vt[$a]=(r=>(r.children=null,r.listSize=null,r[Symbol.toStringTag]="FixedSizeList"))(vt.prototype);var zt=class extends f{constructor(t,e=!1){var i,n,s;if(super(u.Map),this.children=[t],this.keysSorted=e,t&&(t.name="entries",!((i=t?.type)===null||i===void 0)&&i.children)){let o=(n=t?.type)===null||n===void 0?void 0:n.children[0];o&&(o.name="key");let a=(s=t?.type)===null||s===void 0?void 0:s.children[1];a&&(a.name="value")}}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(t=>`${t.name}:${t.type}`).join(", ")}}>`}};Ya=Symbol.toStringTag;zt[Ya]=(r=>(r.children=null,r.keysSorted=null,r[Symbol.toStringTag]="Map_"))(zt.prototype);var Iu=(r=>()=>++r)(-1),Pt=class extends f{constructor(t,e,i,n){super(u.Dictionary),this.indices=e,this.dictionary=t,this.isOrdered=n||!1,this.id=i==null?Iu():C(i)}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}};Ha=Symbol.toStringTag;Pt[Ha]=(r=>(r.id=null,r.indices=null,r.isOrdered=null,r.dictionary=null,r[Symbol.toStringTag]="Dictionary"))(Pt.prototype);function Kt(r){let t=r;switch(r.typeId){case u.Decimal:return r.bitWidth/32;case u.Interval:return 1+t.unit;case u.FixedSizeList:return t.listSize;case u.FixedSizeBinary:return t.byteWidth;default:return 1}}var b=class{visitMany(t,...e){return t.map((i,n)=>this.visit(i,...e.map(s=>s[n])))}visit(...t){return this.getVisitFn(t[0],!1).apply(this,t)}getVisitFn(t,e=!0){return Su(this,t,e)}getVisitFnByTypeId(t,e=!0){return ai(this,t,e)}visitNull(t,...e){return null}visitBool(t,...e){return null}visitInt(t,...e){return null}visitFloat(t,...e){return null}visitUtf8(t,...e){return null}visitLargeUtf8(t,...e){return null}visitBinary(t,...e){return null}visitLargeBinary(t,...e){return null}visitFixedSizeBinary(t,...e){return null}visitDate(t,...e){return null}visitTimestamp(t,...e){return null}visitTime(t,...e){return null}visitDecimal(t,...e){return null}visitList(t,...e){return null}visitStruct(t,...e){return null}visitUnion(t,...e){return null}visitDictionary(t,...e){return null}visitInterval(t,...e){return null}visitDuration(t,...e){return null}visitFixedSizeList(t,...e){return null}visitMap(t,...e){return null}};function Su(r,t,e=!0){return typeof t=="number"?ai(r,t,e):typeof t=="string"&&t in u?ai(r,u[t],e):t&&t instanceof f?ai(r,Ga(t),e):t?.type&&t.type instanceof f?ai(r,Ga(t.type),e):ai(r,u.NONE,e)}function ai(r,t,e=!0){let i=null;switch(t){case u.Null:i=r.visitNull;break;case u.Bool:i=r.visitBool;break;case u.Int:i=r.visitInt;break;case u.Int8:i=r.visitInt8||r.visitInt;break;case u.Int16:i=r.visitInt16||r.visitInt;break;case u.Int32:i=r.visitInt32||r.visitInt;break;case u.Int64:i=r.visitInt64||r.visitInt;break;case u.Uint8:i=r.visitUint8||r.visitInt;break;case u.Uint16:i=r.visitUint16||r.visitInt;break;case u.Uint32:i=r.visitUint32||r.visitInt;break;case u.Uint64:i=r.visitUint64||r.visitInt;break;case u.Float:i=r.visitFloat;break;case u.Float16:i=r.visitFloat16||r.visitFloat;break;case u.Float32:i=r.visitFloat32||r.visitFloat;break;case u.Float64:i=r.visitFloat64||r.visitFloat;break;case u.Utf8:i=r.visitUtf8;break;case u.LargeUtf8:i=r.visitLargeUtf8;break;case u.Binary:i=r.visitBinary;break;case u.LargeBinary:i=r.visitLargeBinary;break;case u.FixedSizeBinary:i=r.visitFixedSizeBinary;break;case u.Date:i=r.visitDate;break;case u.DateDay:i=r.visitDateDay||r.visitDate;break;case u.DateMillisecond:i=r.visitDateMillisecond||r.visitDate;break;case u.Timestamp:i=r.visitTimestamp;break;case u.TimestampSecond:i=r.visitTimestampSecond||r.visitTimestamp;break;case u.TimestampMillisecond:i=r.visitTimestampMillisecond||r.visitTimestamp;break;case u.TimestampMicrosecond:i=r.visitTimestampMicrosecond||r.visitTimestamp;break;case u.TimestampNanosecond:i=r.visitTimestampNanosecond||r.visitTimestamp;break;case u.Time:i=r.visitTime;break;case u.TimeSecond:i=r.visitTimeSecond||r.visitTime;break;case u.TimeMillisecond:i=r.visitTimeMillisecond||r.visitTime;break;case u.TimeMicrosecond:i=r.visitTimeMicrosecond||r.visitTime;break;case u.TimeNanosecond:i=r.visitTimeNanosecond||r.visitTime;break;case u.Decimal:i=r.visitDecimal;break;case u.List:i=r.visitList;break;case u.Struct:i=r.visitStruct;break;case u.Union:i=r.visitUnion;break;case u.DenseUnion:i=r.visitDenseUnion||r.visitUnion;break;case u.SparseUnion:i=r.visitSparseUnion||r.visitUnion;break;case u.Dictionary:i=r.visitDictionary;break;case u.Interval:i=r.visitInterval;break;case u.IntervalDayTime:i=r.visitIntervalDayTime||r.visitInterval;break;case u.IntervalYearMonth:i=r.visitIntervalYearMonth||r.visitInterval;break;case u.Duration:i=r.visitDuration;break;case u.DurationSecond:i=r.visitDurationSecond||r.visitDuration;break;case u.DurationMillisecond:i=r.visitDurationMillisecond||r.visitDuration;break;case u.DurationMicrosecond:i=r.visitDurationMicrosecond||r.visitDuration;break;case u.DurationNanosecond:i=r.visitDurationNanosecond||r.visitDuration;break;case u.FixedSizeList:i=r.visitFixedSizeList;break;case u.Map:i=r.visitMap;break}if(typeof i=="function")return i;if(!e)return()=>null;throw new Error(`Unrecognized type '${u[t]}'`)}function Ga(r){switch(r.typeId){case u.Null:return u.Null;case u.Int:{let{bitWidth:t,isSigned:e}=r;switch(t){case 8:return e?u.Int8:u.Uint8;case 16:return e?u.Int16:u.Uint16;case 32:return e?u.Int32:u.Uint32;case 64:return e?u.Int64:u.Uint64}return u.Int}case u.Float:switch(r.precision){case W.HALF:return u.Float16;case W.SINGLE:return u.Float32;case W.DOUBLE:return u.Float64}return u.Float;case u.Binary:return u.Binary;case u.LargeBinary:return u.LargeBinary;case u.Utf8:return u.Utf8;case u.LargeUtf8:return u.LargeUtf8;case u.Bool:return u.Bool;case u.Decimal:return u.Decimal;case u.Time:switch(r.unit){case p.SECOND:return u.TimeSecond;case p.MILLISECOND:return u.TimeMillisecond;case p.MICROSECOND:return u.TimeMicrosecond;case p.NANOSECOND:return u.TimeNanosecond}return u.Time;case u.Timestamp:switch(r.unit){case p.SECOND:return u.TimestampSecond;case p.MILLISECOND:return u.TimestampMillisecond;case p.MICROSECOND:return u.TimestampMicrosecond;case p.NANOSECOND:return u.TimestampNanosecond}return u.Timestamp;case u.Date:switch(r.unit){case X.DAY:return u.DateDay;case X.MILLISECOND:return u.DateMillisecond}return u.Date;case u.Interval:switch(r.unit){case Q.DAY_TIME:return u.IntervalDayTime;case Q.YEAR_MONTH:return u.IntervalYearMonth}return u.Interval;case u.Duration:switch(r.unit){case p.SECOND:return u.DurationSecond;case p.MILLISECOND:return u.DurationMillisecond;case p.MICROSECOND:return u.DurationMicrosecond;case p.NANOSECOND:return u.DurationNanosecond}return u.Duration;case u.Map:return u.Map;case u.List:return u.List;case u.Struct:return u.Struct;case u.Union:switch(r.mode){case Y.Dense:return u.DenseUnion;case Y.Sparse:return u.SparseUnion}return u.Union;case u.FixedSizeBinary:return u.FixedSizeBinary;case u.FixedSizeList:return u.FixedSizeList;case u.Dictionary:return u.Dictionary}throw new Error(`Unrecognized type '${u[r.typeId]}'`)}b.prototype.visitInt8=null;b.prototype.visitInt16=null;b.prototype.visitInt32=null;b.prototype.visitInt64=null;b.prototype.visitUint8=null;b.prototype.visitUint16=null;b.prototype.visitUint32=null;b.prototype.visitUint64=null;b.prototype.visitFloat16=null;b.prototype.visitFloat32=null;b.prototype.visitFloat64=null;b.prototype.visitDateDay=null;b.prototype.visitDateMillisecond=null;b.prototype.visitTimestampSecond=null;b.prototype.visitTimestampMillisecond=null;b.prototype.visitTimestampMicrosecond=null;b.prototype.visitTimestampNanosecond=null;b.prototype.visitTimeSecond=null;b.prototype.visitTimeMillisecond=null;b.prototype.visitTimeMicrosecond=null;b.prototype.visitTimeNanosecond=null;b.prototype.visitDenseUnion=null;b.prototype.visitSparseUnion=null;b.prototype.visitIntervalDayTime=null;b.prototype.visitIntervalYearMonth=null;b.prototype.visitDuration=null;b.prototype.visitDurationSecond=null;b.prototype.visitDurationMillisecond=null;b.prototype.visitDurationMicrosecond=null;b.prototype.visitDurationNanosecond=null;var uo={};Qe(uo,{float64ToUint16:()=>Ci,uint16ToFloat64:()=>Vn});var Ja=new Float64Array(1),ci=new Uint32Array(Ja.buffer);function Vn(r){let t=(r&31744)>>10,e=(r&1023)/1024,i=Math.pow(-1,(r&32768)>>15);switch(t){case 31:return i*(e?Number.NaN:1/0);case 0:return i*(e?6103515625e-14*e:0)}return i*Math.pow(2,t-15)*(1+e)}function Ci(r){if(r!==r)return 32256;Ja[0]=r;let t=(ci[1]&2147483648)>>16&65535,e=ci[1]&2146435072,i=0;return e>=1089470464?ci[0]>0?e=31744:(e=(e&2080374784)>>16,i=(ci[1]&1048575)>>10):e<=1056964608?(i=1048576+(ci[1]&1048575),i=1048576+(i<<(e>>20)-998)>>21,e=0):(e=e-1056964608>>10,i=(ci[1]&1048575)+512>>10),t|e|i&65535}var I=class extends b{};function D(r){return(t,e,i)=>{if(t.setValid(e,i!=null))return r(t,e,i)}}var Au=(r,t,e)=>{r[t]=Math.floor(e/864e5)},Za=(r,t,e,i)=>{if(e+1<t.length){let n=C(t[e]),s=C(t[e+1]);r.set(i.subarray(0,s-n),n)}},Bu=({offset:r,values:t},e,i)=>{let n=r+e;i?t[n>>3]|=1<<n%8:t[n>>3]&=~(1<<n%8)},je=({values:r},t,e)=>{r[t]=e},ho=({values:r},t,e)=>{r[t]=e},Xa=({values:r},t,e)=>{r[t]=Ci(e)},Du=(r,t,e)=>{switch(r.type.precision){case W.HALF:return Xa(r,t,e);case W.SINGLE:case W.DOUBLE:return ho(r,t,e)}},zn=({values:r},t,e)=>{Au(r,t,e.valueOf())},Pn=({values:r},t,e)=>{r[t]=BigInt(e)},fo=({stride:r,values:t},e,i)=>{t.set(i.subarray(0,r),r*e)},qa=({values:r,valueOffsets:t},e,i)=>Za(r,t,e,i),Ka=({values:r,valueOffsets:t},e,i)=>Za(r,t,e,Ie(i)),po=(r,t,e)=>{r.type.unit===X.DAY?zn(r,t,e):Pn(r,t,e)},kn=({values:r},t,e)=>{r[t]=BigInt(e/1e3)},jn=({values:r},t,e)=>{r[t]=BigInt(e)},Wn=({values:r},t,e)=>{r[t]=BigInt(e*1e3)},$n=({values:r},t,e)=>{r[t]=BigInt(e*1e6)},mo=(r,t,e)=>{switch(r.type.unit){case p.SECOND:return kn(r,t,e);case p.MILLISECOND:return jn(r,t,e);case p.MICROSECOND:return Wn(r,t,e);case p.NANOSECOND:return $n(r,t,e)}},Yn=({values:r},t,e)=>{r[t]=e},Hn=({values:r},t,e)=>{r[t]=e},Gn=({values:r},t,e)=>{r[t]=e},Jn=({values:r},t,e)=>{r[t]=e},yo=(r,t,e)=>{switch(r.type.unit){case p.SECOND:return Yn(r,t,e);case p.MILLISECOND:return Hn(r,t,e);case p.MICROSECOND:return Gn(r,t,e);case p.NANOSECOND:return Jn(r,t,e)}},bo=({values:r,stride:t},e,i)=>{r.set(i.subarray(0,t),t*e)},xu=(r,t,e)=>{let i=r.children[0],n=r.valueOffsets,s=yt.getVisitFn(i);if(Array.isArray(e))for(let o=-1,a=n[t],c=n[t+1];a<c;)s(i,a++,e[++o]);else for(let o=-1,a=n[t],c=n[t+1];a<c;)s(i,a++,e.get(++o))},Tu=(r,t,e)=>{let i=r.children[0],{valueOffsets:n}=r,s=yt.getVisitFn(i),{[t]:o,[t+1]:a}=n,c=e instanceof Map?e.entries():Object.entries(e);for(let l of c)if(s(i,o,l),++o>=a)break},Ou=(r,t)=>(e,i,n,s)=>i&&e(i,r,t[s]),Fu=(r,t)=>(e,i,n,s)=>i&&e(i,r,t.get(s)),Mu=(r,t)=>(e,i,n,s)=>i&&e(i,r,t.get(n.name)),Nu=(r,t)=>(e,i,n,s)=>i&&e(i,r,t[n.name]),Lu=(r,t,e)=>{let i=r.type.children.map(s=>yt.getVisitFn(s.type)),n=e instanceof Map?Mu(t,e):e instanceof F?Fu(t,e):Array.isArray(e)?Ou(t,e):Nu(t,e);r.type.children.forEach((s,o)=>n(i[o],r.children[o],s,o))},Eu=(r,t,e)=>{r.type.mode===Y.Dense?Qa(r,t,e):tc(r,t,e)},Qa=(r,t,e)=>{let i=r.type.typeIdToChildIndex[r.typeIds[t]],n=r.children[i];yt.visit(n,r.valueOffsets[t],e)},tc=(r,t,e)=>{let i=r.type.typeIdToChildIndex[r.typeIds[t]],n=r.children[i];yt.visit(n,t,e)},Uu=(r,t,e)=>{var i;(i=r.dictionary)===null||i===void 0||i.set(r.values[t],e)},go=(r,t,e)=>{r.type.unit===Q.DAY_TIME?Zn(r,t,e):Xn(r,t,e)},Zn=({values:r},t,e)=>{r.set(e.subarray(0,2),2*t)},Xn=({values:r},t,e)=>{r[t]=e[0]*12+e[1]%12},qn=({values:r},t,e)=>{r[t]=e},Kn=({values:r},t,e)=>{r[t]=e},Qn=({values:r},t,e)=>{r[t]=e},ts=({values:r},t,e)=>{r[t]=e},_o=(r,t,e)=>{switch(r.type.unit){case p.SECOND:return qn(r,t,e);case p.MILLISECOND:return Kn(r,t,e);case p.MICROSECOND:return Qn(r,t,e);case p.NANOSECOND:return ts(r,t,e)}},Ru=(r,t,e)=>{let{stride:i}=r,n=r.children[0],s=yt.getVisitFn(n);if(Array.isArray(e))for(let o=-1,a=t*i;++o<i;)s(n,a+o,e[o]);else for(let o=-1,a=t*i;++o<i;)s(n,a+o,e.get(o))};I.prototype.visitBool=D(Bu);I.prototype.visitInt=D(je);I.prototype.visitInt8=D(je);I.prototype.visitInt16=D(je);I.prototype.visitInt32=D(je);I.prototype.visitInt64=D(je);I.prototype.visitUint8=D(je);I.prototype.visitUint16=D(je);I.prototype.visitUint32=D(je);I.prototype.visitUint64=D(je);I.prototype.visitFloat=D(Du);I.prototype.visitFloat16=D(Xa);I.prototype.visitFloat32=D(ho);I.prototype.visitFloat64=D(ho);I.prototype.visitUtf8=D(Ka);I.prototype.visitLargeUtf8=D(Ka);I.prototype.visitBinary=D(qa);I.prototype.visitLargeBinary=D(qa);I.prototype.visitFixedSizeBinary=D(fo);I.prototype.visitDate=D(po);I.prototype.visitDateDay=D(zn);I.prototype.visitDateMillisecond=D(Pn);I.prototype.visitTimestamp=D(mo);I.prototype.visitTimestampSecond=D(kn);I.prototype.visitTimestampMillisecond=D(jn);I.prototype.visitTimestampMicrosecond=D(Wn);I.prototype.visitTimestampNanosecond=D($n);I.prototype.visitTime=D(yo);I.prototype.visitTimeSecond=D(Yn);I.prototype.visitTimeMillisecond=D(Hn);I.prototype.visitTimeMicrosecond=D(Gn);I.prototype.visitTimeNanosecond=D(Jn);I.prototype.visitDecimal=D(bo);I.prototype.visitList=D(xu);I.prototype.visitStruct=D(Lu);I.prototype.visitUnion=D(Eu);I.prototype.visitDenseUnion=D(Qa);I.prototype.visitSparseUnion=D(tc);I.prototype.visitDictionary=D(Uu);I.prototype.visitInterval=D(go);I.prototype.visitIntervalDayTime=D(Zn);I.prototype.visitIntervalYearMonth=D(Xn);I.prototype.visitDuration=D(_o);I.prototype.visitDurationSecond=D(qn);I.prototype.visitDurationMillisecond=D(Kn);I.prototype.visitDurationMicrosecond=D(Qn);I.prototype.visitDurationNanosecond=D(ts);I.prototype.visitFixedSizeList=D(Ru);I.prototype.visitMap=D(Tu);var yt=new I;var be=Symbol.for("parent"),li=Symbol.for("rowIndex"),er=class{constructor(t,e){return this[be]=t,this[li]=e,new Proxy(this,new vo)}toArray(){return Object.values(this.toJSON())}toJSON(){let t=this[li],e=this[be],i=e.type.children,n={};for(let s=-1,o=i.length;++s<o;)n[i[s].name]=st.visit(e.children[s],t);return n}toString(){return`{${[...this].map(([t,e])=>`${me(t)}: ${me(e)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}[Symbol.iterator](){return new wo(this[be],this[li])}},wo=class{constructor(t,e){this.childIndex=0,this.children=t.children,this.rowIndex=e,this.childFields=t.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){let t=this.childIndex;return t<this.numChildren?(this.childIndex=t+1,{done:!1,value:[this.childFields[t].name,st.visit(this.children[t],this.rowIndex)]}):{done:!0,value:null}}};Object.defineProperties(er.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[be]:{writable:!0,enumerable:!1,configurable:!1,value:null},[li]:{writable:!0,enumerable:!1,configurable:!1,value:-1}});var vo=class{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(t){return t[be].type.children.map(e=>e.name)}has(t,e){return t[be].type.children.findIndex(i=>i.name===e)!==-1}getOwnPropertyDescriptor(t,e){if(t[be].type.children.findIndex(i=>i.name===e)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(t,e){if(Reflect.has(t,e))return t[e];let i=t[be].type.children.findIndex(n=>n.name===e);if(i!==-1){let n=st.visit(t[be].children[i],t[li]);return Reflect.set(t,e,n),n}}set(t,e,i){let n=t[be].type.children.findIndex(s=>s.name===e);return n!==-1?(yt.visit(t[be].children[n],t[li],i),Reflect.set(t,e,i)):Reflect.has(t,e)||typeof e=="symbol"?Reflect.set(t,e,i):!1}};var g=class extends b{};function A(r){return(t,e)=>t.getValid(e)?r(t,e):null}var Cu=(r,t)=>864e5*r[t],Vu=(r,t)=>null,ec=(r,t,e)=>{if(e+1>=t.length)return null;let i=C(t[e]),n=C(t[e+1]);return r.subarray(i,n)},zu=({offset:r,values:t},e)=>{let i=r+e;return(t[i>>3]&1<<i%8)!==0},rc=({values:r},t)=>Cu(r,t),ic=({values:r},t)=>C(r[t]),rr=({stride:r,values:t},e)=>t[r*e],Pu=({stride:r,values:t},e)=>Vn(t[r*e]),nc=({values:r},t)=>r[t],ku=({stride:r,values:t},e)=>t.subarray(r*e,r*(e+1)),sc=({values:r,valueOffsets:t},e)=>ec(r,t,e),oc=({values:r,valueOffsets:t},e)=>{let i=ec(r,t,e);return i!==null?Oi(i):null},ju=({values:r},t)=>r[t],Wu=({type:r,values:t},e)=>r.precision!==W.HALF?t[e]:Vn(t[e]),$u=(r,t)=>r.type.unit===X.DAY?rc(r,t):ic(r,t),ac=({values:r},t)=>1e3*C(r[t]),cc=({values:r},t)=>C(r[t]),lc=({values:r},t)=>oo(r[t],BigInt(1e3)),uc=({values:r},t)=>oo(r[t],BigInt(1e6)),Yu=(r,t)=>{switch(r.type.unit){case p.SECOND:return ac(r,t);case p.MILLISECOND:return cc(r,t);case p.MICROSECOND:return lc(r,t);case p.NANOSECOND:return uc(r,t)}},dc=({values:r},t)=>r[t],hc=({values:r},t)=>r[t],fc=({values:r},t)=>r[t],pc=({values:r},t)=>r[t],Hu=(r,t)=>{switch(r.type.unit){case p.SECOND:return dc(r,t);case p.MILLISECOND:return hc(r,t);case p.MICROSECOND:return fc(r,t);case p.NANOSECOND:return pc(r,t)}},Gu=({values:r,stride:t},e)=>ar.decimal(r.subarray(t*e,t*(e+1))),Ju=(r,t)=>{let{valueOffsets:e,stride:i,children:n}=r,{[t*i]:s,[t*i+1]:o}=e,c=n[0].slice(s,o-s);return new F([c])},Zu=(r,t)=>{let{valueOffsets:e,children:i}=r,{[t]:n,[t+1]:s}=e,o=i[0];return new Ce(o.slice(n,s-n))},Xu=(r,t)=>new er(r,t),qu=(r,t)=>r.type.mode===Y.Dense?mc(r,t):yc(r,t),mc=(r,t)=>{let e=r.type.typeIdToChildIndex[r.typeIds[t]],i=r.children[e];return st.visit(i,r.valueOffsets[t])},yc=(r,t)=>{let e=r.type.typeIdToChildIndex[r.typeIds[t]],i=r.children[e];return st.visit(i,t)},Ku=(r,t)=>{var e;return(e=r.dictionary)===null||e===void 0?void 0:e.get(r.values[t])},Qu=(r,t)=>r.type.unit===Q.DAY_TIME?bc(r,t):gc(r,t),bc=({values:r},t)=>r.subarray(2*t,2*(t+1)),gc=({values:r},t)=>{let e=r[t],i=new Int32Array(2);return i[0]=Math.trunc(e/12),i[1]=Math.trunc(e%12),i},_c=({values:r},t)=>r[t],wc=({values:r},t)=>r[t],vc=({values:r},t)=>r[t],Ic=({values:r},t)=>r[t],td=(r,t)=>{switch(r.type.unit){case p.SECOND:return _c(r,t);case p.MILLISECOND:return wc(r,t);case p.MICROSECOND:return vc(r,t);case p.NANOSECOND:return Ic(r,t)}},ed=(r,t)=>{let{stride:e,children:i}=r,s=i[0].slice(t*e,e);return new F([s])};g.prototype.visitNull=A(Vu);g.prototype.visitBool=A(zu);g.prototype.visitInt=A(ju);g.prototype.visitInt8=A(rr);g.prototype.visitInt16=A(rr);g.prototype.visitInt32=A(rr);g.prototype.visitInt64=A(nc);g.prototype.visitUint8=A(rr);g.prototype.visitUint16=A(rr);g.prototype.visitUint32=A(rr);g.prototype.visitUint64=A(nc);g.prototype.visitFloat=A(Wu);g.prototype.visitFloat16=A(Pu);g.prototype.visitFloat32=A(rr);g.prototype.visitFloat64=A(rr);g.prototype.visitUtf8=A(oc);g.prototype.visitLargeUtf8=A(oc);g.prototype.visitBinary=A(sc);g.prototype.visitLargeBinary=A(sc);g.prototype.visitFixedSizeBinary=A(ku);g.prototype.visitDate=A($u);g.prototype.visitDateDay=A(rc);g.prototype.visitDateMillisecond=A(ic);g.prototype.visitTimestamp=A(Yu);g.prototype.visitTimestampSecond=A(ac);g.prototype.visitTimestampMillisecond=A(cc);g.prototype.visitTimestampMicrosecond=A(lc);g.prototype.visitTimestampNanosecond=A(uc);g.prototype.visitTime=A(Hu);g.prototype.visitTimeSecond=A(dc);g.prototype.visitTimeMillisecond=A(hc);g.prototype.visitTimeMicrosecond=A(fc);g.prototype.visitTimeNanosecond=A(pc);g.prototype.visitDecimal=A(Gu);g.prototype.visitList=A(Ju);g.prototype.visitStruct=A(Xu);g.prototype.visitUnion=A(qu);g.prototype.visitDenseUnion=A(mc);g.prototype.visitSparseUnion=A(yc);g.prototype.visitDictionary=A(Ku);g.prototype.visitInterval=A(Qu);g.prototype.visitIntervalDayTime=A(bc);g.prototype.visitIntervalYearMonth=A(gc);g.prototype.visitDuration=A(td);g.prototype.visitDurationSecond=A(_c);g.prototype.visitDurationMillisecond=A(wc);g.prototype.visitDurationMicrosecond=A(vc);g.prototype.visitDurationNanosecond=A(Ic);g.prototype.visitFixedSizeList=A(ed);g.prototype.visitMap=A(Zu);var st=new g;var ir=Symbol.for("keys"),di=Symbol.for("vals"),ui=Symbol.for("kKeysAsStrings"),Io=Symbol.for("_kKeysAsStrings"),Ce=class{constructor(t){return this[ir]=new F([t.children[0]]).memoize(),this[di]=t.children[1],new Proxy(this,new Ao)}get[ui](){return this[Io]||(this[Io]=Array.from(this[ir].toArray(),String))}[Symbol.iterator](){return new So(this[ir],this[di])}get size(){return this[ir].length}toArray(){return Object.values(this.toJSON())}toJSON(){let t=this[ir],e=this[di],i={};for(let n=-1,s=t.length;++n<s;)i[t.get(n)]=st.visit(e,n);return i}toString(){return`{${[...this].map(([t,e])=>`${me(t)}: ${me(e)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}},So=class{constructor(t,e){this.keys=t,this.vals=e,this.keyIndex=0,this.numKeys=t.length}[Symbol.iterator](){return this}next(){let t=this.keyIndex;return t===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(t),st.visit(this.vals,t)]})}},Ao=class{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(t){return t[ui]}has(t,e){return t[ui].includes(e)}getOwnPropertyDescriptor(t,e){if(t[ui].indexOf(e)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(t,e){if(Reflect.has(t,e))return t[e];let i=t[ui].indexOf(e);if(i!==-1){let n=st.visit(Reflect.get(t,di),i);return Reflect.set(t,e,n),n}}set(t,e,i){let n=t[ui].indexOf(e);return n!==-1?(yt.visit(Reflect.get(t,di),n,i),Reflect.set(t,e,i)):Reflect.has(t,e)?Reflect.set(t,e,i):!1}};Object.defineProperties(Ce.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[ir]:{writable:!0,enumerable:!1,configurable:!1,value:null},[di]:{writable:!0,enumerable:!1,configurable:!1,value:null},[Io]:{writable:!0,enumerable:!1,configurable:!1,value:null}});var Sc;function Vi(r,t,e,i){let{length:n=0}=r,s=typeof t!="number"?0:t,o=typeof e!="number"?n:e;return s<0&&(s=(s%n+n)%n),o<0&&(o=(o%n+n)%n),o<s&&(Sc=s,s=o,o=Sc),o>n&&(o=n),i?i(r,s,o):[s,o]}var gr=(r,t)=>r<0?t+r:r,Ac=r=>r!==r;function nr(r){if(typeof r!=="object"||r===null)return Ac(r)?Ac:e=>e===r;if(r instanceof Date){let e=r.valueOf();return i=>i instanceof Date?i.valueOf()===e:!1}return ArrayBuffer.isView(r)?e=>e?eo(r,e):!1:r instanceof Map?id(r):Array.isArray(r)?rd(r):r instanceof F?nd(r):sd(r,!0)}function rd(r){let t=[];for(let e=-1,i=r.length;++e<i;)t[e]=nr(r[e]);return es(t)}function id(r){let t=-1,e=[];for(let i of r.values())e[++t]=nr(i);return es(e)}function nd(r){let t=[];for(let e=-1,i=r.length;++e<i;)t[e]=nr(r.get(e));return es(t)}function sd(r,t=!1){let e=Object.keys(r);if(!t&&e.length===0)return()=>!1;let i=[];for(let n=-1,s=e.length;++n<s;)i[n]=nr(r[e[n]]);return es(i,e)}function es(r,t){return e=>{if(!e||typeof e!="object")return!1;switch(e.constructor){case Array:return od(r,e);case Map:return Bc(r,e,e.keys());case Ce:case er:case Object:case void 0:return Bc(r,e,t||Object.keys(e))}return e instanceof F?ad(r,e):!1}}function od(r,t){let e=r.length;if(t.length!==e)return!1;for(let i=-1;++i<e;)if(!r[i](t[i]))return!1;return!0}function ad(r,t){let e=r.length;if(t.length!==e)return!1;for(let i=-1;++i<e;)if(!r[i](t.get(i)))return!1;return!0}function Bc(r,t,e){let i=e[Symbol.iterator](),n=t instanceof Map?t.keys():Object.keys(t)[Symbol.iterator](),s=t instanceof Map?t.values():Object.values(t)[Symbol.iterator](),o=0,a=r.length,c=s.next(),l=i.next(),d=n.next();for(;o<a&&!l.done&&!d.done&&!c.done&&!(l.value!==d.value||!r[o](c.value));++o,l=i.next(),d=n.next(),c=s.next());return o===a&&l.done&&d.done&&c.done?!0:(i.return&&i.return(),n.return&&n.return(),s.return&&s.return(),!1)}var Do={};Qe(Do,{BitIterator:()=>_r,getBit:()=>Dc,getBool:()=>is,packBools:()=>vr,popcnt_array:()=>xc,popcnt_bit_range:()=>zi,popcnt_uint32:()=>rs,setBool:()=>cd,truncateBitmap:()=>wr});function is(r,t,e,i){return(e&1<<i)!==0}function Dc(r,t,e,i){return(e&1<<i)>>i}function cd(r,t,e){return e?!!(r[t>>3]|=1<<t%8)||!0:!(r[t>>3]&=~(1<<t%8))&&!1}function wr(r,t,e){let i=e.byteLength+7&-8;if(r>0||e.byteLength<i){let n=new Uint8Array(i);return n.set(r%8===0?e.subarray(r>>3):vr(new _r(e,r,t,null,is)).subarray(0,i)),n}return e}function vr(r){let t=[],e=0,i=0,n=0;for(let o of r)o&&(n|=1<<i),++i===8&&(t[e++]=n,n=i=0);(e===0||i>0)&&(t[e++]=n);let s=new Uint8Array(t.length+7&-8);return s.set(t),s}var _r=class{constructor(t,e,i,n,s){this.bytes=t,this.length=i,this.context=n,this.get=s,this.bit=e%8,this.byteIndex=e>>3,this.byte=t[this.byteIndex++],this.index=0}next(){return this.index<this.length?(this.bit===8&&(this.bit=0,this.byte=this.bytes[this.byteIndex++]),{value:this.get(this.context,this.index++,this.byte,this.bit++)}):{done:!0,value:null}}[Symbol.iterator](){return this}};function zi(r,t,e){if(e-t<=0)return 0;if(e-t<8){let s=0;for(let o of new _r(r,t,e-t,r,Dc))s+=o;return s}let i=e>>3<<3,n=t+(t%8===0?0:8-t%8);return zi(r,t,n)+zi(r,i,e)+xc(r,n>>3,i-n>>3)}function xc(r,t,e){let i=0,n=Math.trunc(t),s=new DataView(r.buffer,r.byteOffset,r.byteLength),o=e===void 0?r.byteLength:n+e;for(;o-n>=4;)i+=rs(s.getUint32(n)),n+=4;for(;o-n>=2;)i+=rs(s.getUint16(n)),n+=2;for(;o-n>=1;)i+=rs(s.getUint8(n)),n+=1;return i}function rs(r){let t=Math.trunc(r);return t=t-(t>>>1&1431655765),t=(t&858993459)+(t>>>2&858993459),(t+(t>>>4)&252645135)*16843009>>>24}var ld=-1,L=class{get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get nullable(){if(this._nullCount!==0){let{type:t}=this;return f.isSparseUnion(t)?this.children.some(e=>e.nullable):f.isDenseUnion(t)?this.children.some(e=>e.nullable):this.nullBitmap&&this.nullBitmap.byteLength>0}return!0}get byteLength(){let t=0,{valueOffsets:e,values:i,nullBitmap:n,typeIds:s}=this;return e&&(t+=e.byteLength),i&&(t+=i.byteLength),n&&(t+=n.byteLength),s&&(t+=s.byteLength),this.children.reduce((o,a)=>o+a.byteLength,t)}get nullCount(){if(f.isUnion(this.type))return this.children.reduce((i,n)=>i+n.nullCount,0);let t=this._nullCount,e;return t<=ld&&(e=this.nullBitmap)&&(this._nullCount=t=e.length===0?0:this.length-zi(e,this.offset,this.offset+this.length)),t}constructor(t,e,i,n,s,o=[],a){this.type=t,this.children=o,this.dictionary=a,this.offset=Math.floor(Math.max(e||0,0)),this.length=Math.floor(Math.max(i||0,0)),this._nullCount=Math.floor(Math.max(n||0,-1));let c;s instanceof L?(this.stride=s.stride,this.values=s.values,this.typeIds=s.typeIds,this.nullBitmap=s.nullBitmap,this.valueOffsets=s.valueOffsets):(this.stride=Kt(t),s&&((c=s[0])&&(this.valueOffsets=c),(c=s[1])&&(this.values=c),(c=s[2])&&(this.nullBitmap=c),(c=s[3])&&(this.typeIds=c)))}getValid(t){let{type:e}=this;if(f.isUnion(e)){let i=e,n=this.children[i.typeIdToChildIndex[this.typeIds[t]]],s=i.mode===Y.Dense?this.valueOffsets[t]:t;return n.getValid(s)}if(this.nullable&&this.nullCount>0){let i=this.offset+t;return(this.nullBitmap[i>>3]&1<<i%8)!==0}return!0}setValid(t,e){let i,{type:n}=this;if(f.isUnion(n)){let s=n,o=this.children[s.typeIdToChildIndex[this.typeIds[t]]],a=s.mode===Y.Dense?this.valueOffsets[t]:t;i=o.getValid(a),o.setValid(a,e)}else{let{nullBitmap:s}=this,{offset:o,length:a}=this,c=o+t,l=1<<c%8,d=c>>3;(!s||s.byteLength<=d)&&(s=new Uint8Array((o+a+63&-64)>>3).fill(255),this.nullCount>0?(s.set(wr(o,a,this.nullBitmap),0),Object.assign(this,{nullBitmap:s})):Object.assign(this,{nullBitmap:s,_nullCount:0}));let h=s[d];i=(h&l)!==0,s[d]=e?h|l:h&~l}return i!==!!e&&(this._nullCount=this.nullCount+(e?-1:1)),e}clone(t=this.type,e=this.offset,i=this.length,n=this._nullCount,s=this,o=this.children){return new L(t,e,i,n,s,o,this.dictionary)}slice(t,e){let{stride:i,typeId:n,children:s}=this,o=+(this._nullCount===0)-1,a=n===16?i:1,c=this._sliceBuffers(t,e,i,n);return this.clone(this.type,this.offset+t,e,o,c,s.length===0||this.valueOffsets?s:this._sliceChildren(s,a*t,a*e))}_changeLengthAndBackfillNullBitmap(t){if(this.typeId===u.Null)return this.clone(this.type,0,t,0);let{length:e,nullCount:i}=this,n=new Uint8Array((t+63&-64)>>3).fill(255,0,e>>3);n[e>>3]=(1<<e-(e&-8))-1,i>0&&n.set(wr(this.offset,e,this.nullBitmap),0);let s=this.buffers;return s[Rt.VALIDITY]=n,this.clone(this.type,0,t,i+(t-e),s)}_sliceBuffers(t,e,i,n){let s,{buffers:o}=this;return(s=o[Rt.TYPE])&&(o[Rt.TYPE]=s.subarray(t,t+e)),(s=o[Rt.OFFSET])&&(o[Rt.OFFSET]=s.subarray(t,t+e+1))||(s=o[Rt.DATA])&&(o[Rt.DATA]=n===6?s:s.subarray(i*t,i*(t+e))),o}_sliceChildren(t,e,i){return t.map(n=>n.slice(e,i))}};L.prototype.children=Object.freeze([]);var Ir=class extends b{visit(t){return this.getVisitFn(t.type).call(this,t)}visitNull(t){let{["type"]:e,["offset"]:i=0,["length"]:n=0}=t;return new L(e,i,n,n)}visitBool(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.nullBitmap),s=N(e.ArrayType,t.data),{["length"]:o=s.length>>3,["nullCount"]:a=t.nullBitmap?-1:0}=t;return new L(e,i,o,a,[void 0,s,n])}visitInt(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.nullBitmap),s=N(e.ArrayType,t.data),{["length"]:o=s.length,["nullCount"]:a=t.nullBitmap?-1:0}=t;return new L(e,i,o,a,[void 0,s,n])}visitFloat(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.nullBitmap),s=N(e.ArrayType,t.data),{["length"]:o=s.length,["nullCount"]:a=t.nullBitmap?-1:0}=t;return new L(e,i,o,a,[void 0,s,n])}visitUtf8(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.data),s=S(t.nullBitmap),o=or(t.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new L(e,i,a,c,[o,n,s])}visitLargeUtf8(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.data),s=S(t.nullBitmap),o=Nn(t.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new L(e,i,a,c,[o,n,s])}visitBinary(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.data),s=S(t.nullBitmap),o=or(t.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new L(e,i,a,c,[o,n,s])}visitLargeBinary(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.data),s=S(t.nullBitmap),o=Nn(t.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new L(e,i,a,c,[o,n,s])}visitFixedSizeBinary(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.nullBitmap),s=N(e.ArrayType,t.data),{["length"]:o=s.length/Kt(e),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new L(e,i,o,a,[void 0,s,n])}visitDate(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.nullBitmap),s=N(e.ArrayType,t.data),{["length"]:o=s.length/Kt(e),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new L(e,i,o,a,[void 0,s,n])}visitTimestamp(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.nullBitmap),s=N(e.ArrayType,t.data),{["length"]:o=s.length/Kt(e),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new L(e,i,o,a,[void 0,s,n])}visitTime(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.nullBitmap),s=N(e.ArrayType,t.data),{["length"]:o=s.length/Kt(e),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new L(e,i,o,a,[void 0,s,n])}visitDecimal(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.nullBitmap),s=N(e.ArrayType,t.data),{["length"]:o=s.length/Kt(e),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new L(e,i,o,a,[void 0,s,n])}visitList(t){let{["type"]:e,["offset"]:i=0,["child"]:n}=t,s=S(t.nullBitmap),o=or(t.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new L(e,i,a,c,[o,void 0,s],[n])}visitStruct(t){let{["type"]:e,["offset"]:i=0,["children"]:n=[]}=t,s=S(t.nullBitmap),{length:o=n.reduce((c,{length:l})=>Math.max(c,l),0),nullCount:a=t.nullBitmap?-1:0}=t;return new L(e,i,o,a,[void 0,void 0,s],n)}visitUnion(t){let{["type"]:e,["offset"]:i=0,["children"]:n=[]}=t,s=N(e.ArrayType,t.typeIds),{["length"]:o=s.length,["nullCount"]:a=-1}=t;if(f.isSparseUnion(e))return new L(e,i,o,a,[void 0,void 0,void 0,s],n);let c=or(t.valueOffsets);return new L(e,i,o,a,[c,void 0,void 0,s],n)}visitDictionary(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.nullBitmap),s=N(e.indices.ArrayType,t.data),{["dictionary"]:o=new F([new Ir().visit({type:e.dictionary})])}=t,{["length"]:a=s.length,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new L(e,i,a,c,[void 0,s,n],[],o)}visitInterval(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.nullBitmap),s=N(e.ArrayType,t.data),{["length"]:o=s.length/Kt(e),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new L(e,i,o,a,[void 0,s,n])}visitDuration(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.nullBitmap),s=N(e.ArrayType,t.data),{["length"]:o=s.length,["nullCount"]:a=t.nullBitmap?-1:0}=t;return new L(e,i,o,a,[void 0,s,n])}visitFixedSizeList(t){let{["type"]:e,["offset"]:i=0,["child"]:n=new Ir().visit({type:e.valueType})}=t,s=S(t.nullBitmap),{["length"]:o=n.length/Kt(e),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new L(e,i,o,a,[void 0,void 0,s],[n])}visitMap(t){let{["type"]:e,["offset"]:i=0,["child"]:n=new Ir().visit({type:e.childType})}=t,s=S(t.nullBitmap),o=or(t.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new L(e,i,a,c,[o,void 0,s],[n])}},ud=new Ir;function x(r){return ud.visit(r)}var Pi=class{constructor(t=0,e){this.numChunks=t,this.getChunkIterator=e,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndex<this.numChunks;){let t=this.chunkIterator.next();if(!t.done)return t;++this.chunkIndex<this.numChunks&&(this.chunkIterator=this.getChunkIterator(this.chunkIndex))}return{done:!0,value:null}}[Symbol.iterator](){return this}};function Tc(r){return r.some(t=>t.nullable)}function ns(r){return r.reduce((t,e)=>t+e.nullCount,0)}function ss(r){return r.reduce((t,e,i)=>(t[i+1]=t[i]+e.length,t),new Uint32Array(r.length+1))}function os(r,t,e,i){let n=[];for(let s=-1,o=r.length;++s<o;){let a=r[s],c=t[s],{length:l}=a;if(c>=i)break;if(e>=c+l)continue;if(c>=e&&c+l<=i){n.push(a);continue}let d=Math.max(0,e-c),h=Math.min(i-c,l);n.push(a.slice(d,h-d))}return n.length===0&&n.push(r[0].slice(0,0)),n}function xo(r,t,e,i){let n=0,s=0,o=t.length-1;do{if(n>=o-1)return e<t[o]?i(r,n,e-t[n]):null;s=n+Math.trunc((o-n)*.5),e<t[s]?o=s:n=s}while(n<o)}function ki(r,t){return r.getValid(t)}function hi(r){function t(e,i,n){return r(e[i],n)}return function(e){let i=this.data;return xo(i,this._offsets,e,t)}}function as(r){let t;function e(i,n,s){return r(i[n],s,t)}return function(i,n){let s=this.data;t=n;let o=xo(s,this._offsets,i,e);return t=void 0,o}}function cs(r){let t;function e(i,n,s){let o=s,a=0,c=0;for(let l=n-1,d=i.length;++l<d;){let h=i[l];if(~(a=r(h,t,o)))return c+a;o=0,c+=h.length}return-1}return function(i,n){t=i;let s=this.data,o=typeof n!="number"?e(s,0,0):xo(s,this._offsets,n,e);return t=void 0,o}}var _=class extends b{};function dd(r,t){return t===null&&r.length>0?0:-1}function hd(r,t){let{nullBitmap:e}=r;if(!e||r.nullCount<=0)return-1;let i=0;for(let n of new _r(e,r.offset+(t||0),r.length,e,is)){if(!n)return i;++i}return-1}function O(r,t,e){if(t===void 0)return-1;if(t===null)switch(r.typeId){case u.Union:break;case u.Dictionary:break;default:return hd(r,e)}let i=st.getVisitFn(r),n=nr(t);for(let s=(e||0)-1,o=r.length;++s<o;)if(n(i(r,s)))return s;return-1}function Oc(r,t,e){let i=st.getVisitFn(r),n=nr(t);for(let s=(e||0)-1,o=r.length;++s<o;)if(n(i(r,s)))return s;return-1}_.prototype.visitNull=dd;_.prototype.visitBool=O;_.prototype.visitInt=O;_.prototype.visitInt8=O;_.prototype.visitInt16=O;_.prototype.visitInt32=O;_.prototype.visitInt64=O;_.prototype.visitUint8=O;_.prototype.visitUint16=O;_.prototype.visitUint32=O;_.prototype.visitUint64=O;_.prototype.visitFloat=O;_.prototype.visitFloat16=O;_.prototype.visitFloat32=O;_.prototype.visitFloat64=O;_.prototype.visitUtf8=O;_.prototype.visitLargeUtf8=O;_.prototype.visitBinary=O;_.prototype.visitLargeBinary=O;_.prototype.visitFixedSizeBinary=O;_.prototype.visitDate=O;_.prototype.visitDateDay=O;_.prototype.visitDateMillisecond=O;_.prototype.visitTimestamp=O;_.prototype.visitTimestampSecond=O;_.prototype.visitTimestampMillisecond=O;_.prototype.visitTimestampMicrosecond=O;_.prototype.visitTimestampNanosecond=O;_.prototype.visitTime=O;_.prototype.visitTimeSecond=O;_.prototype.visitTimeMillisecond=O;_.prototype.visitTimeMicrosecond=O;_.prototype.visitTimeNanosecond=O;_.prototype.visitDecimal=O;_.prototype.visitList=O;_.prototype.visitStruct=O;_.prototype.visitUnion=O;_.prototype.visitDenseUnion=Oc;_.prototype.visitSparseUnion=Oc;_.prototype.visitDictionary=O;_.prototype.visitInterval=O;_.prototype.visitIntervalDayTime=O;_.prototype.visitIntervalYearMonth=O;_.prototype.visitDuration=O;_.prototype.visitDurationSecond=O;_.prototype.visitDurationMillisecond=O;_.prototype.visitDurationMicrosecond=O;_.prototype.visitDurationNanosecond=O;_.prototype.visitFixedSizeList=O;_.prototype.visitMap=O;var Sr=new _;var w=class extends b{};function B(r){let{type:t}=r;if(r.nullCount===0&&r.stride===1&&(f.isInt(t)&&t.bitWidth!==64||f.isTime(t)&&t.bitWidth!==64||f.isFloat(t)&&t.precision!==W.HALF))return new Pi(r.data.length,i=>{let n=r.data[i];return n.values.subarray(0,n.length)[Symbol.iterator]()});let e=0;return new Pi(r.data.length,i=>{let s=r.data[i].length,o=r.slice(e,e+s);return e+=s,new To(o)})}var To=class{constructor(t){this.vector=t,this.index=0}next(){return this.index<this.vector.length?{value:this.vector.get(this.index++)}:{done:!0,value:null}}[Symbol.iterator](){return this}};w.prototype.visitNull=B;w.prototype.visitBool=B;w.prototype.visitInt=B;w.prototype.visitInt8=B;w.prototype.visitInt16=B;w.prototype.visitInt32=B;w.prototype.visitInt64=B;w.prototype.visitUint8=B;w.prototype.visitUint16=B;w.prototype.visitUint32=B;w.prototype.visitUint64=B;w.prototype.visitFloat=B;w.prototype.visitFloat16=B;w.prototype.visitFloat32=B;w.prototype.visitFloat64=B;w.prototype.visitUtf8=B;w.prototype.visitLargeUtf8=B;w.prototype.visitBinary=B;w.prototype.visitLargeBinary=B;w.prototype.visitFixedSizeBinary=B;w.prototype.visitDate=B;w.prototype.visitDateDay=B;w.prototype.visitDateMillisecond=B;w.prototype.visitTimestamp=B;w.prototype.visitTimestampSecond=B;w.prototype.visitTimestampMillisecond=B;w.prototype.visitTimestampMicrosecond=B;w.prototype.visitTimestampNanosecond=B;w.prototype.visitTime=B;w.prototype.visitTimeSecond=B;w.prototype.visitTimeMillisecond=B;w.prototype.visitTimeMicrosecond=B;w.prototype.visitTimeNanosecond=B;w.prototype.visitDecimal=B;w.prototype.visitList=B;w.prototype.visitStruct=B;w.prototype.visitUnion=B;w.prototype.visitDenseUnion=B;w.prototype.visitSparseUnion=B;w.prototype.visitDictionary=B;w.prototype.visitInterval=B;w.prototype.visitIntervalDayTime=B;w.prototype.visitIntervalYearMonth=B;w.prototype.visitDuration=B;w.prototype.visitDurationSecond=B;w.prototype.visitDurationMillisecond=B;w.prototype.visitDurationMicrosecond=B;w.prototype.visitDurationNanosecond=B;w.prototype.visitFixedSizeList=B;w.prototype.visitMap=B;var fi=new w;var Fc,Mc={},Nc={},F=class{constructor(t){var e,i,n;let s=t[0]instanceof F?t.flatMap(a=>a.data):t;if(s.length===0||s.some(a=>!(a instanceof L)))throw new TypeError("Vector constructor expects an Array of Data instances.");let o=(e=s[0])===null||e===void 0?void 0:e.type;switch(s.length){case 0:this._offsets=[0];break;case 1:{let{get:a,set:c,indexOf:l}=Mc[o.typeId],d=s[0];this.isValid=h=>ki(d,h),this.get=h=>a(d,h),this.set=(h,V)=>c(d,h,V),this.indexOf=h=>l(d,h),this._offsets=[0,d.length];break}default:Object.setPrototypeOf(this,Nc[o.typeId]),this._offsets=ss(s);break}this.data=s,this.type=o,this.stride=Kt(o),this.numChildren=(n=(i=o.children)===null||i===void 0?void 0:i.length)!==null&&n!==void 0?n:0,this.length=this._offsets.at(-1)}get byteLength(){return this.data.reduce((t,e)=>t+e.byteLength,0)}get nullable(){return Tc(this.data)}get nullCount(){return ns(this.data)}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${u[this.type.typeId]}Vector`}isValid(t){return!1}get(t){return null}at(t){return this.get(gr(t,this.length))}set(t,e){}indexOf(t,e){return-1}includes(t,e){return this.indexOf(t,e)>-1}[Symbol.iterator](){return fi.visit(this)}concat(...t){return new F(this.data.concat(t.flatMap(e=>e.data).flat(Number.POSITIVE_INFINITY)))}slice(t,e){return new F(Vi(this,t,e,({data:i,_offsets:n},s,o)=>os(i,n,s,o)))}toJSON(){return[...this]}toArray(){let{type:t,data:e,length:i,stride:n,ArrayType:s}=this;switch(t.typeId){case u.Int:case u.Float:case u.Decimal:case u.Time:case u.Timestamp:switch(e.length){case 0:return new s;case 1:return e[0].values.subarray(0,i*n);default:return e.reduce((o,{values:a,length:c})=>(o.array.set(a.subarray(0,c*n),o.offset),o.offset+=c*n,o),{array:new s(i*n),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(",")}]`}getChild(t){var e;return this.getChildAt((e=this.type.children)===null||e===void 0?void 0:e.findIndex(i=>i.name===t))}getChildAt(t){return t>-1&&t<this.numChildren?new F(this.data.map(({children:e})=>e[t])):null}get isMemoized(){return f.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(f.isDictionary(this.type)){let t=new pi(this.data[0].dictionary),e=this.data.map(i=>{let n=i.clone();return n.dictionary=t,n});return new F(e)}return new pi(this)}unmemoize(){if(f.isDictionary(this.type)&&this.isMemoized){let t=this.data[0].dictionary.unmemoize(),e=this.data.map(i=>{let n=i.clone();return n.dictionary=t,n});return new F(e)}return this}};Fc=Symbol.toStringTag;F[Fc]=(r=>{r.type=f.prototype,r.data=[],r.length=0,r.stride=1,r.numChildren=0,r._offsets=new Uint32Array([0]),r[Symbol.isConcatSpreadable]=!0;let t=Object.keys(u).map(e=>u[e]).filter(e=>typeof e=="number"&&e!==u.NONE);for(let e of t){let i=st.getVisitFnByTypeId(e),n=yt.getVisitFnByTypeId(e),s=Sr.getVisitFnByTypeId(e);Mc[e]={get:i,set:n,indexOf:s},Nc[e]=Object.create(r,{isValid:{value:hi(ki)},get:{value:hi(st.getVisitFnByTypeId(e))},set:{value:as(yt.getVisitFnByTypeId(e))},indexOf:{value:cs(Sr.getVisitFnByTypeId(e))}})}return"Vector"})(F.prototype);var pi=class extends F{constructor(t){super(t.data);let e=this.get,i=this.set,n=this.slice,s=new Array(this.length);Object.defineProperty(this,"get",{value(o){let a=s[o];if(a!==void 0)return a;let c=e.call(this,o);return s[o]=c,c}}),Object.defineProperty(this,"set",{value(o,a){i.call(this,o,a),s[o]=a}}),Object.defineProperty(this,"slice",{value:(o,a)=>new pi(n.call(this,o,a))}),Object.defineProperty(this,"isMemoized",{value:!0}),Object.defineProperty(this,"unmemoize",{value:()=>new F(this.data)}),Object.defineProperty(this,"memoize",{value:()=>this})}};function Lc(r){if(!r||r.length<=0)return function(n){return!0};let t="",e=r.filter(i=>i===i);return e.length>0&&(t=`
9
+ with ${i.num_attributes()} attributes into ${o} bytes`),fa(s)}finally{this.destroyEncodedObject(s),this.destroyEncodedObject(i)}}_setOptions(t){if("speed"in t&&this.dracoEncoder.SetSpeedOptions(...t.speed),"method"in t){let e=this.draco[t.method||"MESH_SEQUENTIAL_ENCODING"];this.dracoEncoder.SetEncodingMethod(e)}if("quantization"in t)for(let e in t.quantization){let i=t.quantization[e],n=this.draco[e];this.dracoEncoder.SetAttributeQuantization(n,i)}}_createDracoMesh(t,e,i){let n=i.attributesMetadata||{};try{let s=this._getPositionAttribute(e);if(!s)throw new Error("positions");let o=s.length/3;for(let a in e){let c=e[a];a=ha[a]||a;let l=this._addAttributeToMesh(t,a,c,o);l!==-1&&this._addAttributeMetadata(t,l,{name:a,...n[a]||{}})}}catch(s){throw this.destroyEncodedObject(t),s}return t}_createDracoPointCloud(t,e,i){let n=i.attributesMetadata||{};try{let s=this._getPositionAttribute(e);if(!s)throw new Error("positions");let o=s.length/3;for(let a in e){let c=e[a];a=ha[a]||a;let l=this._addAttributeToMesh(t,a,c,o);l!==-1&&this._addAttributeMetadata(t,l,{name:a,...n[a]||{}})}}catch(s){throw this.destroyEncodedObject(t),s}return t}_addAttributeToMesh(t,e,i,n){if(!ArrayBuffer.isView(i))return-1;let s=this._getDracoAttributeType(e),o=i.length/n;if(s==="indices"){let l=i.length/3;return this.log(`Adding attribute ${e}, size ${l}`),this.dracoMeshBuilder.AddFacesToMesh(t,l,i),-1}this.log(`Adding attribute ${e}, size ${o}`);let a=this.dracoMeshBuilder,{buffer:c}=i;switch(i.constructor){case Int8Array:return a.AddInt8Attribute(t,s,n,o,new Int8Array(c));case Int16Array:return a.AddInt16Attribute(t,s,n,o,new Int16Array(c));case Int32Array:return a.AddInt32Attribute(t,s,n,o,new Int32Array(c));case Uint8Array:case Uint8ClampedArray:return a.AddUInt8Attribute(t,s,n,o,new Uint8Array(c));case Uint16Array:return a.AddUInt16Attribute(t,s,n,o,new Uint16Array(c));case Uint32Array:return a.AddUInt32Attribute(t,s,n,o,new Uint32Array(c));case Float32Array:return a.AddFloatAttribute(t,s,n,o,new Float32Array(c));default:return console.warn("Unsupported attribute type",i),-1}}_getDracoAttributeType(t){switch(t.toLowerCase()){case"indices":return"indices";case"position":case"positions":case"vertices":return this.draco.POSITION;case"normal":case"normals":return this.draco.NORMAL;case"color":case"colors":return this.draco.COLOR;case"texcoord":case"texcoords":return this.draco.TEX_COORD;default:return this.draco.GENERIC}}_getPositionAttribute(t){for(let e in t){let i=t[e];if(this._getDracoAttributeType(e)===this.draco.POSITION)return i}return null}_addGeometryMetadata(t,e){let i=new this.draco.Metadata;this._populateDracoMetadata(i,e),this.dracoMeshBuilder.AddMetadata(t,i)}_addAttributeMetadata(t,e,i){let n=new this.draco.Metadata;this._populateDracoMetadata(n,i),this.dracoMeshBuilder.SetMetadataForAttribute(t,e,n)}_populateDracoMetadata(t,e){for(let[i,n]of Vl(e))switch(typeof n){case"number":Math.trunc(n)===n?this.dracoMetadataBuilder.AddIntEntry(t,i,n):this.dracoMetadataBuilder.AddDoubleEntry(t,i,n);break;case"object":n instanceof Int32Array&&this.dracoMetadataBuilder.AddIntEntryArray(t,i,n,n.length);break;case"string":default:this.dracoMetadataBuilder.AddStringEntry(t,i,n)}}};function fa(r){let t=r.size(),e=new ArrayBuffer(t),i=new Int8Array(e);for(let n=0;n<t;++n)i[n]=r.GetValue(n);return e}function Vl(r){return r.entries&&!r.hasOwnProperty("entries")?r.entries():Object.entries(r)}var Ti="4.4.0-alpha.1";var zl={pointcloud:!1,attributeNameEntry:"name"},pa={id:"draco-writer",name:"Draco compressed geometry writer",module:"draco",version:Ti,worker:!0,options:{draco:{},source:null}},ma={name:"DRACO",id:"draco",module:"draco",version:Ti,extensions:["drc"],mimeTypes:["application/octet-stream"],options:{draco:zl},encode:Pl};async function Pl(r,t={}){let{draco:e}=await da(t),i=new xi(e);try{return i.encodeSync(r,t.draco)}finally{i.destroy()}}function kl(r,t="float32"){return r instanceof Date?"date-millisecond":r instanceof Number?t:typeof r=="string"?"utf8":(r===null||r==="undefined","null")}function ya(r){let t=Xs(r);return t!=="null"?{type:t,nullable:!1}:r.length>0?(t=kl(r[0]),{type:t,nullable:!0}):{type:"null",nullable:!0}}function Xs(r){switch(r.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 ga(r,t){var e={};for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&t.indexOf(i)<0&&(e[i]=r[i]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,i=Object.getOwnPropertySymbols(r);n<i.length;n++)t.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(r,i[n])&&(e[i[n]]=r[i[n]]);return e}function m(r,t,e,i){function n(s){return s instanceof e?s:new e(function(o){o(s)})}return new(e||(e=Promise))(function(s,o){function a(d){try{l(i.next(d))}catch(h){o(h)}}function c(d){try{l(i.throw(d))}catch(h){o(h)}}function l(d){d.done?s(d.value):n(d.value).then(a,c)}l((i=i.apply(r,t||[])).next())})}function ba(r){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&r[t],i=0;if(e)return e.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&i>=r.length&&(r=void 0),{value:r&&r[i++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function M(r){return this instanceof M?(this.v=r,this):new M(r)}function Ht(r,t,e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=e.apply(r,t||[]),n,s=[];return n=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",o),n[Symbol.asyncIterator]=function(){return this},n;function o(R){return function(it){return Promise.resolve(it).then(R,h)}}function a(R,it){i[R]&&(n[R]=function(Vr){return new Promise(function(Ys,Ke){s.push([R,Vr,Ys,Ke])>1||c(R,Vr)})},it&&(n[R]=it(n[R])))}function c(R,it){try{l(i[R](it))}catch(Vr){V(s[0][3],Vr)}}function l(R){R.value instanceof M?Promise.resolve(R.value.v).then(d,h):V(s[0][2],R)}function d(R){c("next",R)}function h(R){c("throw",R)}function V(R,it){R(it),s.shift(),s.length&&c(s[0][0],s[0][1])}}function jr(r){var t,e;return t={},i("next"),i("throw",function(n){throw n}),i("return"),t[Symbol.iterator]=function(){return this},t;function i(n,s){t[n]=r[n]?function(o){return(e=!e)?{value:M(r[n](o)),done:!1}:s?s(o):o}:s}}function le(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=r[Symbol.asyncIterator],e;return t?t.call(r):(r=typeof ba=="function"?ba(r):r[Symbol.iterator](),e={},i("next"),i("throw"),i("return"),e[Symbol.asyncIterator]=function(){return this},e);function i(s){e[s]=r[s]&&function(o){return new Promise(function(a,c){o=r[s](o),n(a,c,o.done,o.value)})}}function n(s,o,a,c){Promise.resolve(c).then(function(l){s({value:l,done:a})},o)}}var ro={};Qe(ro,{compareArrayLike:()=>eo,joinUint8Arrays:()=>Gt,memcpy:()=>Mi,rebaseValueOffsets:()=>Ln,toArrayBufferView:()=>N,toArrayBufferViewAsyncIterator:()=>he,toArrayBufferViewIterator:()=>Se,toBigInt64Array:()=>Nn,toBigUint64Array:()=>Xl,toFloat32Array:()=>ql,toFloat32ArrayAsyncIterator:()=>fu,toFloat32ArrayIterator:()=>su,toFloat64Array:()=>Kl,toFloat64ArrayAsyncIterator:()=>pu,toFloat64ArrayIterator:()=>ou,toInt16Array:()=>Gl,toInt16ArrayAsyncIterator:()=>lu,toInt16ArrayIterator:()=>eu,toInt32Array:()=>or,toInt32ArrayAsyncIterator:()=>uu,toInt32ArrayIterator:()=>ru,toInt8Array:()=>Hl,toInt8ArrayAsyncIterator:()=>cu,toInt8ArrayIterator:()=>tu,toUint16Array:()=>Jl,toUint16ArrayAsyncIterator:()=>du,toUint16ArrayIterator:()=>iu,toUint32Array:()=>Zl,toUint32ArrayAsyncIterator:()=>hu,toUint32ArrayIterator:()=>nu,toUint8Array:()=>S,toUint8ArrayAsyncIterator:()=>to,toUint8ArrayIterator:()=>Qs,toUint8ClampedArray:()=>Ql,toUint8ClampedArrayAsyncIterator:()=>mu,toUint8ClampedArrayIterator:()=>au});var jl=new TextDecoder("utf-8"),Oi=r=>jl.decode(r),Wl=new TextEncoder,Ie=r=>Wl.encode(r);var $l=r=>typeof r=="number",_a=r=>typeof r=="boolean",ct=r=>typeof r=="function",St=r=>r!=null&&Object(r)===r,ue=r=>St(r)&&ct(r.then);var de=r=>St(r)&&ct(r[Symbol.iterator]),Qt=r=>St(r)&&ct(r[Symbol.asyncIterator]),Dn=r=>St(r)&&St(r.schema);var xn=r=>St(r)&&"done"in r&&"value"in r;var Tn=r=>St(r)&&ct(r.stat)&&$l(r.fd);var On=r=>St(r)&&Fi(r.body),Fn=r=>"_getDOMStream"in r&&"_getNodeStream"in r,wa=r=>St(r)&&ct(r.abort)&&ct(r.getWriter)&&!Fn(r),Fi=r=>St(r)&&ct(r.cancel)&&ct(r.getReader)&&!Fn(r),va=r=>St(r)&&ct(r.end)&&ct(r.write)&&_a(r.writable)&&!Fn(r),Mn=r=>St(r)&&ct(r.read)&&ct(r.pipe)&&_a(r.readable)&&!Fn(r),Ia=r=>St(r)&&ct(r.clear)&&ct(r.bytes)&&ct(r.position)&&ct(r.setPosition)&&ct(r.capacity)&&ct(r.getBufferIdentifier)&&ct(r.createLong);var Ks=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:ArrayBuffer;function Yl(r){let t=r[0]?[r[0]]:[],e,i,n,s;for(let o,a,c=0,l=0,d=r.length;++c<d;){if(o=t[l],a=r[c],!o||!a||o.buffer!==a.buffer||a.byteOffset<o.byteOffset){a&&(t[++l]=a);continue}if({byteOffset:e,byteLength:n}=o,{byteOffset:i,byteLength:s}=a,e+n<i||i+s<e){a&&(t[++l]=a);continue}t[l]=new Uint8Array(o.buffer,e,i-e+s)}return t}function Mi(r,t,e=0,i=t.byteLength){let n=r.byteLength,s=new Uint8Array(r.buffer,r.byteOffset,n),o=new Uint8Array(t.buffer,t.byteOffset,Math.min(i,n));return s.set(o,e),r}function Gt(r,t){let e=Yl(r),i=e.reduce((d,h)=>d+h.byteLength,0),n,s,o,a=0,c=-1,l=Math.min(t||Number.POSITIVE_INFINITY,i);for(let d=e.length;++c<d;){if(n=e[c],s=n.subarray(0,Math.min(n.length,l-a)),l<=a+s.length){s.length<n.length?e[c]=n.subarray(s.length):s.length===n.length&&c++,o?Mi(o,s,a):o=s;break}Mi(o||(o=new Uint8Array(l)),s,a),a+=s.length}return[o||new Uint8Array(0),e.slice(c),i-(o?o.byteLength:0)]}function N(r,t){let e=xn(t)?t.value:t;return e instanceof r?r===Uint8Array?new r(e.buffer,e.byteOffset,e.byteLength):e:e?(typeof e=="string"&&(e=Ie(e)),e instanceof ArrayBuffer?new r(e):e instanceof Ks?new r(e):Ia(e)?N(r,e.bytes()):ArrayBuffer.isView(e)?e.byteLength<=0?new r(0):new r(e.buffer,e.byteOffset,e.byteLength/r.BYTES_PER_ELEMENT):r.from(e)):new r(0)}var Hl=r=>N(Int8Array,r),Gl=r=>N(Int16Array,r),or=r=>N(Int32Array,r),Nn=r=>N(BigInt64Array,r),S=r=>N(Uint8Array,r),Jl=r=>N(Uint16Array,r),Zl=r=>N(Uint32Array,r),Xl=r=>N(BigUint64Array,r),ql=r=>N(Float32Array,r),Kl=r=>N(Float64Array,r),Ql=r=>N(Uint8ClampedArray,r),qs=r=>(r.next(),r);function*Se(r,t){let e=function*(n){yield n},i=typeof t=="string"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof Ks?e(t):de(t)?t:e(t);return yield*qs(function*(n){let s=null;do s=n.next(yield N(r,s));while(!s.done)}(i[Symbol.iterator]())),new r}var tu=r=>Se(Int8Array,r),eu=r=>Se(Int16Array,r),ru=r=>Se(Int32Array,r),Qs=r=>Se(Uint8Array,r),iu=r=>Se(Uint16Array,r),nu=r=>Se(Uint32Array,r),su=r=>Se(Float32Array,r),ou=r=>Se(Float64Array,r),au=r=>Se(Uint8ClampedArray,r);function he(r,t){return Ht(this,arguments,function*(){if(ue(t))return yield M(yield M(yield*jr(le(he(r,yield M(t))))));let i=function(o){return Ht(this,arguments,function*(){yield yield M(yield M(o))})},n=function(o){return Ht(this,arguments,function*(){yield M(yield*jr(le(qs(function*(a){let c=null;do c=a.next(yield c?.value);while(!c.done)}(o[Symbol.iterator]())))))})},s=typeof t=="string"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof Ks?i(t):de(t)?n(t):Qt(t)?t:i(t);return yield M(yield*jr(le(qs(function(o){return Ht(this,arguments,function*(){let a=null;do a=yield M(o.next(yield yield M(N(r,a))));while(!a.done)})}(s[Symbol.asyncIterator]()))))),yield M(new r)})}var cu=r=>he(Int8Array,r),lu=r=>he(Int16Array,r),uu=r=>he(Int32Array,r),to=r=>he(Uint8Array,r),du=r=>he(Uint16Array,r),hu=r=>he(Uint32Array,r),fu=r=>he(Float32Array,r),pu=r=>he(Float64Array,r),mu=r=>he(Uint8ClampedArray,r);function Ln(r,t,e){if(r!==0){e=e.slice(0,t);for(let i=-1,n=e.length;++i<n;)e[i]+=r}return e.subarray(0,t)}function eo(r,t){let e=0,i=r.length;if(i!==t.length)return!1;if(i>0)do if(r[e]!==t[e])return!1;while(++e<i);return!0}var mt={fromIterable(r){return En(yu(r))},fromAsyncIterable(r){return En(bu(r))},fromDOMStream(r){return En(gu(r))},fromNodeStream(r){return En(_u(r))},toDOMStream(r,t){throw new Error('"toDOMStream" not available in this environment')},toNodeStream(r,t){throw new Error('"toNodeStream" not available in this environment')}},En=r=>(r.next(),r);function*yu(r){let t,e=!1,i=[],n,s,o,a=0;function c(){return s==="peek"?Gt(i,o)[0]:([n,i,a]=Gt(i,o),n)}({cmd:s,size:o}=(yield(()=>null)())||{cmd:"read",size:0});let l=Qs(r)[Symbol.iterator]();try{do if({done:t,value:n}=Number.isNaN(o-a)?l.next():l.next(o-a),!t&&n.byteLength>0&&(i.push(n),a+=n.byteLength),t||o<=a)do({cmd:s,size:o}=yield c());while(o<a);while(!t)}catch(d){(e=!0)&&typeof l.throw=="function"&&l.throw(d)}finally{e===!1&&typeof l.return=="function"&&l.return(null)}return null}function bu(r){return Ht(this,arguments,function*(){let e,i=!1,n=[],s,o,a,c=0;function l(){return o==="peek"?Gt(n,a)[0]:([s,n,c]=Gt(n,a),s)}({cmd:o,size:a}=(yield yield M((()=>null)()))||{cmd:"read",size:0});let d=to(r)[Symbol.asyncIterator]();try{do if({done:e,value:s}=Number.isNaN(a-c)?yield M(d.next()):yield M(d.next(a-c)),!e&&s.byteLength>0&&(n.push(s),c+=s.byteLength),e||a<=c)do({cmd:o,size:a}=yield yield M(l()));while(a<c);while(!e)}catch(h){(i=!0)&&typeof d.throw=="function"&&(yield M(d.throw(h)))}finally{i===!1&&typeof d.return=="function"&&(yield M(d.return(new Uint8Array(0))))}return yield M(null)})}function gu(r){return Ht(this,arguments,function*(){let e=!1,i=!1,n=[],s,o,a,c=0;function l(){return o==="peek"?Gt(n,a)[0]:([s,n,c]=Gt(n,a),s)}({cmd:o,size:a}=(yield yield M((()=>null)()))||{cmd:"read",size:0});let d=new no(r);try{do if({done:e,value:s}=Number.isNaN(a-c)?yield M(d.read()):yield M(d.read(a-c)),!e&&s.byteLength>0&&(n.push(S(s)),c+=s.byteLength),e||a<=c)do({cmd:o,size:a}=yield yield M(l()));while(a<c);while(!e)}catch(h){(i=!0)&&(yield M(d.cancel(h)))}finally{i===!1?yield M(d.cancel()):r.locked&&d.releaseLock()}return yield M(null)})}var no=class{constructor(t){this.source=t,this.reader=null,this.reader=this.source.getReader(),this.reader.closed.catch(()=>{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(t){return m(this,void 0,void 0,function*(){let{reader:e,source:i}=this;e&&(yield e.cancel(t).catch(()=>{})),i&&i.locked&&this.releaseLock()})}read(t){return m(this,void 0,void 0,function*(){if(t===0)return{done:this.reader==null,value:new Uint8Array(0)};let e=yield this.reader.read();return!e.done&&(e.value=S(e)),e})}},io=(r,t)=>{let e=n=>i([t,n]),i;return[t,e,new Promise(n=>(i=n)&&r.once(t,e))]};function _u(r){return Ht(this,arguments,function*(){let e=[],i="error",n=!1,s=null,o,a,c=0,l=[],d;function h(){return o==="peek"?Gt(l,a)[0]:([d,l,c]=Gt(l,a),d)}if({cmd:o,size:a}=(yield yield M((()=>null)()))||{cmd:"read",size:0},r.isTTY)return yield yield M(new Uint8Array(0)),yield M(null);try{e[0]=io(r,"end"),e[1]=io(r,"error");do{if(e[2]=io(r,"readable"),[i,s]=yield M(Promise.race(e.map(R=>R[2]))),i==="error")break;if((n=i==="end")||(Number.isFinite(a-c)?(d=S(r.read(a-c)),d.byteLength<a-c&&(d=S(r.read()))):d=S(r.read()),d.byteLength>0&&(l.push(d),c+=d.byteLength)),n||a<=c)do({cmd:o,size:a}=yield yield M(h()));while(a<c)}while(!n)}finally{yield M(V(e,i==="error"?s:null))}return yield M(null);function V(R,it){return d=l=null,new Promise((Vr,Ys)=>{for(let[Ke,gl]of R)r.off(Ke,gl);try{let Ke=r.destroy;Ke&&Ke.call(r,it),it=void 0}catch(Ke){it=Ke||it}finally{it!=null?Ys(it):Vr()}})}})}var P;(function(r){r[r.V1=0]="V1",r[r.V2=1]="V2",r[r.V3=2]="V3",r[r.V4=3]="V4",r[r.V5=4]="V5"})(P||(P={}));var Y;(function(r){r[r.Sparse=0]="Sparse",r[r.Dense=1]="Dense"})(Y||(Y={}));var W;(function(r){r[r.HALF=0]="HALF",r[r.SINGLE=1]="SINGLE",r[r.DOUBLE=2]="DOUBLE"})(W||(W={}));var X;(function(r){r[r.DAY=0]="DAY",r[r.MILLISECOND=1]="MILLISECOND"})(X||(X={}));var p;(function(r){r[r.SECOND=0]="SECOND",r[r.MILLISECOND=1]="MILLISECOND",r[r.MICROSECOND=2]="MICROSECOND",r[r.NANOSECOND=3]="NANOSECOND"})(p||(p={}));var Q;(function(r){r[r.YEAR_MONTH=0]="YEAR_MONTH",r[r.DAY_TIME=1]="DAY_TIME",r[r.MONTH_DAY_NANO=2]="MONTH_DAY_NANO"})(Q||(Q={}));var Ae=new Int32Array(2),Un=new Float32Array(Ae.buffer),Rn=new Float64Array(Ae.buffer),Wr=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var Ni;(function(r){r[r.UTF8_BYTES=1]="UTF8_BYTES",r[r.UTF16_STRING=2]="UTF16_STRING"})(Ni||(Ni={}));var At=class{constructor(t){this.bytes_=t,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(t){return new At(new Uint8Array(t))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(t){this.position_=t}capacity(){return this.bytes_.length}readInt8(t){return this.readUint8(t)<<24>>24}readUint8(t){return this.bytes_[t]}readInt16(t){return this.readUint16(t)<<16>>16}readUint16(t){return this.bytes_[t]|this.bytes_[t+1]<<8}readInt32(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24}readUint32(t){return this.readInt32(t)>>>0}readInt64(t){return BigInt.asIntN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<<BigInt(32)))}readUint64(t){return BigInt.asUintN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<<BigInt(32)))}readFloat32(t){return Ae[0]=this.readInt32(t),Un[0]}readFloat64(t){return Ae[Wr?0:1]=this.readInt32(t),Ae[Wr?1:0]=this.readInt32(t+4),Rn[0]}writeInt8(t,e){this.bytes_[t]=e}writeUint8(t,e){this.bytes_[t]=e}writeInt16(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8}writeUint16(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8}writeInt32(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24}writeUint32(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24}writeInt64(t,e){this.writeInt32(t,Number(BigInt.asIntN(32,e))),this.writeInt32(t+4,Number(BigInt.asIntN(32,e>>BigInt(32))))}writeUint64(t,e){this.writeUint32(t,Number(BigInt.asUintN(32,e))),this.writeUint32(t+4,Number(BigInt.asUintN(32,e>>BigInt(32))))}writeFloat32(t,e){Un[0]=e,this.writeInt32(t,Ae[0])}writeFloat64(t,e){Rn[0]=e,this.writeInt32(t,Ae[Wr?0:1]),this.writeInt32(t+4,Ae[Wr?1:0])}getBufferIdentifier(){if(this.bytes_.length<this.position_+4+4)throw new Error("FlatBuffers: ByteBuffer is too short to contain an identifier.");let t="";for(let e=0;e<4;e++)t+=String.fromCharCode(this.readInt8(this.position_+4+e));return t}__offset(t,e){let i=t-this.readInt32(t);return e<this.readInt16(i)?this.readInt16(i+e):0}__union(t,e){return t.bb_pos=e+this.readInt32(e),t.bb=this,t}__string(t,e){t+=this.readInt32(t);let i=this.readInt32(t);t+=4;let n=this.bytes_.subarray(t,t+i);return e===Ni.UTF8_BYTES?n:this.text_decoder_.decode(n)}__union_with_string(t,e){return typeof t=="string"?this.__string(e):this.__union(t,e)}__indirect(t){return t+this.readInt32(t)}__vector(t){return t+this.readInt32(t)+4}__vector_len(t){return this.readInt32(t+this.readInt32(t))}__has_identifier(t){if(t.length!=4)throw new Error("FlatBuffers: file identifier must be length "+4);for(let e=0;e<4;e++)if(t.charCodeAt(e)!=this.readInt8(this.position()+4+e))return!1;return!0}createScalarList(t,e){let i=[];for(let n=0;n<e;++n){let s=t(n);s!==null&&i.push(s)}return i}createObjList(t,e){let i=[];for(let n=0;n<e;++n){let s=t(n);s!==null&&i.push(s.unpack())}return i}};var ke=class{constructor(t){this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1,this.string_maps=null,this.text_encoder=new TextEncoder;let e;t?e=t:e=1024,this.bb=At.allocate(e),this.space=e}clear(){this.bb.clear(),this.space=this.bb.capacity(),this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1,this.string_maps=null}forceDefaults(t){this.force_defaults=t}dataBuffer(){return this.bb}asUint8Array(){return this.bb.bytes().subarray(this.bb.position(),this.bb.position()+this.offset())}prep(t,e){t>this.minalign&&(this.minalign=t);let i=~(this.bb.capacity()-this.space+e)+1&t-1;for(;this.space<i+t+e;){let n=this.bb.capacity();this.bb=ke.growByteBuffer(this.bb),this.space+=this.bb.capacity()-n}this.pad(i)}pad(t){for(let e=0;e<t;e++)this.bb.writeInt8(--this.space,0)}writeInt8(t){this.bb.writeInt8(this.space-=1,t)}writeInt16(t){this.bb.writeInt16(this.space-=2,t)}writeInt32(t){this.bb.writeInt32(this.space-=4,t)}writeInt64(t){this.bb.writeInt64(this.space-=8,t)}writeFloat32(t){this.bb.writeFloat32(this.space-=4,t)}writeFloat64(t){this.bb.writeFloat64(this.space-=8,t)}addInt8(t){this.prep(1,0),this.writeInt8(t)}addInt16(t){this.prep(2,0),this.writeInt16(t)}addInt32(t){this.prep(4,0),this.writeInt32(t)}addInt64(t){this.prep(8,0),this.writeInt64(t)}addFloat32(t){this.prep(4,0),this.writeFloat32(t)}addFloat64(t){this.prep(8,0),this.writeFloat64(t)}addFieldInt8(t,e,i){(this.force_defaults||e!=i)&&(this.addInt8(e),this.slot(t))}addFieldInt16(t,e,i){(this.force_defaults||e!=i)&&(this.addInt16(e),this.slot(t))}addFieldInt32(t,e,i){(this.force_defaults||e!=i)&&(this.addInt32(e),this.slot(t))}addFieldInt64(t,e,i){(this.force_defaults||e!==i)&&(this.addInt64(e),this.slot(t))}addFieldFloat32(t,e,i){(this.force_defaults||e!=i)&&(this.addFloat32(e),this.slot(t))}addFieldFloat64(t,e,i){(this.force_defaults||e!=i)&&(this.addFloat64(e),this.slot(t))}addFieldOffset(t,e,i){(this.force_defaults||e!=i)&&(this.addOffset(e),this.slot(t))}addFieldStruct(t,e,i){e!=i&&(this.nested(e),this.slot(t))}nested(t){if(t!=this.offset())throw new TypeError("FlatBuffers: struct must be serialized inline.")}notNested(){if(this.isNested)throw new TypeError("FlatBuffers: object serialization must not be nested.")}slot(t){this.vtable!==null&&(this.vtable[t]=this.offset())}offset(){return this.bb.capacity()-this.space}static growByteBuffer(t){let e=t.capacity();if(e&3221225472)throw new Error("FlatBuffers: cannot grow buffer beyond 2 gigabytes.");let i=e<<1,n=At.allocate(i);return n.setPosition(i-e),n.bytes().set(t.bytes(),i-e),n}addOffset(t){this.prep(4,0),this.writeInt32(this.offset()-t+4)}startObject(t){this.notNested(),this.vtable==null&&(this.vtable=[]),this.vtable_in_use=t;for(let e=0;e<t;e++)this.vtable[e]=0;this.isNested=!0,this.object_start=this.offset()}endObject(){if(this.vtable==null||!this.isNested)throw new Error("FlatBuffers: endObject called without startObject");this.addInt32(0);let t=this.offset(),e=this.vtable_in_use-1;for(;e>=0&&this.vtable[e]==0;e--);let i=e+1;for(;e>=0;e--)this.addInt16(this.vtable[e]!=0?t-this.vtable[e]:0);let n=2;this.addInt16(t-this.object_start);let s=(i+n)*2;this.addInt16(s);let o=0,a=this.space;t:for(e=0;e<this.vtables.length;e++){let c=this.bb.capacity()-this.vtables[e];if(s==this.bb.readInt16(c)){for(let l=2;l<s;l+=2)if(this.bb.readInt16(a+l)!=this.bb.readInt16(c+l))continue t;o=this.vtables[e];break}}return o?(this.space=this.bb.capacity()-t,this.bb.writeInt32(this.space,o-t)):(this.vtables.push(this.offset()),this.bb.writeInt32(this.bb.capacity()-t,this.offset()-t)),this.isNested=!1,t}finish(t,e,i){let n=i?4:0;if(e){let s=e;if(this.prep(this.minalign,4+4+n),s.length!=4)throw new TypeError("FlatBuffers: file identifier must be length "+4);for(let o=4-1;o>=0;o--)this.writeInt8(s.charCodeAt(o))}this.prep(this.minalign,4+n),this.addOffset(t),n&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(t,e){this.finish(t,e,!0)}requiredField(t,e){let i=this.bb.capacity()-t,n=i-this.bb.readInt32(i);if(!(e<this.bb.readInt16(n)&&this.bb.readInt16(n+e)!=0))throw new TypeError("FlatBuffers: field "+e+" must be set")}startVector(t,e,i){this.notNested(),this.vector_num_elems=e,this.prep(4,t*e),this.prep(i,t*e)}endVector(){return this.writeInt32(this.vector_num_elems),this.offset()}createSharedString(t){if(!t)return 0;if(this.string_maps||(this.string_maps=new Map),this.string_maps.has(t))return this.string_maps.get(t);let e=this.createString(t);return this.string_maps.set(t,e),e}createString(t){if(t==null)return 0;let e;return t instanceof Uint8Array?e=t:e=this.text_encoder.encode(t),this.addInt8(0),this.startVector(1,e.length,1),this.bb.setPosition(this.space-=e.length),this.bb.bytes().set(e,this.space),this.endVector()}createByteVector(t){return t==null?0:(this.startVector(1,t.length,1),this.bb.setPosition(this.space-=t.length),this.bb.bytes().set(t,this.space),this.endVector())}createObjectOffset(t){return t===null?0:typeof t=="string"?this.createString(t):t.pack(this)}createObjectOffsetList(t){let e=[];for(let i=0;i<t.length;++i){let n=t[i];if(n!==null)e.push(this.createObjectOffset(n));else throw new TypeError("FlatBuffers: Argument for createObjectOffsetList cannot contain null.")}return e}createStructOffsetList(t,e){return e(this,t.length),this.createObjectOffsetList(t.slice().reverse()),this.endVector()}};var Li;(function(r){r[r.BUFFER=0]="BUFFER"})(Li||(Li={}));var Ei;(function(r){r[r.LZ4_FRAME=0]="LZ4_FRAME",r[r.ZSTD=1]="ZSTD"})(Ei||(Ei={}));var pe=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsBodyCompression(t,e){return(e||new pe).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsBodyCompression(t,e){return t.setPosition(t.position()+4),(e||new pe).__init(t.readInt32(t.position())+t.position(),t)}codec(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt8(this.bb_pos+t):Ei.LZ4_FRAME}method(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt8(this.bb_pos+t):Li.BUFFER}static startBodyCompression(t){t.startObject(2)}static addCodec(t,e){t.addFieldInt8(0,e,Ei.LZ4_FRAME)}static addMethod(t,e){t.addFieldInt8(1,e,Li.BUFFER)}static endBodyCompression(t){return t.endObject()}static createBodyCompression(t,e,i){return pe.startBodyCompression(t),pe.addCodec(t,e),pe.addMethod(t,i),pe.endBodyCompression(t)}};var $r=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}offset(){return this.bb.readInt64(this.bb_pos)}length(){return this.bb.readInt64(this.bb_pos+8)}static sizeOf(){return 16}static createBuffer(t,e,i){return t.prep(8,16),t.writeInt64(BigInt(i??0)),t.writeInt64(BigInt(e??0)),t.offset()}};var Yr=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}length(){return this.bb.readInt64(this.bb_pos)}nullCount(){return this.bb.readInt64(this.bb_pos+8)}static sizeOf(){return 16}static createFieldNode(t,e,i){return t.prep(8,16),t.writeInt64(BigInt(i??0)),t.writeInt64(BigInt(e??0)),t.offset()}};var gt=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsRecordBatch(t,e){return(e||new gt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsRecordBatch(t,e){return t.setPosition(t.position()+4),(e||new gt).__init(t.readInt32(t.position())+t.position(),t)}length(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt64(this.bb_pos+t):BigInt("0")}nodes(t,e){let i=this.bb.__offset(this.bb_pos,6);return i?(e||new Yr).__init(this.bb.__vector(this.bb_pos+i)+t*16,this.bb):null}nodesLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}buffers(t,e){let i=this.bb.__offset(this.bb_pos,8);return i?(e||new $r).__init(this.bb.__vector(this.bb_pos+i)+t*16,this.bb):null}buffersLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}compression(t){let e=this.bb.__offset(this.bb_pos,10);return e?(t||new pe).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}static startRecordBatch(t){t.startObject(4)}static addLength(t,e){t.addFieldInt64(0,e,BigInt("0"))}static addNodes(t,e){t.addFieldOffset(1,e,0)}static startNodesVector(t,e){t.startVector(16,e,8)}static addBuffers(t,e){t.addFieldOffset(2,e,0)}static startBuffersVector(t,e){t.startVector(16,e,8)}static addCompression(t,e){t.addFieldOffset(3,e,0)}static endRecordBatch(t){return t.endObject()}};var ee=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsDictionaryBatch(t,e){return(e||new ee).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDictionaryBatch(t,e){return t.setPosition(t.position()+4),(e||new ee).__init(t.readInt32(t.position())+t.position(),t)}id(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt64(this.bb_pos+t):BigInt("0")}data(t){let e=this.bb.__offset(this.bb_pos,6);return e?(t||new gt).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}isDelta(){let t=this.bb.__offset(this.bb_pos,8);return t?!!this.bb.readInt8(this.bb_pos+t):!1}static startDictionaryBatch(t){t.startObject(3)}static addId(t,e){t.addFieldInt64(0,e,BigInt("0"))}static addData(t,e){t.addFieldOffset(1,e,0)}static addIsDelta(t,e){t.addFieldInt8(2,+e,0)}static endDictionaryBatch(t){return t.endObject()}};var tr;(function(r){r[r.Little=0]="Little",r[r.Big=1]="Big"})(tr||(tr={}));var Ui;(function(r){r[r.DenseArray=0]="DenseArray"})(Ui||(Ui={}));var ut=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsInt(t,e){return(e||new ut).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsInt(t,e){return t.setPosition(t.position()+4),(e||new ut).__init(t.readInt32(t.position())+t.position(),t)}bitWidth(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}isSigned(){let t=this.bb.__offset(this.bb_pos,6);return t?!!this.bb.readInt8(this.bb_pos+t):!1}static startInt(t){t.startObject(2)}static addBitWidth(t,e){t.addFieldInt32(0,e,0)}static addIsSigned(t,e){t.addFieldInt8(1,+e,0)}static endInt(t){return t.endObject()}static createInt(t,e,i){return ut.startInt(t),ut.addBitWidth(t,e),ut.addIsSigned(t,i),ut.endInt(t)}};var Jt=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsDictionaryEncoding(t,e){return(e||new Jt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDictionaryEncoding(t,e){return t.setPosition(t.position()+4),(e||new Jt).__init(t.readInt32(t.position())+t.position(),t)}id(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt64(this.bb_pos+t):BigInt("0")}indexType(t){let e=this.bb.__offset(this.bb_pos,6);return e?(t||new ut).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}isOrdered(){let t=this.bb.__offset(this.bb_pos,8);return t?!!this.bb.readInt8(this.bb_pos+t):!1}dictionaryKind(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):Ui.DenseArray}static startDictionaryEncoding(t){t.startObject(4)}static addId(t,e){t.addFieldInt64(0,e,BigInt("0"))}static addIndexType(t,e){t.addFieldOffset(1,e,0)}static addIsOrdered(t,e){t.addFieldInt8(2,+e,0)}static addDictionaryKind(t,e){t.addFieldInt16(3,e,Ui.DenseArray)}static endDictionaryEncoding(t){return t.endObject()}};var G=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsKeyValue(t,e){return(e||new G).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsKeyValue(t,e){return t.setPosition(t.position()+4),(e||new G).__init(t.readInt32(t.position())+t.position(),t)}key(t){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}value(t){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__string(this.bb_pos+e,t):null}static startKeyValue(t){t.startObject(2)}static addKey(t,e){t.addFieldOffset(0,e,0)}static addValue(t,e){t.addFieldOffset(1,e,0)}static endKeyValue(t){return t.endObject()}static createKeyValue(t,e,i){return G.startKeyValue(t),G.addKey(t,e),G.addValue(t,i),G.endKeyValue(t)}};var Be=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsBinary(t,e){return(e||new Be).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsBinary(t,e){return t.setPosition(t.position()+4),(e||new Be).__init(t.readInt32(t.position())+t.position(),t)}static startBinary(t){t.startObject(0)}static endBinary(t){return t.endObject()}static createBinary(t){return Be.startBinary(t),Be.endBinary(t)}};var De=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsBool(t,e){return(e||new De).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsBool(t,e){return t.setPosition(t.position()+4),(e||new De).__init(t.readInt32(t.position())+t.position(),t)}static startBool(t){t.startObject(0)}static endBool(t){return t.endObject()}static createBool(t){return De.startBool(t),De.endBool(t)}};var Ot=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsDate(t,e){return(e||new Ot).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDate(t,e){return t.setPosition(t.position()+4),(e||new Ot).__init(t.readInt32(t.position())+t.position(),t)}unit(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):X.MILLISECOND}static startDate(t){t.startObject(1)}static addUnit(t,e){t.addFieldInt16(0,e,X.MILLISECOND)}static endDate(t){return t.endObject()}static createDate(t,e){return Ot.startDate(t),Ot.addUnit(t,e),Ot.endDate(t)}};var dt=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsDecimal(t,e){return(e||new dt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDecimal(t,e){return t.setPosition(t.position()+4),(e||new dt).__init(t.readInt32(t.position())+t.position(),t)}precision(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}scale(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt32(this.bb_pos+t):0}bitWidth(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt32(this.bb_pos+t):128}static startDecimal(t){t.startObject(3)}static addPrecision(t,e){t.addFieldInt32(0,e,0)}static addScale(t,e){t.addFieldInt32(1,e,0)}static addBitWidth(t,e){t.addFieldInt32(2,e,128)}static endDecimal(t){return t.endObject()}static createDecimal(t,e,i,n){return dt.startDecimal(t),dt.addPrecision(t,e),dt.addScale(t,i),dt.addBitWidth(t,n),dt.endDecimal(t)}};var Ft=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsDuration(t,e){return(e||new Ft).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDuration(t,e){return t.setPosition(t.position()+4),(e||new Ft).__init(t.readInt32(t.position())+t.position(),t)}unit(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):p.MILLISECOND}static startDuration(t){t.startObject(1)}static addUnit(t,e){t.addFieldInt16(0,e,p.MILLISECOND)}static endDuration(t){return t.endObject()}static createDuration(t,e){return Ft.startDuration(t),Ft.addUnit(t,e),Ft.endDuration(t)}};var Mt=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsFixedSizeBinary(t,e){return(e||new Mt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsFixedSizeBinary(t,e){return t.setPosition(t.position()+4),(e||new Mt).__init(t.readInt32(t.position())+t.position(),t)}byteWidth(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}static startFixedSizeBinary(t){t.startObject(1)}static addByteWidth(t,e){t.addFieldInt32(0,e,0)}static endFixedSizeBinary(t){return t.endObject()}static createFixedSizeBinary(t,e){return Mt.startFixedSizeBinary(t),Mt.addByteWidth(t,e),Mt.endFixedSizeBinary(t)}};var Nt=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsFixedSizeList(t,e){return(e||new Nt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsFixedSizeList(t,e){return t.setPosition(t.position()+4),(e||new Nt).__init(t.readInt32(t.position())+t.position(),t)}listSize(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}static startFixedSizeList(t){t.startObject(1)}static addListSize(t,e){t.addFieldInt32(0,e,0)}static endFixedSizeList(t){return t.endObject()}static createFixedSizeList(t,e){return Nt.startFixedSizeList(t),Nt.addListSize(t,e),Nt.endFixedSizeList(t)}};var Lt=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsFloatingPoint(t,e){return(e||new Lt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsFloatingPoint(t,e){return t.setPosition(t.position()+4),(e||new Lt).__init(t.readInt32(t.position())+t.position(),t)}precision(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):W.HALF}static startFloatingPoint(t){t.startObject(1)}static addPrecision(t,e){t.addFieldInt16(0,e,W.HALF)}static endFloatingPoint(t){return t.endObject()}static createFloatingPoint(t,e){return Lt.startFloatingPoint(t),Lt.addPrecision(t,e),Lt.endFloatingPoint(t)}};var Et=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsInterval(t,e){return(e||new Et).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsInterval(t,e){return t.setPosition(t.position()+4),(e||new Et).__init(t.readInt32(t.position())+t.position(),t)}unit(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):Q.YEAR_MONTH}static startInterval(t){t.startObject(1)}static addUnit(t,e){t.addFieldInt16(0,e,Q.YEAR_MONTH)}static endInterval(t){return t.endObject()}static createInterval(t,e){return Et.startInterval(t),Et.addUnit(t,e),Et.endInterval(t)}};var xe=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsLargeBinary(t,e){return(e||new xe).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsLargeBinary(t,e){return t.setPosition(t.position()+4),(e||new xe).__init(t.readInt32(t.position())+t.position(),t)}static startLargeBinary(t){t.startObject(0)}static endLargeBinary(t){return t.endObject()}static createLargeBinary(t){return xe.startLargeBinary(t),xe.endLargeBinary(t)}};var Te=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsLargeUtf8(t,e){return(e||new Te).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsLargeUtf8(t,e){return t.setPosition(t.position()+4),(e||new Te).__init(t.readInt32(t.position())+t.position(),t)}static startLargeUtf8(t){t.startObject(0)}static endLargeUtf8(t){return t.endObject()}static createLargeUtf8(t){return Te.startLargeUtf8(t),Te.endLargeUtf8(t)}};var Oe=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsList(t,e){return(e||new Oe).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsList(t,e){return t.setPosition(t.position()+4),(e||new Oe).__init(t.readInt32(t.position())+t.position(),t)}static startList(t){t.startObject(0)}static endList(t){return t.endObject()}static createList(t){return Oe.startList(t),Oe.endList(t)}};var Ut=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsMap(t,e){return(e||new Ut).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsMap(t,e){return t.setPosition(t.position()+4),(e||new Ut).__init(t.readInt32(t.position())+t.position(),t)}keysSorted(){let t=this.bb.__offset(this.bb_pos,4);return t?!!this.bb.readInt8(this.bb_pos+t):!1}static startMap(t){t.startObject(1)}static addKeysSorted(t,e){t.addFieldInt8(0,+e,0)}static endMap(t){return t.endObject()}static createMap(t,e){return Ut.startMap(t),Ut.addKeysSorted(t,e),Ut.endMap(t)}};var Fe=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsNull(t,e){return(e||new Fe).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsNull(t,e){return t.setPosition(t.position()+4),(e||new Fe).__init(t.readInt32(t.position())+t.position(),t)}static startNull(t){t.startObject(0)}static endNull(t){return t.endObject()}static createNull(t){return Fe.startNull(t),Fe.endNull(t)}};var Me=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsStruct_(t,e){return(e||new Me).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsStruct_(t,e){return t.setPosition(t.position()+4),(e||new Me).__init(t.readInt32(t.position())+t.position(),t)}static startStruct_(t){t.startObject(0)}static endStruct_(t){return t.endObject()}static createStruct_(t){return Me.startStruct_(t),Me.endStruct_(t)}};var _t=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsTime(t,e){return(e||new _t).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsTime(t,e){return t.setPosition(t.position()+4),(e||new _t).__init(t.readInt32(t.position())+t.position(),t)}unit(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):p.MILLISECOND}bitWidth(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt32(this.bb_pos+t):32}static startTime(t){t.startObject(2)}static addUnit(t,e){t.addFieldInt16(0,e,p.MILLISECOND)}static addBitWidth(t,e){t.addFieldInt32(1,e,32)}static endTime(t){return t.endObject()}static createTime(t,e,i){return _t.startTime(t),_t.addUnit(t,e),_t.addBitWidth(t,i),_t.endTime(t)}};var wt=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsTimestamp(t,e){return(e||new wt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsTimestamp(t,e){return t.setPosition(t.position()+4),(e||new wt).__init(t.readInt32(t.position())+t.position(),t)}unit(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):p.SECOND}timezone(t){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__string(this.bb_pos+e,t):null}static startTimestamp(t){t.startObject(2)}static addUnit(t,e){t.addFieldInt16(0,e,p.SECOND)}static addTimezone(t,e){t.addFieldOffset(1,e,0)}static endTimestamp(t){return t.endObject()}static createTimestamp(t,e,i){return wt.startTimestamp(t),wt.addUnit(t,e),wt.addTimezone(t,i),wt.endTimestamp(t)}};var ht=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsUnion(t,e){return(e||new ht).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsUnion(t,e){return t.setPosition(t.position()+4),(e||new ht).__init(t.readInt32(t.position())+t.position(),t)}mode(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):Y.Sparse}typeIds(t){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readInt32(this.bb.__vector(this.bb_pos+e)+t*4):0}typeIdsLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}typeIdsArray(){let t=this.bb.__offset(this.bb_pos,6);return t?new Int32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startUnion(t){t.startObject(2)}static addMode(t,e){t.addFieldInt16(0,e,Y.Sparse)}static addTypeIds(t,e){t.addFieldOffset(1,e,0)}static createTypeIdsVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addInt32(e[i]);return t.endVector()}static startTypeIdsVector(t,e){t.startVector(4,e,4)}static endUnion(t){return t.endObject()}static createUnion(t,e,i){return ht.startUnion(t),ht.addMode(t,e),ht.addTypeIds(t,i),ht.endUnion(t)}};var Ne=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsUtf8(t,e){return(e||new Ne).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsUtf8(t,e){return t.setPosition(t.position()+4),(e||new Ne).__init(t.readInt32(t.position())+t.position(),t)}static startUtf8(t){t.startObject(0)}static endUtf8(t){return t.endObject()}static createUtf8(t){return Ne.startUtf8(t),Ne.endUtf8(t)}};var H;(function(r){r[r.NONE=0]="NONE",r[r.Null=1]="Null",r[r.Int=2]="Int",r[r.FloatingPoint=3]="FloatingPoint",r[r.Binary=4]="Binary",r[r.Utf8=5]="Utf8",r[r.Bool=6]="Bool",r[r.Decimal=7]="Decimal",r[r.Date=8]="Date",r[r.Time=9]="Time",r[r.Timestamp=10]="Timestamp",r[r.Interval=11]="Interval",r[r.List=12]="List",r[r.Struct_=13]="Struct_",r[r.Union=14]="Union",r[r.FixedSizeBinary=15]="FixedSizeBinary",r[r.FixedSizeList=16]="FixedSizeList",r[r.Map=17]="Map",r[r.Duration=18]="Duration",r[r.LargeBinary=19]="LargeBinary",r[r.LargeUtf8=20]="LargeUtf8",r[r.LargeList=21]="LargeList",r[r.RunEndEncoded=22]="RunEndEncoded"})(H||(H={}));var nt=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsField(t,e){return(e||new nt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsField(t,e){return t.setPosition(t.position()+4),(e||new nt).__init(t.readInt32(t.position())+t.position(),t)}name(t){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}nullable(){let t=this.bb.__offset(this.bb_pos,6);return t?!!this.bb.readInt8(this.bb_pos+t):!1}typeType(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readUint8(this.bb_pos+t):H.NONE}type(t){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__union(t,this.bb_pos+e):null}dictionary(t){let e=this.bb.__offset(this.bb_pos,12);return e?(t||new Jt).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}children(t,e){let i=this.bb.__offset(this.bb_pos,14);return i?(e||new nt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}childrenLength(){let t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,e){let i=this.bb.__offset(this.bb_pos,16);return i?(e||new G).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}static startField(t){t.startObject(7)}static addName(t,e){t.addFieldOffset(0,e,0)}static addNullable(t,e){t.addFieldInt8(1,+e,0)}static addTypeType(t,e){t.addFieldInt8(2,e,H.NONE)}static addType(t,e){t.addFieldOffset(3,e,0)}static addDictionary(t,e){t.addFieldOffset(4,e,0)}static addChildren(t,e){t.addFieldOffset(5,e,0)}static createChildrenVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startChildrenVector(t,e){t.startVector(4,e,4)}static addCustomMetadata(t,e){t.addFieldOffset(6,e,0)}static createCustomMetadataVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startCustomMetadataVector(t,e){t.startVector(4,e,4)}static endField(t){return t.endObject()}};var K=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsSchema(t,e){return(e||new K).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSchema(t,e){return t.setPosition(t.position()+4),(e||new K).__init(t.readInt32(t.position())+t.position(),t)}endianness(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):tr.Little}fields(t,e){let i=this.bb.__offset(this.bb_pos,6);return i?(e||new nt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}fieldsLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,e){let i=this.bb.__offset(this.bb_pos,8);return i?(e||new G).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}features(t){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readInt64(this.bb.__vector(this.bb_pos+e)+t*8):BigInt(0)}featuresLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}static startSchema(t){t.startObject(4)}static addEndianness(t,e){t.addFieldInt16(0,e,tr.Little)}static addFields(t,e){t.addFieldOffset(1,e,0)}static createFieldsVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startFieldsVector(t,e){t.startVector(4,e,4)}static addCustomMetadata(t,e){t.addFieldOffset(2,e,0)}static createCustomMetadataVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startCustomMetadataVector(t,e){t.startVector(4,e,4)}static addFeatures(t,e){t.addFieldOffset(3,e,0)}static createFeaturesVector(t,e){t.startVector(8,e.length,8);for(let i=e.length-1;i>=0;i--)t.addInt64(e[i]);return t.endVector()}static startFeaturesVector(t,e){t.startVector(8,e,8)}static endSchema(t){return t.endObject()}static finishSchemaBuffer(t,e){t.finish(e)}static finishSizePrefixedSchemaBuffer(t,e){t.finish(e,void 0,!0)}static createSchema(t,e,i,n,s){return K.startSchema(t),K.addEndianness(t,e),K.addFields(t,i),K.addCustomMetadata(t,n),K.addFeatures(t,s),K.endSchema(t)}};var U;(function(r){r[r.NONE=0]="NONE",r[r.Schema=1]="Schema",r[r.DictionaryBatch=2]="DictionaryBatch",r[r.RecordBatch=3]="RecordBatch",r[r.Tensor=4]="Tensor",r[r.SparseTensor=5]="SparseTensor"})(U||(U={}));var u;(function(r){r[r.NONE=0]="NONE",r[r.Null=1]="Null",r[r.Int=2]="Int",r[r.Float=3]="Float",r[r.Binary=4]="Binary",r[r.Utf8=5]="Utf8",r[r.Bool=6]="Bool",r[r.Decimal=7]="Decimal",r[r.Date=8]="Date",r[r.Time=9]="Time",r[r.Timestamp=10]="Timestamp",r[r.Interval=11]="Interval",r[r.List=12]="List",r[r.Struct=13]="Struct",r[r.Union=14]="Union",r[r.FixedSizeBinary=15]="FixedSizeBinary",r[r.FixedSizeList=16]="FixedSizeList",r[r.Map=17]="Map",r[r.Duration=18]="Duration",r[r.LargeBinary=19]="LargeBinary",r[r.LargeUtf8=20]="LargeUtf8",r[r.Dictionary=-1]="Dictionary",r[r.Int8=-2]="Int8",r[r.Int16=-3]="Int16",r[r.Int32=-4]="Int32",r[r.Int64=-5]="Int64",r[r.Uint8=-6]="Uint8",r[r.Uint16=-7]="Uint16",r[r.Uint32=-8]="Uint32",r[r.Uint64=-9]="Uint64",r[r.Float16=-10]="Float16",r[r.Float32=-11]="Float32",r[r.Float64=-12]="Float64",r[r.DateDay=-13]="DateDay",r[r.DateMillisecond=-14]="DateMillisecond",r[r.TimestampSecond=-15]="TimestampSecond",r[r.TimestampMillisecond=-16]="TimestampMillisecond",r[r.TimestampMicrosecond=-17]="TimestampMicrosecond",r[r.TimestampNanosecond=-18]="TimestampNanosecond",r[r.TimeSecond=-19]="TimeSecond",r[r.TimeMillisecond=-20]="TimeMillisecond",r[r.TimeMicrosecond=-21]="TimeMicrosecond",r[r.TimeNanosecond=-22]="TimeNanosecond",r[r.DenseUnion=-23]="DenseUnion",r[r.SparseUnion=-24]="SparseUnion",r[r.IntervalDayTime=-25]="IntervalDayTime",r[r.IntervalYearMonth=-26]="IntervalYearMonth",r[r.DurationSecond=-27]="DurationSecond",r[r.DurationMillisecond=-28]="DurationMillisecond",r[r.DurationMicrosecond=-29]="DurationMicrosecond",r[r.DurationNanosecond=-30]="DurationNanosecond"})(u||(u={}));var Rt;(function(r){r[r.OFFSET=0]="OFFSET",r[r.DATA=1]="DATA",r[r.VALIDITY=2]="VALIDITY",r[r.TYPE=3]="TYPE"})(Rt||(Rt={}));var Bo={};Qe(Bo,{clampRange:()=>Vi,createElementComparator:()=>nr,wrapIndex:()=>gr});var so={};Qe(so,{valueToString:()=>me});function me(r){if(r===null)return"null";if(r===void 0)return"undefined";switch(typeof r){case"number":return`${r}`;case"bigint":return`${r}`;case"string":return`"${r}"`}return typeof r[Symbol.toPrimitive]=="function"?r[Symbol.toPrimitive]("string"):ArrayBuffer.isView(r)?r instanceof BigInt64Array||r instanceof BigUint64Array?`[${[...r].map(t=>me(t))}]`:`[${r}]`:ArrayBuffer.isView(r)?`[${r}]`:JSON.stringify(r,(t,e)=>typeof e=="bigint"?`${e}`:e)}var lo={};Qe(lo,{BN:()=>ar,bigNumToBigInt:()=>Aa,bigNumToNumber:()=>co,bigNumToString:()=>Jr,isArrowBigNumSymbol:()=>Sa});function C(r){if(typeof r=="bigint"&&(r<Number.MIN_SAFE_INTEGER||r>Number.MAX_SAFE_INTEGER))throw new TypeError(`${r} is not safe to convert to a number.`);return Number(r)}function oo(r,t){return C(r/t)+C(r%t)/C(t)}var Sa=Symbol.for("isArrowBigNum");function ye(r,...t){return t.length===0?Object.setPrototypeOf(N(this.TypedArray,r),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(r,...t),this.constructor.prototype)}ye.prototype[Sa]=!0;ye.prototype.toJSON=function(){return`"${Jr(this)}"`};ye.prototype.valueOf=function(r){return co(this,r)};ye.prototype.toString=function(){return Jr(this)};ye.prototype[Symbol.toPrimitive]=function(r="default"){switch(r){case"number":return co(this);case"string":return Jr(this);case"default":return Aa(this)}return Jr(this)};function Hr(...r){return ye.apply(this,r)}function Gr(...r){return ye.apply(this,r)}function Ri(...r){return ye.apply(this,r)}Object.setPrototypeOf(Hr.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(Gr.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(Ri.prototype,Object.create(Uint32Array.prototype));Object.assign(Hr.prototype,ye.prototype,{constructor:Hr,signed:!0,TypedArray:Int32Array,BigIntArray:BigInt64Array});Object.assign(Gr.prototype,ye.prototype,{constructor:Gr,signed:!1,TypedArray:Uint32Array,BigIntArray:BigUint64Array});Object.assign(Ri.prototype,ye.prototype,{constructor:Ri,signed:!0,TypedArray:Uint32Array,BigIntArray:BigUint64Array});var wu=BigInt(4294967296)*BigInt(4294967296),vu=wu-BigInt(1);function co(r,t){let{buffer:e,byteOffset:i,byteLength:n,signed:s}=r,o=new BigUint64Array(e,i,n/8),a=s&&o.at(-1)&BigInt(1)<<BigInt(63),c=BigInt(0),l=0;if(a){for(let d of o)c|=(d^vu)*(BigInt(1)<<BigInt(64*l++));c*=BigInt(-1),c-=BigInt(1)}else for(let d of o)c|=d*(BigInt(1)<<BigInt(64*l++));if(typeof t=="number"){let d=BigInt(Math.pow(10,t)),h=c/d,V=c%d;return C(h)+C(V)/C(d)}return C(c)}function Jr(r){if(r.byteLength===8)return`${new r.BigIntArray(r.buffer,r.byteOffset,1)[0]}`;if(!r.signed)return ao(r);let t=new Uint16Array(r.buffer,r.byteOffset,r.byteLength/2);if(new Int16Array([t.at(-1)])[0]>=0)return ao(r);t=t.slice();let i=1;for(let s=0;s<t.length;s++){let o=t[s],a=~o+i;t[s]=a,i&=o===0?1:0}return`-${ao(t)}`}function Aa(r){return r.byteLength===8?new r.BigIntArray(r.buffer,r.byteOffset,1)[0]:Jr(r)}function ao(r){let t="",e=new Uint32Array(2),i=new Uint16Array(r.buffer,r.byteOffset,r.byteLength/2),n=new Uint32Array((i=new Uint16Array(i).reverse()).buffer),s=-1,o=i.length-1;do{for(e[0]=i[s=0];s<o;)i[s++]=e[1]=e[0]/10,e[0]=(e[0]-e[1]*10<<16)+i[s];i[s]=e[1]=e[0]/10,e[0]=e[0]-e[1]*10,t=`${e[0]}${t}`}while(n[0]||n[1]||n[2]||n[3]);return t??"0"}var ar=class{static new(t,e){switch(e){case!0:return new Hr(t);case!1:return new Gr(t)}switch(t.constructor){case Int8Array:case Int16Array:case Int32Array:case BigInt64Array:return new Hr(t)}return t.byteLength===16?new Ri(t):new Gr(t)}static signed(t){return new Hr(t)}static unsigned(t){return new Gr(t)}static decimal(t){return new Ri(t)}constructor(t,e){return ar.new(t,e)}};var Ba,Da,xa,Ta,Oa,Fa,Ma,Na,La,Ea,Ua,Ra,Ca,Va,za,Pa,ka,ja,Wa,$a,Ya,Ha,f=class{static isNull(t){return t?.typeId===u.Null}static isInt(t){return t?.typeId===u.Int}static isFloat(t){return t?.typeId===u.Float}static isBinary(t){return t?.typeId===u.Binary}static isLargeBinary(t){return t?.typeId===u.LargeBinary}static isUtf8(t){return t?.typeId===u.Utf8}static isLargeUtf8(t){return t?.typeId===u.LargeUtf8}static isBool(t){return t?.typeId===u.Bool}static isDecimal(t){return t?.typeId===u.Decimal}static isDate(t){return t?.typeId===u.Date}static isTime(t){return t?.typeId===u.Time}static isTimestamp(t){return t?.typeId===u.Timestamp}static isInterval(t){return t?.typeId===u.Interval}static isDuration(t){return t?.typeId===u.Duration}static isList(t){return t?.typeId===u.List}static isStruct(t){return t?.typeId===u.Struct}static isUnion(t){return t?.typeId===u.Union}static isFixedSizeBinary(t){return t?.typeId===u.FixedSizeBinary}static isFixedSizeList(t){return t?.typeId===u.FixedSizeList}static isMap(t){return t?.typeId===u.Map}static isDictionary(t){return t?.typeId===u.Dictionary}static isDenseUnion(t){return f.isUnion(t)&&t.mode===Y.Dense}static isSparseUnion(t){return f.isUnion(t)&&t.mode===Y.Sparse}constructor(t){this.typeId=t}};Ba=Symbol.toStringTag;f[Ba]=(r=>(r.children=null,r.ArrayType=Array,r.OffsetArrayType=Int32Array,r[Symbol.toStringTag]="DataType"))(f.prototype);var ft=class extends f{constructor(){super(u.Null)}toString(){return"Null"}};Da=Symbol.toStringTag;ft[Da]=(r=>r[Symbol.toStringTag]="Null")(ft.prototype);var tt=class extends f{constructor(t,e){super(u.Int),this.isSigned=t,this.bitWidth=e}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?BigInt64Array:BigUint64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}};xa=Symbol.toStringTag;tt[xa]=(r=>(r.isSigned=null,r.bitWidth=null,r[Symbol.toStringTag]="Int"))(tt.prototype);var cr=class extends tt{constructor(){super(!0,8)}get ArrayType(){return Int8Array}},lr=class extends tt{constructor(){super(!0,16)}get ArrayType(){return Int16Array}},Zt=class extends tt{constructor(){super(!0,32)}get ArrayType(){return Int32Array}},ur=class extends tt{constructor(){super(!0,64)}get ArrayType(){return BigInt64Array}},dr=class extends tt{constructor(){super(!1,8)}get ArrayType(){return Uint8Array}},hr=class extends tt{constructor(){super(!1,16)}get ArrayType(){return Uint16Array}},fr=class extends tt{constructor(){super(!1,32)}get ArrayType(){return Uint32Array}},pr=class extends tt{constructor(){super(!1,64)}get ArrayType(){return BigUint64Array}};Object.defineProperty(cr.prototype,"ArrayType",{value:Int8Array});Object.defineProperty(lr.prototype,"ArrayType",{value:Int16Array});Object.defineProperty(Zt.prototype,"ArrayType",{value:Int32Array});Object.defineProperty(ur.prototype,"ArrayType",{value:BigInt64Array});Object.defineProperty(dr.prototype,"ArrayType",{value:Uint8Array});Object.defineProperty(hr.prototype,"ArrayType",{value:Uint16Array});Object.defineProperty(fr.prototype,"ArrayType",{value:Uint32Array});Object.defineProperty(pr.prototype,"ArrayType",{value:BigUint64Array});var Ct=class extends f{constructor(t){super(u.Float),this.precision=t}get ArrayType(){switch(this.precision){case W.HALF:return Uint16Array;case W.SINGLE:return Float32Array;case W.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}};Ta=Symbol.toStringTag;Ct[Ta]=(r=>(r.precision=null,r[Symbol.toStringTag]="Float"))(Ct.prototype);var mr=class extends Ct{constructor(){super(W.HALF)}},yr=class extends Ct{constructor(){super(W.SINGLE)}},br=class extends Ct{constructor(){super(W.DOUBLE)}};Object.defineProperty(mr.prototype,"ArrayType",{value:Uint16Array});Object.defineProperty(yr.prototype,"ArrayType",{value:Float32Array});Object.defineProperty(br.prototype,"ArrayType",{value:Float64Array});var re=class extends f{constructor(){super(u.Binary)}toString(){return"Binary"}};Oa=Symbol.toStringTag;re[Oa]=(r=>(r.ArrayType=Uint8Array,r[Symbol.toStringTag]="Binary"))(re.prototype);var Le=class extends f{constructor(){super(u.LargeBinary)}toString(){return"LargeBinary"}};Fa=Symbol.toStringTag;Le[Fa]=(r=>(r.ArrayType=Uint8Array,r.OffsetArrayType=BigInt64Array,r[Symbol.toStringTag]="LargeBinary"))(Le.prototype);var ie=class extends f{constructor(){super(u.Utf8)}toString(){return"Utf8"}};Ma=Symbol.toStringTag;ie[Ma]=(r=>(r.ArrayType=Uint8Array,r[Symbol.toStringTag]="Utf8"))(ie.prototype);var Ee=class extends f{constructor(){super(u.LargeUtf8)}toString(){return"LargeUtf8"}};Na=Symbol.toStringTag;Ee[Na]=(r=>(r.ArrayType=Uint8Array,r.OffsetArrayType=BigInt64Array,r[Symbol.toStringTag]="LargeUtf8"))(Ee.prototype);var ne=class extends f{constructor(){super(u.Bool)}toString(){return"Bool"}};La=Symbol.toStringTag;ne[La]=(r=>(r.ArrayType=Uint8Array,r[Symbol.toStringTag]="Bool"))(ne.prototype);var se=class extends f{constructor(t,e,i=128){super(u.Decimal),this.scale=t,this.precision=e,this.bitWidth=i}toString(){return`Decimal[${this.precision}e${this.scale>0?"+":""}${this.scale}]`}};Ea=Symbol.toStringTag;se[Ea]=(r=>(r.scale=null,r.precision=null,r.ArrayType=Uint32Array,r[Symbol.toStringTag]="Decimal"))(se.prototype);var Xt=class extends f{constructor(t){super(u.Date),this.unit=t}toString(){return`Date${(this.unit+1)*32}<${X[this.unit]}>`}get ArrayType(){return this.unit===X.DAY?Int32Array:BigInt64Array}};Ua=Symbol.toStringTag;Xt[Ua]=(r=>(r.unit=null,r[Symbol.toStringTag]="Date"))(Xt.prototype);var Zr=class extends Xt{constructor(){super(X.DAY)}},Xr=class extends Xt{constructor(){super(X.MILLISECOND)}},Bt=class extends f{constructor(t,e){super(u.Time),this.unit=t,this.bitWidth=e}toString(){return`Time${this.bitWidth}<${p[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return BigInt64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}};Ra=Symbol.toStringTag;Bt[Ra]=(r=>(r.unit=null,r.bitWidth=null,r[Symbol.toStringTag]="Time"))(Bt.prototype);var qr=class extends Bt{constructor(){super(p.SECOND,32)}},Kr=class extends Bt{constructor(){super(p.MILLISECOND,32)}},Qr=class extends Bt{constructor(){super(p.MICROSECOND,64)}},ti=class extends Bt{constructor(){super(p.NANOSECOND,64)}},Dt=class extends f{constructor(t,e){super(u.Timestamp),this.unit=t,this.timezone=e}toString(){return`Timestamp<${p[this.unit]}${this.timezone?`, ${this.timezone}`:""}>`}};Ca=Symbol.toStringTag;Dt[Ca]=(r=>(r.unit=null,r.timezone=null,r.ArrayType=BigInt64Array,r[Symbol.toStringTag]="Timestamp"))(Dt.prototype);var ei=class extends Dt{constructor(t){super(p.SECOND,t)}},ri=class extends Dt{constructor(t){super(p.MILLISECOND,t)}},ii=class extends Dt{constructor(t){super(p.MICROSECOND,t)}},ni=class extends Dt{constructor(t){super(p.NANOSECOND,t)}},qt=class extends f{constructor(t){super(u.Interval),this.unit=t}toString(){return`Interval<${Q[this.unit]}>`}};Va=Symbol.toStringTag;qt[Va]=(r=>(r.unit=null,r.ArrayType=Int32Array,r[Symbol.toStringTag]="Interval"))(qt.prototype);var si=class extends qt{constructor(){super(Q.DAY_TIME)}},oi=class extends qt{constructor(){super(Q.YEAR_MONTH)}},Ue=class extends f{constructor(t){super(u.Duration),this.unit=t}toString(){return`Duration<${p[this.unit]}>`}};za=Symbol.toStringTag;Ue[za]=(r=>(r.unit=null,r.ArrayType=BigInt64Array,r[Symbol.toStringTag]="Duration"))(Ue.prototype);var Vt=class extends f{constructor(t){super(u.List),this.children=[t]}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}};Pa=Symbol.toStringTag;Vt[Pa]=(r=>(r.children=null,r[Symbol.toStringTag]="List"))(Vt.prototype);var j=class extends f{constructor(t){super(u.Struct),this.children=t}toString(){return`Struct<{${this.children.map(t=>`${t.name}:${t.type}`).join(", ")}}>`}};ka=Symbol.toStringTag;j[ka]=(r=>(r.children=null,r[Symbol.toStringTag]="Struct"))(j.prototype);var oe=class extends f{constructor(t,e,i){super(u.Union),this.mode=t,this.children=i,this.typeIds=e=Int32Array.from(e),this.typeIdToChildIndex=e.reduce((n,s,o)=>(n[s]=o)&&n||n,Object.create(null))}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(t=>`${t.type}`).join(" | ")}>`}};ja=Symbol.toStringTag;oe[ja]=(r=>(r.mode=null,r.typeIds=null,r.children=null,r.typeIdToChildIndex=null,r.ArrayType=Int8Array,r[Symbol.toStringTag]="Union"))(oe.prototype);var Re=class extends f{constructor(t){super(u.FixedSizeBinary),this.byteWidth=t}toString(){return`FixedSizeBinary[${this.byteWidth}]`}};Wa=Symbol.toStringTag;Re[Wa]=(r=>(r.byteWidth=null,r.ArrayType=Uint8Array,r[Symbol.toStringTag]="FixedSizeBinary"))(Re.prototype);var vt=class extends f{constructor(t,e){super(u.FixedSizeList),this.listSize=t,this.children=[e]}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}};$a=Symbol.toStringTag;vt[$a]=(r=>(r.children=null,r.listSize=null,r[Symbol.toStringTag]="FixedSizeList"))(vt.prototype);var zt=class extends f{constructor(t,e=!1){var i,n,s;if(super(u.Map),this.children=[t],this.keysSorted=e,t&&(t.name="entries",!((i=t?.type)===null||i===void 0)&&i.children)){let o=(n=t?.type)===null||n===void 0?void 0:n.children[0];o&&(o.name="key");let a=(s=t?.type)===null||s===void 0?void 0:s.children[1];a&&(a.name="value")}}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(t=>`${t.name}:${t.type}`).join(", ")}}>`}};Ya=Symbol.toStringTag;zt[Ya]=(r=>(r.children=null,r.keysSorted=null,r[Symbol.toStringTag]="Map_"))(zt.prototype);var Iu=(r=>()=>++r)(-1),Pt=class extends f{constructor(t,e,i,n){super(u.Dictionary),this.indices=e,this.dictionary=t,this.isOrdered=n||!1,this.id=i==null?Iu():C(i)}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}};Ha=Symbol.toStringTag;Pt[Ha]=(r=>(r.id=null,r.indices=null,r.isOrdered=null,r.dictionary=null,r[Symbol.toStringTag]="Dictionary"))(Pt.prototype);function Kt(r){let t=r;switch(r.typeId){case u.Decimal:return r.bitWidth/32;case u.Interval:return 1+t.unit;case u.FixedSizeList:return t.listSize;case u.FixedSizeBinary:return t.byteWidth;default:return 1}}var b=class{visitMany(t,...e){return t.map((i,n)=>this.visit(i,...e.map(s=>s[n])))}visit(...t){return this.getVisitFn(t[0],!1).apply(this,t)}getVisitFn(t,e=!0){return Su(this,t,e)}getVisitFnByTypeId(t,e=!0){return ai(this,t,e)}visitNull(t,...e){return null}visitBool(t,...e){return null}visitInt(t,...e){return null}visitFloat(t,...e){return null}visitUtf8(t,...e){return null}visitLargeUtf8(t,...e){return null}visitBinary(t,...e){return null}visitLargeBinary(t,...e){return null}visitFixedSizeBinary(t,...e){return null}visitDate(t,...e){return null}visitTimestamp(t,...e){return null}visitTime(t,...e){return null}visitDecimal(t,...e){return null}visitList(t,...e){return null}visitStruct(t,...e){return null}visitUnion(t,...e){return null}visitDictionary(t,...e){return null}visitInterval(t,...e){return null}visitDuration(t,...e){return null}visitFixedSizeList(t,...e){return null}visitMap(t,...e){return null}};function Su(r,t,e=!0){return typeof t=="number"?ai(r,t,e):typeof t=="string"&&t in u?ai(r,u[t],e):t&&t instanceof f?ai(r,Ga(t),e):t?.type&&t.type instanceof f?ai(r,Ga(t.type),e):ai(r,u.NONE,e)}function ai(r,t,e=!0){let i=null;switch(t){case u.Null:i=r.visitNull;break;case u.Bool:i=r.visitBool;break;case u.Int:i=r.visitInt;break;case u.Int8:i=r.visitInt8||r.visitInt;break;case u.Int16:i=r.visitInt16||r.visitInt;break;case u.Int32:i=r.visitInt32||r.visitInt;break;case u.Int64:i=r.visitInt64||r.visitInt;break;case u.Uint8:i=r.visitUint8||r.visitInt;break;case u.Uint16:i=r.visitUint16||r.visitInt;break;case u.Uint32:i=r.visitUint32||r.visitInt;break;case u.Uint64:i=r.visitUint64||r.visitInt;break;case u.Float:i=r.visitFloat;break;case u.Float16:i=r.visitFloat16||r.visitFloat;break;case u.Float32:i=r.visitFloat32||r.visitFloat;break;case u.Float64:i=r.visitFloat64||r.visitFloat;break;case u.Utf8:i=r.visitUtf8;break;case u.LargeUtf8:i=r.visitLargeUtf8;break;case u.Binary:i=r.visitBinary;break;case u.LargeBinary:i=r.visitLargeBinary;break;case u.FixedSizeBinary:i=r.visitFixedSizeBinary;break;case u.Date:i=r.visitDate;break;case u.DateDay:i=r.visitDateDay||r.visitDate;break;case u.DateMillisecond:i=r.visitDateMillisecond||r.visitDate;break;case u.Timestamp:i=r.visitTimestamp;break;case u.TimestampSecond:i=r.visitTimestampSecond||r.visitTimestamp;break;case u.TimestampMillisecond:i=r.visitTimestampMillisecond||r.visitTimestamp;break;case u.TimestampMicrosecond:i=r.visitTimestampMicrosecond||r.visitTimestamp;break;case u.TimestampNanosecond:i=r.visitTimestampNanosecond||r.visitTimestamp;break;case u.Time:i=r.visitTime;break;case u.TimeSecond:i=r.visitTimeSecond||r.visitTime;break;case u.TimeMillisecond:i=r.visitTimeMillisecond||r.visitTime;break;case u.TimeMicrosecond:i=r.visitTimeMicrosecond||r.visitTime;break;case u.TimeNanosecond:i=r.visitTimeNanosecond||r.visitTime;break;case u.Decimal:i=r.visitDecimal;break;case u.List:i=r.visitList;break;case u.Struct:i=r.visitStruct;break;case u.Union:i=r.visitUnion;break;case u.DenseUnion:i=r.visitDenseUnion||r.visitUnion;break;case u.SparseUnion:i=r.visitSparseUnion||r.visitUnion;break;case u.Dictionary:i=r.visitDictionary;break;case u.Interval:i=r.visitInterval;break;case u.IntervalDayTime:i=r.visitIntervalDayTime||r.visitInterval;break;case u.IntervalYearMonth:i=r.visitIntervalYearMonth||r.visitInterval;break;case u.Duration:i=r.visitDuration;break;case u.DurationSecond:i=r.visitDurationSecond||r.visitDuration;break;case u.DurationMillisecond:i=r.visitDurationMillisecond||r.visitDuration;break;case u.DurationMicrosecond:i=r.visitDurationMicrosecond||r.visitDuration;break;case u.DurationNanosecond:i=r.visitDurationNanosecond||r.visitDuration;break;case u.FixedSizeList:i=r.visitFixedSizeList;break;case u.Map:i=r.visitMap;break}if(typeof i=="function")return i;if(!e)return()=>null;throw new Error(`Unrecognized type '${u[t]}'`)}function Ga(r){switch(r.typeId){case u.Null:return u.Null;case u.Int:{let{bitWidth:t,isSigned:e}=r;switch(t){case 8:return e?u.Int8:u.Uint8;case 16:return e?u.Int16:u.Uint16;case 32:return e?u.Int32:u.Uint32;case 64:return e?u.Int64:u.Uint64}return u.Int}case u.Float:switch(r.precision){case W.HALF:return u.Float16;case W.SINGLE:return u.Float32;case W.DOUBLE:return u.Float64}return u.Float;case u.Binary:return u.Binary;case u.LargeBinary:return u.LargeBinary;case u.Utf8:return u.Utf8;case u.LargeUtf8:return u.LargeUtf8;case u.Bool:return u.Bool;case u.Decimal:return u.Decimal;case u.Time:switch(r.unit){case p.SECOND:return u.TimeSecond;case p.MILLISECOND:return u.TimeMillisecond;case p.MICROSECOND:return u.TimeMicrosecond;case p.NANOSECOND:return u.TimeNanosecond}return u.Time;case u.Timestamp:switch(r.unit){case p.SECOND:return u.TimestampSecond;case p.MILLISECOND:return u.TimestampMillisecond;case p.MICROSECOND:return u.TimestampMicrosecond;case p.NANOSECOND:return u.TimestampNanosecond}return u.Timestamp;case u.Date:switch(r.unit){case X.DAY:return u.DateDay;case X.MILLISECOND:return u.DateMillisecond}return u.Date;case u.Interval:switch(r.unit){case Q.DAY_TIME:return u.IntervalDayTime;case Q.YEAR_MONTH:return u.IntervalYearMonth}return u.Interval;case u.Duration:switch(r.unit){case p.SECOND:return u.DurationSecond;case p.MILLISECOND:return u.DurationMillisecond;case p.MICROSECOND:return u.DurationMicrosecond;case p.NANOSECOND:return u.DurationNanosecond}return u.Duration;case u.Map:return u.Map;case u.List:return u.List;case u.Struct:return u.Struct;case u.Union:switch(r.mode){case Y.Dense:return u.DenseUnion;case Y.Sparse:return u.SparseUnion}return u.Union;case u.FixedSizeBinary:return u.FixedSizeBinary;case u.FixedSizeList:return u.FixedSizeList;case u.Dictionary:return u.Dictionary}throw new Error(`Unrecognized type '${u[r.typeId]}'`)}b.prototype.visitInt8=null;b.prototype.visitInt16=null;b.prototype.visitInt32=null;b.prototype.visitInt64=null;b.prototype.visitUint8=null;b.prototype.visitUint16=null;b.prototype.visitUint32=null;b.prototype.visitUint64=null;b.prototype.visitFloat16=null;b.prototype.visitFloat32=null;b.prototype.visitFloat64=null;b.prototype.visitDateDay=null;b.prototype.visitDateMillisecond=null;b.prototype.visitTimestampSecond=null;b.prototype.visitTimestampMillisecond=null;b.prototype.visitTimestampMicrosecond=null;b.prototype.visitTimestampNanosecond=null;b.prototype.visitTimeSecond=null;b.prototype.visitTimeMillisecond=null;b.prototype.visitTimeMicrosecond=null;b.prototype.visitTimeNanosecond=null;b.prototype.visitDenseUnion=null;b.prototype.visitSparseUnion=null;b.prototype.visitIntervalDayTime=null;b.prototype.visitIntervalYearMonth=null;b.prototype.visitDuration=null;b.prototype.visitDurationSecond=null;b.prototype.visitDurationMillisecond=null;b.prototype.visitDurationMicrosecond=null;b.prototype.visitDurationNanosecond=null;var uo={};Qe(uo,{float64ToUint16:()=>Ci,uint16ToFloat64:()=>Vn});var Ja=new Float64Array(1),ci=new Uint32Array(Ja.buffer);function Vn(r){let t=(r&31744)>>10,e=(r&1023)/1024,i=Math.pow(-1,(r&32768)>>15);switch(t){case 31:return i*(e?Number.NaN:1/0);case 0:return i*(e?6103515625e-14*e:0)}return i*Math.pow(2,t-15)*(1+e)}function Ci(r){if(r!==r)return 32256;Ja[0]=r;let t=(ci[1]&2147483648)>>16&65535,e=ci[1]&2146435072,i=0;return e>=1089470464?ci[0]>0?e=31744:(e=(e&2080374784)>>16,i=(ci[1]&1048575)>>10):e<=1056964608?(i=1048576+(ci[1]&1048575),i=1048576+(i<<(e>>20)-998)>>21,e=0):(e=e-1056964608>>10,i=(ci[1]&1048575)+512>>10),t|e|i&65535}var I=class extends b{};function D(r){return(t,e,i)=>{if(t.setValid(e,i!=null))return r(t,e,i)}}var Au=(r,t,e)=>{r[t]=Math.floor(e/864e5)},Za=(r,t,e,i)=>{if(e+1<t.length){let n=C(t[e]),s=C(t[e+1]);r.set(i.subarray(0,s-n),n)}},Bu=({offset:r,values:t},e,i)=>{let n=r+e;i?t[n>>3]|=1<<n%8:t[n>>3]&=~(1<<n%8)},je=({values:r},t,e)=>{r[t]=e},ho=({values:r},t,e)=>{r[t]=e},Xa=({values:r},t,e)=>{r[t]=Ci(e)},Du=(r,t,e)=>{switch(r.type.precision){case W.HALF:return Xa(r,t,e);case W.SINGLE:case W.DOUBLE:return ho(r,t,e)}},zn=({values:r},t,e)=>{Au(r,t,e.valueOf())},Pn=({values:r},t,e)=>{r[t]=BigInt(e)},fo=({stride:r,values:t},e,i)=>{t.set(i.subarray(0,r),r*e)},qa=({values:r,valueOffsets:t},e,i)=>Za(r,t,e,i),Ka=({values:r,valueOffsets:t},e,i)=>Za(r,t,e,Ie(i)),po=(r,t,e)=>{r.type.unit===X.DAY?zn(r,t,e):Pn(r,t,e)},kn=({values:r},t,e)=>{r[t]=BigInt(e/1e3)},jn=({values:r},t,e)=>{r[t]=BigInt(e)},Wn=({values:r},t,e)=>{r[t]=BigInt(e*1e3)},$n=({values:r},t,e)=>{r[t]=BigInt(e*1e6)},mo=(r,t,e)=>{switch(r.type.unit){case p.SECOND:return kn(r,t,e);case p.MILLISECOND:return jn(r,t,e);case p.MICROSECOND:return Wn(r,t,e);case p.NANOSECOND:return $n(r,t,e)}},Yn=({values:r},t,e)=>{r[t]=e},Hn=({values:r},t,e)=>{r[t]=e},Gn=({values:r},t,e)=>{r[t]=e},Jn=({values:r},t,e)=>{r[t]=e},yo=(r,t,e)=>{switch(r.type.unit){case p.SECOND:return Yn(r,t,e);case p.MILLISECOND:return Hn(r,t,e);case p.MICROSECOND:return Gn(r,t,e);case p.NANOSECOND:return Jn(r,t,e)}},bo=({values:r,stride:t},e,i)=>{r.set(i.subarray(0,t),t*e)},xu=(r,t,e)=>{let i=r.children[0],n=r.valueOffsets,s=yt.getVisitFn(i);if(Array.isArray(e))for(let o=-1,a=n[t],c=n[t+1];a<c;)s(i,a++,e[++o]);else for(let o=-1,a=n[t],c=n[t+1];a<c;)s(i,a++,e.get(++o))},Tu=(r,t,e)=>{let i=r.children[0],{valueOffsets:n}=r,s=yt.getVisitFn(i),{[t]:o,[t+1]:a}=n,c=e instanceof Map?e.entries():Object.entries(e);for(let l of c)if(s(i,o,l),++o>=a)break},Ou=(r,t)=>(e,i,n,s)=>i&&e(i,r,t[s]),Fu=(r,t)=>(e,i,n,s)=>i&&e(i,r,t.get(s)),Mu=(r,t)=>(e,i,n,s)=>i&&e(i,r,t.get(n.name)),Nu=(r,t)=>(e,i,n,s)=>i&&e(i,r,t[n.name]),Lu=(r,t,e)=>{let i=r.type.children.map(s=>yt.getVisitFn(s.type)),n=e instanceof Map?Mu(t,e):e instanceof F?Fu(t,e):Array.isArray(e)?Ou(t,e):Nu(t,e);r.type.children.forEach((s,o)=>n(i[o],r.children[o],s,o))},Eu=(r,t,e)=>{r.type.mode===Y.Dense?Qa(r,t,e):tc(r,t,e)},Qa=(r,t,e)=>{let i=r.type.typeIdToChildIndex[r.typeIds[t]],n=r.children[i];yt.visit(n,r.valueOffsets[t],e)},tc=(r,t,e)=>{let i=r.type.typeIdToChildIndex[r.typeIds[t]],n=r.children[i];yt.visit(n,t,e)},Uu=(r,t,e)=>{var i;(i=r.dictionary)===null||i===void 0||i.set(r.values[t],e)},go=(r,t,e)=>{r.type.unit===Q.DAY_TIME?Zn(r,t,e):Xn(r,t,e)},Zn=({values:r},t,e)=>{r.set(e.subarray(0,2),2*t)},Xn=({values:r},t,e)=>{r[t]=e[0]*12+e[1]%12},qn=({values:r},t,e)=>{r[t]=e},Kn=({values:r},t,e)=>{r[t]=e},Qn=({values:r},t,e)=>{r[t]=e},ts=({values:r},t,e)=>{r[t]=e},_o=(r,t,e)=>{switch(r.type.unit){case p.SECOND:return qn(r,t,e);case p.MILLISECOND:return Kn(r,t,e);case p.MICROSECOND:return Qn(r,t,e);case p.NANOSECOND:return ts(r,t,e)}},Ru=(r,t,e)=>{let{stride:i}=r,n=r.children[0],s=yt.getVisitFn(n);if(Array.isArray(e))for(let o=-1,a=t*i;++o<i;)s(n,a+o,e[o]);else for(let o=-1,a=t*i;++o<i;)s(n,a+o,e.get(o))};I.prototype.visitBool=D(Bu);I.prototype.visitInt=D(je);I.prototype.visitInt8=D(je);I.prototype.visitInt16=D(je);I.prototype.visitInt32=D(je);I.prototype.visitInt64=D(je);I.prototype.visitUint8=D(je);I.prototype.visitUint16=D(je);I.prototype.visitUint32=D(je);I.prototype.visitUint64=D(je);I.prototype.visitFloat=D(Du);I.prototype.visitFloat16=D(Xa);I.prototype.visitFloat32=D(ho);I.prototype.visitFloat64=D(ho);I.prototype.visitUtf8=D(Ka);I.prototype.visitLargeUtf8=D(Ka);I.prototype.visitBinary=D(qa);I.prototype.visitLargeBinary=D(qa);I.prototype.visitFixedSizeBinary=D(fo);I.prototype.visitDate=D(po);I.prototype.visitDateDay=D(zn);I.prototype.visitDateMillisecond=D(Pn);I.prototype.visitTimestamp=D(mo);I.prototype.visitTimestampSecond=D(kn);I.prototype.visitTimestampMillisecond=D(jn);I.prototype.visitTimestampMicrosecond=D(Wn);I.prototype.visitTimestampNanosecond=D($n);I.prototype.visitTime=D(yo);I.prototype.visitTimeSecond=D(Yn);I.prototype.visitTimeMillisecond=D(Hn);I.prototype.visitTimeMicrosecond=D(Gn);I.prototype.visitTimeNanosecond=D(Jn);I.prototype.visitDecimal=D(bo);I.prototype.visitList=D(xu);I.prototype.visitStruct=D(Lu);I.prototype.visitUnion=D(Eu);I.prototype.visitDenseUnion=D(Qa);I.prototype.visitSparseUnion=D(tc);I.prototype.visitDictionary=D(Uu);I.prototype.visitInterval=D(go);I.prototype.visitIntervalDayTime=D(Zn);I.prototype.visitIntervalYearMonth=D(Xn);I.prototype.visitDuration=D(_o);I.prototype.visitDurationSecond=D(qn);I.prototype.visitDurationMillisecond=D(Kn);I.prototype.visitDurationMicrosecond=D(Qn);I.prototype.visitDurationNanosecond=D(ts);I.prototype.visitFixedSizeList=D(Ru);I.prototype.visitMap=D(Tu);var yt=new I;var be=Symbol.for("parent"),li=Symbol.for("rowIndex"),er=class{constructor(t,e){return this[be]=t,this[li]=e,new Proxy(this,new vo)}toArray(){return Object.values(this.toJSON())}toJSON(){let t=this[li],e=this[be],i=e.type.children,n={};for(let s=-1,o=i.length;++s<o;)n[i[s].name]=st.visit(e.children[s],t);return n}toString(){return`{${[...this].map(([t,e])=>`${me(t)}: ${me(e)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}[Symbol.iterator](){return new wo(this[be],this[li])}},wo=class{constructor(t,e){this.childIndex=0,this.children=t.children,this.rowIndex=e,this.childFields=t.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){let t=this.childIndex;return t<this.numChildren?(this.childIndex=t+1,{done:!1,value:[this.childFields[t].name,st.visit(this.children[t],this.rowIndex)]}):{done:!0,value:null}}};Object.defineProperties(er.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[be]:{writable:!0,enumerable:!1,configurable:!1,value:null},[li]:{writable:!0,enumerable:!1,configurable:!1,value:-1}});var vo=class{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(t){return t[be].type.children.map(e=>e.name)}has(t,e){return t[be].type.children.findIndex(i=>i.name===e)!==-1}getOwnPropertyDescriptor(t,e){if(t[be].type.children.findIndex(i=>i.name===e)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(t,e){if(Reflect.has(t,e))return t[e];let i=t[be].type.children.findIndex(n=>n.name===e);if(i!==-1){let n=st.visit(t[be].children[i],t[li]);return Reflect.set(t,e,n),n}}set(t,e,i){let n=t[be].type.children.findIndex(s=>s.name===e);return n!==-1?(yt.visit(t[be].children[n],t[li],i),Reflect.set(t,e,i)):Reflect.has(t,e)||typeof e=="symbol"?Reflect.set(t,e,i):!1}};var g=class extends b{};function A(r){return(t,e)=>t.getValid(e)?r(t,e):null}var Cu=(r,t)=>864e5*r[t],Vu=(r,t)=>null,ec=(r,t,e)=>{if(e+1>=t.length)return null;let i=C(t[e]),n=C(t[e+1]);return r.subarray(i,n)},zu=({offset:r,values:t},e)=>{let i=r+e;return(t[i>>3]&1<<i%8)!==0},rc=({values:r},t)=>Cu(r,t),ic=({values:r},t)=>C(r[t]),rr=({stride:r,values:t},e)=>t[r*e],Pu=({stride:r,values:t},e)=>Vn(t[r*e]),nc=({values:r},t)=>r[t],ku=({stride:r,values:t},e)=>t.subarray(r*e,r*(e+1)),sc=({values:r,valueOffsets:t},e)=>ec(r,t,e),oc=({values:r,valueOffsets:t},e)=>{let i=ec(r,t,e);return i!==null?Oi(i):null},ju=({values:r},t)=>r[t],Wu=({type:r,values:t},e)=>r.precision!==W.HALF?t[e]:Vn(t[e]),$u=(r,t)=>r.type.unit===X.DAY?rc(r,t):ic(r,t),ac=({values:r},t)=>1e3*C(r[t]),cc=({values:r},t)=>C(r[t]),lc=({values:r},t)=>oo(r[t],BigInt(1e3)),uc=({values:r},t)=>oo(r[t],BigInt(1e6)),Yu=(r,t)=>{switch(r.type.unit){case p.SECOND:return ac(r,t);case p.MILLISECOND:return cc(r,t);case p.MICROSECOND:return lc(r,t);case p.NANOSECOND:return uc(r,t)}},dc=({values:r},t)=>r[t],hc=({values:r},t)=>r[t],fc=({values:r},t)=>r[t],pc=({values:r},t)=>r[t],Hu=(r,t)=>{switch(r.type.unit){case p.SECOND:return dc(r,t);case p.MILLISECOND:return hc(r,t);case p.MICROSECOND:return fc(r,t);case p.NANOSECOND:return pc(r,t)}},Gu=({values:r,stride:t},e)=>ar.decimal(r.subarray(t*e,t*(e+1))),Ju=(r,t)=>{let{valueOffsets:e,stride:i,children:n}=r,{[t*i]:s,[t*i+1]:o}=e,c=n[0].slice(s,o-s);return new F([c])},Zu=(r,t)=>{let{valueOffsets:e,children:i}=r,{[t]:n,[t+1]:s}=e,o=i[0];return new Ce(o.slice(n,s-n))},Xu=(r,t)=>new er(r,t),qu=(r,t)=>r.type.mode===Y.Dense?mc(r,t):yc(r,t),mc=(r,t)=>{let e=r.type.typeIdToChildIndex[r.typeIds[t]],i=r.children[e];return st.visit(i,r.valueOffsets[t])},yc=(r,t)=>{let e=r.type.typeIdToChildIndex[r.typeIds[t]],i=r.children[e];return st.visit(i,t)},Ku=(r,t)=>{var e;return(e=r.dictionary)===null||e===void 0?void 0:e.get(r.values[t])},Qu=(r,t)=>r.type.unit===Q.DAY_TIME?bc(r,t):gc(r,t),bc=({values:r},t)=>r.subarray(2*t,2*(t+1)),gc=({values:r},t)=>{let e=r[t],i=new Int32Array(2);return i[0]=Math.trunc(e/12),i[1]=Math.trunc(e%12),i},_c=({values:r},t)=>r[t],wc=({values:r},t)=>r[t],vc=({values:r},t)=>r[t],Ic=({values:r},t)=>r[t],td=(r,t)=>{switch(r.type.unit){case p.SECOND:return _c(r,t);case p.MILLISECOND:return wc(r,t);case p.MICROSECOND:return vc(r,t);case p.NANOSECOND:return Ic(r,t)}},ed=(r,t)=>{let{stride:e,children:i}=r,s=i[0].slice(t*e,e);return new F([s])};g.prototype.visitNull=A(Vu);g.prototype.visitBool=A(zu);g.prototype.visitInt=A(ju);g.prototype.visitInt8=A(rr);g.prototype.visitInt16=A(rr);g.prototype.visitInt32=A(rr);g.prototype.visitInt64=A(nc);g.prototype.visitUint8=A(rr);g.prototype.visitUint16=A(rr);g.prototype.visitUint32=A(rr);g.prototype.visitUint64=A(nc);g.prototype.visitFloat=A(Wu);g.prototype.visitFloat16=A(Pu);g.prototype.visitFloat32=A(rr);g.prototype.visitFloat64=A(rr);g.prototype.visitUtf8=A(oc);g.prototype.visitLargeUtf8=A(oc);g.prototype.visitBinary=A(sc);g.prototype.visitLargeBinary=A(sc);g.prototype.visitFixedSizeBinary=A(ku);g.prototype.visitDate=A($u);g.prototype.visitDateDay=A(rc);g.prototype.visitDateMillisecond=A(ic);g.prototype.visitTimestamp=A(Yu);g.prototype.visitTimestampSecond=A(ac);g.prototype.visitTimestampMillisecond=A(cc);g.prototype.visitTimestampMicrosecond=A(lc);g.prototype.visitTimestampNanosecond=A(uc);g.prototype.visitTime=A(Hu);g.prototype.visitTimeSecond=A(dc);g.prototype.visitTimeMillisecond=A(hc);g.prototype.visitTimeMicrosecond=A(fc);g.prototype.visitTimeNanosecond=A(pc);g.prototype.visitDecimal=A(Gu);g.prototype.visitList=A(Ju);g.prototype.visitStruct=A(Xu);g.prototype.visitUnion=A(qu);g.prototype.visitDenseUnion=A(mc);g.prototype.visitSparseUnion=A(yc);g.prototype.visitDictionary=A(Ku);g.prototype.visitInterval=A(Qu);g.prototype.visitIntervalDayTime=A(bc);g.prototype.visitIntervalYearMonth=A(gc);g.prototype.visitDuration=A(td);g.prototype.visitDurationSecond=A(_c);g.prototype.visitDurationMillisecond=A(wc);g.prototype.visitDurationMicrosecond=A(vc);g.prototype.visitDurationNanosecond=A(Ic);g.prototype.visitFixedSizeList=A(ed);g.prototype.visitMap=A(Zu);var st=new g;var ir=Symbol.for("keys"),di=Symbol.for("vals"),ui=Symbol.for("kKeysAsStrings"),Io=Symbol.for("_kKeysAsStrings"),Ce=class{constructor(t){return this[ir]=new F([t.children[0]]).memoize(),this[di]=t.children[1],new Proxy(this,new Ao)}get[ui](){return this[Io]||(this[Io]=Array.from(this[ir].toArray(),String))}[Symbol.iterator](){return new So(this[ir],this[di])}get size(){return this[ir].length}toArray(){return Object.values(this.toJSON())}toJSON(){let t=this[ir],e=this[di],i={};for(let n=-1,s=t.length;++n<s;)i[t.get(n)]=st.visit(e,n);return i}toString(){return`{${[...this].map(([t,e])=>`${me(t)}: ${me(e)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}},So=class{constructor(t,e){this.keys=t,this.vals=e,this.keyIndex=0,this.numKeys=t.length}[Symbol.iterator](){return this}next(){let t=this.keyIndex;return t===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(t),st.visit(this.vals,t)]})}},Ao=class{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(t){return t[ui]}has(t,e){return t[ui].includes(e)}getOwnPropertyDescriptor(t,e){if(t[ui].indexOf(e)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(t,e){if(Reflect.has(t,e))return t[e];let i=t[ui].indexOf(e);if(i!==-1){let n=st.visit(Reflect.get(t,di),i);return Reflect.set(t,e,n),n}}set(t,e,i){let n=t[ui].indexOf(e);return n!==-1?(yt.visit(Reflect.get(t,di),n,i),Reflect.set(t,e,i)):Reflect.has(t,e)?Reflect.set(t,e,i):!1}};Object.defineProperties(Ce.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[ir]:{writable:!0,enumerable:!1,configurable:!1,value:null},[di]:{writable:!0,enumerable:!1,configurable:!1,value:null},[Io]:{writable:!0,enumerable:!1,configurable:!1,value:null}});var Sc;function Vi(r,t,e,i){let{length:n=0}=r,s=typeof t!="number"?0:t,o=typeof e!="number"?n:e;return s<0&&(s=(s%n+n)%n),o<0&&(o=(o%n+n)%n),o<s&&(Sc=s,s=o,o=Sc),o>n&&(o=n),i?i(r,s,o):[s,o]}var gr=(r,t)=>r<0?t+r:r,Ac=r=>r!==r;function nr(r){if(typeof r!=="object"||r===null)return Ac(r)?Ac:e=>e===r;if(r instanceof Date){let e=r.valueOf();return i=>i instanceof Date?i.valueOf()===e:!1}return ArrayBuffer.isView(r)?e=>e?eo(r,e):!1:r instanceof Map?id(r):Array.isArray(r)?rd(r):r instanceof F?nd(r):sd(r,!0)}function rd(r){let t=[];for(let e=-1,i=r.length;++e<i;)t[e]=nr(r[e]);return es(t)}function id(r){let t=-1,e=[];for(let i of r.values())e[++t]=nr(i);return es(e)}function nd(r){let t=[];for(let e=-1,i=r.length;++e<i;)t[e]=nr(r.get(e));return es(t)}function sd(r,t=!1){let e=Object.keys(r);if(!t&&e.length===0)return()=>!1;let i=[];for(let n=-1,s=e.length;++n<s;)i[n]=nr(r[e[n]]);return es(i,e)}function es(r,t){return e=>{if(!e||typeof e!="object")return!1;switch(e.constructor){case Array:return od(r,e);case Map:return Bc(r,e,e.keys());case Ce:case er:case Object:case void 0:return Bc(r,e,t||Object.keys(e))}return e instanceof F?ad(r,e):!1}}function od(r,t){let e=r.length;if(t.length!==e)return!1;for(let i=-1;++i<e;)if(!r[i](t[i]))return!1;return!0}function ad(r,t){let e=r.length;if(t.length!==e)return!1;for(let i=-1;++i<e;)if(!r[i](t.get(i)))return!1;return!0}function Bc(r,t,e){let i=e[Symbol.iterator](),n=t instanceof Map?t.keys():Object.keys(t)[Symbol.iterator](),s=t instanceof Map?t.values():Object.values(t)[Symbol.iterator](),o=0,a=r.length,c=s.next(),l=i.next(),d=n.next();for(;o<a&&!l.done&&!d.done&&!c.done&&!(l.value!==d.value||!r[o](c.value));++o,l=i.next(),d=n.next(),c=s.next());return o===a&&l.done&&d.done&&c.done?!0:(i.return&&i.return(),n.return&&n.return(),s.return&&s.return(),!1)}var Do={};Qe(Do,{BitIterator:()=>_r,getBit:()=>Dc,getBool:()=>is,packBools:()=>vr,popcnt_array:()=>xc,popcnt_bit_range:()=>zi,popcnt_uint32:()=>rs,setBool:()=>cd,truncateBitmap:()=>wr});function is(r,t,e,i){return(e&1<<i)!==0}function Dc(r,t,e,i){return(e&1<<i)>>i}function cd(r,t,e){return e?!!(r[t>>3]|=1<<t%8)||!0:!(r[t>>3]&=~(1<<t%8))&&!1}function wr(r,t,e){let i=e.byteLength+7&-8;if(r>0||e.byteLength<i){let n=new Uint8Array(i);return n.set(r%8===0?e.subarray(r>>3):vr(new _r(e,r,t,null,is)).subarray(0,i)),n}return e}function vr(r){let t=[],e=0,i=0,n=0;for(let o of r)o&&(n|=1<<i),++i===8&&(t[e++]=n,n=i=0);(e===0||i>0)&&(t[e++]=n);let s=new Uint8Array(t.length+7&-8);return s.set(t),s}var _r=class{constructor(t,e,i,n,s){this.bytes=t,this.length=i,this.context=n,this.get=s,this.bit=e%8,this.byteIndex=e>>3,this.byte=t[this.byteIndex++],this.index=0}next(){return this.index<this.length?(this.bit===8&&(this.bit=0,this.byte=this.bytes[this.byteIndex++]),{value:this.get(this.context,this.index++,this.byte,this.bit++)}):{done:!0,value:null}}[Symbol.iterator](){return this}};function zi(r,t,e){if(e-t<=0)return 0;if(e-t<8){let s=0;for(let o of new _r(r,t,e-t,r,Dc))s+=o;return s}let i=e>>3<<3,n=t+(t%8===0?0:8-t%8);return zi(r,t,n)+zi(r,i,e)+xc(r,n>>3,i-n>>3)}function xc(r,t,e){let i=0,n=Math.trunc(t),s=new DataView(r.buffer,r.byteOffset,r.byteLength),o=e===void 0?r.byteLength:n+e;for(;o-n>=4;)i+=rs(s.getUint32(n)),n+=4;for(;o-n>=2;)i+=rs(s.getUint16(n)),n+=2;for(;o-n>=1;)i+=rs(s.getUint8(n)),n+=1;return i}function rs(r){let t=Math.trunc(r);return t=t-(t>>>1&1431655765),t=(t&858993459)+(t>>>2&858993459),(t+(t>>>4)&252645135)*16843009>>>24}var ld=-1,L=class{get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get nullable(){if(this._nullCount!==0){let{type:t}=this;return f.isSparseUnion(t)?this.children.some(e=>e.nullable):f.isDenseUnion(t)?this.children.some(e=>e.nullable):this.nullBitmap&&this.nullBitmap.byteLength>0}return!0}get byteLength(){let t=0,{valueOffsets:e,values:i,nullBitmap:n,typeIds:s}=this;return e&&(t+=e.byteLength),i&&(t+=i.byteLength),n&&(t+=n.byteLength),s&&(t+=s.byteLength),this.children.reduce((o,a)=>o+a.byteLength,t)}get nullCount(){if(f.isUnion(this.type))return this.children.reduce((i,n)=>i+n.nullCount,0);let t=this._nullCount,e;return t<=ld&&(e=this.nullBitmap)&&(this._nullCount=t=e.length===0?0:this.length-zi(e,this.offset,this.offset+this.length)),t}constructor(t,e,i,n,s,o=[],a){this.type=t,this.children=o,this.dictionary=a,this.offset=Math.floor(Math.max(e||0,0)),this.length=Math.floor(Math.max(i||0,0)),this._nullCount=Math.floor(Math.max(n||0,-1));let c;s instanceof L?(this.stride=s.stride,this.values=s.values,this.typeIds=s.typeIds,this.nullBitmap=s.nullBitmap,this.valueOffsets=s.valueOffsets):(this.stride=Kt(t),s&&((c=s[0])&&(this.valueOffsets=c),(c=s[1])&&(this.values=c),(c=s[2])&&(this.nullBitmap=c),(c=s[3])&&(this.typeIds=c)))}getValid(t){let{type:e}=this;if(f.isUnion(e)){let i=e,n=this.children[i.typeIdToChildIndex[this.typeIds[t]]],s=i.mode===Y.Dense?this.valueOffsets[t]:t;return n.getValid(s)}if(this.nullable&&this.nullCount>0){let i=this.offset+t;return(this.nullBitmap[i>>3]&1<<i%8)!==0}return!0}setValid(t,e){let i,{type:n}=this;if(f.isUnion(n)){let s=n,o=this.children[s.typeIdToChildIndex[this.typeIds[t]]],a=s.mode===Y.Dense?this.valueOffsets[t]:t;i=o.getValid(a),o.setValid(a,e)}else{let{nullBitmap:s}=this,{offset:o,length:a}=this,c=o+t,l=1<<c%8,d=c>>3;(!s||s.byteLength<=d)&&(s=new Uint8Array((o+a+63&-64)>>3).fill(255),this.nullCount>0?(s.set(wr(o,a,this.nullBitmap),0),Object.assign(this,{nullBitmap:s})):Object.assign(this,{nullBitmap:s,_nullCount:0}));let h=s[d];i=(h&l)!==0,s[d]=e?h|l:h&~l}return i!==!!e&&(this._nullCount=this.nullCount+(e?-1:1)),e}clone(t=this.type,e=this.offset,i=this.length,n=this._nullCount,s=this,o=this.children){return new L(t,e,i,n,s,o,this.dictionary)}slice(t,e){let{stride:i,typeId:n,children:s}=this,o=+(this._nullCount===0)-1,a=n===16?i:1,c=this._sliceBuffers(t,e,i,n);return this.clone(this.type,this.offset+t,e,o,c,s.length===0||this.valueOffsets?s:this._sliceChildren(s,a*t,a*e))}_changeLengthAndBackfillNullBitmap(t){if(this.typeId===u.Null)return this.clone(this.type,0,t,0);let{length:e,nullCount:i}=this,n=new Uint8Array((t+63&-64)>>3).fill(255,0,e>>3);n[e>>3]=(1<<e-(e&-8))-1,i>0&&n.set(wr(this.offset,e,this.nullBitmap),0);let s=this.buffers;return s[Rt.VALIDITY]=n,this.clone(this.type,0,t,i+(t-e),s)}_sliceBuffers(t,e,i,n){let s,{buffers:o}=this;return(s=o[Rt.TYPE])&&(o[Rt.TYPE]=s.subarray(t,t+e)),(s=o[Rt.OFFSET])&&(o[Rt.OFFSET]=s.subarray(t,t+e+1))||(s=o[Rt.DATA])&&(o[Rt.DATA]=n===6?s:s.subarray(i*t,i*(t+e))),o}_sliceChildren(t,e,i){return t.map(n=>n.slice(e,i))}};L.prototype.children=Object.freeze([]);var Ir=class extends b{visit(t){return this.getVisitFn(t.type).call(this,t)}visitNull(t){let{["type"]:e,["offset"]:i=0,["length"]:n=0}=t;return new L(e,i,n,n)}visitBool(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.nullBitmap),s=N(e.ArrayType,t.data),{["length"]:o=s.length>>3,["nullCount"]:a=t.nullBitmap?-1:0}=t;return new L(e,i,o,a,[void 0,s,n])}visitInt(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.nullBitmap),s=N(e.ArrayType,t.data),{["length"]:o=s.length,["nullCount"]:a=t.nullBitmap?-1:0}=t;return new L(e,i,o,a,[void 0,s,n])}visitFloat(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.nullBitmap),s=N(e.ArrayType,t.data),{["length"]:o=s.length,["nullCount"]:a=t.nullBitmap?-1:0}=t;return new L(e,i,o,a,[void 0,s,n])}visitUtf8(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.data),s=S(t.nullBitmap),o=or(t.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new L(e,i,a,c,[o,n,s])}visitLargeUtf8(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.data),s=S(t.nullBitmap),o=Nn(t.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new L(e,i,a,c,[o,n,s])}visitBinary(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.data),s=S(t.nullBitmap),o=or(t.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new L(e,i,a,c,[o,n,s])}visitLargeBinary(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.data),s=S(t.nullBitmap),o=Nn(t.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new L(e,i,a,c,[o,n,s])}visitFixedSizeBinary(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.nullBitmap),s=N(e.ArrayType,t.data),{["length"]:o=s.length/Kt(e),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new L(e,i,o,a,[void 0,s,n])}visitDate(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.nullBitmap),s=N(e.ArrayType,t.data),{["length"]:o=s.length/Kt(e),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new L(e,i,o,a,[void 0,s,n])}visitTimestamp(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.nullBitmap),s=N(e.ArrayType,t.data),{["length"]:o=s.length/Kt(e),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new L(e,i,o,a,[void 0,s,n])}visitTime(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.nullBitmap),s=N(e.ArrayType,t.data),{["length"]:o=s.length/Kt(e),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new L(e,i,o,a,[void 0,s,n])}visitDecimal(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.nullBitmap),s=N(e.ArrayType,t.data),{["length"]:o=s.length/Kt(e),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new L(e,i,o,a,[void 0,s,n])}visitList(t){let{["type"]:e,["offset"]:i=0,["child"]:n}=t,s=S(t.nullBitmap),o=or(t.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new L(e,i,a,c,[o,void 0,s],[n])}visitStruct(t){let{["type"]:e,["offset"]:i=0,["children"]:n=[]}=t,s=S(t.nullBitmap),{length:o=n.reduce((c,{length:l})=>Math.max(c,l),0),nullCount:a=t.nullBitmap?-1:0}=t;return new L(e,i,o,a,[void 0,void 0,s],n)}visitUnion(t){let{["type"]:e,["offset"]:i=0,["children"]:n=[]}=t,s=N(e.ArrayType,t.typeIds),{["length"]:o=s.length,["nullCount"]:a=-1}=t;if(f.isSparseUnion(e))return new L(e,i,o,a,[void 0,void 0,void 0,s],n);let c=or(t.valueOffsets);return new L(e,i,o,a,[c,void 0,void 0,s],n)}visitDictionary(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.nullBitmap),s=N(e.indices.ArrayType,t.data),{["dictionary"]:o=new F([new Ir().visit({type:e.dictionary})])}=t,{["length"]:a=s.length,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new L(e,i,a,c,[void 0,s,n],[],o)}visitInterval(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.nullBitmap),s=N(e.ArrayType,t.data),{["length"]:o=s.length/Kt(e),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new L(e,i,o,a,[void 0,s,n])}visitDuration(t){let{["type"]:e,["offset"]:i=0}=t,n=S(t.nullBitmap),s=N(e.ArrayType,t.data),{["length"]:o=s.length,["nullCount"]:a=t.nullBitmap?-1:0}=t;return new L(e,i,o,a,[void 0,s,n])}visitFixedSizeList(t){let{["type"]:e,["offset"]:i=0,["child"]:n=new Ir().visit({type:e.valueType})}=t,s=S(t.nullBitmap),{["length"]:o=n.length/Kt(e),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new L(e,i,o,a,[void 0,void 0,s],[n])}visitMap(t){let{["type"]:e,["offset"]:i=0,["child"]:n=new Ir().visit({type:e.childType})}=t,s=S(t.nullBitmap),o=or(t.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new L(e,i,a,c,[o,void 0,s],[n])}},ud=new Ir;function x(r){return ud.visit(r)}var Pi=class{constructor(t=0,e){this.numChunks=t,this.getChunkIterator=e,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndex<this.numChunks;){let t=this.chunkIterator.next();if(!t.done)return t;++this.chunkIndex<this.numChunks&&(this.chunkIterator=this.getChunkIterator(this.chunkIndex))}return{done:!0,value:null}}[Symbol.iterator](){return this}};function Tc(r){return r.some(t=>t.nullable)}function ns(r){return r.reduce((t,e)=>t+e.nullCount,0)}function ss(r){return r.reduce((t,e,i)=>(t[i+1]=t[i]+e.length,t),new Uint32Array(r.length+1))}function os(r,t,e,i){let n=[];for(let s=-1,o=r.length;++s<o;){let a=r[s],c=t[s],{length:l}=a;if(c>=i)break;if(e>=c+l)continue;if(c>=e&&c+l<=i){n.push(a);continue}let d=Math.max(0,e-c),h=Math.min(i-c,l);n.push(a.slice(d,h-d))}return n.length===0&&n.push(r[0].slice(0,0)),n}function xo(r,t,e,i){let n=0,s=0,o=t.length-1;do{if(n>=o-1)return e<t[o]?i(r,n,e-t[n]):null;s=n+Math.trunc((o-n)*.5),e<t[s]?o=s:n=s}while(n<o)}function ki(r,t){return r.getValid(t)}function hi(r){function t(e,i,n){return r(e[i],n)}return function(e){let i=this.data;return xo(i,this._offsets,e,t)}}function as(r){let t;function e(i,n,s){return r(i[n],s,t)}return function(i,n){let s=this.data;t=n;let o=xo(s,this._offsets,i,e);return t=void 0,o}}function cs(r){let t;function e(i,n,s){let o=s,a=0,c=0;for(let l=n-1,d=i.length;++l<d;){let h=i[l];if(~(a=r(h,t,o)))return c+a;o=0,c+=h.length}return-1}return function(i,n){t=i;let s=this.data,o=typeof n!="number"?e(s,0,0):xo(s,this._offsets,n,e);return t=void 0,o}}var _=class extends b{};function dd(r,t){return t===null&&r.length>0?0:-1}function hd(r,t){let{nullBitmap:e}=r;if(!e||r.nullCount<=0)return-1;let i=0;for(let n of new _r(e,r.offset+(t||0),r.length,e,is)){if(!n)return i;++i}return-1}function O(r,t,e){if(t===void 0)return-1;if(t===null)switch(r.typeId){case u.Union:break;case u.Dictionary:break;default:return hd(r,e)}let i=st.getVisitFn(r),n=nr(t);for(let s=(e||0)-1,o=r.length;++s<o;)if(n(i(r,s)))return s;return-1}function Oc(r,t,e){let i=st.getVisitFn(r),n=nr(t);for(let s=(e||0)-1,o=r.length;++s<o;)if(n(i(r,s)))return s;return-1}_.prototype.visitNull=dd;_.prototype.visitBool=O;_.prototype.visitInt=O;_.prototype.visitInt8=O;_.prototype.visitInt16=O;_.prototype.visitInt32=O;_.prototype.visitInt64=O;_.prototype.visitUint8=O;_.prototype.visitUint16=O;_.prototype.visitUint32=O;_.prototype.visitUint64=O;_.prototype.visitFloat=O;_.prototype.visitFloat16=O;_.prototype.visitFloat32=O;_.prototype.visitFloat64=O;_.prototype.visitUtf8=O;_.prototype.visitLargeUtf8=O;_.prototype.visitBinary=O;_.prototype.visitLargeBinary=O;_.prototype.visitFixedSizeBinary=O;_.prototype.visitDate=O;_.prototype.visitDateDay=O;_.prototype.visitDateMillisecond=O;_.prototype.visitTimestamp=O;_.prototype.visitTimestampSecond=O;_.prototype.visitTimestampMillisecond=O;_.prototype.visitTimestampMicrosecond=O;_.prototype.visitTimestampNanosecond=O;_.prototype.visitTime=O;_.prototype.visitTimeSecond=O;_.prototype.visitTimeMillisecond=O;_.prototype.visitTimeMicrosecond=O;_.prototype.visitTimeNanosecond=O;_.prototype.visitDecimal=O;_.prototype.visitList=O;_.prototype.visitStruct=O;_.prototype.visitUnion=O;_.prototype.visitDenseUnion=Oc;_.prototype.visitSparseUnion=Oc;_.prototype.visitDictionary=O;_.prototype.visitInterval=O;_.prototype.visitIntervalDayTime=O;_.prototype.visitIntervalYearMonth=O;_.prototype.visitDuration=O;_.prototype.visitDurationSecond=O;_.prototype.visitDurationMillisecond=O;_.prototype.visitDurationMicrosecond=O;_.prototype.visitDurationNanosecond=O;_.prototype.visitFixedSizeList=O;_.prototype.visitMap=O;var Sr=new _;var w=class extends b{};function B(r){let{type:t}=r;if(r.nullCount===0&&r.stride===1&&(f.isInt(t)&&t.bitWidth!==64||f.isTime(t)&&t.bitWidth!==64||f.isFloat(t)&&t.precision!==W.HALF))return new Pi(r.data.length,i=>{let n=r.data[i];return n.values.subarray(0,n.length)[Symbol.iterator]()});let e=0;return new Pi(r.data.length,i=>{let s=r.data[i].length,o=r.slice(e,e+s);return e+=s,new To(o)})}var To=class{constructor(t){this.vector=t,this.index=0}next(){return this.index<this.vector.length?{value:this.vector.get(this.index++)}:{done:!0,value:null}}[Symbol.iterator](){return this}};w.prototype.visitNull=B;w.prototype.visitBool=B;w.prototype.visitInt=B;w.prototype.visitInt8=B;w.prototype.visitInt16=B;w.prototype.visitInt32=B;w.prototype.visitInt64=B;w.prototype.visitUint8=B;w.prototype.visitUint16=B;w.prototype.visitUint32=B;w.prototype.visitUint64=B;w.prototype.visitFloat=B;w.prototype.visitFloat16=B;w.prototype.visitFloat32=B;w.prototype.visitFloat64=B;w.prototype.visitUtf8=B;w.prototype.visitLargeUtf8=B;w.prototype.visitBinary=B;w.prototype.visitLargeBinary=B;w.prototype.visitFixedSizeBinary=B;w.prototype.visitDate=B;w.prototype.visitDateDay=B;w.prototype.visitDateMillisecond=B;w.prototype.visitTimestamp=B;w.prototype.visitTimestampSecond=B;w.prototype.visitTimestampMillisecond=B;w.prototype.visitTimestampMicrosecond=B;w.prototype.visitTimestampNanosecond=B;w.prototype.visitTime=B;w.prototype.visitTimeSecond=B;w.prototype.visitTimeMillisecond=B;w.prototype.visitTimeMicrosecond=B;w.prototype.visitTimeNanosecond=B;w.prototype.visitDecimal=B;w.prototype.visitList=B;w.prototype.visitStruct=B;w.prototype.visitUnion=B;w.prototype.visitDenseUnion=B;w.prototype.visitSparseUnion=B;w.prototype.visitDictionary=B;w.prototype.visitInterval=B;w.prototype.visitIntervalDayTime=B;w.prototype.visitIntervalYearMonth=B;w.prototype.visitDuration=B;w.prototype.visitDurationSecond=B;w.prototype.visitDurationMillisecond=B;w.prototype.visitDurationMicrosecond=B;w.prototype.visitDurationNanosecond=B;w.prototype.visitFixedSizeList=B;w.prototype.visitMap=B;var fi=new w;var Fc,Mc={},Nc={},F=class{constructor(t){var e,i,n;let s=t[0]instanceof F?t.flatMap(a=>a.data):t;if(s.length===0||s.some(a=>!(a instanceof L)))throw new TypeError("Vector constructor expects an Array of Data instances.");let o=(e=s[0])===null||e===void 0?void 0:e.type;switch(s.length){case 0:this._offsets=[0];break;case 1:{let{get:a,set:c,indexOf:l}=Mc[o.typeId],d=s[0];this.isValid=h=>ki(d,h),this.get=h=>a(d,h),this.set=(h,V)=>c(d,h,V),this.indexOf=h=>l(d,h),this._offsets=[0,d.length];break}default:Object.setPrototypeOf(this,Nc[o.typeId]),this._offsets=ss(s);break}this.data=s,this.type=o,this.stride=Kt(o),this.numChildren=(n=(i=o.children)===null||i===void 0?void 0:i.length)!==null&&n!==void 0?n:0,this.length=this._offsets.at(-1)}get byteLength(){return this.data.reduce((t,e)=>t+e.byteLength,0)}get nullable(){return Tc(this.data)}get nullCount(){return ns(this.data)}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${u[this.type.typeId]}Vector`}isValid(t){return!1}get(t){return null}at(t){return this.get(gr(t,this.length))}set(t,e){}indexOf(t,e){return-1}includes(t,e){return this.indexOf(t,e)>-1}[Symbol.iterator](){return fi.visit(this)}concat(...t){return new F(this.data.concat(t.flatMap(e=>e.data).flat(Number.POSITIVE_INFINITY)))}slice(t,e){return new F(Vi(this,t,e,({data:i,_offsets:n},s,o)=>os(i,n,s,o)))}toJSON(){return[...this]}toArray(){let{type:t,data:e,length:i,stride:n,ArrayType:s}=this;switch(t.typeId){case u.Int:case u.Float:case u.Decimal:case u.Time:case u.Timestamp:switch(e.length){case 0:return new s;case 1:return e[0].values.subarray(0,i*n);default:return e.reduce((o,{values:a,length:c})=>(o.array.set(a.subarray(0,c*n),o.offset),o.offset+=c*n,o),{array:new s(i*n),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(",")}]`}getChild(t){var e;return this.getChildAt((e=this.type.children)===null||e===void 0?void 0:e.findIndex(i=>i.name===t))}getChildAt(t){return t>-1&&t<this.numChildren?new F(this.data.map(({children:e})=>e[t])):null}get isMemoized(){return f.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(f.isDictionary(this.type)){let t=new pi(this.data[0].dictionary),e=this.data.map(i=>{let n=i.clone();return n.dictionary=t,n});return new F(e)}return new pi(this)}unmemoize(){if(f.isDictionary(this.type)&&this.isMemoized){let t=this.data[0].dictionary.unmemoize(),e=this.data.map(i=>{let n=i.clone();return n.dictionary=t,n});return new F(e)}return this}};Fc=Symbol.toStringTag;F[Fc]=(r=>{r.type=f.prototype,r.data=[],r.length=0,r.stride=1,r.numChildren=0,r._offsets=new Uint32Array([0]),r[Symbol.isConcatSpreadable]=!0;let t=Object.keys(u).map(e=>u[e]).filter(e=>typeof e=="number"&&e!==u.NONE);for(let e of t){let i=st.getVisitFnByTypeId(e),n=yt.getVisitFnByTypeId(e),s=Sr.getVisitFnByTypeId(e);Mc[e]={get:i,set:n,indexOf:s},Nc[e]=Object.create(r,{isValid:{value:hi(ki)},get:{value:hi(st.getVisitFnByTypeId(e))},set:{value:as(yt.getVisitFnByTypeId(e))},indexOf:{value:cs(Sr.getVisitFnByTypeId(e))}})}return"Vector"})(F.prototype);var pi=class extends F{constructor(t){super(t.data);let e=this.get,i=this.set,n=this.slice,s=new Array(this.length);Object.defineProperty(this,"get",{value(o){let a=s[o];if(a!==void 0)return a;let c=e.call(this,o);return s[o]=c,c}}),Object.defineProperty(this,"set",{value(o,a){i.call(this,o,a),s[o]=a}}),Object.defineProperty(this,"slice",{value:(o,a)=>new pi(n.call(this,o,a))}),Object.defineProperty(this,"isMemoized",{value:!0}),Object.defineProperty(this,"unmemoize",{value:()=>new F(this.data)}),Object.defineProperty(this,"memoize",{value:()=>this})}};function Lc(r){if(!r||r.length<=0)return function(n){return!0};let t="",e=r.filter(i=>i===i);return e.length>0&&(t=`
10
10
  switch (x) {${e.map(i=>`
11
11
  case ${fd(i)}:`).join("")}
12
12
  return false;
@@ -59817,7 +59817,7 @@ function getVersion() {
59817
59817
  );
59818
59818
  globalThis._loadersgl_.version = NPM_TAG;
59819
59819
  } else {
59820
- globalThis._loadersgl_.version = "4.4.0-alpha.0";
59820
+ globalThis._loadersgl_.version = "4.4.0-alpha.1";
59821
59821
  }
59822
59822
  }
59823
59823
  return globalThis._loadersgl_.version;
@@ -63560,7 +63560,7 @@ function initializeDracoDecoder(DracoDecoderModule, wasmBinary) {
63560
63560
  }
63561
63561
 
63562
63562
  // src/lib/utils/version.ts
63563
- var VERSION2 = true ? "4.4.0-alpha.0" : "latest";
63563
+ var VERSION2 = true ? "4.4.0-alpha.1" : "latest";
63564
63564
 
63565
63565
  // ../schema-utils/src/lib/schema/data-type.ts
63566
63566
  function getDataTypeFromTypedArray(array) {
@@ -10,7 +10,7 @@
10
10
  );
11
11
  globalThis._loadersgl_.version = NPM_TAG;
12
12
  } else {
13
- globalThis._loadersgl_.version = "4.4.0-alpha.0";
13
+ globalThis._loadersgl_.version = "4.4.0-alpha.1";
14
14
  }
15
15
  }
16
16
  return globalThis._loadersgl_.version;
@@ -408,7 +408,7 @@
408
408
  }
409
409
 
410
410
  // src/lib/utils/version.ts
411
- var VERSION2 = true ? "4.4.0-alpha.0" : "latest";
411
+ var VERSION2 = true ? "4.4.0-alpha.1" : "latest";
412
412
 
413
413
  // ../schema-utils/src/lib/schema/data-type.ts
414
414
  function getDataTypeFromTypedArray(array) {
@@ -59817,7 +59817,7 @@ function getVersion() {
59817
59817
  );
59818
59818
  globalThis._loadersgl_.version = NPM_TAG;
59819
59819
  } else {
59820
- globalThis._loadersgl_.version = "4.4.0-alpha.0";
59820
+ globalThis._loadersgl_.version = "4.4.0-alpha.1";
59821
59821
  }
59822
59822
  }
59823
59823
  return globalThis._loadersgl_.version;
@@ -63777,7 +63777,7 @@ async function loadDracoEncoder(options) {
63777
63777
  }
63778
63778
 
63779
63779
  // src/lib/utils/version.ts
63780
- var VERSION2 = true ? "4.4.0-alpha.0" : "latest";
63780
+ var VERSION2 = true ? "4.4.0-alpha.1" : "latest";
63781
63781
 
63782
63782
  // src/draco-writer.ts
63783
63783
  var DEFAULT_DRACO_WRITER_OPTIONS = {
@@ -10,7 +10,7 @@
10
10
  );
11
11
  globalThis._loadersgl_.version = NPM_TAG;
12
12
  } else {
13
- globalThis._loadersgl_.version = "4.4.0-alpha.0";
13
+ globalThis._loadersgl_.version = "4.4.0-alpha.1";
14
14
  }
15
15
  }
16
16
  return globalThis._loadersgl_.version;
@@ -625,7 +625,7 @@
625
625
  }
626
626
 
627
627
  // src/lib/utils/version.ts
628
- var VERSION2 = true ? "4.4.0-alpha.0" : "latest";
628
+ var VERSION2 = true ? "4.4.0-alpha.1" : "latest";
629
629
 
630
630
  // src/draco-writer.ts
631
631
  var DEFAULT_DRACO_WRITER_OPTIONS = {
package/dist/index.cjs CHANGED
@@ -432,7 +432,7 @@ function getEntries(container) {
432
432
  }
433
433
 
434
434
  // dist/lib/utils/version.js
435
- var VERSION = true ? "4.4.0-alpha.0" : "latest";
435
+ var VERSION = true ? "4.4.0-alpha.1" : "latest";
436
436
 
437
437
  // dist/draco-writer.js
438
438
  var DEFAULT_DRACO_WRITER_OPTIONS = {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["index.js", "lib/draco-module-loader.js", "lib/draco-builder.js", "lib/utils/version.js", "draco-writer.js", "lib/draco-parser.js", "lib/utils/get-draco-schema.js", "draco-loader.js", "draco-arrow-loader.js"],
4
- "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Module constants\nexport { DRACO_EXTERNAL_LIBRARIES, DRACO_EXTERNAL_LIBRARY_URLS } from \"./lib/draco-module-loader.js\";\nexport { DracoWriterWorker, DracoWriter } from \"./draco-writer.js\";\nexport { DracoWorkerLoader, DracoLoader } from \"./draco-loader.js\";\nexport { DracoArrowLoader } from \"./draco-arrow-loader.js\";\n", "// Dynamic DRACO module loading inspired by THREE.DRACOLoader\n// https://github.com/mrdoob/three.js/blob/398c4f39ebdb8b23eefd4a7a5ec49ec0c96c7462/examples/jsm/loaders/DRACOLoader.js\n// by Don McCurdy / https://www.donmccurdy.com / MIT license\nimport { loadLibrary } from '@loaders.gl/worker-utils';\nconst DRACO_DECODER_VERSION = '1.5.6';\nconst DRACO_ENCODER_VERSION = '1.4.1';\nconst STATIC_DECODER_URL = `https://www.gstatic.com/draco/versioned/decoders/${DRACO_DECODER_VERSION}`;\nexport const DRACO_EXTERNAL_LIBRARIES = {\n /** The primary Draco3D encoder, javascript wrapper part */\n DECODER: 'draco_wasm_wrapper.js',\n /** The primary draco decoder, compiled web assembly part */\n DECODER_WASM: 'draco_decoder.wasm',\n /** Fallback decoder for non-webassebly environments. Very big bundle, lower performance */\n FALLBACK_DECODER: 'draco_decoder.js',\n /** Draco encoder */\n ENCODER: 'draco_encoder.js'\n};\nexport const DRACO_EXTERNAL_LIBRARY_URLS = {\n [DRACO_EXTERNAL_LIBRARIES.DECODER]: `${STATIC_DECODER_URL}/${DRACO_EXTERNAL_LIBRARIES.DECODER}`,\n [DRACO_EXTERNAL_LIBRARIES.DECODER_WASM]: `${STATIC_DECODER_URL}/${DRACO_EXTERNAL_LIBRARIES.DECODER_WASM}`,\n [DRACO_EXTERNAL_LIBRARIES.FALLBACK_DECODER]: `${STATIC_DECODER_URL}/${DRACO_EXTERNAL_LIBRARIES.FALLBACK_DECODER}`,\n [DRACO_EXTERNAL_LIBRARIES.ENCODER]: `https://raw.githubusercontent.com/google/draco/${DRACO_ENCODER_VERSION}/javascript/${DRACO_EXTERNAL_LIBRARIES.ENCODER}`\n};\nlet loadDecoderPromise;\nlet loadEncoderPromise;\nexport async function loadDracoDecoderModule(options) {\n const modules = options.modules || {};\n // Check if a bundled draco3d library has been supplied by application\n if (modules.draco3d) {\n loadDecoderPromise ||= modules.draco3d.createDecoderModule({}).then((draco) => {\n return { draco };\n });\n }\n else {\n // If not, dynamically load the WASM script from our CDN\n loadDecoderPromise ||= loadDracoDecoder(options);\n }\n return await loadDecoderPromise;\n}\nexport async function loadDracoEncoderModule(options) {\n const modules = options.modules || {};\n // Check if a bundled draco3d library has been supplied by application\n if (modules.draco3d) {\n loadEncoderPromise ||= modules.draco3d.createEncoderModule({}).then((draco) => {\n return { draco };\n });\n }\n else {\n // If not, dynamically load the WASM script from our CDN\n loadEncoderPromise ||= loadDracoEncoder(options);\n }\n return await loadEncoderPromise;\n}\n// DRACO DECODER LOADING\nasync function loadDracoDecoder(options) {\n let DracoDecoderModule;\n let wasmBinary;\n switch (options.draco && options.draco.decoderType) {\n case 'js':\n DracoDecoderModule = await loadLibrary(DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.FALLBACK_DECODER], 'draco', options, DRACO_EXTERNAL_LIBRARIES.FALLBACK_DECODER);\n break;\n case 'wasm':\n default:\n [DracoDecoderModule, wasmBinary] = await Promise.all([\n await loadLibrary(DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.DECODER], 'draco', options, DRACO_EXTERNAL_LIBRARIES.DECODER),\n await loadLibrary(DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.DECODER_WASM], 'draco', options, DRACO_EXTERNAL_LIBRARIES.DECODER_WASM)\n ]);\n }\n // Depends on how import happened...\n // @ts-ignore\n DracoDecoderModule = DracoDecoderModule || globalThis.DracoDecoderModule;\n return await initializeDracoDecoder(DracoDecoderModule, wasmBinary);\n}\nfunction initializeDracoDecoder(DracoDecoderModule, wasmBinary) {\n const options = {};\n if (wasmBinary) {\n options.wasmBinary = wasmBinary;\n }\n return new Promise((resolve) => {\n DracoDecoderModule({\n ...options,\n onModuleLoaded: (draco) => resolve({ draco }) // Module is Promise-like. Wrap in object to avoid loop.\n });\n });\n}\n// ENCODER\nasync function loadDracoEncoder(options) {\n let DracoEncoderModule = await loadLibrary(DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.ENCODER], 'draco', options, DRACO_EXTERNAL_LIBRARIES.ENCODER);\n // @ts-ignore\n DracoEncoderModule = DracoEncoderModule || globalThis.DracoEncoderModule;\n return new Promise((resolve) => {\n DracoEncoderModule({\n onModuleLoaded: (draco) => resolve({ draco }) // Module is Promise-like. Wrap in object to avoid loop.\n });\n });\n}\n", "// Native Draco attribute names to GLTF attribute names.\nconst GLTF_TO_DRACO_ATTRIBUTE_NAME_MAP = {\n POSITION: 'POSITION',\n NORMAL: 'NORMAL',\n COLOR_0: 'COLOR',\n TEXCOORD_0: 'TEX_COORD'\n};\nconst noop = () => { };\nexport default class DracoBuilder {\n draco;\n dracoEncoder;\n dracoMeshBuilder;\n dracoMetadataBuilder;\n log;\n // draco - the draco decoder, either import `draco3d` or load dynamically\n constructor(draco) {\n this.draco = draco;\n this.dracoEncoder = new this.draco.Encoder();\n this.dracoMeshBuilder = new this.draco.MeshBuilder();\n this.dracoMetadataBuilder = new this.draco.MetadataBuilder();\n }\n destroy() {\n this.destroyEncodedObject(this.dracoMeshBuilder);\n this.destroyEncodedObject(this.dracoEncoder);\n this.destroyEncodedObject(this.dracoMetadataBuilder);\n // @ts-ignore\n this.dracoMeshBuilder = null;\n // @ts-ignore\n this.dracoEncoder = null;\n // @ts-ignore\n this.draco = null;\n }\n // TBD - when does this need to be called?\n destroyEncodedObject(object) {\n if (object) {\n this.draco.destroy(object);\n }\n }\n /**\n * Encode mesh or point cloud\n * @param mesh =({})\n * @param options\n */\n encodeSync(mesh, options = {}) {\n this.log = noop; // TODO\n this._setOptions(options);\n return options.pointcloud\n ? this._encodePointCloud(mesh, options)\n : this._encodeMesh(mesh, options);\n }\n // PRIVATE\n _getAttributesFromMesh(mesh) {\n // TODO - Change the encodePointCloud interface instead?\n const attributes = { ...mesh, ...mesh.attributes };\n // Fold indices into the attributes\n if (mesh.indices) {\n attributes.indices = mesh.indices;\n }\n return attributes;\n }\n _encodePointCloud(pointcloud, options) {\n const dracoPointCloud = new this.draco.PointCloud();\n if (options.metadata) {\n this._addGeometryMetadata(dracoPointCloud, options.metadata);\n }\n const attributes = this._getAttributesFromMesh(pointcloud);\n // Build a `DracoPointCloud` from the input data\n this._createDracoPointCloud(dracoPointCloud, attributes, options);\n const dracoData = new this.draco.DracoInt8Array();\n try {\n const encodedLen = this.dracoEncoder.EncodePointCloudToDracoBuffer(dracoPointCloud, false, dracoData);\n if (!(encodedLen > 0)) {\n throw new Error('Draco encoding failed.');\n }\n this.log(`DRACO encoded ${dracoPointCloud.num_points()} points\n with ${dracoPointCloud.num_attributes()} attributes into ${encodedLen} bytes`);\n return dracoInt8ArrayToArrayBuffer(dracoData);\n }\n finally {\n this.destroyEncodedObject(dracoData);\n this.destroyEncodedObject(dracoPointCloud);\n }\n }\n _encodeMesh(mesh, options) {\n const dracoMesh = new this.draco.Mesh();\n if (options.metadata) {\n this._addGeometryMetadata(dracoMesh, options.metadata);\n }\n const attributes = this._getAttributesFromMesh(mesh);\n // Build a `DracoMesh` from the input data\n this._createDracoMesh(dracoMesh, attributes, options);\n const dracoData = new this.draco.DracoInt8Array();\n try {\n const encodedLen = this.dracoEncoder.EncodeMeshToDracoBuffer(dracoMesh, dracoData);\n if (encodedLen <= 0) {\n throw new Error('Draco encoding failed.');\n }\n this.log(`DRACO encoded ${dracoMesh.num_points()} points\n with ${dracoMesh.num_attributes()} attributes into ${encodedLen} bytes`);\n return dracoInt8ArrayToArrayBuffer(dracoData);\n }\n finally {\n this.destroyEncodedObject(dracoData);\n this.destroyEncodedObject(dracoMesh);\n }\n }\n /**\n * Set encoding options.\n * @param {{speed?: any; method?: any; quantization?: any;}} options\n */\n _setOptions(options) {\n if ('speed' in options) {\n // @ts-ignore\n this.dracoEncoder.SetSpeedOptions(...options.speed);\n }\n if ('method' in options) {\n const dracoMethod = this.draco[options.method || 'MESH_SEQUENTIAL_ENCODING'];\n // assert(dracoMethod)\n this.dracoEncoder.SetEncodingMethod(dracoMethod);\n }\n if ('quantization' in options) {\n for (const attribute in options.quantization) {\n const bits = options.quantization[attribute];\n const dracoPosition = this.draco[attribute];\n this.dracoEncoder.SetAttributeQuantization(dracoPosition, bits);\n }\n }\n }\n /**\n * @param {Mesh} dracoMesh\n * @param {object} attributes\n * @returns {Mesh}\n */\n _createDracoMesh(dracoMesh, attributes, options) {\n const optionalMetadata = options.attributesMetadata || {};\n try {\n const positions = this._getPositionAttribute(attributes);\n if (!positions) {\n throw new Error('positions');\n }\n const vertexCount = positions.length / 3;\n for (let attributeName in attributes) {\n const attribute = attributes[attributeName];\n attributeName = GLTF_TO_DRACO_ATTRIBUTE_NAME_MAP[attributeName] || attributeName;\n const uniqueId = this._addAttributeToMesh(dracoMesh, attributeName, attribute, vertexCount);\n if (uniqueId !== -1) {\n this._addAttributeMetadata(dracoMesh, uniqueId, {\n name: attributeName,\n ...(optionalMetadata[attributeName] || {})\n });\n }\n }\n }\n catch (error) {\n this.destroyEncodedObject(dracoMesh);\n throw error;\n }\n return dracoMesh;\n }\n /**\n * @param {} dracoPointCloud\n * @param {object} attributes\n */\n _createDracoPointCloud(dracoPointCloud, attributes, options) {\n const optionalMetadata = options.attributesMetadata || {};\n try {\n const positions = this._getPositionAttribute(attributes);\n if (!positions) {\n throw new Error('positions');\n }\n const vertexCount = positions.length / 3;\n for (let attributeName in attributes) {\n const attribute = attributes[attributeName];\n attributeName = GLTF_TO_DRACO_ATTRIBUTE_NAME_MAP[attributeName] || attributeName;\n const uniqueId = this._addAttributeToMesh(dracoPointCloud, attributeName, attribute, vertexCount);\n if (uniqueId !== -1) {\n this._addAttributeMetadata(dracoPointCloud, uniqueId, {\n name: attributeName,\n ...(optionalMetadata[attributeName] || {})\n });\n }\n }\n }\n catch (error) {\n this.destroyEncodedObject(dracoPointCloud);\n throw error;\n }\n return dracoPointCloud;\n }\n /**\n * @param mesh\n * @param attributeName\n * @param attribute\n * @param vertexCount\n */\n _addAttributeToMesh(mesh, attributeName, attribute, vertexCount) {\n if (!ArrayBuffer.isView(attribute)) {\n return -1;\n }\n const type = this._getDracoAttributeType(attributeName);\n // @ts-ignore TODO/fix types\n const size = attribute.length / vertexCount;\n if (type === 'indices') {\n // @ts-ignore TODO/fix types\n const numFaces = attribute.length / 3;\n this.log(`Adding attribute ${attributeName}, size ${numFaces}`);\n // @ts-ignore assumes mesh is a Mesh, not a point cloud\n this.dracoMeshBuilder.AddFacesToMesh(mesh, numFaces, attribute);\n return -1;\n }\n this.log(`Adding attribute ${attributeName}, size ${size}`);\n const builder = this.dracoMeshBuilder;\n const { buffer } = attribute;\n switch (attribute.constructor) {\n case Int8Array:\n return builder.AddInt8Attribute(mesh, type, vertexCount, size, new Int8Array(buffer));\n case Int16Array:\n return builder.AddInt16Attribute(mesh, type, vertexCount, size, new Int16Array(buffer));\n case Int32Array:\n return builder.AddInt32Attribute(mesh, type, vertexCount, size, new Int32Array(buffer));\n case Uint8Array:\n case Uint8ClampedArray:\n return builder.AddUInt8Attribute(mesh, type, vertexCount, size, new Uint8Array(buffer));\n case Uint16Array:\n return builder.AddUInt16Attribute(mesh, type, vertexCount, size, new Uint16Array(buffer));\n case Uint32Array:\n return builder.AddUInt32Attribute(mesh, type, vertexCount, size, new Uint32Array(buffer));\n case Float32Array:\n return builder.AddFloatAttribute(mesh, type, vertexCount, size, new Float32Array(buffer));\n default:\n // eslint-disable-next-line no-console\n console.warn('Unsupported attribute type', attribute);\n return -1;\n }\n // case Float64Array:\n // Add attribute does not seem to be exposed\n // return builder.AddAttribute(mesh, type, vertexCount, size, new Float32Array(buffer));\n }\n /**\n * DRACO can compress attributes of know type better\n * TODO - expose an attribute type map?\n * @param attributeName\n */\n _getDracoAttributeType(attributeName) {\n switch (attributeName.toLowerCase()) {\n case 'indices':\n return 'indices';\n case 'position':\n case 'positions':\n case 'vertices':\n return this.draco.POSITION;\n case 'normal':\n case 'normals':\n return this.draco.NORMAL;\n case 'color':\n case 'colors':\n return this.draco.COLOR;\n case 'texcoord':\n case 'texcoords':\n return this.draco.TEX_COORD;\n default:\n return this.draco.GENERIC;\n }\n }\n _getPositionAttribute(attributes) {\n for (const attributeName in attributes) {\n const attribute = attributes[attributeName];\n const dracoType = this._getDracoAttributeType(attributeName);\n if (dracoType === this.draco.POSITION) {\n return attribute;\n }\n }\n return null;\n }\n /**\n * Add metadata for the geometry.\n * @param dracoGeometry - WASM Draco Object\n * @param metadata\n */\n _addGeometryMetadata(dracoGeometry, metadata) {\n const dracoMetadata = new this.draco.Metadata();\n this._populateDracoMetadata(dracoMetadata, metadata);\n this.dracoMeshBuilder.AddMetadata(dracoGeometry, dracoMetadata);\n }\n /**\n * Add metadata for an attribute to geometry.\n * @param dracoGeometry - WASM Draco Object\n * @param uniqueAttributeId\n * @param metadata\n */\n _addAttributeMetadata(dracoGeometry, uniqueAttributeId, metadata) {\n // Note: Draco JS IDL doesn't seem to expose draco.AttributeMetadata, however it seems to\n // create such objects automatically from draco.Metadata object.\n const dracoAttributeMetadata = new this.draco.Metadata();\n this._populateDracoMetadata(dracoAttributeMetadata, metadata);\n // Draco3d doc note: Directly add attribute metadata to geometry.\n // You can do this without explicitly adding |GeometryMetadata| to mesh.\n this.dracoMeshBuilder.SetMetadataForAttribute(dracoGeometry, uniqueAttributeId, dracoAttributeMetadata);\n }\n /**\n * Add contents of object or map to a WASM Draco Metadata Object\n * @param dracoMetadata - WASM Draco Object\n * @param metadata\n */\n _populateDracoMetadata(dracoMetadata, metadata) {\n for (const [key, value] of getEntries(metadata)) {\n switch (typeof value) {\n case 'number':\n if (Math.trunc(value) === value) {\n this.dracoMetadataBuilder.AddIntEntry(dracoMetadata, key, value);\n }\n else {\n this.dracoMetadataBuilder.AddDoubleEntry(dracoMetadata, key, value);\n }\n break;\n case 'object':\n if (value instanceof Int32Array) {\n this.dracoMetadataBuilder.AddIntEntryArray(dracoMetadata, key, value, value.length);\n }\n break;\n case 'string':\n default:\n this.dracoMetadataBuilder.AddStringEntry(dracoMetadata, key, value);\n }\n }\n }\n}\n// HELPER FUNCTIONS\n/**\n * Copy encoded data to buffer\n * @param dracoData\n */\nfunction dracoInt8ArrayToArrayBuffer(dracoData) {\n const byteLength = dracoData.size();\n const outputBuffer = new ArrayBuffer(byteLength);\n const outputData = new Int8Array(outputBuffer);\n for (let i = 0; i < byteLength; ++i) {\n outputData[i] = dracoData.GetValue(i);\n }\n return outputBuffer;\n}\n/** Enable iteration over either an object or a map */\nfunction getEntries(container) {\n const hasEntriesFunc = container.entries && !container.hasOwnProperty('entries');\n return hasEntriesFunc ? container.entries() : Object.entries(container);\n}\n", "// Version constant cannot be imported, it needs to correspond to the build version of **this** module.\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nexport const VERSION = typeof \"4.4.0-alpha.0\" !== 'undefined' ? \"4.4.0-alpha.0\" : 'latest';\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport DRACOBuilder from \"./lib/draco-builder.js\";\nimport { loadDracoEncoderModule } from \"./lib/draco-module-loader.js\";\nimport { VERSION } from \"./lib/utils/version.js\";\nconst DEFAULT_DRACO_WRITER_OPTIONS = {\n pointcloud: false, // Set to true if pointcloud (mode: 0, no indices)\n attributeNameEntry: 'name'\n // Draco Compression Parameters\n // method: 'MESH_EDGEBREAKER_ENCODING', // Use draco defaults\n // speed: [5, 5], // Use draco defaults\n // quantization: { // Use draco defaults\n // POSITION: 10\n // }\n};\n/**\n * Browser worker doesn't work because of issue during \"draco_encoder.js\" loading.\n * Refused to execute script from 'https://raw.githubusercontent.com/google/draco/1.4.1/javascript/draco_encoder.js' because its MIME type ('') is not executable.\n */\nexport const DracoWriterWorker = {\n id: 'draco-writer',\n name: 'Draco compressed geometry writer',\n module: 'draco',\n version: VERSION,\n worker: true,\n options: {\n draco: {},\n source: null\n }\n};\n/**\n * Exporter for Draco3D compressed geometries\n */\nexport const DracoWriter = {\n name: 'DRACO',\n id: 'draco',\n module: 'draco',\n version: VERSION,\n extensions: ['drc'],\n mimeTypes: ['application/octet-stream'],\n options: {\n draco: DEFAULT_DRACO_WRITER_OPTIONS\n },\n encode\n};\nasync function encode(data, options = {}) {\n // Dynamically load draco\n const { draco } = await loadDracoEncoderModule(options);\n const dracoBuilder = new DRACOBuilder(draco);\n try {\n return dracoBuilder.encodeSync(data, options.draco);\n }\n finally {\n dracoBuilder.destroy();\n }\n}\n", "/* eslint-disable camelcase */\nimport { getMeshBoundingBox } from '@loaders.gl/schema-utils';\nimport { getDracoSchema } from \"./utils/get-draco-schema.js\";\n// @ts-ignore\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst GEOMETRY_TYPE = {\n TRIANGULAR_MESH: 0,\n POINT_CLOUD: 1\n};\n// Native Draco attribute names to GLTF attribute names.\nconst DRACO_TO_GLTF_ATTRIBUTE_NAME_MAP = {\n POSITION: 'POSITION',\n NORMAL: 'NORMAL',\n COLOR: 'COLOR_0',\n TEX_COORD: 'TEXCOORD_0'\n};\nconst DRACO_DATA_TYPE_TO_TYPED_ARRAY_MAP = {\n 1: Int8Array,\n 2: Uint8Array,\n 3: Int16Array,\n 4: Uint16Array,\n 5: Int32Array,\n 6: Uint32Array,\n // 7: BigInt64Array,\n // 8: BigUint64Array,\n 9: Float32Array\n // 10: Float64Array\n // 11: BOOL - What array type do we use for this?\n};\nconst INDEX_ITEM_SIZE = 4;\nexport default class DracoParser {\n draco;\n decoder;\n metadataQuerier;\n // draco - the draco decoder, either import `draco3d` or load dynamically\n constructor(draco) {\n this.draco = draco;\n this.decoder = new this.draco.Decoder();\n this.metadataQuerier = new this.draco.MetadataQuerier();\n }\n /**\n * Destroy draco resources\n */\n destroy() {\n this.draco.destroy(this.decoder);\n this.draco.destroy(this.metadataQuerier);\n }\n /**\n * NOTE: caller must call `destroyGeometry` on the return value after using it\n * @param arrayBuffer\n * @param options\n */\n parseSync(arrayBuffer, options = {}) {\n const buffer = new this.draco.DecoderBuffer();\n buffer.Init(new Int8Array(arrayBuffer), arrayBuffer.byteLength);\n this._disableAttributeTransforms(options);\n const geometry_type = this.decoder.GetEncodedGeometryType(buffer);\n const dracoGeometry = geometry_type === this.draco.TRIANGULAR_MESH\n ? new this.draco.Mesh()\n : new this.draco.PointCloud();\n try {\n let dracoStatus;\n switch (geometry_type) {\n case this.draco.TRIANGULAR_MESH:\n dracoStatus = this.decoder.DecodeBufferToMesh(buffer, dracoGeometry);\n break;\n case this.draco.POINT_CLOUD:\n dracoStatus = this.decoder.DecodeBufferToPointCloud(buffer, dracoGeometry);\n break;\n default:\n throw new Error('DRACO: Unknown geometry type.');\n }\n if (!dracoStatus.ok() || !dracoGeometry.ptr) {\n const message = `DRACO decompression failed: ${dracoStatus.error_msg()}`;\n // console.error(message);\n throw new Error(message);\n }\n const loaderData = this._getDracoLoaderData(dracoGeometry, geometry_type, options);\n const geometry = this._getMeshData(dracoGeometry, loaderData, options);\n const boundingBox = getMeshBoundingBox(geometry.attributes);\n const schema = getDracoSchema(geometry.attributes, loaderData, geometry.indices);\n const data = {\n loader: 'draco',\n loaderData,\n header: {\n vertexCount: dracoGeometry.num_points(),\n boundingBox\n },\n ...geometry,\n schema\n };\n return data;\n }\n finally {\n this.draco.destroy(buffer);\n if (dracoGeometry) {\n this.draco.destroy(dracoGeometry);\n }\n }\n }\n // Draco specific \"loader data\"\n /**\n * Extract\n * @param dracoGeometry\n * @param geometry_type\n * @param options\n * @returns\n */\n _getDracoLoaderData(dracoGeometry, geometry_type, options) {\n const metadata = this._getTopLevelMetadata(dracoGeometry);\n const attributes = this._getDracoAttributes(dracoGeometry, options);\n return {\n geometry_type,\n num_attributes: dracoGeometry.num_attributes(),\n num_points: dracoGeometry.num_points(),\n num_faces: dracoGeometry instanceof this.draco.Mesh ? dracoGeometry.num_faces() : 0,\n metadata,\n attributes\n };\n }\n /**\n * Extract all draco provided information and metadata for each attribute\n * @param dracoGeometry\n * @param options\n * @returns\n */\n _getDracoAttributes(dracoGeometry, options) {\n const dracoAttributes = {};\n for (let attributeId = 0; attributeId < dracoGeometry.num_attributes(); attributeId++) {\n // Note: Draco docs do not seem clear on `GetAttribute` ids just being a zero-based index,\n // but it does seems to work this way\n const dracoAttribute = this.decoder.GetAttribute(dracoGeometry, attributeId);\n const metadata = this._getAttributeMetadata(dracoGeometry, attributeId);\n dracoAttributes[dracoAttribute.unique_id()] = {\n unique_id: dracoAttribute.unique_id(),\n attribute_type: dracoAttribute.attribute_type(),\n data_type: dracoAttribute.data_type(),\n num_components: dracoAttribute.num_components(),\n byte_offset: dracoAttribute.byte_offset(),\n byte_stride: dracoAttribute.byte_stride(),\n normalized: dracoAttribute.normalized(),\n attribute_index: attributeId,\n metadata\n };\n // Add transformation parameters for any attributes app wants untransformed\n const quantization = this._getQuantizationTransform(dracoAttribute, options);\n if (quantization) {\n dracoAttributes[dracoAttribute.unique_id()].quantization_transform = quantization;\n }\n const octahedron = this._getOctahedronTransform(dracoAttribute, options);\n if (octahedron) {\n dracoAttributes[dracoAttribute.unique_id()].octahedron_transform = octahedron;\n }\n }\n return dracoAttributes;\n }\n /**\n * Get standard loaders.gl mesh category data\n * Extracts the geometry from draco\n * @param dracoGeometry\n * @param options\n */\n _getMeshData(dracoGeometry, loaderData, options) {\n const attributes = this._getMeshAttributes(loaderData, dracoGeometry, options);\n const positionAttribute = attributes.POSITION;\n if (!positionAttribute) {\n throw new Error('DRACO: No position attribute found.');\n }\n // For meshes, we need indices to define the faces.\n if (dracoGeometry instanceof this.draco.Mesh) {\n switch (options.topology) {\n case 'triangle-strip':\n return {\n topology: 'triangle-strip',\n // TODO - mode is wrong?\n mode: 4, // GL.TRIANGLES\n attributes,\n indices: {\n value: this._getTriangleStripIndices(dracoGeometry),\n size: 1\n }\n };\n case 'triangle-list':\n default:\n return {\n topology: 'triangle-list',\n // TODO - mode is wrong?\n mode: 5, // GL.TRIANGLE_STRIP\n attributes,\n indices: {\n value: this._getTriangleListIndices(dracoGeometry),\n size: 1\n }\n };\n }\n }\n // PointCloud - must come last as Mesh inherits from PointCloud\n return {\n topology: 'point-list',\n mode: 0, // GL.POINTS\n attributes\n };\n }\n _getMeshAttributes(loaderData, dracoGeometry, options) {\n const attributes = {};\n for (const loaderAttribute of Object.values(loaderData.attributes)) {\n const attributeName = this._deduceAttributeName(loaderAttribute, options);\n loaderAttribute.name = attributeName;\n const values = this._getAttributeValues(dracoGeometry, loaderAttribute);\n if (values) {\n const { value, size } = values;\n attributes[attributeName] = {\n value,\n size,\n byteOffset: loaderAttribute.byte_offset,\n byteStride: loaderAttribute.byte_stride,\n normalized: loaderAttribute.normalized\n };\n }\n }\n return attributes;\n }\n // MESH INDICES EXTRACTION\n /**\n * For meshes, we need indices to define the faces.\n * @param dracoGeometry\n */\n _getTriangleListIndices(dracoGeometry) {\n // Example on how to retrieve mesh and attributes.\n const numFaces = dracoGeometry.num_faces();\n const numIndices = numFaces * 3;\n const byteLength = numIndices * INDEX_ITEM_SIZE;\n const ptr = this.draco._malloc(byteLength);\n try {\n this.decoder.GetTrianglesUInt32Array(dracoGeometry, byteLength, ptr);\n return new Uint32Array(this.draco.HEAPF32.buffer, ptr, numIndices).slice();\n }\n finally {\n this.draco._free(ptr);\n }\n }\n /**\n * For meshes, we need indices to define the faces.\n * @param dracoGeometry\n */\n _getTriangleStripIndices(dracoGeometry) {\n const dracoArray = new this.draco.DracoInt32Array();\n try {\n /* const numStrips = */ this.decoder.GetTriangleStripsFromMesh(dracoGeometry, dracoArray);\n return getUint32Array(dracoArray);\n }\n finally {\n this.draco.destroy(dracoArray);\n }\n }\n /**\n *\n * @param dracoGeometry\n * @param dracoAttribute\n * @param attributeName\n */\n _getAttributeValues(dracoGeometry, attribute) {\n const TypedArrayCtor = DRACO_DATA_TYPE_TO_TYPED_ARRAY_MAP[attribute.data_type];\n if (!TypedArrayCtor) {\n // eslint-disable-next-line no-console\n console.warn(`DRACO: Unsupported attribute type ${attribute.data_type}`);\n return null;\n }\n const numComponents = attribute.num_components;\n const numPoints = dracoGeometry.num_points();\n const numValues = numPoints * numComponents;\n const byteLength = numValues * TypedArrayCtor.BYTES_PER_ELEMENT;\n const dataType = getDracoDataType(this.draco, TypedArrayCtor);\n let value;\n const ptr = this.draco._malloc(byteLength);\n try {\n const dracoAttribute = this.decoder.GetAttribute(dracoGeometry, attribute.attribute_index);\n this.decoder.GetAttributeDataArrayForAllPoints(dracoGeometry, dracoAttribute, dataType, byteLength, ptr);\n value = new TypedArrayCtor(this.draco.HEAPF32.buffer, ptr, numValues).slice();\n }\n finally {\n this.draco._free(ptr);\n }\n return { value, size: numComponents };\n }\n // Attribute names\n /**\n * DRACO does not store attribute names - We need to deduce an attribute name\n * for each attribute\n _getAttributeNames(\n dracoGeometry: Mesh | PointCloud,\n options: DracoParseOptions\n ): {[unique_id: number]: string} {\n const attributeNames: {[unique_id: number]: string} = {};\n for (let attributeId = 0; attributeId < dracoGeometry.num_attributes(); attributeId++) {\n const dracoAttribute = this.decoder.GetAttribute(dracoGeometry, attributeId);\n const attributeName = this._deduceAttributeName(dracoAttribute, options);\n attributeNames[attributeName] = attributeName;\n }\n return attributeNames;\n }\n */\n /**\n * Deduce an attribute name.\n * @note DRACO does not save attribute names, just general type (POSITION, COLOR)\n * to help optimize compression. We generate GLTF compatible names for the Draco-recognized\n * types\n * @param attributeData\n */\n _deduceAttributeName(attribute, options) {\n // Deduce name based on application provided map\n const uniqueId = attribute.unique_id;\n for (const [attributeName, attributeUniqueId] of Object.entries(options.extraAttributes || {})) {\n if (attributeUniqueId === uniqueId) {\n return attributeName;\n }\n }\n // Deduce name based on attribute type\n const thisAttributeType = attribute.attribute_type;\n for (const dracoAttributeConstant in DRACO_TO_GLTF_ATTRIBUTE_NAME_MAP) {\n const attributeType = this.draco[dracoAttributeConstant];\n if (attributeType === thisAttributeType) {\n // TODO - Return unique names if there multiple attributes per type\n // (e.g. multiple TEX_COORDS or COLORS)\n return DRACO_TO_GLTF_ATTRIBUTE_NAME_MAP[dracoAttributeConstant];\n }\n }\n // Look up in metadata\n // TODO - shouldn't this have priority?\n const entryName = options.attributeNameEntry || 'name';\n if (attribute.metadata[entryName]) {\n return attribute.metadata[entryName].string;\n }\n // Attribute of \"GENERIC\" type, we need to assign some name\n return `CUSTOM_ATTRIBUTE_${uniqueId}`;\n }\n // METADATA EXTRACTION\n /** Get top level metadata */\n _getTopLevelMetadata(dracoGeometry) {\n const dracoMetadata = this.decoder.GetMetadata(dracoGeometry);\n return this._getDracoMetadata(dracoMetadata);\n }\n /** Get per attribute metadata */\n _getAttributeMetadata(dracoGeometry, attributeId) {\n const dracoMetadata = this.decoder.GetAttributeMetadata(dracoGeometry, attributeId);\n return this._getDracoMetadata(dracoMetadata);\n }\n /**\n * Extract metadata field values\n * @param dracoMetadata\n * @returns\n */\n _getDracoMetadata(dracoMetadata) {\n // The not so wonderful world of undocumented Draco APIs :(\n if (!dracoMetadata || !dracoMetadata.ptr) {\n return {};\n }\n const result = {};\n const numEntries = this.metadataQuerier.NumEntries(dracoMetadata);\n for (let entryIndex = 0; entryIndex < numEntries; entryIndex++) {\n const entryName = this.metadataQuerier.GetEntryName(dracoMetadata, entryIndex);\n result[entryName] = this._getDracoMetadataField(dracoMetadata, entryName);\n }\n return result;\n }\n /**\n * Extracts possible values for one metadata entry by name\n * @param dracoMetadata\n * @param entryName\n */\n _getDracoMetadataField(dracoMetadata, entryName) {\n const dracoArray = new this.draco.DracoInt32Array();\n try {\n // Draco metadata fields can hold int32 arrays\n this.metadataQuerier.GetIntEntryArray(dracoMetadata, entryName, dracoArray);\n const intArray = getInt32Array(dracoArray);\n return {\n int: this.metadataQuerier.GetIntEntry(dracoMetadata, entryName),\n string: this.metadataQuerier.GetStringEntry(dracoMetadata, entryName),\n double: this.metadataQuerier.GetDoubleEntry(dracoMetadata, entryName),\n intArray\n };\n }\n finally {\n this.draco.destroy(dracoArray);\n }\n }\n // QUANTIZED ATTRIBUTE SUPPORT (NO DECOMPRESSION)\n /** Skip transforms for specific attribute types */\n _disableAttributeTransforms(options) {\n const { quantizedAttributes = [], octahedronAttributes = [] } = options;\n const skipAttributes = [...quantizedAttributes, ...octahedronAttributes];\n for (const dracoAttributeName of skipAttributes) {\n this.decoder.SkipAttributeTransform(this.draco[dracoAttributeName]);\n }\n }\n /**\n * Extract (and apply?) Position Transform\n * @todo not used\n */\n _getQuantizationTransform(dracoAttribute, options) {\n const { quantizedAttributes = [] } = options;\n const attribute_type = dracoAttribute.attribute_type();\n const skip = quantizedAttributes.map((type) => this.decoder[type]).includes(attribute_type);\n if (skip) {\n const transform = new this.draco.AttributeQuantizationTransform();\n try {\n if (transform.InitFromAttribute(dracoAttribute)) {\n return {\n quantization_bits: transform.quantization_bits(),\n range: transform.range(),\n min_values: new Float32Array([1, 2, 3]).map((i) => transform.min_value(i))\n };\n }\n }\n finally {\n this.draco.destroy(transform);\n }\n }\n return null;\n }\n _getOctahedronTransform(dracoAttribute, options) {\n const { octahedronAttributes = [] } = options;\n const attribute_type = dracoAttribute.attribute_type();\n const octahedron = octahedronAttributes\n .map((type) => this.decoder[type])\n .includes(attribute_type);\n if (octahedron) {\n const transform = new this.draco.AttributeQuantizationTransform();\n try {\n if (transform.InitFromAttribute(dracoAttribute)) {\n return {\n quantization_bits: transform.quantization_bits()\n };\n }\n }\n finally {\n this.draco.destroy(transform);\n }\n }\n return null;\n }\n}\n/**\n * Get draco specific data type by TypedArray constructor type\n * @param attributeType\n * @returns draco specific data type\n */\nfunction getDracoDataType(draco, attributeType) {\n switch (attributeType) {\n case Float32Array:\n return draco.DT_FLOAT32;\n case Int8Array:\n return draco.DT_INT8;\n case Int16Array:\n return draco.DT_INT16;\n case Int32Array:\n return draco.DT_INT32;\n case Uint8Array:\n return draco.DT_UINT8;\n case Uint16Array:\n return draco.DT_UINT16;\n case Uint32Array:\n return draco.DT_UINT32;\n default:\n return draco.DT_INVALID;\n }\n}\n/**\n * Copy a Draco int32 array into a JS typed array\n */\nfunction getInt32Array(dracoArray) {\n const numValues = dracoArray.size();\n const intArray = new Int32Array(numValues);\n for (let i = 0; i < numValues; i++) {\n intArray[i] = dracoArray.GetValue(i);\n }\n return intArray;\n}\n/**\n * Copy a Draco int32 array into a JS typed array\n */\nfunction getUint32Array(dracoArray) {\n const numValues = dracoArray.size();\n const intArray = new Int32Array(numValues);\n for (let i = 0; i < numValues; i++) {\n intArray[i] = dracoArray.GetValue(i);\n }\n return intArray;\n}\n", "import { deduceMeshField } from '@loaders.gl/schema-utils';\n/** Extract an arrow-like schema from a Draco mesh */\nexport function getDracoSchema(attributes, loaderData, indices) {\n const metadata = makeMetadata(loaderData.metadata);\n const fields = [];\n const namedLoaderDataAttributes = transformAttributesLoaderData(loaderData.attributes);\n for (const attributeName in attributes) {\n const attribute = attributes[attributeName];\n const field = getArrowFieldFromAttribute(attributeName, attribute, namedLoaderDataAttributes[attributeName]);\n fields.push(field);\n }\n if (indices) {\n const indicesField = getArrowFieldFromAttribute('indices', indices);\n fields.push(indicesField);\n }\n return { fields, metadata };\n}\nfunction transformAttributesLoaderData(loaderData) {\n const result = {};\n for (const key in loaderData) {\n const dracoAttribute = loaderData[key];\n result[dracoAttribute.name || 'undefined'] = dracoAttribute;\n }\n return result;\n}\nfunction getArrowFieldFromAttribute(attributeName, attribute, loaderData) {\n const metadataMap = loaderData ? makeMetadata(loaderData.metadata) : undefined;\n const field = deduceMeshField(attributeName, attribute, metadataMap);\n return field;\n}\nfunction makeMetadata(metadata) {\n Object.entries(metadata);\n const serializedMetadata = {};\n for (const key in metadata) {\n serializedMetadata[`${key}.string`] = JSON.stringify(metadata[key]);\n }\n return serializedMetadata;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { VERSION } from \"./lib/utils/version.js\";\nimport DracoParser from \"./lib/draco-parser.js\";\nimport { loadDracoDecoderModule } from \"./lib/draco-module-loader.js\";\n/**\n * Worker loader for Draco3D compressed geometries\n */\nexport const DracoWorkerLoader = {\n dataType: null,\n batchType: null,\n name: 'Draco',\n id: 'draco',\n module: 'draco',\n // shapes: ['mesh'],\n version: VERSION,\n worker: true,\n extensions: ['drc'],\n mimeTypes: ['application/octet-stream'],\n binary: true,\n tests: ['DRACO'],\n options: {\n draco: {\n decoderType: typeof WebAssembly === 'object' ? 'wasm' : 'js', // 'js' for IE11\n libraryPath: 'libs/',\n extraAttributes: {},\n attributeNameEntry: undefined\n }\n }\n};\n/**\n * Loader for Draco3D compressed geometries\n */\nexport const DracoLoader = {\n ...DracoWorkerLoader,\n parse\n};\nasync function parse(arrayBuffer, options) {\n const { draco } = await loadDracoDecoderModule(options);\n const dracoParser = new DracoParser(draco);\n try {\n return dracoParser.parseSync(arrayBuffer, options?.draco);\n }\n finally {\n dracoParser.destroy();\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { DracoLoader } from \"./draco-loader.js\";\nimport { convertMeshToTable } from '@loaders.gl/schema-utils';\n/**\n * Loader for Draco3D compressed geometries\n */\nexport const DracoArrowLoader = {\n ...DracoLoader,\n dataType: null,\n worker: false,\n parse\n};\nasync function parse(arrayBuffer, options) {\n const mesh = await DracoLoader.parse(arrayBuffer, options);\n const arrowTable = convertMeshToTable(mesh, 'arrow-table');\n return arrowTable;\n}\n"],
4
+ "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Module constants\nexport { DRACO_EXTERNAL_LIBRARIES, DRACO_EXTERNAL_LIBRARY_URLS } from \"./lib/draco-module-loader.js\";\nexport { DracoWriterWorker, DracoWriter } from \"./draco-writer.js\";\nexport { DracoWorkerLoader, DracoLoader } from \"./draco-loader.js\";\nexport { DracoArrowLoader } from \"./draco-arrow-loader.js\";\n", "// Dynamic DRACO module loading inspired by THREE.DRACOLoader\n// https://github.com/mrdoob/three.js/blob/398c4f39ebdb8b23eefd4a7a5ec49ec0c96c7462/examples/jsm/loaders/DRACOLoader.js\n// by Don McCurdy / https://www.donmccurdy.com / MIT license\nimport { loadLibrary } from '@loaders.gl/worker-utils';\nconst DRACO_DECODER_VERSION = '1.5.6';\nconst DRACO_ENCODER_VERSION = '1.4.1';\nconst STATIC_DECODER_URL = `https://www.gstatic.com/draco/versioned/decoders/${DRACO_DECODER_VERSION}`;\nexport const DRACO_EXTERNAL_LIBRARIES = {\n /** The primary Draco3D encoder, javascript wrapper part */\n DECODER: 'draco_wasm_wrapper.js',\n /** The primary draco decoder, compiled web assembly part */\n DECODER_WASM: 'draco_decoder.wasm',\n /** Fallback decoder for non-webassebly environments. Very big bundle, lower performance */\n FALLBACK_DECODER: 'draco_decoder.js',\n /** Draco encoder */\n ENCODER: 'draco_encoder.js'\n};\nexport const DRACO_EXTERNAL_LIBRARY_URLS = {\n [DRACO_EXTERNAL_LIBRARIES.DECODER]: `${STATIC_DECODER_URL}/${DRACO_EXTERNAL_LIBRARIES.DECODER}`,\n [DRACO_EXTERNAL_LIBRARIES.DECODER_WASM]: `${STATIC_DECODER_URL}/${DRACO_EXTERNAL_LIBRARIES.DECODER_WASM}`,\n [DRACO_EXTERNAL_LIBRARIES.FALLBACK_DECODER]: `${STATIC_DECODER_URL}/${DRACO_EXTERNAL_LIBRARIES.FALLBACK_DECODER}`,\n [DRACO_EXTERNAL_LIBRARIES.ENCODER]: `https://raw.githubusercontent.com/google/draco/${DRACO_ENCODER_VERSION}/javascript/${DRACO_EXTERNAL_LIBRARIES.ENCODER}`\n};\nlet loadDecoderPromise;\nlet loadEncoderPromise;\nexport async function loadDracoDecoderModule(options) {\n const modules = options.modules || {};\n // Check if a bundled draco3d library has been supplied by application\n if (modules.draco3d) {\n loadDecoderPromise ||= modules.draco3d.createDecoderModule({}).then((draco) => {\n return { draco };\n });\n }\n else {\n // If not, dynamically load the WASM script from our CDN\n loadDecoderPromise ||= loadDracoDecoder(options);\n }\n return await loadDecoderPromise;\n}\nexport async function loadDracoEncoderModule(options) {\n const modules = options.modules || {};\n // Check if a bundled draco3d library has been supplied by application\n if (modules.draco3d) {\n loadEncoderPromise ||= modules.draco3d.createEncoderModule({}).then((draco) => {\n return { draco };\n });\n }\n else {\n // If not, dynamically load the WASM script from our CDN\n loadEncoderPromise ||= loadDracoEncoder(options);\n }\n return await loadEncoderPromise;\n}\n// DRACO DECODER LOADING\nasync function loadDracoDecoder(options) {\n let DracoDecoderModule;\n let wasmBinary;\n switch (options.draco && options.draco.decoderType) {\n case 'js':\n DracoDecoderModule = await loadLibrary(DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.FALLBACK_DECODER], 'draco', options, DRACO_EXTERNAL_LIBRARIES.FALLBACK_DECODER);\n break;\n case 'wasm':\n default:\n [DracoDecoderModule, wasmBinary] = await Promise.all([\n await loadLibrary(DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.DECODER], 'draco', options, DRACO_EXTERNAL_LIBRARIES.DECODER),\n await loadLibrary(DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.DECODER_WASM], 'draco', options, DRACO_EXTERNAL_LIBRARIES.DECODER_WASM)\n ]);\n }\n // Depends on how import happened...\n // @ts-ignore\n DracoDecoderModule = DracoDecoderModule || globalThis.DracoDecoderModule;\n return await initializeDracoDecoder(DracoDecoderModule, wasmBinary);\n}\nfunction initializeDracoDecoder(DracoDecoderModule, wasmBinary) {\n const options = {};\n if (wasmBinary) {\n options.wasmBinary = wasmBinary;\n }\n return new Promise((resolve) => {\n DracoDecoderModule({\n ...options,\n onModuleLoaded: (draco) => resolve({ draco }) // Module is Promise-like. Wrap in object to avoid loop.\n });\n });\n}\n// ENCODER\nasync function loadDracoEncoder(options) {\n let DracoEncoderModule = await loadLibrary(DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.ENCODER], 'draco', options, DRACO_EXTERNAL_LIBRARIES.ENCODER);\n // @ts-ignore\n DracoEncoderModule = DracoEncoderModule || globalThis.DracoEncoderModule;\n return new Promise((resolve) => {\n DracoEncoderModule({\n onModuleLoaded: (draco) => resolve({ draco }) // Module is Promise-like. Wrap in object to avoid loop.\n });\n });\n}\n", "// Native Draco attribute names to GLTF attribute names.\nconst GLTF_TO_DRACO_ATTRIBUTE_NAME_MAP = {\n POSITION: 'POSITION',\n NORMAL: 'NORMAL',\n COLOR_0: 'COLOR',\n TEXCOORD_0: 'TEX_COORD'\n};\nconst noop = () => { };\nexport default class DracoBuilder {\n draco;\n dracoEncoder;\n dracoMeshBuilder;\n dracoMetadataBuilder;\n log;\n // draco - the draco decoder, either import `draco3d` or load dynamically\n constructor(draco) {\n this.draco = draco;\n this.dracoEncoder = new this.draco.Encoder();\n this.dracoMeshBuilder = new this.draco.MeshBuilder();\n this.dracoMetadataBuilder = new this.draco.MetadataBuilder();\n }\n destroy() {\n this.destroyEncodedObject(this.dracoMeshBuilder);\n this.destroyEncodedObject(this.dracoEncoder);\n this.destroyEncodedObject(this.dracoMetadataBuilder);\n // @ts-ignore\n this.dracoMeshBuilder = null;\n // @ts-ignore\n this.dracoEncoder = null;\n // @ts-ignore\n this.draco = null;\n }\n // TBD - when does this need to be called?\n destroyEncodedObject(object) {\n if (object) {\n this.draco.destroy(object);\n }\n }\n /**\n * Encode mesh or point cloud\n * @param mesh =({})\n * @param options\n */\n encodeSync(mesh, options = {}) {\n this.log = noop; // TODO\n this._setOptions(options);\n return options.pointcloud\n ? this._encodePointCloud(mesh, options)\n : this._encodeMesh(mesh, options);\n }\n // PRIVATE\n _getAttributesFromMesh(mesh) {\n // TODO - Change the encodePointCloud interface instead?\n const attributes = { ...mesh, ...mesh.attributes };\n // Fold indices into the attributes\n if (mesh.indices) {\n attributes.indices = mesh.indices;\n }\n return attributes;\n }\n _encodePointCloud(pointcloud, options) {\n const dracoPointCloud = new this.draco.PointCloud();\n if (options.metadata) {\n this._addGeometryMetadata(dracoPointCloud, options.metadata);\n }\n const attributes = this._getAttributesFromMesh(pointcloud);\n // Build a `DracoPointCloud` from the input data\n this._createDracoPointCloud(dracoPointCloud, attributes, options);\n const dracoData = new this.draco.DracoInt8Array();\n try {\n const encodedLen = this.dracoEncoder.EncodePointCloudToDracoBuffer(dracoPointCloud, false, dracoData);\n if (!(encodedLen > 0)) {\n throw new Error('Draco encoding failed.');\n }\n this.log(`DRACO encoded ${dracoPointCloud.num_points()} points\n with ${dracoPointCloud.num_attributes()} attributes into ${encodedLen} bytes`);\n return dracoInt8ArrayToArrayBuffer(dracoData);\n }\n finally {\n this.destroyEncodedObject(dracoData);\n this.destroyEncodedObject(dracoPointCloud);\n }\n }\n _encodeMesh(mesh, options) {\n const dracoMesh = new this.draco.Mesh();\n if (options.metadata) {\n this._addGeometryMetadata(dracoMesh, options.metadata);\n }\n const attributes = this._getAttributesFromMesh(mesh);\n // Build a `DracoMesh` from the input data\n this._createDracoMesh(dracoMesh, attributes, options);\n const dracoData = new this.draco.DracoInt8Array();\n try {\n const encodedLen = this.dracoEncoder.EncodeMeshToDracoBuffer(dracoMesh, dracoData);\n if (encodedLen <= 0) {\n throw new Error('Draco encoding failed.');\n }\n this.log(`DRACO encoded ${dracoMesh.num_points()} points\n with ${dracoMesh.num_attributes()} attributes into ${encodedLen} bytes`);\n return dracoInt8ArrayToArrayBuffer(dracoData);\n }\n finally {\n this.destroyEncodedObject(dracoData);\n this.destroyEncodedObject(dracoMesh);\n }\n }\n /**\n * Set encoding options.\n * @param {{speed?: any; method?: any; quantization?: any;}} options\n */\n _setOptions(options) {\n if ('speed' in options) {\n // @ts-ignore\n this.dracoEncoder.SetSpeedOptions(...options.speed);\n }\n if ('method' in options) {\n const dracoMethod = this.draco[options.method || 'MESH_SEQUENTIAL_ENCODING'];\n // assert(dracoMethod)\n this.dracoEncoder.SetEncodingMethod(dracoMethod);\n }\n if ('quantization' in options) {\n for (const attribute in options.quantization) {\n const bits = options.quantization[attribute];\n const dracoPosition = this.draco[attribute];\n this.dracoEncoder.SetAttributeQuantization(dracoPosition, bits);\n }\n }\n }\n /**\n * @param {Mesh} dracoMesh\n * @param {object} attributes\n * @returns {Mesh}\n */\n _createDracoMesh(dracoMesh, attributes, options) {\n const optionalMetadata = options.attributesMetadata || {};\n try {\n const positions = this._getPositionAttribute(attributes);\n if (!positions) {\n throw new Error('positions');\n }\n const vertexCount = positions.length / 3;\n for (let attributeName in attributes) {\n const attribute = attributes[attributeName];\n attributeName = GLTF_TO_DRACO_ATTRIBUTE_NAME_MAP[attributeName] || attributeName;\n const uniqueId = this._addAttributeToMesh(dracoMesh, attributeName, attribute, vertexCount);\n if (uniqueId !== -1) {\n this._addAttributeMetadata(dracoMesh, uniqueId, {\n name: attributeName,\n ...(optionalMetadata[attributeName] || {})\n });\n }\n }\n }\n catch (error) {\n this.destroyEncodedObject(dracoMesh);\n throw error;\n }\n return dracoMesh;\n }\n /**\n * @param {} dracoPointCloud\n * @param {object} attributes\n */\n _createDracoPointCloud(dracoPointCloud, attributes, options) {\n const optionalMetadata = options.attributesMetadata || {};\n try {\n const positions = this._getPositionAttribute(attributes);\n if (!positions) {\n throw new Error('positions');\n }\n const vertexCount = positions.length / 3;\n for (let attributeName in attributes) {\n const attribute = attributes[attributeName];\n attributeName = GLTF_TO_DRACO_ATTRIBUTE_NAME_MAP[attributeName] || attributeName;\n const uniqueId = this._addAttributeToMesh(dracoPointCloud, attributeName, attribute, vertexCount);\n if (uniqueId !== -1) {\n this._addAttributeMetadata(dracoPointCloud, uniqueId, {\n name: attributeName,\n ...(optionalMetadata[attributeName] || {})\n });\n }\n }\n }\n catch (error) {\n this.destroyEncodedObject(dracoPointCloud);\n throw error;\n }\n return dracoPointCloud;\n }\n /**\n * @param mesh\n * @param attributeName\n * @param attribute\n * @param vertexCount\n */\n _addAttributeToMesh(mesh, attributeName, attribute, vertexCount) {\n if (!ArrayBuffer.isView(attribute)) {\n return -1;\n }\n const type = this._getDracoAttributeType(attributeName);\n // @ts-ignore TODO/fix types\n const size = attribute.length / vertexCount;\n if (type === 'indices') {\n // @ts-ignore TODO/fix types\n const numFaces = attribute.length / 3;\n this.log(`Adding attribute ${attributeName}, size ${numFaces}`);\n // @ts-ignore assumes mesh is a Mesh, not a point cloud\n this.dracoMeshBuilder.AddFacesToMesh(mesh, numFaces, attribute);\n return -1;\n }\n this.log(`Adding attribute ${attributeName}, size ${size}`);\n const builder = this.dracoMeshBuilder;\n const { buffer } = attribute;\n switch (attribute.constructor) {\n case Int8Array:\n return builder.AddInt8Attribute(mesh, type, vertexCount, size, new Int8Array(buffer));\n case Int16Array:\n return builder.AddInt16Attribute(mesh, type, vertexCount, size, new Int16Array(buffer));\n case Int32Array:\n return builder.AddInt32Attribute(mesh, type, vertexCount, size, new Int32Array(buffer));\n case Uint8Array:\n case Uint8ClampedArray:\n return builder.AddUInt8Attribute(mesh, type, vertexCount, size, new Uint8Array(buffer));\n case Uint16Array:\n return builder.AddUInt16Attribute(mesh, type, vertexCount, size, new Uint16Array(buffer));\n case Uint32Array:\n return builder.AddUInt32Attribute(mesh, type, vertexCount, size, new Uint32Array(buffer));\n case Float32Array:\n return builder.AddFloatAttribute(mesh, type, vertexCount, size, new Float32Array(buffer));\n default:\n // eslint-disable-next-line no-console\n console.warn('Unsupported attribute type', attribute);\n return -1;\n }\n // case Float64Array:\n // Add attribute does not seem to be exposed\n // return builder.AddAttribute(mesh, type, vertexCount, size, new Float32Array(buffer));\n }\n /**\n * DRACO can compress attributes of know type better\n * TODO - expose an attribute type map?\n * @param attributeName\n */\n _getDracoAttributeType(attributeName) {\n switch (attributeName.toLowerCase()) {\n case 'indices':\n return 'indices';\n case 'position':\n case 'positions':\n case 'vertices':\n return this.draco.POSITION;\n case 'normal':\n case 'normals':\n return this.draco.NORMAL;\n case 'color':\n case 'colors':\n return this.draco.COLOR;\n case 'texcoord':\n case 'texcoords':\n return this.draco.TEX_COORD;\n default:\n return this.draco.GENERIC;\n }\n }\n _getPositionAttribute(attributes) {\n for (const attributeName in attributes) {\n const attribute = attributes[attributeName];\n const dracoType = this._getDracoAttributeType(attributeName);\n if (dracoType === this.draco.POSITION) {\n return attribute;\n }\n }\n return null;\n }\n /**\n * Add metadata for the geometry.\n * @param dracoGeometry - WASM Draco Object\n * @param metadata\n */\n _addGeometryMetadata(dracoGeometry, metadata) {\n const dracoMetadata = new this.draco.Metadata();\n this._populateDracoMetadata(dracoMetadata, metadata);\n this.dracoMeshBuilder.AddMetadata(dracoGeometry, dracoMetadata);\n }\n /**\n * Add metadata for an attribute to geometry.\n * @param dracoGeometry - WASM Draco Object\n * @param uniqueAttributeId\n * @param metadata\n */\n _addAttributeMetadata(dracoGeometry, uniqueAttributeId, metadata) {\n // Note: Draco JS IDL doesn't seem to expose draco.AttributeMetadata, however it seems to\n // create such objects automatically from draco.Metadata object.\n const dracoAttributeMetadata = new this.draco.Metadata();\n this._populateDracoMetadata(dracoAttributeMetadata, metadata);\n // Draco3d doc note: Directly add attribute metadata to geometry.\n // You can do this without explicitly adding |GeometryMetadata| to mesh.\n this.dracoMeshBuilder.SetMetadataForAttribute(dracoGeometry, uniqueAttributeId, dracoAttributeMetadata);\n }\n /**\n * Add contents of object or map to a WASM Draco Metadata Object\n * @param dracoMetadata - WASM Draco Object\n * @param metadata\n */\n _populateDracoMetadata(dracoMetadata, metadata) {\n for (const [key, value] of getEntries(metadata)) {\n switch (typeof value) {\n case 'number':\n if (Math.trunc(value) === value) {\n this.dracoMetadataBuilder.AddIntEntry(dracoMetadata, key, value);\n }\n else {\n this.dracoMetadataBuilder.AddDoubleEntry(dracoMetadata, key, value);\n }\n break;\n case 'object':\n if (value instanceof Int32Array) {\n this.dracoMetadataBuilder.AddIntEntryArray(dracoMetadata, key, value, value.length);\n }\n break;\n case 'string':\n default:\n this.dracoMetadataBuilder.AddStringEntry(dracoMetadata, key, value);\n }\n }\n }\n}\n// HELPER FUNCTIONS\n/**\n * Copy encoded data to buffer\n * @param dracoData\n */\nfunction dracoInt8ArrayToArrayBuffer(dracoData) {\n const byteLength = dracoData.size();\n const outputBuffer = new ArrayBuffer(byteLength);\n const outputData = new Int8Array(outputBuffer);\n for (let i = 0; i < byteLength; ++i) {\n outputData[i] = dracoData.GetValue(i);\n }\n return outputBuffer;\n}\n/** Enable iteration over either an object or a map */\nfunction getEntries(container) {\n const hasEntriesFunc = container.entries && !container.hasOwnProperty('entries');\n return hasEntriesFunc ? container.entries() : Object.entries(container);\n}\n", "// Version constant cannot be imported, it needs to correspond to the build version of **this** module.\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nexport const VERSION = typeof \"4.4.0-alpha.1\" !== 'undefined' ? \"4.4.0-alpha.1\" : 'latest';\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport DRACOBuilder from \"./lib/draco-builder.js\";\nimport { loadDracoEncoderModule } from \"./lib/draco-module-loader.js\";\nimport { VERSION } from \"./lib/utils/version.js\";\nconst DEFAULT_DRACO_WRITER_OPTIONS = {\n pointcloud: false, // Set to true if pointcloud (mode: 0, no indices)\n attributeNameEntry: 'name'\n // Draco Compression Parameters\n // method: 'MESH_EDGEBREAKER_ENCODING', // Use draco defaults\n // speed: [5, 5], // Use draco defaults\n // quantization: { // Use draco defaults\n // POSITION: 10\n // }\n};\n/**\n * Browser worker doesn't work because of issue during \"draco_encoder.js\" loading.\n * Refused to execute script from 'https://raw.githubusercontent.com/google/draco/1.4.1/javascript/draco_encoder.js' because its MIME type ('') is not executable.\n */\nexport const DracoWriterWorker = {\n id: 'draco-writer',\n name: 'Draco compressed geometry writer',\n module: 'draco',\n version: VERSION,\n worker: true,\n options: {\n draco: {},\n source: null\n }\n};\n/**\n * Exporter for Draco3D compressed geometries\n */\nexport const DracoWriter = {\n name: 'DRACO',\n id: 'draco',\n module: 'draco',\n version: VERSION,\n extensions: ['drc'],\n mimeTypes: ['application/octet-stream'],\n options: {\n draco: DEFAULT_DRACO_WRITER_OPTIONS\n },\n encode\n};\nasync function encode(data, options = {}) {\n // Dynamically load draco\n const { draco } = await loadDracoEncoderModule(options);\n const dracoBuilder = new DRACOBuilder(draco);\n try {\n return dracoBuilder.encodeSync(data, options.draco);\n }\n finally {\n dracoBuilder.destroy();\n }\n}\n", "/* eslint-disable camelcase */\nimport { getMeshBoundingBox } from '@loaders.gl/schema-utils';\nimport { getDracoSchema } from \"./utils/get-draco-schema.js\";\n// @ts-ignore\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst GEOMETRY_TYPE = {\n TRIANGULAR_MESH: 0,\n POINT_CLOUD: 1\n};\n// Native Draco attribute names to GLTF attribute names.\nconst DRACO_TO_GLTF_ATTRIBUTE_NAME_MAP = {\n POSITION: 'POSITION',\n NORMAL: 'NORMAL',\n COLOR: 'COLOR_0',\n TEX_COORD: 'TEXCOORD_0'\n};\nconst DRACO_DATA_TYPE_TO_TYPED_ARRAY_MAP = {\n 1: Int8Array,\n 2: Uint8Array,\n 3: Int16Array,\n 4: Uint16Array,\n 5: Int32Array,\n 6: Uint32Array,\n // 7: BigInt64Array,\n // 8: BigUint64Array,\n 9: Float32Array\n // 10: Float64Array\n // 11: BOOL - What array type do we use for this?\n};\nconst INDEX_ITEM_SIZE = 4;\nexport default class DracoParser {\n draco;\n decoder;\n metadataQuerier;\n // draco - the draco decoder, either import `draco3d` or load dynamically\n constructor(draco) {\n this.draco = draco;\n this.decoder = new this.draco.Decoder();\n this.metadataQuerier = new this.draco.MetadataQuerier();\n }\n /**\n * Destroy draco resources\n */\n destroy() {\n this.draco.destroy(this.decoder);\n this.draco.destroy(this.metadataQuerier);\n }\n /**\n * NOTE: caller must call `destroyGeometry` on the return value after using it\n * @param arrayBuffer\n * @param options\n */\n parseSync(arrayBuffer, options = {}) {\n const buffer = new this.draco.DecoderBuffer();\n buffer.Init(new Int8Array(arrayBuffer), arrayBuffer.byteLength);\n this._disableAttributeTransforms(options);\n const geometry_type = this.decoder.GetEncodedGeometryType(buffer);\n const dracoGeometry = geometry_type === this.draco.TRIANGULAR_MESH\n ? new this.draco.Mesh()\n : new this.draco.PointCloud();\n try {\n let dracoStatus;\n switch (geometry_type) {\n case this.draco.TRIANGULAR_MESH:\n dracoStatus = this.decoder.DecodeBufferToMesh(buffer, dracoGeometry);\n break;\n case this.draco.POINT_CLOUD:\n dracoStatus = this.decoder.DecodeBufferToPointCloud(buffer, dracoGeometry);\n break;\n default:\n throw new Error('DRACO: Unknown geometry type.');\n }\n if (!dracoStatus.ok() || !dracoGeometry.ptr) {\n const message = `DRACO decompression failed: ${dracoStatus.error_msg()}`;\n // console.error(message);\n throw new Error(message);\n }\n const loaderData = this._getDracoLoaderData(dracoGeometry, geometry_type, options);\n const geometry = this._getMeshData(dracoGeometry, loaderData, options);\n const boundingBox = getMeshBoundingBox(geometry.attributes);\n const schema = getDracoSchema(geometry.attributes, loaderData, geometry.indices);\n const data = {\n loader: 'draco',\n loaderData,\n header: {\n vertexCount: dracoGeometry.num_points(),\n boundingBox\n },\n ...geometry,\n schema\n };\n return data;\n }\n finally {\n this.draco.destroy(buffer);\n if (dracoGeometry) {\n this.draco.destroy(dracoGeometry);\n }\n }\n }\n // Draco specific \"loader data\"\n /**\n * Extract\n * @param dracoGeometry\n * @param geometry_type\n * @param options\n * @returns\n */\n _getDracoLoaderData(dracoGeometry, geometry_type, options) {\n const metadata = this._getTopLevelMetadata(dracoGeometry);\n const attributes = this._getDracoAttributes(dracoGeometry, options);\n return {\n geometry_type,\n num_attributes: dracoGeometry.num_attributes(),\n num_points: dracoGeometry.num_points(),\n num_faces: dracoGeometry instanceof this.draco.Mesh ? dracoGeometry.num_faces() : 0,\n metadata,\n attributes\n };\n }\n /**\n * Extract all draco provided information and metadata for each attribute\n * @param dracoGeometry\n * @param options\n * @returns\n */\n _getDracoAttributes(dracoGeometry, options) {\n const dracoAttributes = {};\n for (let attributeId = 0; attributeId < dracoGeometry.num_attributes(); attributeId++) {\n // Note: Draco docs do not seem clear on `GetAttribute` ids just being a zero-based index,\n // but it does seems to work this way\n const dracoAttribute = this.decoder.GetAttribute(dracoGeometry, attributeId);\n const metadata = this._getAttributeMetadata(dracoGeometry, attributeId);\n dracoAttributes[dracoAttribute.unique_id()] = {\n unique_id: dracoAttribute.unique_id(),\n attribute_type: dracoAttribute.attribute_type(),\n data_type: dracoAttribute.data_type(),\n num_components: dracoAttribute.num_components(),\n byte_offset: dracoAttribute.byte_offset(),\n byte_stride: dracoAttribute.byte_stride(),\n normalized: dracoAttribute.normalized(),\n attribute_index: attributeId,\n metadata\n };\n // Add transformation parameters for any attributes app wants untransformed\n const quantization = this._getQuantizationTransform(dracoAttribute, options);\n if (quantization) {\n dracoAttributes[dracoAttribute.unique_id()].quantization_transform = quantization;\n }\n const octahedron = this._getOctahedronTransform(dracoAttribute, options);\n if (octahedron) {\n dracoAttributes[dracoAttribute.unique_id()].octahedron_transform = octahedron;\n }\n }\n return dracoAttributes;\n }\n /**\n * Get standard loaders.gl mesh category data\n * Extracts the geometry from draco\n * @param dracoGeometry\n * @param options\n */\n _getMeshData(dracoGeometry, loaderData, options) {\n const attributes = this._getMeshAttributes(loaderData, dracoGeometry, options);\n const positionAttribute = attributes.POSITION;\n if (!positionAttribute) {\n throw new Error('DRACO: No position attribute found.');\n }\n // For meshes, we need indices to define the faces.\n if (dracoGeometry instanceof this.draco.Mesh) {\n switch (options.topology) {\n case 'triangle-strip':\n return {\n topology: 'triangle-strip',\n // TODO - mode is wrong?\n mode: 4, // GL.TRIANGLES\n attributes,\n indices: {\n value: this._getTriangleStripIndices(dracoGeometry),\n size: 1\n }\n };\n case 'triangle-list':\n default:\n return {\n topology: 'triangle-list',\n // TODO - mode is wrong?\n mode: 5, // GL.TRIANGLE_STRIP\n attributes,\n indices: {\n value: this._getTriangleListIndices(dracoGeometry),\n size: 1\n }\n };\n }\n }\n // PointCloud - must come last as Mesh inherits from PointCloud\n return {\n topology: 'point-list',\n mode: 0, // GL.POINTS\n attributes\n };\n }\n _getMeshAttributes(loaderData, dracoGeometry, options) {\n const attributes = {};\n for (const loaderAttribute of Object.values(loaderData.attributes)) {\n const attributeName = this._deduceAttributeName(loaderAttribute, options);\n loaderAttribute.name = attributeName;\n const values = this._getAttributeValues(dracoGeometry, loaderAttribute);\n if (values) {\n const { value, size } = values;\n attributes[attributeName] = {\n value,\n size,\n byteOffset: loaderAttribute.byte_offset,\n byteStride: loaderAttribute.byte_stride,\n normalized: loaderAttribute.normalized\n };\n }\n }\n return attributes;\n }\n // MESH INDICES EXTRACTION\n /**\n * For meshes, we need indices to define the faces.\n * @param dracoGeometry\n */\n _getTriangleListIndices(dracoGeometry) {\n // Example on how to retrieve mesh and attributes.\n const numFaces = dracoGeometry.num_faces();\n const numIndices = numFaces * 3;\n const byteLength = numIndices * INDEX_ITEM_SIZE;\n const ptr = this.draco._malloc(byteLength);\n try {\n this.decoder.GetTrianglesUInt32Array(dracoGeometry, byteLength, ptr);\n return new Uint32Array(this.draco.HEAPF32.buffer, ptr, numIndices).slice();\n }\n finally {\n this.draco._free(ptr);\n }\n }\n /**\n * For meshes, we need indices to define the faces.\n * @param dracoGeometry\n */\n _getTriangleStripIndices(dracoGeometry) {\n const dracoArray = new this.draco.DracoInt32Array();\n try {\n /* const numStrips = */ this.decoder.GetTriangleStripsFromMesh(dracoGeometry, dracoArray);\n return getUint32Array(dracoArray);\n }\n finally {\n this.draco.destroy(dracoArray);\n }\n }\n /**\n *\n * @param dracoGeometry\n * @param dracoAttribute\n * @param attributeName\n */\n _getAttributeValues(dracoGeometry, attribute) {\n const TypedArrayCtor = DRACO_DATA_TYPE_TO_TYPED_ARRAY_MAP[attribute.data_type];\n if (!TypedArrayCtor) {\n // eslint-disable-next-line no-console\n console.warn(`DRACO: Unsupported attribute type ${attribute.data_type}`);\n return null;\n }\n const numComponents = attribute.num_components;\n const numPoints = dracoGeometry.num_points();\n const numValues = numPoints * numComponents;\n const byteLength = numValues * TypedArrayCtor.BYTES_PER_ELEMENT;\n const dataType = getDracoDataType(this.draco, TypedArrayCtor);\n let value;\n const ptr = this.draco._malloc(byteLength);\n try {\n const dracoAttribute = this.decoder.GetAttribute(dracoGeometry, attribute.attribute_index);\n this.decoder.GetAttributeDataArrayForAllPoints(dracoGeometry, dracoAttribute, dataType, byteLength, ptr);\n value = new TypedArrayCtor(this.draco.HEAPF32.buffer, ptr, numValues).slice();\n }\n finally {\n this.draco._free(ptr);\n }\n return { value, size: numComponents };\n }\n // Attribute names\n /**\n * DRACO does not store attribute names - We need to deduce an attribute name\n * for each attribute\n _getAttributeNames(\n dracoGeometry: Mesh | PointCloud,\n options: DracoParseOptions\n ): {[unique_id: number]: string} {\n const attributeNames: {[unique_id: number]: string} = {};\n for (let attributeId = 0; attributeId < dracoGeometry.num_attributes(); attributeId++) {\n const dracoAttribute = this.decoder.GetAttribute(dracoGeometry, attributeId);\n const attributeName = this._deduceAttributeName(dracoAttribute, options);\n attributeNames[attributeName] = attributeName;\n }\n return attributeNames;\n }\n */\n /**\n * Deduce an attribute name.\n * @note DRACO does not save attribute names, just general type (POSITION, COLOR)\n * to help optimize compression. We generate GLTF compatible names for the Draco-recognized\n * types\n * @param attributeData\n */\n _deduceAttributeName(attribute, options) {\n // Deduce name based on application provided map\n const uniqueId = attribute.unique_id;\n for (const [attributeName, attributeUniqueId] of Object.entries(options.extraAttributes || {})) {\n if (attributeUniqueId === uniqueId) {\n return attributeName;\n }\n }\n // Deduce name based on attribute type\n const thisAttributeType = attribute.attribute_type;\n for (const dracoAttributeConstant in DRACO_TO_GLTF_ATTRIBUTE_NAME_MAP) {\n const attributeType = this.draco[dracoAttributeConstant];\n if (attributeType === thisAttributeType) {\n // TODO - Return unique names if there multiple attributes per type\n // (e.g. multiple TEX_COORDS or COLORS)\n return DRACO_TO_GLTF_ATTRIBUTE_NAME_MAP[dracoAttributeConstant];\n }\n }\n // Look up in metadata\n // TODO - shouldn't this have priority?\n const entryName = options.attributeNameEntry || 'name';\n if (attribute.metadata[entryName]) {\n return attribute.metadata[entryName].string;\n }\n // Attribute of \"GENERIC\" type, we need to assign some name\n return `CUSTOM_ATTRIBUTE_${uniqueId}`;\n }\n // METADATA EXTRACTION\n /** Get top level metadata */\n _getTopLevelMetadata(dracoGeometry) {\n const dracoMetadata = this.decoder.GetMetadata(dracoGeometry);\n return this._getDracoMetadata(dracoMetadata);\n }\n /** Get per attribute metadata */\n _getAttributeMetadata(dracoGeometry, attributeId) {\n const dracoMetadata = this.decoder.GetAttributeMetadata(dracoGeometry, attributeId);\n return this._getDracoMetadata(dracoMetadata);\n }\n /**\n * Extract metadata field values\n * @param dracoMetadata\n * @returns\n */\n _getDracoMetadata(dracoMetadata) {\n // The not so wonderful world of undocumented Draco APIs :(\n if (!dracoMetadata || !dracoMetadata.ptr) {\n return {};\n }\n const result = {};\n const numEntries = this.metadataQuerier.NumEntries(dracoMetadata);\n for (let entryIndex = 0; entryIndex < numEntries; entryIndex++) {\n const entryName = this.metadataQuerier.GetEntryName(dracoMetadata, entryIndex);\n result[entryName] = this._getDracoMetadataField(dracoMetadata, entryName);\n }\n return result;\n }\n /**\n * Extracts possible values for one metadata entry by name\n * @param dracoMetadata\n * @param entryName\n */\n _getDracoMetadataField(dracoMetadata, entryName) {\n const dracoArray = new this.draco.DracoInt32Array();\n try {\n // Draco metadata fields can hold int32 arrays\n this.metadataQuerier.GetIntEntryArray(dracoMetadata, entryName, dracoArray);\n const intArray = getInt32Array(dracoArray);\n return {\n int: this.metadataQuerier.GetIntEntry(dracoMetadata, entryName),\n string: this.metadataQuerier.GetStringEntry(dracoMetadata, entryName),\n double: this.metadataQuerier.GetDoubleEntry(dracoMetadata, entryName),\n intArray\n };\n }\n finally {\n this.draco.destroy(dracoArray);\n }\n }\n // QUANTIZED ATTRIBUTE SUPPORT (NO DECOMPRESSION)\n /** Skip transforms for specific attribute types */\n _disableAttributeTransforms(options) {\n const { quantizedAttributes = [], octahedronAttributes = [] } = options;\n const skipAttributes = [...quantizedAttributes, ...octahedronAttributes];\n for (const dracoAttributeName of skipAttributes) {\n this.decoder.SkipAttributeTransform(this.draco[dracoAttributeName]);\n }\n }\n /**\n * Extract (and apply?) Position Transform\n * @todo not used\n */\n _getQuantizationTransform(dracoAttribute, options) {\n const { quantizedAttributes = [] } = options;\n const attribute_type = dracoAttribute.attribute_type();\n const skip = quantizedAttributes.map((type) => this.decoder[type]).includes(attribute_type);\n if (skip) {\n const transform = new this.draco.AttributeQuantizationTransform();\n try {\n if (transform.InitFromAttribute(dracoAttribute)) {\n return {\n quantization_bits: transform.quantization_bits(),\n range: transform.range(),\n min_values: new Float32Array([1, 2, 3]).map((i) => transform.min_value(i))\n };\n }\n }\n finally {\n this.draco.destroy(transform);\n }\n }\n return null;\n }\n _getOctahedronTransform(dracoAttribute, options) {\n const { octahedronAttributes = [] } = options;\n const attribute_type = dracoAttribute.attribute_type();\n const octahedron = octahedronAttributes\n .map((type) => this.decoder[type])\n .includes(attribute_type);\n if (octahedron) {\n const transform = new this.draco.AttributeQuantizationTransform();\n try {\n if (transform.InitFromAttribute(dracoAttribute)) {\n return {\n quantization_bits: transform.quantization_bits()\n };\n }\n }\n finally {\n this.draco.destroy(transform);\n }\n }\n return null;\n }\n}\n/**\n * Get draco specific data type by TypedArray constructor type\n * @param attributeType\n * @returns draco specific data type\n */\nfunction getDracoDataType(draco, attributeType) {\n switch (attributeType) {\n case Float32Array:\n return draco.DT_FLOAT32;\n case Int8Array:\n return draco.DT_INT8;\n case Int16Array:\n return draco.DT_INT16;\n case Int32Array:\n return draco.DT_INT32;\n case Uint8Array:\n return draco.DT_UINT8;\n case Uint16Array:\n return draco.DT_UINT16;\n case Uint32Array:\n return draco.DT_UINT32;\n default:\n return draco.DT_INVALID;\n }\n}\n/**\n * Copy a Draco int32 array into a JS typed array\n */\nfunction getInt32Array(dracoArray) {\n const numValues = dracoArray.size();\n const intArray = new Int32Array(numValues);\n for (let i = 0; i < numValues; i++) {\n intArray[i] = dracoArray.GetValue(i);\n }\n return intArray;\n}\n/**\n * Copy a Draco int32 array into a JS typed array\n */\nfunction getUint32Array(dracoArray) {\n const numValues = dracoArray.size();\n const intArray = new Int32Array(numValues);\n for (let i = 0; i < numValues; i++) {\n intArray[i] = dracoArray.GetValue(i);\n }\n return intArray;\n}\n", "import { deduceMeshField } from '@loaders.gl/schema-utils';\n/** Extract an arrow-like schema from a Draco mesh */\nexport function getDracoSchema(attributes, loaderData, indices) {\n const metadata = makeMetadata(loaderData.metadata);\n const fields = [];\n const namedLoaderDataAttributes = transformAttributesLoaderData(loaderData.attributes);\n for (const attributeName in attributes) {\n const attribute = attributes[attributeName];\n const field = getArrowFieldFromAttribute(attributeName, attribute, namedLoaderDataAttributes[attributeName]);\n fields.push(field);\n }\n if (indices) {\n const indicesField = getArrowFieldFromAttribute('indices', indices);\n fields.push(indicesField);\n }\n return { fields, metadata };\n}\nfunction transformAttributesLoaderData(loaderData) {\n const result = {};\n for (const key in loaderData) {\n const dracoAttribute = loaderData[key];\n result[dracoAttribute.name || 'undefined'] = dracoAttribute;\n }\n return result;\n}\nfunction getArrowFieldFromAttribute(attributeName, attribute, loaderData) {\n const metadataMap = loaderData ? makeMetadata(loaderData.metadata) : undefined;\n const field = deduceMeshField(attributeName, attribute, metadataMap);\n return field;\n}\nfunction makeMetadata(metadata) {\n Object.entries(metadata);\n const serializedMetadata = {};\n for (const key in metadata) {\n serializedMetadata[`${key}.string`] = JSON.stringify(metadata[key]);\n }\n return serializedMetadata;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { VERSION } from \"./lib/utils/version.js\";\nimport DracoParser from \"./lib/draco-parser.js\";\nimport { loadDracoDecoderModule } from \"./lib/draco-module-loader.js\";\n/**\n * Worker loader for Draco3D compressed geometries\n */\nexport const DracoWorkerLoader = {\n dataType: null,\n batchType: null,\n name: 'Draco',\n id: 'draco',\n module: 'draco',\n // shapes: ['mesh'],\n version: VERSION,\n worker: true,\n extensions: ['drc'],\n mimeTypes: ['application/octet-stream'],\n binary: true,\n tests: ['DRACO'],\n options: {\n draco: {\n decoderType: typeof WebAssembly === 'object' ? 'wasm' : 'js', // 'js' for IE11\n libraryPath: 'libs/',\n extraAttributes: {},\n attributeNameEntry: undefined\n }\n }\n};\n/**\n * Loader for Draco3D compressed geometries\n */\nexport const DracoLoader = {\n ...DracoWorkerLoader,\n parse\n};\nasync function parse(arrayBuffer, options) {\n const { draco } = await loadDracoDecoderModule(options);\n const dracoParser = new DracoParser(draco);\n try {\n return dracoParser.parseSync(arrayBuffer, options?.draco);\n }\n finally {\n dracoParser.destroy();\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { DracoLoader } from \"./draco-loader.js\";\nimport { convertMeshToTable } from '@loaders.gl/schema-utils';\n/**\n * Loader for Draco3D compressed geometries\n */\nexport const DracoArrowLoader = {\n ...DracoLoader,\n dataType: null,\n worker: false,\n parse\n};\nasync function parse(arrayBuffer, options) {\n const mesh = await DracoLoader.parse(arrayBuffer, options);\n const arrowTable = convertMeshToTable(mesh, 'arrow-table');\n return arrowTable;\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": ["import_schema_utils", "import_schema_utils", "parse"]
7
7
  }
@@ -1,4 +1,4 @@
1
1
  // Version constant cannot be imported, it needs to correspond to the build version of **this** module.
2
2
  // __VERSION__ is injected by babel-plugin-version-inline
3
3
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
4
- export const VERSION = typeof "4.4.0-alpha.0" !== 'undefined' ? "4.4.0-alpha.0" : 'latest';
4
+ export const VERSION = typeof "4.4.0-alpha.1" !== 'undefined' ? "4.4.0-alpha.1" : 'latest';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/draco",
3
- "version": "4.4.0-alpha.1",
3
+ "version": "4.4.0-alpha.2",
4
4
  "description": "Framework-independent loader and writer for Draco compressed meshes and point clouds",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -57,17 +57,17 @@
57
57
  "build-writer-worker-node": "esbuild src/workers/draco-writer-worker-node.ts --outfile=dist/draco-writer-worker-node.js --target=node16 --platform=node --bundle --sourcemap --define:__VERSION__=\\\"$npm_package_version\\\""
58
58
  },
59
59
  "dependencies": {
60
- "@loaders.gl/loader-utils": "4.4.0-alpha.1",
61
- "@loaders.gl/schema": "4.4.0-alpha.1",
62
- "@loaders.gl/schema-utils": "4.4.0-alpha.1",
63
- "@loaders.gl/worker-utils": "4.4.0-alpha.1",
60
+ "@loaders.gl/loader-utils": "4.4.0-alpha.2",
61
+ "@loaders.gl/schema": "4.4.0-alpha.2",
62
+ "@loaders.gl/schema-utils": "4.4.0-alpha.2",
63
+ "@loaders.gl/worker-utils": "4.4.0-alpha.2",
64
64
  "draco3d": "1.5.7"
65
65
  },
66
66
  "devDependencies": {
67
67
  "@types/draco3d": "^1.4.9"
68
68
  },
69
69
  "peerDependencies": {
70
- "@loaders.gl/core": "4.4.0-alpha.0"
70
+ "@loaders.gl/core": "4.4.0-alpha.1"
71
71
  },
72
- "gitHead": "f1732de45907bd500bf4eedb4803beca8bf4bfb0"
72
+ "gitHead": "3d9fed050eabdc0812ddf2f4d5fb9914a34ee0c2"
73
73
  }