df-script 1.7.0 → 1.8.0

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/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
- var Ke=Object.defineProperty;var Po=Object.getOwnPropertyDescriptor;var Bo=Object.getOwnPropertyNames;var $o=Object.prototype.hasOwnProperty;var Ut=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(t,e)=>(typeof require<"u"?require:t)[e]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var R=(n,t)=>()=>(n&&(t=n(n=0)),t);var Ko=(n,t)=>{for(var e in t)Ke(n,e,{get:t[e],enumerable:!0})},qo=(n,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Bo(t))!$o.call(n,o)&&o!==e&&Ke(n,o,{get:()=>t[o],enumerable:!(r=Po(t,o))||r.enumerable});return n};var Wo=n=>qo(Ke({},"__esModule",{value:!0}),n);var nt,Gn,zn,$t,Hn,Ft=R(()=>{"use strict";nt="*",Gn="*literal*",zn="*coalesce*",$t="*element*",Hn="*struct*"});function P(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)}function Tt(n){if(!P(n))return!1;let t=Object.getPrototypeOf(n);if(t===null)return!0;let e=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return typeof e!="function"?!1:Function.prototype.toString.call(e)===cs}function ar(n){if(typeof n!="function")return!1;let t="";try{t=Function.prototype.toString.call(n)}catch{return!1}if(/^class[\s{]/.test(t))return!0;if(n===Symbol||n===BigInt)return!1;let e=Object.getOwnPropertyDescriptor(n,"prototype");return e&&!e.writable?t.includes("[native code]"):!1}function lt(n,t,e,r){if(!P(n))return!1;if(!(Symbol.toStringTag in n))return Object.prototype.toString.call(n)===t;if(!e)return!1;try{return e.call(n,r),!0}catch{return!1}}function M(n){return lt(n,Go,qe)&&qe?!Number.isNaN(qe.call(n)):!1}function dt(n){return lt(n,zo,is)}function ie(n){return lt(n,Ho,as)}function ae(n){return lt(n,Jo,ls)}function lr(n){return lt(n,Xo,us,"key")}function ur(n){return P(n)?Symbol.toStringTag in n?n instanceof Error:Object.prototype.toString.call(n)===Yo:!1}function Xn(n){return lt(n,nr,We)}function Zn(n){return lt(n,rr,Ge)}function Qn(n){return lt(n,or,ze)}function tr(n){return lt(n,sr,Kt)}function er(n){return lt(n,ir,qt)}function it(n){if(!P(n))return n;switch(Object.prototype.toString.call(n)){case rr:if(Zn(n))try{return Ge.call(n)}catch{}break;case nr:if(Xn(n))try{return We.call(n)}catch{}break;case or:if(Qn(n))try{return ze.call(n)}catch{}break;case sr:if(tr(n)&&Kt)try{return Kt.call(n)}catch{}break;case ir:if(er(n)&&qt)try{return qt.call(n)}catch{}break}if(Symbol.toStringTag in n){if(Zn(n))try{return Ge.call(n)}catch{}else if(Xn(n))try{return We.call(n)}catch{}else if(Qn(n))try{return ze.call(n)}catch{}else if(tr(n)&&Kt)try{return Kt.call(n)}catch{}else if(er(n)&&qt)try{return qt.call(n)}catch{}}if(typeof n.valueOf=="function"&&n.valueOf!==Object.prototype.valueOf)try{let e=n.valueOf();if(typeof e!="object"||e===null)return e}catch{}return n}var Go,zo,Ho,Jo,Yo,Xo,nr,rr,or,sr,ir,Zo,Qo,Jn,Yn,ts,es,ns,rs,os,ss,is,as,ls,qe,us,We,Ge,ze,Kt,qt,cs,gt=R(()=>{"use strict";Go="[object Date]",zo="[object RegExp]",Ho="[object Set]",Jo="[object Map]",Yo="[object Error]",Xo="[object URLSearchParams]",nr="[object String]",rr="[object Number]",or="[object Boolean]",sr="[object BigInt]",ir="[object Symbol]",Zo=typeof Date=="function"?Date.prototype:void 0,Qo=Object.getPrototypeOf(/./),Jn=typeof Set=="function"?Set.prototype:void 0,Yn=typeof Map=="function"?Map.prototype:void 0,ts=typeof URLSearchParams=="function"?URLSearchParams.prototype:void 0,es=Object.getPrototypeOf(""),ns=Object.getPrototypeOf(0),rs=Object.getPrototypeOf(!0),os=typeof BigInt=="function"?BigInt.prototype:void 0,ss=typeof Symbol=="function"?Symbol.prototype:void 0,is=Object.getOwnPropertyDescriptor(Qo,"source")?.get,as=Jn?Object.getOwnPropertyDescriptor(Jn,"size")?.get:void 0,ls=Yn?Object.getOwnPropertyDescriptor(Yn,"size")?.get:void 0,qe=Zo?.valueOf,us=ts?.has,We=es.valueOf,Ge=ns.valueOf,ze=rs.valueOf,Kt=os?.valueOf,qt=ss?.valueOf,cs=Function.prototype.toString.call(Object)});function z(n,t){return typeof n!="number"?!1:Number.isNaN(n)?t?.allowNaN??t?.allowNonFiniteNumbers??!1:Number.isFinite(n)?!0:t?.allowNonFiniteNumbers??!1}function cr(n){for(let t=1;t<n.length;t++)if(n[t].length!==3)return!1;return!0}function yr(n,t){if(fs.test(n))return null;let e=n.trim();if(e==="")return null;e.startsWith("(")&&e.endsWith(")")&&(e="-"+e.slice(1,-1).trim());let r=e[e.length-1];(r==="-"||r==="+")&&e.length>1&&(e=r+e.slice(0,-1).trim()),t||(e=e.replace(ms,""));let o=e.includes("."),s=e.includes(",");if(o&&s){let i=e.lastIndexOf("."),a=e.lastIndexOf(","),l=a>i,c=l?".":",",u=l?a:i,f=e.slice(0,u).split(c);return f.length>1&&!cr(f)||f[0].replace(fr,"").length>3?null:l?e.replace(mr,"").replace(le,"."):e.replace(le,"")}if(s||o){let i=s?",":".",a=e.split(i);if(a.length>2||i===","&&a.length===2&&a[1].length===3){let l=a[0].replace(fr,"").length;if(l===0){if(i===","||a.length>2)return null}else return l>3?null:cr(a)?e.replace(s?le:mr,""):null}if(s)return e.replace(le,".")}return e}function K(n,{allowNonFiniteNumbers:t=!1,strictNumericString:e=!1,floatScientific:r=!0}={}){if(n==null||typeof n=="symbol")return null;switch(n=it(n),typeof n){case"number":return z(n,{allowNonFiniteNumbers:t})?n:null;case"boolean":return n?1:0;case"bigint":{let o=Number(n);return z(o,{allowNonFiniteNumbers:t})?o:null}case"object":{if(M(n)){let o=n.getTime();return z(o,{allowNonFiniteNumbers:t})?o:null}return null}case"string":{let o=yr(n,e);if(o===null)return null;if(t){let a=o.toLowerCase();if(a==="nan"||a==="-nan"||a==="+nan")return NaN;if(a==="infinity"||a==="+infinity")return 1/0;if(a==="-infinity")return-1/0}if(hr.test(o)&&!r||!pr.test(o))return null;let i=Number(o);return z(i,{allowNonFiniteNumbers:t})?i:null}default:return null}}function dr({locale:n="en-US",accountingNegatives:t=!1,fallback:e="NaN",formatNonFinite:r=!1,...o}={}){o.useGrouping===void 0&&(o.useGrouping=!1),o.maximumFractionDigits===void 0&&o.maximumSignificantDigits===void 0&&(o.maximumFractionDigits=20),t&&(o.currencySign="accounting",o.style===void 0&&(o.style="decimal"));let s=new Intl.NumberFormat(n,o);return i=>{if(typeof i=="bigint")return t&&i<0n?`(${s.format(-i)})`:s.format(i);let a=K(i,{allowNonFiniteNumbers:!0});return a===null||Number.isNaN(a)?e:Number.isFinite(a)?t&&a<0?`(${s.format(Math.abs(a))})`:s.format(a):r?e:t&&a===-1/0?`(${s.format(1/0)})`:String(a)}}function He(n,{floatPrecision:t="Float64",allowNonFiniteNumbers:e=!0,floatScientific:r=!0,strictNumericString:o=!1}={}){let s=K(n,{allowNonFiniteNumbers:e,floatScientific:r,strictNumericString:o});return s===null||(t==="Float32"&&(s=Math.fround(s)),!z(s,{allowNonFiniteNumbers:e}))?null:s}function br(n,{range:t="Int32"}={}){if(!z(n)||!Number.isInteger(n))return!1;let e=typeof t=="string"?gr[t]:t;return n>=e.min&&n<=e.max}function pt(n,{range:t="Int32",coerce:e="truncate"}={}){let r=K(n);if(r===null)return null;switch(e){case"round":r=Math.round(r);break;case"floor":r=Math.floor(r);break;case"ceil":r=Math.ceil(r);break;case"truncate":r=Math.trunc(r);break}let o=typeof t=="string"?gr[t]:t;return ut(r,{min:o.min,max:o.max})}function Mt(n,{range:t="Int64",truncate:e=!1}={}){if(n==null||typeof n=="symbol")return null;n=it(n);let r=null;if(typeof n=="bigint")r=n;else if(typeof n=="string"){let s=yr(n,!1);if(s===null||!pr.test(s))return null;if(hr.test(s)){let i=Number(s);if(!Number.isFinite(i)||!e&&!Number.isInteger(i))return null;r=BigInt(Math.trunc(i))}else{let i=s.indexOf(".");if(i!==-1){if(!e&&/[^0]/.test(s.slice(i+1)))return null;s=s.slice(0,i)}try{r=BigInt(s)}catch{return null}}}else{let s=K(n);if(s===null||!e&&!Number.isInteger(s))return null;r=BigInt(Math.trunc(s))}let o=typeof t=="string"?ps[t]:t;return ut(r,{min:o.min,max:o.max})}function hs(n,t){let e=n-t;if(e<0||t<0)return null;if(e>15)return Number.H;let r=Math.min(t,16),o=Math.pow(10,e)-Math.pow(10,-r);return o>0?o:null}function Je(n,t){let e=n.toString();if(e.includes("e")){let r=Math.pow(10,t);return Math.round(n*r)/r}return+(Math.round(+(e+"e"+t))+"e"+-t)}function ue(n,{precision:t,scale:e}={}){let r=K(n);if(r===null)return null;let o=r;if(e!==void 0&&(o=Je(o,e)),t!==void 0){let i=hs(t,e??0);i!==null&&(o=ut(o,{min:-i,max:i}))}return o}function ut(n,t){if(!t)return n;let{min:e=null,max:r=null,safe:o=!0}=t;if(e!==null&&r!==null&&e>r)return e;let s=n;if(o&&typeof s=="number"){if(Number.isNaN(s))return e!==null?e:r!==null?r:n;if(s===1/0)return r!==null?r:n;if(s===-1/0)return e!==null?e:n}return e!==null&&s<e?e:r!==null&&s>r?r:s}function xr(n){let t=n|0;return function(){let e=t=t+1831565813|0;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}}var pr,fs,ms,hr,fr,mr,le,gr,ps,Wt=R(()=>{"use strict";gt();pr=/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?$/,fs=/0[xobXOB]/,ms=/[\s_]/g,hr=/[eE]/;fr=/^[+-]/,mr=/\./g,le=/,/g;gr={Int8:{min:-128,max:127},Int16:{min:-32768,max:32767},Int32:{min:-2147483648,max:2147483647},UInt8:{min:0,max:255},UInt16:{min:0,max:65535},UInt32:{min:0,max:4294967295}};ps={Int64:{min:-9223372036854775808n,max:9223372036854775807n},UInt64:{min:0n,max:18446744073709551615n}}});function L(n){if(!ArrayBuffer.isView(n))return!1;if(wr)return wr.call(n)!==void 0;let t=Object.prototype.toString.call(n);return t!=="[object DataView]"&&t.endsWith("Array]")}function O(n){return Array.isArray(n)||L(n)}function Gt(n){return n==null?[]:Array.isArray(n)?[...n]:L(n)?Array.from(n):[n]}function Nt(n){let t=Gt(n),e=t.length,r=new Array(e);for(let o=0;o<e;o++)r[o]=String(t[o]);return r}function ce(n,t,e){let r=n.length,o=t<-r||t>=r;if(o&&!e)throw new ct(`Index ${t} is out of bounds for array of length ${r}`);return o?null:n.at(t)??null}function H(n,t,{mode:e="every",allowNulls:r=!1,allowEmpty:o=!0}={}){if(!O(n))return!1;let s=n.length;if(s===0)return o?e==="every":!1;let i=n,a;if(typeof t=="function")a=ar(t)?c=>c instanceof t:t;else switch(t){case"null":a=l=>l===null;break;case"undefined":a=l=>l===void 0;break;case"nullish":a=l=>l==null;break;case"any":a=()=>!0;break;case"date":a=M;break;case"object":a=P;break;case"plainObject":a=Tt;break;case"number":a=z;break;default:a=l=>typeof l===t;break}if(r){let l=a;a=c=>c==null||l(c)}if(e==="every"){for(let l=0;l<s;l++)if(!a(i[l]))return!1;return!0}else{for(let l=0;l<s;l++)if(a(i[l]))return!0;return!1}}function zt(n,{descending:t=!1,nullsLast:e=!0}={}){if(!O(n))return[];let r=n,o=r.length;if(o===0)return[];if(L(n)){let f=r.slice().sort();return t&&f.reverse(),Array.from(f)}let s=[],i=[],a=!0,l=!0,c=!0;for(let f=0;f<o;f++){let m=r[f];if(m==null)i.push(m);else if(s.push(m),c){let h=typeof m;h!=="number"&&(a=!1),h!=="string"&&(l=!1),!a&&!l&&(c=!1)}}return s.length>1&&(a?s.sort(t?(f,m)=>m-f:(f,m)=>f-m):l?s.sort(t?(f,m)=>m.localeCompare(f):(f,m)=>f.localeCompare(m)):s.sort((f,m)=>{let h=typeof f,p=typeof m;if(h!==p){let y=h<p?-1:1;return t?-y:y}return f<m?t?1:-1:f>m?t?-1:1:0})),i.length===0?s:e?s.concat(i):i.concat(s)}function N(n){if(!O(n))return Sr;let t=n.length;if(t===0)return Sr;let e=null,r=null,o=null,s=null,i=0,a=0,l=0,c=0,u=0,f=0;for(let h=0;h<t;h++){let p=n[h];if(p==null||typeof p=="number"&&!z(p,{allowNonFiniteNumbers:!0,allowNaN:!1})){a++;continue}(e==null||p<e)&&(e=p,o=h),(r==null||p>r)&&(r=p,s=h);let y=K(p);if(y!==null){let d=l+y;Math.abs(l)>=Math.abs(y)?c+=l-d+y:c+=y-d+l,l=d,i++;let g=y-u;u+=g/i;let b=y-u;f+=g*b}}let m=i>1?f/(i-1):0;return{sum:i>0?l+c:null,count:i,min:e,max:r,minIdx:o,maxIdx:s,mean:i>0?(l+c)/i:null,variance:m,std:Math.sqrt(m),nullCount:a,len:t,hasNulls:a>0,isNumeric:i>0&&i===t-a}}function bt(n,{strict:t=!1,keySelector:e}={}){let r=Array.from(n),o=new Map;if(t){let i=e??W,a=new Map,l=r.length;for(let u=0;u<l;u++){let f=r[u],m=i(f),h=a.get(m);h===void 0?a.set(m,{val:f,count:1}):h.count++}let c=[];for(let u of a.values())c.push(u.val);for(let u=0;u<l;u++){let f=r[u],m=i(f),h=a.get(m);o.set(f,h.count)}return{values:c,count:c.length,frequencies:o}}let s=r.length;for(let i=0;i<s;i++){let a=r[i];o.set(a,(o.get(a)??0)+1)}return{values:Array.from(o.keys()),count:o.size,frequencies:o}}function Cr(n,{step:t=1,offsetStart:e=0,offsetEnd:r,maxItemsGathered:o,ut:s=!0}={}){if(n==null)return null;if(o!==void 0&&o<=0)return[];if(t===0)throw new Error("Step size step cannot be zero");let i=n.length;if(i===0?e!==0:e>=i||e<-i){if(!s)throw new Error(`Start offset ${e} is out of bounds for array of length ${i}`);return null}let l=e<0?i+e:e,c=r!==void 0?r<0?i+r:r:t>0?i:-1,u=[];if(t>0)for(let f=l;f<c&&f<i&&!(f>=0&&(u.push(n[f]),o!==void 0&&u.length>=o));f+=t);else for(let f=l;f>c&&f>=0&&!(f<i&&(u.push(n[f]),o!==void 0&&u.length>=o));f+=t);return u}function Dr(n,t=",",{ignoreNulls:e=!1,nullValue:r="",prefix:o="",suffix:s="",limit:i,truncationMarker:a="...",valueFormatter:l}={}){let c=n.length,u=[],f=i!==void 0?Math.max(0,i):c,m=!1;for(let h=0;h<c;h++){if(u.length>=f){m=!0;break}let p=n[h];p!=null?u.push(l?l(p,h):String(p)):e||u.push(r)}return o+u.join(t)+(m?a:"")+s}function Ct(n,t,e={}){let r=n.length,{mode:o="cumulative",step:s=1,coerce:i=y=>y,condition:a,reverse:l=!1,startIndex:c=l?r-1:0,endIndex:u=l?-1:r}=e,f=l?-1:1,m=c,h=u,p=(y,d)=>{(!a||a(n[y],y,n))&&(n[y]=i(d))};if(o==="constant"){let y=i(t);for(let d=m;l?d>h:d<h;d+=f)p(d,y)}else if(o==="independent")if(typeof s=="function"){let y=0;for(let d=m;l?d>h:d<h;d+=f)p(d,s({index:y,initialValue:t,originalValue:n[d],absoluteIndex:d,targetArray:n})),y++}else for(let y=m;l?y>h:y<h;y+=f)p(y,t+y*s);else{let y=t,d=!0,g=0;for(let b=m;l?b>h:b<h;b+=f)d?(p(b,y),d=!1):(typeof s=="function"?y=s({prev:y,index:g,originalValue:n[b],absoluteIndex:b,targetArray:n}):y=y+s,p(b,y)),g++}}function Ar(n){let t=n.length,e=0,r=new Float64Array(t);for(let s=0;s<t;s++){let i=n[s],a=K(i,{allowNonFiniteNumbers:!0});a!==null&&z(a,{allowNonFiniteNumbers:!0,allowNaN:!1})&&(r[e++]=a)}if(e===0)return null;let o=r.subarray(0,e);return o.sort(),o}function jt(n){let t=Ar(n);if(!t)return null;let e=t.length,r=Math.floor(e/2);return e%2!==0?t[r]:(t[r-1]+t[r])/2}function fe(n,t){if(t<0||t>1)return null;let e=Ar(n);if(!e)return null;let r=e.length,o=t*(r-1),s=Math.floor(o),i=Math.ceil(o);return s===i?e[s]:e[s]+(o-s)*(e[i]-e[s])}function me(n){if(!O(n)||n.length===0)return null;let t=new Map,e=n.length,r=0,o=[];for(let s=0;s<e;s++){let i=n[s];if(i==null||typeof i=="number"&&!z(i,{allowNonFiniteNumbers:!0,allowNaN:!1}))continue;let a=(t.get(i)??0)+1;t.set(i,a),a>r?(r=a,o=[i]):a===r&&o.push(i)}return o.length===0?null:zt(o)}function Or(n,t){let e=n.length;if(e===0)return[];let r=Math.trunc(t);if(isNaN(r)||r===0)return Array.isArray(n)?n.slice():Array.from(n);let o=Math.abs(r);if(o>=e)return new Array(e).fill(null);let s=new Array(e);if(r>0){s.fill(null,0,r);for(let i=r;i<e;i++){let a=n[i-r];s[i]=a??null}}else{let i=e-o;for(let a=0;a<i;a++){let l=n[a+o];s[a]=l??null}s.fill(null,i,e)}return s}function Ye(n){let t=n.length,e=0,r=0,o=0,s=0,i=0,a=0;for(let m=0;m<t;m++){let h=n[m];if(!h)continue;let p=K(h[0]),y=K(h[1]);if(p===null||y===null)continue;e++;let d=p-r;r+=d/e;let g=p-r,b=y-o;o+=b/e;let S=y-o;a+=d*S,s+=d*g,i+=b*S}if(e<2)return{covariance:null,correlation:null};let l=a/(e-1);if(s===0||i===0)return{covariance:l,correlation:null};let c=Math.sqrt(s*i);if(c===0||Number.isNaN(c))return{covariance:l,correlation:null};let u=a/c,f=Math.max(-1,Math.min(1,u));return{covariance:l,correlation:f}}function Tr(n){let t=n.length,e=new Int32Array(t);for(let s=0;s<t;s++)e[s]=s;e.sort((s,i)=>n[s]-n[i]);let r=new Float64Array(t),o=0;for(;o<t;){let s=o+1;for(;s<t&&n[e[s]]===n[e[o]];)s++;let i=(o+1+s)/2;for(let a=o;a<s;a++)r[e[a]]=i;o=s}return r}function ys(n,t,e){if(e<2)return null;let r=0,o=0,s=0,i=0,a=0;for(let u=0;u<e;u++){let f=n[u],m=t[u],h=f-r;r+=h/(u+1);let p=f-r,y=m-o;o+=y/(u+1);let d=m-o;a+=h*d,s+=h*p,i+=y*d}if(s===0||i===0)return null;let l=Math.sqrt(s*i);if(l===0||Number.isNaN(l))return null;let c=a/l;return Math.max(-1,Math.min(1,c))}function kr(n){let t=n.length,e=new Float64Array(t),r=new Float64Array(t),o=0;for(let a=0;a<t;a++){let l=n[a];if(l){let c=K(l[0]),u=K(l[1]);c!==null&&u!==null&&(e[o]=c,r[o]=u,o++)}}if(o<2)return null;let s=Tr(e.subarray(0,o)),i=Tr(r.subarray(0,o));return ys(s,i,o)}function Ir(n){let t=n.length,e=0,r=0;for(let o=0;o<t;o++){let s=n[o];if(!s)continue;let i=K(s[0]),a=K(s[1]);i===null||a===null||(e+=i*a,r++)}return r>0?e:null}function Er(n){let t=n.length,e=0,r=0,o=0;for(let s=0;s<t;s++){let i=n[s];if(!i)continue;let a=K(i[0]),l=K(i[1]);a===null||l===null||(e+=a*l,r+=l,o++)}return o===0||Math.abs(r)<1e-12?null:e/r}var wr,Sr,Ht=R(()=>{"use strict";gt();Wt();pe();rt();wr=(()=>{try{let n=new Uint8Array(0),t=Object.getPrototypeOf(n),e=Object.getPrototypeOf(t),r=Object.getOwnPropertyDescriptor(e,Symbol.toStringTag)?.get;return r&&r.call(n)==="Uint8Array"?r:void 0}catch{return}})();Sr={sum:null,count:0,min:null,max:null,minIdx:null,maxIdx:null,mean:null,variance:0,std:0,nullCount:0,len:0,hasNulls:!1,isNumeric:!1}});function Rr(n){let t=it(n);return typeof t=="string"?t.trim().length===0:!1}function he(n){let t=it(n);if(t==null)return"";let e=String(t);return typeof RegExp.escape=="function"?RegExp.escape(e):e.replace(ds,"\\$&")}function _t(n,t=null,e={}){if(n==null)return e.returnStringOnNull?"":null;let{mode:r="both",returnStringOnNull:o=!1,maxScanStart:s=1,maxScanEnd:i=1,maxMatchesStart:a=1,maxMatchesEnd:l=1,trimFirst:c=!1,stringOptions:u}=e,{literal:f=!1,caseInsensitive:m=!1}=u??{},h=(T,D="both")=>D==="start"?T.trimStart():D==="end"?T.trimEnd():T.trim(),p=n;if(c&&t!=null&&(p=h(n,r)),t==null){let T=h(p,r);return o||T!==""?T:null}let y=dt(t)?T=>{try{t.lastIndex=0}catch{}return t.test(T)}:(()=>{let T=new Set(m?t.toLowerCase():t);return D=>T.has(m?D.toLowerCase():D)})(),d=p.length;if(s===1&&a===1&&i===1&&l===1&&!f){let T=0,D=d;if(r==="both"||r==="start")for(;T<d&&y(p[T]);)T++;if(r==="both"||r==="end")for(;D>T&&y(p[D-1]);)D--;let v=T===0&&D===d?p:p.substring(T,D);return o||v!==""?v:null}let b=new Uint8Array(d),S=(T,D,v)=>{if(d===0||v===0)return;let mt=T?0:d-1,at=T?d:-1,I=T?1:-1,E=!1,V=0,q=0;for(let J=mt;J!==at;J+=I)if(y(p[J])){if(!E){if(D!==null&&D>=0&&q>=D||v!==null&&v>=0&&V>=v)break;E=!0,V++}b[J]=1}else if(E=!1,q++,D!==null&&D>=0&&q>=D)break},w=(T,D,v,mt,at)=>{if(d===0||at===0||D===0)return;let I=v?0:d-1,E=0,V=0,q=m?p.toLowerCase():p;for(;I>=0&&I<d&&!(at!==null&&at>=0&&E>=at);){let J=v?I:I-D+1;if(!v&&J<0)break;let Y=v?q.indexOf(T,J):q.lastIndexOf(T,J);if(Y===-1)break;let st=v?Y-I:I-(Y+D-1);if(V+=st,mt!==null&&mt>=0&&V>=mt)break;for(let et=0;et<D;et++)b[Y+et]=1;E++,I=v?Y+D:Y-1}};if(r==="both"||r==="start")if(f&&typeof t=="string"){let T=m?t.toLowerCase():t;w(T,t.length,!0,s,a)}else S(!0,s,a);if(r==="both"||r==="end")if(f&&typeof t=="string"){let T=m?t.toLowerCase():t;w(T,t.length,!1,i,l)}else S(!1,i,l);let C="";for(let T=0;T<d;T++)b[T]===0&&(C+=p[T]);return o||C!==""?C:null}function W(n,{depth:t=0,maxDepth:e=50}={}){if(t>e)return"v:circular";if(n===null)return"v:null";if(n===void 0)return"v:undefined";if(M(n))return`d:${n.getTime()}`;if(L(n))return`u:${n.constructor.name}:${n.toString()}`;if(Array.isArray(n)){let r=n.length,o=new Array(r),s={depth:t+1,maxDepth:e};for(let i=0;i<r;i++)o[i]=W(n[i],s);return`a:[${o.join(",")}]`}if(ie(n)){let r=Array.from(n),o=r.length,s=new Array(o),i={depth:t+1,maxDepth:e};for(let a=0;a<o;a++)s[a]=W(r[a],i);return s.sort(),`set:[${s.join(",")}]`}if(ae(n)){let r=Array.from(n.keys()),o=r.length,s=new Array(o),i={depth:t+1,maxDepth:e};for(let a=0;a<o;a++){let l=r[a];s[a]=`${W(l,i)}:${W(n.get(l),i)}`}return s.sort(),`map:{${s.join(",")}}`}if(typeof n=="object"&&typeof n.toJSON=="function"){let r=n.toJSON();if(r!==n)return`j:${W(r,{depth:t+1,maxDepth:e})}`}if(Tt(n)){let r=Object.keys(n).sort(),o=r.length,s=new Array(o),i={depth:t+1,maxDepth:e};for(let a=0;a<o;a++){let l=r[a];s[a]=`${l}:${W(n[l],i)}`}return`o:{${s.join(",")}}`}return dt(n)?`r:${n.toString()}`:typeof n=="function"?`f:${n.toString()}`:typeof n=="string"?`s:${n}`:typeof n=="symbol"?`y:${n.toString()}`:`${typeof n}:${n}`}function ws(n){if(n==null)return[];let t=String(n);if(!t)return[];let r=t.normalize("NFC").replace(gs,"$1$2").match(bs)||[],o=[];for(let s=0;s<r.length;s++){let i=r[s];xs.has(i)||o.push(i)}return o}function Jt(n,t){let e=ws(n),r=e.length;if(r===0)return"";let{format:o}=t;if(o==="camel"||o==="pascal"){let s="";for(let i=0;i<r;i++){let a=e[i];s+=i===0&&o==="camel"?a.toLowerCase():a.charAt(0).toUpperCase()+a.slice(1).toLowerCase()}return s}if(o==="kebab"||o==="snake"){let s=o==="kebab"?"-":"_",i=new Array(r);for(let a=0;a<r;a++)i[a]=e[a].toLowerCase();return i.join(s)}return String(n)}var ds,gs,bs,xs,pe=R(()=>{"use strict";gt();Ht();ds=/[-\/\\^$*+?.()|\[\]{}]/g;gs=/(\p{L})['’](\p{L})/gu,bs=new RegExp(["\\p{Lu}+s(?!\\p{Ll})","\\p{Lu}+(?=\\p{Lu}\\p{Ll})","\\p{Lu}+\\p{Ll}*","\\p{Ll}+","\\p{N}+","\\p{L}+"].join("|"),"gu"),xs=new Set(["__proto__","proto","constructor","prototype"])});var Xe,Ze,Ur=R(()=>{"use strict";Xe=1000n,Ze=1000000n});function Ds(n){let t=Fr.get(n);return t||(t=new Intl.DateTimeFormat("en-US",{timeZone:n,hourCycle:"h23",weekday:"short",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",fractionalSecondDigits:3}),Fr.set(n,t)),t}function As(n,t){let e=`${n}_${t}`,r=Mr.get(e);return r||(r=new Intl.DateTimeFormat(n,{timeZoneName:"short",timeZone:t}),Mr.set(e,r)),r}function Os(n){let t=Nr.get(n);if(t===void 0){try{Intl.DateTimeFormat(void 0,{timeZone:n}),t=!0}catch{t=!1}Nr.set(n,t)}return t}function ht(n){let t=!n||n==="local"?Intl.DateTimeFormat().resolvedOptions().timeZone:n;return Os(t)?t:"UTC"}function Z(n,t=0,e=1,r=0,o=0,s=0,i=0){let a=new Date(0);return a.setUTCFullYear(n,t,e),a.setUTCHours(r,o,s,i),a}function ks(n,t,e){let r=[0,3,2,5,0,3,5,1,4,6,2,4],o=n;return t<3&&(o-=1),(o+Math.floor(o/4)-Math.floor(o/100)+Math.floor(o/400)+r[t-1]+e)%7}function Yt(n,t){let e=ht(t);if(e.toUpperCase()==="UTC")return{year:n.getUTCFullYear(),month:n.getUTCMonth()+1,day:n.getUTCDate(),hour:n.getUTCHours(),minute:n.getUTCMinutes(),second:n.getUTCSeconds(),ms:n.getUTCMilliseconds(),dayOfWeek:n.getUTCDay()};let o=Ds(e).formatToParts(n),s="0",i="0",a="0",l="0",c="0",u="0",f="0";for(let b=0,S=o.length;b<S;b++){let w=o[b];switch(w.type){case"year":s=w.value;break;case"month":i=w.value;break;case"day":a=w.value;break;case"hour":l=w.value;break;case"minute":c=w.value;break;case"second":u=w.value;break;case"fractionalSecond":f=w.value;break}}let m=parseInt(s,10),h=parseInt(i,10),p=parseInt(a,10),y=parseInt(l,10);y===24&&(y=0);let d=Math.round(parseFloat("0."+f)*1e3)||0,g=ks(m,h,p);return{year:m,month:h,day:p,hour:y,minute:parseInt(c,10),second:parseInt(u,10),ms:d,dayOfWeek:g}}function vt(n,t,e){if(t.toUpperCase()==="UTC")return 0;let r=Yt(n,"UTC"),o=e||Yt(n,t),s=Z(r.year,r.month-1,r.day,r.hour,r.minute,r.second,r.ms).getTime(),i=Z(o.year,o.month-1,o.day,o.hour,o.minute,o.second,o.ms).getTime();return Math.round((i-s)/6e4)}function jr(n,t){let e=n>=0?"+":"-",r=Math.abs(n),o=String(Math.floor(r/60)).padStart(2,"0"),s=String(r%60).padStart(2,"0");return t==="iso"?`${e}${o}:${s}`:`${e}${o}${s}`}function G(n,t){let e=it(n);if(e==null)return null;let r=null;if(M(e))r=e;else if(typeof e=="number"||typeof e=="bigint")r=new Date(Is(e));else if(typeof e=="string"){if(Rr(e))return null;r=new Date(e)}if(!r||!M(r))return null;if(t?.dateOnly){let o=typeof e=="string",s=o&&Cs.test(e),i=o&&!s&&!vr.test(e)?"local":"UTC",a=Yt(r,i);return Z(a.year,a.month-1,a.day)}return r}function de(n){let t=it(n);if(t==null)return null;let e=null;if(typeof t=="string"){let o=t.trim();if(Ts.test(o)){let s=vr.test(o);e=G(`1970-01-01T${o}${s?"":"Z"}`)}}let r=e||G(t);return r?Dt(r,{format:"%H:%M:%S.%ms"}):null}function Lr(n,t="ms"){let e=n.getTime();switch(t){case"s":return Math.floor(e/1e3);case"ms":return e;case"us":return BigInt(e)*Xe;case"ns":return BigInt(e)*Ze}}function Is(n){if(typeof n=="bigint"){let e=n<0n?-n:n;return e<=30000000000n?Number(n)*1e3:e<=30000000000000n?Number(n):e<=30000000000000000n?Number(n/Xe):Number(n/Ze)}let t=Math.abs(n);return t<=3e10?n*1e3:t<=3e13?n:t<=3e16?Math.floor(n/1e3):Math.floor(n/1e6)}function Vr(n){if(!M(n))return null;let t=n.getUTCFullYear();return Math.floor((t-1)/100)+1}function nn(n,t={field:"week"}){if(!M(n))return null;let e=Z(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()),r=e.getUTCDay()||7;if(e.setUTCDate(e.getUTCDate()+4-r),t.field==="year")return e.getUTCFullYear();let o=Z(e.getUTCFullYear(),0,1),s=Math.round((e.getTime()-o.getTime())/864e5);return Math.floor(s/7)+1}function Pr(n){if(!M(n))return null;let t=n.getUTCFullYear();return Math.floor((t-1)/1e3)+1}function ge(n,t,e=1){return M(n)?Z(n.getUTCFullYear(),n.getUTCMonth()+t,e):null}function rn(n){if(!M(n))return null;let t=Z(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()).getTime(),e=Z(n.getUTCFullYear(),0,1).getTime();return Math.floor((t-e)/864e5)+1}function Br(n){return M(n)?Math.floor(n.getUTCMonth()/3)+1:null}function on(n){let t;if(M(n))t=n.getUTCFullYear();else if(z(n))t=n;else return!1;return t%4===0&&t%100!==0||t%400===0}function $r(n){return n.replace(/%[FTRD]/g,t=>Rs[t]||t)}function Qe(n,t){return new Date(n.getTime()-t*60*1e3)}function Us(n){let t=n.replace(":",""),e=t[0]==="+"?1:-1,r=parseInt(t.slice(1,3),10)||0,o=parseInt(t.slice(3,5),10)||0;return e*(r*60+o)}function Dt(n,{format:t,locale:e,timeZone:r="UTC"}){if(!M(n)||typeof t!="string")return"";let o=e&&e.trim()||Intl.DateTimeFormat().resolvedOptions().locale||"en-US",s=$r(t),i=null,a=()=>i??=Yt(n,r);return s.replace(ye,(l,c)=>{if(c==="%")return"%";let u=sn[c];return u?u.format(n,o,r,a()):l})}function Kr(n,{format:t,strict:e=!0,defaultTimeZone:r="UTC"}){if(typeof n!="string"||typeof t!="string")return null;let o=$r(t),s=[],i="",a=0;ye.lastIndex=0;let l;for(;(l=ye.exec(o))!==null;){let y=o.slice(a,l.index);i+=he(y);let d=l[1];if(d==="%")i+="\\%";else{let g=sn[d];g&&g.parseRegex?(s.push(g),i+=`(${g.parseRegex})`):i+=he(l[0])}a=ye.lastIndex}i+=he(o.slice(a));let c=new RegExp("^\\s*"+i+"\\s*$"),u=n.match(c);if(!u)return e?null:G(n);let f={year:1970,month:1,day:1,hour:0,minute:0,second:0,ms:0,offset:null},m=null,h=!1;for(let y=0;y<s.length;y++){let d=u[y+1],g=s[y],b=g.parseNormalize?g.parseNormalize(d):parseInt(d,10);g.key==="j"&&(h=!0),g.parseField==="ampm"?m=b:g.parseField==="offset"?f.offset=b:g.parseField&&(f[g.parseField]=b)}if(m&&(m==="PM"&&f.hour<12&&(f.hour+=12),m==="AM"&&f.hour===12&&(f.hour=0)),h){let y=on(f.year)?366:365;if(f.day<1||f.day>y)return null;let d=Z(f.year,0,1);d.setUTCDate(f.day),f.month=d.getUTCMonth()+1,f.day=d.getUTCDate()}let p=Z(f.year,f.month-1,f.day,f.hour,f.minute,f.second,f.ms);if(!M(p)||p.getUTCFullYear()!==f.year||p.getUTCMonth()+1!==f.month||p.getUTCDate()!==f.day||p.getUTCHours()!==f.hour||p.getUTCMinutes()!==f.minute||p.getUTCSeconds()!==f.second||p.getUTCMilliseconds()!==f.ms)return null;if(f.offset)p=Qe(p,Us(f.offset));else if(r.toUpperCase()!=="UTC"){let y=ht(r),d=vt(p,y);p=Qe(p,d);let g=vt(p,y);g!==d&&(p=Qe(p,g-d))}return M(p)?p:null}function an(n,t,{excludeWeekdays:e=[],holidays:r=[],roll:o}={}){if(!br(t))throw new ct(`The offset parameter 'n' must be a whole integer. Received: ${t}`);if(7-e.length<=0)throw new ct("All weekdays are excluded; cannot offset.");let i=new Set;if(r instanceof Set)for(let m of r){let h=new Date(m);e.includes(h.getUTCDay())||i.add(m)}else if(Array.isArray(r))for(let m=0;m<r.length;m++){let h=G(r[m]);if(!h||e.includes(h.getUTCDay()))continue;let p=Z(h.getUTCFullYear(),h.getUTCMonth(),h.getUTCDate());i.add(p.getTime())}let a=m=>e.includes(m.getUTCDay())?!0:i.has(m.getTime()),l=Z(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate());if(o&&a(l)){if(o==="raise")throw new ct("Start date falls on an excluded day or holiday.");let m=o==="forward"?1:-1;for(;a(l);)l.setUTCDate(l.getUTCDate()+m)}if(t===0)return l;let c=t>0?1:-1,u=0,f=Math.abs(t);for(;u<f;)l.setUTCDate(l.getUTCDate()+c),a(l)||u++;return l}function ln(n,t,e){let r=ht(t),o=e?.type??"total",s;if(o==="total")s=vt(n,r);else{let a=Yt(n,r),l=a.year,c=vt(Z(l,0,1),r),u=vt(Z(l,6,1),r),f=Math.min(c,u);o==="daylightSavingTime"?s=vt(n,r,a)-f:s=f}switch(e?.format??"milliseconds"){case"minutes":return s;case"hours":return s/60;case"iso":return jr(s,"iso");case"basic":return jr(s,"basic");default:return s*6e4}}function qr(n,t={}){if(!M(n))return null;let e=t.excludeWeekdays??[0,6],r=n.getUTCDay();if(e.includes(r))return!1;let o=t.holidays;if(o){if(o instanceof Set){let s=Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate());if(o.has(s))return!1}else if(Array.isArray(o)&&o.length>0){let s=new Set;for(let a=0;a<o.length;a++){let l=G(o[a]);l&&s.add(Date.UTC(l.getUTCFullYear(),l.getUTCMonth(),l.getUTCDate()))}let i=Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate());if(s.has(i))return!1}}return!0}var Ts,vr,Cs,Fr,Mr,Nr,sn,Es,ye,Rs,un=R(()=>{"use strict";pe();rt();gt();Wt();Ur();Ts=/^\d{2}:\d{2}/,vr=/(?:Z|[+-]\d{2}(?::?\d{2})?)$/i,Cs=/^\d{4}-\d{2}-\d{2}$/,Fr=new Map;Mr=new Map;Nr=new Map;sn={Y:{key:"Y",format:(n,t,e,r)=>{let o=r.year;return o>=0?String(o).padStart(4,"0"):"-"+String(Math.abs(o)).padStart(4,"0")},parseRegex:"[+-]?\\d{4,}",parseField:"year"},y:{key:"y",format:(n,t,e,r)=>String(Math.abs(r.year)%100).padStart(2,"0"),parseRegex:"\\d{2}",parseField:"year",parseNormalize:n=>{let t=parseInt(n,10);return t+(t>=69?1900:2e3)}},m:{key:"m",format:(n,t,e,r)=>String(r.month).padStart(2,"0"),parseRegex:"\\d{2}",parseField:"month"},d:{key:"d",format:(n,t,e,r)=>String(r.day).padStart(2,"0"),parseRegex:"\\d{2}",parseField:"day"},e:{key:"e",format:(n,t,e,r)=>String(r.day).padStart(2," "),parseRegex:"\\s?\\d{1,2}",parseField:"day"},H:{key:"H",format:(n,t,e,r)=>String(r.hour).padStart(2,"0"),parseRegex:"\\d{2}",parseField:"hour"},I:{key:"I",format:(n,t,e,r)=>String(r.hour%12||12).padStart(2,"0"),parseRegex:"\\d{2}",parseField:"hour"},p:{key:"p",format:(n,t,e,r)=>r.hour>=12?"PM":"AM",parseRegex:"AM|PM|am|pm",parseField:"ampm",parseNormalize:n=>n.toUpperCase()},M:{key:"M",format:(n,t,e,r)=>String(r.minute).padStart(2,"0"),parseRegex:"\\d{2}",parseField:"minute"},S:{key:"S",format:(n,t,e,r)=>String(r.second).padStart(2,"0"),parseRegex:"\\d{2}",parseField:"second"},A:{key:"A",format:(n,t,e)=>n.toLocaleDateString(t,{weekday:"long",timeZone:ht(e)})},a:{key:"a",format:(n,t,e)=>n.toLocaleDateString(t,{weekday:"short",timeZone:ht(e)})},B:{key:"B",format:(n,t,e)=>n.toLocaleDateString(t,{month:"long",timeZone:ht(e)})},b:{key:"b",format:(n,t,e)=>n.toLocaleDateString(t,{month:"short",timeZone:ht(e)})},h:{key:"h",format:(n,t,e)=>n.toLocaleDateString(t,{month:"short",timeZone:ht(e)})},j:{key:"j",format:(n,t,e,r)=>String(rn(Z(r.year,r.month-1,r.day))??1).padStart(3,"0"),parseRegex:"\\d{3}",parseField:"day",parseNormalize:n=>parseInt(n,10)},u:{key:"u",format:(n,t,e,r)=>String(r.dayOfWeek||7)},w:{key:"w",format:(n,t,e,r)=>String(r.dayOfWeek)},Z:{key:"Z",format:(n,t,e)=>{let r=ht(e);if(r.toUpperCase()==="UTC")return"UTC";let o=As(t,r).formatToParts(n);for(let s=0,i=o.length;s<i;s++)if(o[s].type==="timeZoneName")return o[s].value;return"UTC"}},z:{key:"z",format:(n,t,e)=>ln(n,e,{format:"basic"}),parseRegex:"[+-]\\d{2}(?::?\\d{2})?",parseField:"offset",parseNormalize:n=>n.replace(":","")},ms:{key:"ms",format:(n,t,e,r)=>String(r.ms).padStart(3,"0"),parseRegex:"\\d{3}",parseField:"ms",parseNormalize:n=>parseInt(n,10)},f:{key:"f",format:(n,t,e,r)=>String(r.ms).padStart(3,"0").padEnd(6,"0"),parseRegex:"\\d{1,9}",parseField:"ms",parseNormalize:n=>parseInt(n.padEnd(6,"0").slice(0,3),10)}},Es=Object.keys(sn).concat("%").sort((n,t)=>t.length-n.length),ye=new RegExp("%("+Es.join("|")+")","g"),Rs={"%F":"%Y-%m-%d","%T":"%H:%M:%S","%R":"%H:%M","%D":"%m/%d/%y"}});function Wr(n,{format:t="json",allowPrimitives:e=!1,trimBeforeParse:r=!1,reviver:o,ndjson:{skipInvalidLines:s=!1,maxLines:i,skipLines:a}={},guard:l,onError:c,fallback:u=Xt}={}){if(typeof n!="string")return u!==Xt?u:n;let f=r?n.trim():n;if(f==="")return u!==Xt?u:n;let m;try{if(t==="ndjson"){let h=[],p=0,y=0,d=0;cn.lastIndex=0;let g;for(;;){g=cn.exec(f);let b=g?f.substring(d,g.index):f.substring(d);g&&(d=cn.lastIndex);let S=b.trim();if(S!==""&&(p++,a===void 0||p>a))if(!e&&!Fs(S)){if(!s)throw new Error("NDJSON line is not wrapped and primitives are disallowed")}else try{if(h.push(JSON.parse(S,o)),y++,i!==void 0&&y>=i)break}catch(w){if(!s)throw w}if(!g)break}if(h.length===0)throw new Error("No valid NDJSON lines processed");m=h}else{if(!e&&!Ms(f))throw new Error("JSON string is not wrapped and primitives are disallowed");m=JSON.parse(f,o)}}catch(h){return c?.(h),u!==Xt?u:n}return l&&!l(m)?(c?.(new Error("Parsed value failed guard validation")),u!==Xt?u:n):m}function Zt(n={}){let t=n.bigintStrategy??"string",e=n.handleCircular?new WeakSet:null,o=Array.isArray(n.replacer)?n.replacer.map(String):null,s=i=>t==="number"&&i<=BigInt(Number.H)&&i>=BigInt(Number.ct)?Number(i):i.toString();return function(a,l){let c=l;if(typeof n.replacer=="function")c=n.replacer.call(this,a,l);else if(o&&a!==""&&!Array.isArray(this)&&!o.includes(a))return;if(c===void 0)return;let u=c===l&&this!=null?this[a]:c;if(typeof n.onCustom=="function"){let f=n.onCustom.call(this,a,u);if(f!==u||f===void 0&&u!==void 0)return f}if(u!==null&&typeof u!="object"&&typeof u!="bigint")return c;if(e&&u!==null&&typeof u=="object"){if(a===""&&(e=new WeakSet),e.has(u))return n.onCircular?n.onCircular.call(this,a,u):"[Circular]";e.add(u)}return typeof u=="bigint"?n.voidBigIntReplacement?c:n.onBigInt?n.onBigInt(u):s(u):L(u)?n.voidTypedArrayReplacement?c:n.onTypedArray?n.onTypedArray(u):Array.from(u):ie(u)?n.voidSetReplacement?c:n.onSet?n.onSet(u):Array.from(u):ae(u)?n.voidMapReplacement?c:n.onMap?n.onMap(u):Array.from(u.entries()):dt(u)?n.voidRegExpReplacement?c:n.onRegExp?n.onRegExp(u):u.toString():M(u)?n.voidDateReplacement?c:n.onDate?n.onDate(u):n.formatDate?n.formatDate(u):u.toISOString():ur(u)?n.onError?n.onError(u):{name:u.name,message:u.message,stack:u.stack}:lr(u)?n.onURLSearchParams?n.onURLSearchParams(u):u.toString():c}}var cn,Xt,Fs,Ms,be=R(()=>{"use strict";Ht();gt();cn=/\r\n|\n|\r/g,Xt=Symbol("no_fallback"),Fs=n=>{let t=n.length;if(t<2)return!1;let e=n[0],r=n[t-1];return e==="{"&&r==="}"||e==="["&&r==="]"},Ms=n=>{let t=0,e=n.length;for(;t<e&&/\s/.test(n[t]);)t++;let r=e-1;for(;r>=t&&/\s/.test(n[r]);)r--;if(t>=r)return!1;let o=n[t],s=n[r];return o==="{"&&s==="}"||o==="["&&s==="]"}});var Q,Lt,xe,At,Ot,Qt,kt,te,we=R(()=>{"use strict";Q=class n{matches(t){if(t==null)return!1;if(t instanceof n)return!!(this.equals(t)||this.name.startsWith("Decimal")&&t.name.startsWith("Decimal")&&t.precision===void 0&&t.scale===void 0);if(typeof t=="function"){if(t.prototype instanceof n)return this instanceof t;try{let e=t();if(e instanceof n)return this.constructor===e.constructor}catch{}}return!1}get isNumeric(){return!1}get isInteger(){return!1}get isFloat(){return!1}get isSigned(){return!1}get isUnsigned(){return!1}get isTemporal(){return!1}get isNested(){return!1}get isBoolean(){return!1}get isString(){return!1}get isUtf8(){return!1}get isObject(){return!1}get isNull(){return!1}get isBinary(){return!1}},Lt=class extends Q{get isNumeric(){return!0}},xe=class extends Lt{get isInteger(){return!0}},At=class extends xe{get isSigned(){return!0}},Ot=class extends xe{get isUnsigned(){return!0}},Qt=class extends Lt{get isFloat(){return!0}},kt=class extends Q{get isTemporal(){return!0}},te=class extends Q{get isNested(){return!0}}});var fn,Gr,mn,zr,pn,Hr,hn,Te,yn,Jr,dn,Yr,gn,Xr,bn,Zr,xn,Qr,wn,Ce,Se,Sn,De,Tn,ee,Cn,to,Dn,eo,An,no,On,ro,kn,Ae,In,oo,En,so,Rn,io,Un,ao,Fn=R(()=>{"use strict";we();B();fn=class extends At{name="Int8";coerce(t){return pt(t,{range:"Int8"})}equals(t){return t.name==="Int8"}allocate(t){return new Int8Array(t)}},Gr=new fn,mn=class extends At{name="Int16";coerce(t){return pt(t,{range:"Int16"})}equals(t){return t.name==="Int16"}allocate(t){return new Int16Array(t)}},zr=new mn,pn=class extends At{name="Int32";coerce(t){return pt(t,{range:"Int32"})}equals(t){return t.name==="Int32"}allocate(t){return new Int32Array(t)}},Hr=new pn,hn=class extends At{name="Int64";coerce(t){return Mt(t,{truncate:!0})}equals(t){return t.name==="Int64"}allocate(t){return new BigInt64Array(t)}},Te=new hn,yn=class extends Ot{name="UInt8";coerce(t){return pt(t,{range:"UInt8"})}equals(t){return t.name==="UInt8"}allocate(t){return new Uint8Array(t)}},Jr=new yn,dn=class extends Ot{name="UInt16";coerce(t){return pt(t,{range:"UInt16"})}equals(t){return t.name==="UInt16"}allocate(t){return new Uint16Array(t)}},Yr=new dn,gn=class extends Ot{name="UInt32";coerce(t){return pt(t,{range:"UInt32"})}equals(t){return t.name==="UInt32"}allocate(t){return new Uint32Array(t)}},Xr=new gn,bn=class extends Ot{name="UInt64";coerce(t){return Mt(t,{range:"UInt64"})}equals(t){return t.name==="UInt64"}allocate(t){return new BigUint64Array(t)}},Zr=new bn,xn=class extends Qt{name="Float32";coerce(t){return He(t,{floatPrecision:"Float32"})}equals(t){return t.name==="Float32"}allocate(t){return new Float32Array(t)}},Qr=new xn,wn=class extends Qt{name="Float64";coerce(t){return He(t,{floatPrecision:"Float64"})}equals(t){return t.name==="Float64"}allocate(t){return new Float64Array(t)}},Ce=new wn,Se=class n extends Lt{constructor(e,r){super();this.precision=e;this.scale=r;this.name=e!==void 0&&r!==void 0?`Decimal(${e}, ${r})`:"Decimal"}precision;scale;name;coerce(e){return ue(e,{precision:this.precision,scale:this.scale})}equals(e){return e instanceof n&&this.precision===e.precision&&this.scale===e.scale}allocate(e){return new Array(e).fill(null)}},Sn=class extends Q{name="Boolean";get isBoolean(){return!0}coerce(t){return t==null?null:!!t}equals(t){return t.name==="Boolean"}allocate(t){return new Array(t).fill(null)}},De=new Sn,Tn=class extends Q{name="Utf8";get isString(){return!0}get isUtf8(){return!0}coerce(t){return t==null?null:String(t)}equals(t){return t.name==="Utf8"}allocate(t){return new Array(t).fill(null)}},ee=new Tn,Cn=class extends Q{name="Binary";get isBinary(){return!0}coerce(t){return lo(t)}equals(t){return t.name==="Binary"}allocate(t){return new Array(t).fill(null)}},to=new Cn,Dn=class extends Q{name="Null";get isNull(){return!0}coerce(t){return null}equals(t){return t.name==="Null"}allocate(t){return new Array(t).fill(null)}},eo=new Dn,An=class extends Q{name="Object";get isObject(){return!0}coerce(t){return t===void 0?null:t}equals(t){return t.name==="Object"}allocate(t){return new Array(t).fill(null)}},no=new An,On=class extends kt{name="Date";coerce(t){return G(t,{dateOnly:!0})}equals(t){return t.name==="Date"}allocate(t){return new Array(t).fill(null)}},ro=new On,kn=class extends kt{name="Datetime";coerce(t){return G(t)}equals(t){return t.name==="Datetime"}allocate(t){return new Array(t).fill(null)}},Ae=new kn,In=class extends kt{name="Time";coerce(t){return de(t)}equals(t){return t.name==="Time"}allocate(t){return new Array(t).fill(null)}},oo=new In,En=class extends kt{name="Duration";coerce(t){return K(t)}equals(t){return t.name==="Duration"}allocate(t){return new Array(t).fill(null)}},so=new En,Rn=class n extends te{constructor(e){super();this.innerType=e}innerType;name="Array";coerce(e){if(e==null)return null;let r=O(e)?Array.from(e):[e],o=r.length,s=new Array(o);for(let i=0;i<o;i++)s[i]=this.innerType.coerce(r[i]);return s}equals(e){return e instanceof n&&this.innerType.equals(e.innerType)}allocate(e){return new Array(e).fill(null)}},io=n=>new Rn(n),Un=class n extends te{constructor(e){super();this.fields=e}fields;name="Struct";coerce(e){if(!P(e))return null;let r={},o=Object.keys(this.fields),s=o.length;for(let i=0;i<s;i++){let a=o[i],l=this.fields[a];r[a]=l.coerce(e[a])}return r}equals(e){if(!(e instanceof n))return!1;let r=Object.keys(this.fields),o=Object.keys(e.fields);if(r.length!==o.length)return!1;for(let s=0;s<r.length;s++){let i=r[s];if(!this.fields[i].equals(e.fields[i]))return!1}return!0}allocate(e){return new Array(e).fill(null)}},ao=n=>new Un(n)});var F,xt=R(()=>{"use strict";we();Fn();Fn();we();F={Int8:Gr,Int16:zr,Int32:Hr,Int64:Te,UInt8:Jr,UInt16:Yr,UInt32:Xr,UInt64:Zr,Float32:Qr,Float64:Ce,Decimal:(n,t)=>new Se(n,t),Boolean:De,Utf8:ee,Binary:to,Date:ro,Datetime:Ae,Time:oo,Duration:so,Object:no,Null:eo,Array:io,Struct:ao}});function js(n={}){let t=n.nullValue!==void 0?n.nullValue:"",e=dr(n.numericFormatOptions),r=n.replacerOptions||{},o=a=>n.datetimeFormat?Dt(a,{format:n.datetimeFormat}):n.dateFormat?Dt(a,{format:n.dateFormat}):n.timeFormat?Dt(a,{format:n.timeFormat}):a.toISOString(),s=Zt({formatDate:o,...r}),i=typeof r.onBigInt=="function";return a=>{if(a==null||typeof a=="symbol"||typeof a=="function")return{str:t,isNumeric:!1};if(typeof a=="bigint"&&!i&&!r.voidBigIntReplacement)return{str:e(a),isNumeric:!0};let l=s.call(null,"",a),c=it(l);return c==null||typeof c=="symbol"||typeof c=="function"?{str:t,isNumeric:!1}:typeof c=="string"?{str:c,isNumeric:!1}:typeof c=="number"||typeof c=="bigint"?{str:e(c),isNumeric:!0}:typeof c=="boolean"?{str:c?"true":"false",isNumeric:!1}:typeof c=="object"?{str:JSON.stringify(c,Zt({formatDate:o,...r})),isNumeric:!1}:{str:String(c),isNumeric:!1}}}function ke(n,t,e={}){let{separator:r=",",quoteChar:o='"',includeHeader:s=!0,lineTerminator:i=`
2
- `,quoteStyle:a="necessary",includeBom:l=!1,onRow:c,...u}=e,f=Object.keys(n),m=f.length,h=[],p=!0,y=js(u),d=(b,S=!1)=>{let w,C=!1;if(S)w=String(b);else{let D=y(b);w=D.str,C=D.isNumeric}if(a==="never")return w;if(a==="always"){let D=w.split(o).join(o+o);return o+D+o}if(a==="non_numeric"&&!C&&b!=null){let D=w.split(o).join(o+o);return o+D+o}if(w.includes(r)||w.includes(o)||w.includes(`
3
- `)||w.includes("\r")){let D=w.split(o).join(o+o);return o+D+o}return w},g=b=>{if(p){let S=l?"\uFEFF"+b:b;c?c(S):h.push(S),p=!1}else c?c(i+b):h.push(b)};if(s){let b=new Array(m);for(let S=0;S<m;S++)b[S]=d(f[S],!0);g(b.join(r))}for(let b=0;b<t;b++){let S=new Array(m);for(let w=0;w<m;w++)S[w]=d(n[f[w]][b],!1);g(S.join(r))}return c?l?"\uFEFF":"":h.join(i)}function uo(n,t={}){let e=t.separator||",",r=t.quoteChar||'"',o=n;o.startsWith("\uFEFF")&&(o=o.substring("\uFEFF".length));let s=[],i=[],a="",l=!1,c=!1,u=!1,f=o.length;for(let m=0;m<f;m++){let h=o[m];if(l)c=!0,u=!1,h===r?m+1<f&&o[m+1]===r?(a+=r,m++):l=!1:a+=h;else if(h===r)c=!0,u=!1,l=!0;else if(h===e)i.push(a),a="",u=!0;else{let p=!1;h==="\r"?(p=!0,m+1<f&&o[m+1]===`
4
- `&&m++):h===`
5
- `&&(p=!0),p?(c||i.length>0||a!==""||u)&&(i.push(a),s.push(i),i=[],a="",c=!1,u=!1):(c=!0,u=!1,a+=h)}}return(c||i.length>0||a!==""||u)&&(i.push(a),s.push(i)),s}function co(n,t={}){let e=new Set(t.nullValues??["","NA","null","NaN"]),r=n.length,o=!0,s=!0,i=!0,a=!0,l=!1;for(let u=0;u<r;u++){let f=n[u].trim();if(!e.has(f)){if(l=!0,o){let m=f.toLowerCase();m!=="true"&&m!=="false"&&m!=="1"&&m!=="0"&&(o=!1)}if(i&&Mt(f,{truncate:!1})===null&&(i=!1),s&&K(f,{allowNonFiniteNumbers:!0})===null&&(s=!1),a&&G(f)===null&&(a=!1),!o&&!s&&!i&&!a)break}}let c=new Array(r);if(!l||!o&&!s&&!i&&!a){for(let u=0;u<r;u++){let f=n[u];c[u]=e.has(f.trim())?null:f}return{type:ee,values:c}}if(o){for(let u=0;u<r;u++){let f=n[u].trim();if(e.has(f))c[u]=null;else{let m=f.toLowerCase();c[u]=m==="true"||m==="1"}}return{type:De,values:c}}if(i){for(let u=0;u<r;u++){let f=n[u].trim();c[u]=e.has(f)?null:Mt(f,{truncate:!1})}return{type:Te,values:c}}if(s){for(let u=0;u<r;u++){let f=n[u].trim();c[u]=e.has(f)?null:K(f,{allowNonFiniteNumbers:!0})}return{type:Ce,values:c}}if(a){for(let u=0;u<r;u++){let f=n[u].trim();c[u]=e.has(f)?null:G(f)}return{type:Ae,values:c}}return{type:ee,values:c}}var fo=R(()=>{"use strict";un();be();Wt();xt();gt()});function _s(n){return n==null?!1:typeof n=="string"||L(n)?!0:Array.isArray(n)}function lo(n){return _s(n)?Object.prototype.toString.call(n)==="[object Uint8Array]"?n:typeof n=="string"?new TextEncoder().encode(n):L(n)?new Uint8Array(n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength)):new Uint8Array(n):null}var mo=R(()=>{"use strict";Ht()});var B=R(()=>{"use strict";gt();Wt();un();Ht();pe();be();fo();mo()});function tt(n,t,e,r=""){if(!(n in t))throw new wt(n,`${e} "${n}" does not exist${r}`)}function Nn(n,t){let e=Object.keys(n),r=e.length,o=t;for(let s=0;s<r;s++){let i=e[s],a=n[i],l=O(a)?a.length:0;if(o===void 0)o=l;else if(l!==o)throw new X(`Column height mismatch: Column "${i}" has length ${l}, but DataFrame height is ${o}`)}return o===void 0?0:o}var po=R(()=>{"use strict";rt();B()});var Vt,$,wt,ne,ct,X,rt=R(()=>{"use strict";po();Vt=class extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},$=class extends Vt{},wt=class extends ${constructor(t,e){super(e||`Column "${t}" does not exist in the DataFrame.`)}},ne=class extends Vt{},ct=class extends Vt{},X=class extends Vt{}});function Ls(n,t,e){let r=new Map,o=e.length,s=new Array(o);for(let i=0;i<o;i++){let a=e[i];typeof a=="string"?(tt(a,n,"Partition key"," in the DataFrame."),s[i]=n[a]):s[i]=a.evaluate(n,t)}if(o===1){let i=s[0];for(let a=0;a<t;a++){let l=i[a],c=l==null?"":W(l),u=r.get(c);u===void 0&&(u=[],r.set(c,u)),u.push(a)}return r}for(let i=0;i<t;i++){let a=new Array(o);for(let u=0;u<o;u++){let f=s[u][i];a[u]=f==null?"":W(f)}let l=a.join("\0"),c=r.get(l);c===void 0&&(c=[],r.set(l,c)),c.push(i)}return r}function ho(n,t,e){let r=new Array(e);if(e===0)return r;let o=n.p||[],s=Ls(t,e,o),i=n.U(n.T,t,e);for(let a of s.values()){let l=a.length,c=new Array(l);for(let u=0;u<l;u++)c[u]=i[a[u]];if(n.b){for(let u=0;u<l;u++)r[a[u]]=n.b(c,a,u);continue}if(n.m){let u=n.m(c);for(let f=0;f<l;f++)r[a[f]]=u;continue}for(let u=0;u<l;u++)r[a[u]]=i[a[u]]}return n.v(n.T,r,t)}function yo(n){if(!Array.isArray(n)||n.length===0)return{columns:{},height:0};let t=n.length,e=new Set;for(let s=0;s<t;s++){let i=n[s];if(P(i)){let a=Object.keys(i);for(let l=0;l<a.length;l++)e.add(a[l])}}let r=Array.from(e),o={};for(let s=0;s<r.length;s++)o[r[s]]=new Array(t);for(let s=0;s<t;s++){let i=n[s]||{};for(let a=0;a<r.length;a++){let l=r[a],c=i[l];o[l][s]=c===void 0?null:c}}return{columns:o,height:t}}function go(n,t){let e=Object.keys(n),r=new Array(t);for(let o=0;o<t;o++){let s={};for(let i=0;i<e.length;i++){let a=e[i],l=n[a][o];s[a]=l===void 0?null:l}r[o]=s}return r}function Ji(n,t,e){let r={};for(let o=0;o<e.length;o++){let s=e[o],i=n[s][t];r[s]=i===void 0?null:i}return r}function St(n){if(n.length===0)return F.Utf8;let t=!0,e=!0,r=!0,o=!0,s=!0,i=!0,a=!0,l=!0,c=!1,u=!1,f=[];for(let m=0;m<n.length;m++){let h=n[m];if(h!=null){if(u=!0,h instanceof Uint8Array||(a=!1),!O(h)||h instanceof Uint8Array)i=!1;else{let p=h,y=p.length;for(let d=0;d<y;d++)f.push(p[d])}M(h)&&(c=!0),typeof h!="boolean"&&(t=!1),typeof h!="bigint"&&(o=!1),typeof h!="number"?(r=!1,e=!1):Number.isInteger(h)||(e=!1),!M(h)&&(typeof h!="string"||isNaN(Date.parse(h)))&&(s=!1),(!P(h)||h instanceof Uint8Array)&&(l=!1)}}if(!u)return F.Utf8;if(a)return F.Binary;if(i){let m=St(f);return F.Array(m)}if(t)return F.Boolean;if(o)return F.Int64;if(r&&!e)return F.Float64;if(r&&e){let m=!0;for(let h=0;h<n.length;h++){let p=n[h];if(p!=null&&(p<-2147483648||p>2147483647)){m=!1;break}}return m?F.Int32:F.Float64}return s&&c?F.Datetime:l?F.Object:F.Utf8}function re(n,t){let e=Object.keys(n),r=e.length,o=t.length,s={};for(let i=0;i<r;i++){let a=e[i],l=n[a],c=L(l)?new l.constructor(o):new Array(o);for(let u=0;u<o;u++)c[u]=l[t[u]];s[a]=c}return s}function Pt(n,t,e){let r=t.length;if(r===1){let s=n[t[0]][e];return s==null?"":W(s)}let o=new Array(r);for(let s=0;s<r;s++){let i=n[t[s]][e];o[s]=i==null?"":W(i)}return o.join("\0")}function It(n,t,e){let r=t.allocate?t.allocate(e):new Array(e);if(L(r)){let s=r;for(let i=0;i<e;i++){let a=t.coerce(n[i]);if(a==null){let l=new Array(e);for(let c=0;c<i;c++)l[c]=s[c];l[i]=null;for(let c=i+1;c<e;c++)l[c]=t.coerce(n[c]);return l}s[i]=a}}else for(let s=0;s<e;s++)r[s]=t.coerce(n[s]);return r}function bo(n,t){if(n)if(typeof n=="string"){if(typeof Ut!="function")throw new Error("File writing is not supported in this environment (missing require('fs')).");Ut("fs").writeFileSync(n,t,"utf8")}else if(P(n)&&typeof n.write=="function")n.write(t);else throw new TypeError("Invalid file argument. Expected a file path string or a writable stream/object with a write method.")}var Ie=R(()=>{"use strict";xt();B();rt()});function Et(n,t,e){return n.P?ho(n,t,e):n.evaluate(t,e)}var A,U,yt=R(()=>{"use strict";B();Ie();A=n=>t=>{let e=t.length,r=new Array(e);for(let o=0;o<e;o++){let s=t[o];r[o]=s==null?null:n(s)}return r},U=(n,t,e)=>(r,o)=>{let s=r.length,i=n.y(t,o,s),a=new Array(s);if(O(i))for(let l=0;l<s;l++){let c=r[l],u=i[l];a[l]=c==null||u==null?null:e(c,u)}else for(let l=0;l<s;l++){let c=r[l];a[l]=c==null||i==null?null:e(c,i)}return a}});var x,j,ot=R(()=>{"use strict";rt();yt();x=(n,t)=>{let e=n.constructor,r=n.C||n.u||"",o=new e(r);return Object.assign(o,n),o.c=t?[...n.c,t]:[...n.c],o},j=class n{c=[];f="";N;L;m=null;d;T;p=null;b;v(t,e,r){let o=this.c,s=t!==void 0?t:o.length,i=e;for(let a=s;a<o.length;a++)i=o[a](i,r);return i}U(t,e,r){let o=this.Y(e,r),s=this.c,i=t!==void 0?t:s.length;for(let a=0;a<i;a++)o=s[a](o,e);return o}Y(t,e){let r=this.u;if(r&&r!=="*"&&!r.startsWith("*")&&!(r in t))throw new wt(r);return(r&&r!=="*"?t[r]:null)||new Array(e).fill(null)}y(t,e,r){return t instanceof n?t.N&&t.c.length===1?t.L:Et(t,e,r):t}alias(t){let e=x(this);return e.f=t,e}cast(t){return x(this,e=>{let r=e.length,o=new Array(r);for(let s=0;s<r;s++)o[s]=t.coerce(e[s]);return o})}debug(t){return x(this,e=>(console.log(`[DEBUG] ${t?t+": ":""}`,e),e))}evaluate(t,e){return this.U(void 0,t,e)}}});var Ee,xo=R(()=>{"use strict";ot();yt();B();Ee=class extends j{abs(){return x(this,A(Math.abs))}acos(){return x(this,A(t=>t<-1||t>1?null:Math.acos(t)))}acosh(){return x(this,A(t=>t<1?null:Math.acosh(t)))}add(t){return x(this,U(this,t,(e,r)=>e+r))}asin(){return x(this,A(t=>t<-1||t>1?null:Math.asin(t)))}asinh(){return x(this,A(Math.asinh))}atan(){return x(this,A(Math.atan))}atan2(t){return x(this,U(this,t,Math.atan2))}atanh(){return x(this,A(t=>t<=-1||t>=1?null:Math.atanh(t)))}cbrt(){return x(this,A(Math.cbrt))}ceil(){return x(this,A(Math.ceil))}clip(t=null,e=null){return x(this,A(r=>ut(r,{min:t,max:e})))}copysign(t){return x(this,U(this,t,(e,r)=>Math.abs(e)*(r>=0?1:-1)))}cos(){return x(this,A(Math.cos))}cosh(){return x(this,A(Math.cosh))}degrees(){return x(this,A(t=>t*(180/Math.PI)))}div(t){return x(this,U(this,t,(e,r)=>r===0?null:e/r))}exp(){return x(this,A(Math.exp))}expm1(){return x(this,A(Math.expm1))}floor(){return x(this,A(Math.floor))}floordiv(t){return x(this,U(this,t,(e,r)=>r===0?null:Math.floor(e/r)))}hypot(t){return x(this,U(this,t,Math.hypot))}log(t=Math.E){return x(this,A(e=>e<=0?null:t===Math.E?Math.log(e):Math.log(e)/Math.log(t)))}log1p(){return x(this,A(t=>t<=-1?null:Math.log1p(t)))}mod(t){return x(this,U(this,t,(e,r)=>r===0?null:e%r))}mul(t){return x(this,U(this,t,(e,r)=>e*r))}negate(){return x(this,A(t=>-t))}pow(t){return x(this,U(this,t,Math.pow))}radians(){return x(this,A(t=>t*(Math.PI/180)))}rand(t,{min:e=0,max:r=1,integer:o=!1}={}){return x(this,s=>{let i=s.length,a=new Float64Array(i),l=t!==void 0?xr(t):Math.random,c=r-e;for(let u=0;u<i;u++){let f=l();a[u]=o?Math.floor(f*(c+1))+e:f*c+e}return a})}round(t=0){return x(this,A(e=>Je(e,t)))}ft(t){return x(this,A(e=>z(e)?Number(e.toPrecision(t)):e))}sign(){return x(this,A(Math.sign))}sin(){return x(this,A(Math.sin))}sinh(){return x(this,A(Math.sinh))}sqrt(){return x(this,A(t=>t<0?null:Math.sqrt(t)))}sub(t){return x(this,U(this,t,(e,r)=>e-r))}tan(){return x(this,A(Math.tan))}tanh(){return x(this,A(Math.tanh))}trunc(){return x(this,A(Math.trunc))}}});var Re,wo=R(()=>{"use strict";ot();yt();B();Re=class extends j{and(t){return x(this,(e,r)=>{let o=e.length,s=this.y(t,r,o),i=O(s),a=new Array(o);for(let l=0;l<o;l++){let c=e[l],u=i?s[l]:s;c===!1||u===!1?a[l]=!1:c==null||u==null?a[l]=null:a[l]=!0}return a})}not(){return x(this,A(t=>!t))}or(t){return x(this,(e,r)=>{let o=e.length,s=this.y(t,r,o),i=O(s),a=new Array(o);for(let l=0;l<o;l++){let c=e[l],u=i?s[l]:s;c===!0||u===!0?a[l]=!0:c==null||u==null?a[l]=null:a[l]=!1}return a})}xor(t){return x(this,U(this,t,(e,r)=>!!e!=!!r))}}});function So(n,t,e,r){let o=n.length,s=new Array(o);if(e&&typeof e=="object"&&"evaluate"in e){let i=e.evaluate(t,o);for(let a=0;a<o;a++){let l=n[a];if(l==null)s[a]=null;else{let c=i[a],u=new Set;if(O(c)){let m=c.length;for(let h=0;h<m;h++)u.add(W(c[h]))}else u.add(W(c));let f=u.has(W(l));s[a]=r?!f:f}}}else{let i=O(e)?e:[],a=new Set,l=i.length;for(let c=0;c<l;c++)a.add(W(i[c]));for(let c=0;c<o;c++){let u=n[c];if(u==null)s[c]=null;else{let f=a.has(W(u));s[c]=r?!f:f}}}return s}function To(n,t){let{frequencies:e}=bt(n,{strict:!0}),r=n.length,o=new Array(r);for(let s=0;s<r;s++){let i=e.get(n[s])||0;o[s]=t?i>1:i===1}return o}function Co(n,t,e){let r=n.length,o=new Array(r);if(O(t))for(let s=0;s<r;s++){let i=n[s],a=t[s];i==null&&a==null?o[s]=!e:i==null||a==null?o[s]=e:o[s]=e?i!==a:i===a}else for(let s=0;s<r;s++){let i=n[s];i==null&&t==null?o[s]=!e:i==null||t==null?o[s]=e:o[s]=e?i!==t:i===t}return o}var Ue,Do=R(()=>{"use strict";ot();yt();B();Ue=class extends j{between(t,e,r="both"){return x(this,(o,s)=>{let i=o.length,a=this.y(t,s,i),l=this.y(e,s,i),c=new Array(i),u=O(a),f=O(l);for(let m=0;m<i;m++){let h=o[m],p=u?a[m]:a,y=f?l[m]:l;if(h==null||p==null||y==null)c[m]=null;else{let d=r==="both"||r==="left"?h>=p:h>p,g=r==="both"||r==="right"?h<=y:h<y;c[m]=d&&g}}return c})}eq(t){return x(this,U(this,t,(e,r)=>e===r))}mt(t){return x(this,(e,r)=>{let o=this.y(t,r,e.length);return Co(e,o,!1)})}ge(t){return x(this,U(this,t,(e,r)=>e>=r))}gt(t){return x(this,U(this,t,(e,r)=>e>r))}pt(){return this.l(t=>{for(let e=0;e<t.length;e++)if(t[e]==null)return!0;return!1})}ht(t,{yt:e=1e-8,bt:r=1e-8,xt:o=!1}={}){return x(this,(s,i)=>{let a=s.length,l=this.y(t,i,a),c=O(l),u=new Array(a);for(let f=0;f<a;f++){let m=s[f],h=c?l[f]:l;if(m==null||h==null)u[f]=null;else if(z(m)&&z(h)){let p=Math.abs(m-h),y=Math.max(r*Math.max(Math.abs(m),Math.abs(h)),e);u[f]=p<=y}else Number.isNaN(m)&&Number.isNaN(h)?u[f]=o:u[f]=m===h}return u})}wt(){return x(this,t=>To(t,!0))}St({ignoreNulls:t=!1}={}){return x(this,A(e=>typeof e=="string"?e.length===0:O(e)?t?H(e,"nullish",{mode:"every"}):e.length===0:null))}Tt(){return x(this,A(Number.isFinite))}Ct(t){return x(this,(e,r)=>So(e,r,t,!1))}Dt(){return x(this,A(t=>t===1/0||t===-1/0))}At(){return x(this,A(Number.isNaN))}Ot(){return x(this,A(t=>!Number.isNaN(t)))}B(){return x(this,t=>{let e=t.length,r=new Array(e);for(let o=0;o<e;o++)r[o]=t[o]!=null;return r})}kt(){return x(this,t=>{let e=t.length,r=new Array(e);for(let o=0;o<e;o++)r[o]=t[o]==null;return r})}Et(){return x(this,t=>To(t,!1))}le(t){return x(this,U(this,t,(e,r)=>e<=r))}lt(t){return x(this,U(this,t,(e,r)=>e<r))}ne(t){return x(this,U(this,t,(e,r)=>e!==r))}It(t){return x(this,(e,r)=>{let o=this.y(t,r,e.length);return Co(e,o,!0)})}Rt(t){return x(this,(e,r)=>So(e,r,t,!0))}}});var jn,Fe,Ao=R(()=>{"use strict";ot();yt();B();jn=class{constructor(t){this.expr=t}expr;r(t){return x(this.expr,A(e=>t(String(e))))}O(t,e){return t==null?x(this.expr,r=>new Array(r.length).fill(null)):e()}concat(t){return x(this.expr,U(this.expr,t,(e,r)=>String(e)+String(r)))}contains(t){return this.O(t,()=>this.r(e=>dt(t)?t.test(e):e.includes(t)))}X(t){return this.O(t,()=>this.r(e=>{if(dt(t)){let r=t.global?t:new RegExp(t.source,t.flags+"g"),o=e.match(r);return o?o.length:0}else{let r=0,o=e.indexOf(t);for(;o!==-1;)r++,o=e.indexOf(t,o+t.length);return r}}))}Ft(){return this.r(t=>{try{return decodeURIComponent(t)}catch{return t}})}Ut(){return this.r(t=>{try{return encodeURIComponent(t)}catch{return t}})}Nt(t){return this.r(e=>e.endsWith(t))}explode(){return this.r(t=>t.split(""))}extract(t,e=0){return this.O(t,()=>this.r(r=>{let o=r.match(t);return o&&o[e]!==void 0?o[e]:null}))}len(){return this.Z()}Mt(){return this.r(t=>new TextEncoder().encode(t).length)}Z(){return this.r(t=>t.length)}lower(){return this.r(t=>t.toLowerCase())}lpad(t,e=" "){return this.r(r=>r.padStart(t,e))}jt(t,e=" "){return this.rpad(t,e)}_t(t,e=" "){return this.lpad(t,e)}replace(t,e){return this.O(t,()=>this.r(r=>r.replace(t,e)))}vt(t,e){return this.O(t,()=>this.r(r=>r.replaceAll(t,e)))}reverse(){return this.r(t=>t.split("").reverse().join(""))}rpad(t,e=" "){return this.r(r=>r.padEnd(t,e))}slice(t,e){return this.r(r=>{let o=t<0?r.length+t:t,s=e!==void 0?o+e:void 0;return r.slice(o,s)})}split(t){return this.r(e=>e.split(t))}Lt(t){return this.r(e=>e.startsWith(t))}Q(t,e){return this.r(r=>_t(r,t,{mode:"both",...e}))}tt(t,e){return this.r(r=>_t(r,t,{mode:"end",...e}))}et(t,e){return this.r(r=>_t(r,t,{mode:"start",...e}))}Vt(t){return this.r(e=>_t(e,t,{mode:"start",maxScanStart:1,maxMatchesStart:1,returnStringOnNull:!0,stringOptions:{literal:!0}}))}Pt(t){return this.r(e=>_t(e,t,{mode:"end",maxScanEnd:1,maxMatchesEnd:1,returnStringOnNull:!0,stringOptions:{literal:!0}}))}strptime(t){return this.r(e=>Kr(e,t))}Bt(){return this.r(t=>Jt(t,{format:"camel"}))}$t(){return this.r(t=>G(t,{dateOnly:!0}))}Kt(){return this.r(G)}qt(t,e){return this.r(r=>ue(r,{precision:t,scale:e}))}Jt(){return this.r(t=>pt(t))}Wt(){return this.r(t=>Jt(t,{format:"kebab"}))}Gt(){return this.lower()}zt(){return this.r(t=>Jt(t,{format:"pascal"}))}Ht(){return this.r(t=>Jt(t,{format:"snake"}))}Yt(){return this.r(de)}Xt(){return this.r(t=>t.replace(/\b\w/g,e=>e.toUpperCase()))}Zt(){return this.upper()}trim(){return this.Q()}Qt(){return this.tt()}te(){return this.et()}upper(){return this.r(t=>t.toUpperCase())}zfill(t){return this.r(e=>e.padStart(t,"0"))}},Fe=class extends j{get str(){return new jn(this)}}});var Me,Oo=R(()=>{"use strict";ot();yt();rt();B();Me=class extends j{l(t){let e=x(this);return e.m=t,e.d=this.c.length,e.T=this.c.length,e}k(t,e){return x(this,U(this,t,(r,o)=>[r,o])).l(e)}all(){return this.l(t=>H(t,e=>!!e,{mode:"every"}))}ee(){return this.l(t=>H(t,"nullish",{mode:"every"}))}any(){return this.l(t=>H(t,e=>!!e,{mode:"some"}))}re(){return this.l(t=>H(t,"nullish",{mode:"some"}))}avg(){return this.l(t=>N(t).mean)}corr(t){return this.k(t,e=>Ye(e)?.correlation??null)}count(t={}){return t.includeNulls?this.l(e=>e.length):this.l(e=>N(e).count)}cov(t){return this.k(t,e=>Ye(e)?.covariance??null)}dot(t){return this.k(t,e=>Ir(e))}first(){return this.l(t=>t[0]??null)}implode(){return this.l(t=>t)}last(){return this.l(t=>t[t.length-1]??null)}max(){return this.l(t=>N(t).max)}mean(){return this.avg()}median(){return this.l(t=>jt(t))}min(){return this.l(t=>N(t).min)}mode(){return this.l(t=>me(t))}nt(t={}){return this.l(e=>bt(e,t).count)}oe(){return this.l(t=>N(t).nullCount)}quantile(t){if(t<0||t>1)throw new ct("Quantile q must be between 0 and 1");return this.l(e=>fe(e,t))}se(t){return this.k(t,e=>kr(e))}std(){return this.l(t=>N(t).std)}sum(){return this.l(t=>N(t).sum)}ie(t){return this.k(t,e=>Er(e))}}});function _n(n,t,e={}){if(t==null)return null;let r=e.dense?"_denseRankCache":"_rankCache",o=n[r];if(!o){let s=n;if(e.ignoreNulls){s=[];let l=n.length;for(let c=0;c<l;c++)n[c]!=null&&s.push(n[c])}e.dense&&(s=Array.from(new Set(s)));let i=zt(s);o=new Map;let a=i.length;for(let l=0;l<a;l++){let c=i[l];o.has(c)||o.set(c,l+1)}n[r]=o}return o.get(t)??null}var Ne,ko=R(()=>{"use strict";ot();B();Ne=class extends j{p=this.p||null;x(t){let e=x(this);return e.T=this.c.length,e.d=this.c.length,e.b=t,e}g(t,e){return this.x(function(r,o,s){let i=Math.max(0,s-t+1),a=s+1,l=r.slice(i,a);return e(l)})}I(t,e,r,o){return this.x(function(s,i,a){let l=e,c=!1,u=t?a:0,f=t?s.length-1:a;for(let m=u;m<=f;m++){let h=s[m];h!=null&&(l=r(l,h),c=!0)}return o?o(l,c):l})}get P(){return this.p!==null||this.b!==void 0||this.m!==null}ae(t=!1){return this.I(t,0,e=>e+1)}ue(t=!1){return this.I(t,null,(e,r)=>e===null||r>e?r:e)}ce(t=!1){return this.I(t,null,(e,r)=>e===null||r<e?r:e)}fe(t=!1){return this.I(t,1,(e,r)=>e*r,(e,r)=>r?e:null)}me(t=!1){return this.I(t,0,(e,r)=>e+r)}pe(){return this.x(function(t,e,r){return _n(t,t[r],{dense:!0})})}lag(t=1,e=null){return this.x(function(r,o,s){let i=e;return s-t>=0&&(i=r[s-t]),i})}lead(t=1,e=null){return this.x(function(r,o,s){let i=e;return s+t<r.length&&(i=r[s+t]),i})}over(t){let e=x(this),r=Array.isArray(t)?t:[t];return e.p=r,e}rank(){return this.x(function(t,e,r){return _n(t,t[r])})}he(t){return this.g(t,e=>N(e).max)}ye(t){return this.g(t,e=>N(e).mean)}de(t){return this.g(t,e=>jt(e))}be(t){return this.g(t,e=>N(e).min)}xe(t,e){return this.g(e,r=>fe(r,t))}we(t){return this.g(t,e=>_n(e,e[e.length-1],{ignoreNulls:!0}))}Se(t){return this.g(t,e=>N(e).std)}Te(t){return this.g(t,e=>N(e).sum)}Ce(){let t=this.x(function(e,r,o){return o+1});return t.f="row_number",t}}});var vn,je,Io=R(()=>{"use strict";ot();yt();B();vn=class{constructor(t){this.expr=t}expr;i(t){return x(this.expr,A(e=>{let r=G(e);return r?t(r):null}))}w(t){return x(this.expr,A(e=>typeof e=="number"?t(e):null))}century(){return this.i(Vr)}date(){return this.i(t=>new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())))}day(){return this.i(t=>t.getUTCDate())}De(){return this.i(t=>{let e=ge(t,1,0);return e?e.getUTCDate():null})}epoch(t="ms"){return this.i(e=>Lr(e,t))}hour(){return this.i(t=>t.getUTCHours())}Ae(t={}){return this.i(e=>qr(e,t))}Oe(){return this.i(on)}rt(){return this.i(t=>nn(t,{field:"week"}))}ke(){return this.i(t=>nn(t,{field:"year"}))}microsecond(){return this.i(t=>t.getUTCMilliseconds()*1e3)}millennium(){return this.i(Pr)}millisecond(){return this.i(t=>t.getUTCMilliseconds())}minute(){return this.i(t=>t.getUTCMinutes())}month(){return this.i(t=>t.getUTCMonth()+1)}Ee(){return this.i(t=>ge(t,1,0))}Ie(){return this.i(t=>ge(t,0,1))}nanosecond(){return this.i(t=>t.getUTCMilliseconds()*1e6)}Re(t,{excludeWeekdays:e=[0,6],...r}={}){let o={excludeWeekdays:e,...r};return x(this.expr,U(this.expr,t,(s,i)=>{let a=G(s);return a?an(a,i,o):null}))}Fe(t,e={}){return x(this.expr,U(this.expr,t,(r,o)=>{let s=G(r);return s?an(s,o,e):null}))}Ue(){return this.i(rn)}quarter(){return this.i(Br)}second(){return this.i(t=>t.getUTCSeconds())}strftime(t){return this.i(e=>Dt(e,t))}time(){return this.i(t=>t.toISOString().split("T")[1].slice(0,12))}timestamp(t="ms"){return this.epoch(t)}Ne(t){return this.strftime(t)}Me(){return this.w(t=>t/864e5)}je(){return this.w(t=>t/36e5)}_e(){return this.w(t=>t*1e3)}ve(){return this.w(t=>t)}Le(){return this.w(t=>t/6e4)}Ve(){return this.w(t=>t*1e6)}Pe(){return this.w(t=>t/1e3)}Be(t,e={}){return x(this.expr,A(r=>{let o=G(r);return o?ln(o,t,e):null}))}week(){return this.rt()}weekday(){return this.i(t=>t.getUTCDay()||7)}year(){return this.i(t=>t.getUTCFullYear())}},je=class extends j{get dt(){return new vn(this)}}});var Ln,_e,Eo=R(()=>{"use strict";ot();yt();B();Ft();Ln=class{constructor(t){this.expr=t}expr;s(t){return x(this.expr,A(e=>O(e)?t(e):null))}all(){return this.s(t=>H(t,e=>!!e,{mode:"every"}))}any(){return this.s(t=>H(t,e=>!!e,{mode:"some"}))}contains(t){return this.s(e=>e.includes(t))}$e(t){return this.s(e=>H(t,r=>e.includes(r),{mode:"every"}))}Ke(t){return this.s(e=>H(t,r=>e.includes(r),{mode:"some"}))}X(t,e={}){return this.s(r=>bt(r,e).frequencies.get(t)??0)}filter(t){return x(this.expr,(e,r)=>{let o=e.length,s=new Array(o),i=Object.create(r);for(let a=0;a<o;a++){let l=e[a];if(!O(l)){s[a]=null;continue}let c=l.length;i[$t]=l;let u=Et(t,i,c),f=[];if(O(u)){let m=Math.min(c,u.length);for(let h=0;h<m;h++)u[h]&&f.push(l[h])}else if(u)for(let m=0;m<c;m++)f.push(l[m]);s[a]=f}return s})}explode({qe:t=!0,Je:e=!0}={}){return x(this.expr,r=>{let o=r.length,s=0;for(let c=0;c<o;c++){let u=r[c];if(O(u)){s+=u.length||(t?1:0);continue}if(u!=null){s+=1;continue}e&&(s+=1)}let i=new Array(s),a=new Int32Array(s),l=0;for(let c=0;c<o;c++){let u=r[c];if(O(u)){let f=u.length;if(f>0){for(let m=0;m<f;m++)a[l]=c,i[l++]=u[m];continue}t&&(a[l]=c,i[l++]=null);continue}if(u!=null){a[l]=c,i[l++]=u;continue}e&&(a[l]=c,i[l++]=null)}return i.rowMap=a,i})}first(t=!0){return this.get(0,t)}gather(t,e=!0){return this.s(r=>{let o=typeof t=="number"?[t]:t,s=o.length,i=new Array(s);for(let a=0;a<s;a++)i[a]=ce(r,o[a],e);return i})}We(t={}){return this.s(e=>Cr(e,t))}get(t,e=!0){return this.s(r=>ce(r,t,e))}join(t=",",e={}){return this.s(r=>Dr(r,t,e))}last(t=!0){return this.get(-1,t)}len(){return this.lengths()}lengths(){return this.s(t=>t.length)}max(){return this.s(t=>N(t).max)}Ge(){return this.s(t=>N(t).maxIdx)}mean(){return this.s(t=>N(t).mean)}median(){return this.s(t=>jt(t))}min(){return this.s(t=>N(t).min)}ze(){return this.s(t=>N(t).minIdx)}mode(){return this.s(t=>me(t))}nt(t={}){return this.s(e=>bt(e,t).count)}reverse(){return this.s(t=>t.slice().reverse())}shift(t=1){return this.s(e=>Or(e,t))}slice(t,e){return this.s(r=>r.slice(t,e))}splice(t,e,...r){return this.s(o=>{let s=[...o];return s.splice(t,e??s.length,...r),s})}sort(t){return this.s(e=>zt(e,t))}std(){return this.s(t=>N(t).std)}sum(){return this.s(t=>N(t).sum)}He({Ye:t,fields:e}={}){return x(this.expr,r=>{let o=r.length,s=new Array(o),i=0;if(Array.isArray(e))i=e.length;else if(typeof t=="number")i=t;else for(let l=0;l<o;l++){let c=r[l];O(c)&&c.length>i&&(i=c.length)}if(i===0)throw new Error("to_struct cannot be evaluated: struct width is 0. Provide an upper_bound, non-empty fields names, or non-empty lists.");let a=new Array(i);for(let l=0;l<i;l++)typeof e=="function"?a[l]=e(l):a[l]=(Array.isArray(e)?e[l]:null)??`field_${l}`;for(let l=0;l<o;l++){let c=r[l];if(!O(c)){s[l]=null;continue}let u={};for(let f=0;f<i;f++)u[a[f]]=ce(c,f,!0);s[l]=u}return s})}unique(t={}){return this.s(e=>bt(e,t).values)}variance(){return this.s(t=>N(t).variance)}eval(t){return x(this.expr,(e,r)=>{let o=e.length,s=new Array(o);for(let i=0;i<o;i++){let a=e[i];if(!O(a)){s[i]=null;continue}let l=a.length,c={...r,[$t]:a};if(t.m!=null&&(t.p==null||t.p.length===0)){let f=t.d!==void 0?t.d:t.c.length,m=t.U(f,c,l),h=t.m(Array.from(m));s[i]=t.v(f,[h],c)}else s[i]=Et(t,c,l)}return s})}},_e=class extends j{get arr(){return new Ln(this)}}});var ve,Ro=R(()=>{"use strict";ot();B();ve=class extends j{$({value:t=void 0,strategy:e=void 0,limit:r=void 0}={}){return x(this,(o,s)=>{let i=o.length,a=Array.from(o);if(e!==void 0)if(e==="zero"||e==="one"||e==="min"||e==="max"||e==="mean"){let l;e==="zero"?l=0:e==="one"?l=1:l=N(o)[e],Ct(a,l,{mode:"constant",condition:c=>c==null})}else if(e==="forward"||e==="backward"){let l=e==="forward",c=null,u=0;Ct(a,null,{mode:"independent",reverse:!l,step:({originalValue:f})=>f!=null?(c=f,u=0,f):c!==null&&(r===void 0||u<r)?(u++,c):null})}else throw new Error(`Unsupported fill_null strategy: "${e}"`);else{let l=this.y(t,s,i),c=O(l);Ct(a,null,{mode:"independent",step:({index:u,originalValue:f})=>f??(c?l[u]:l)})}return a})}reverse(){return x(this,t=>t.slice().reverse())}}});var Uo={};Ko(Uo,{ColumnExpr:()=>k,resolveColumnSelectors:()=>Rt});function Bs(n,t){for(let e of t)for(let r of Object.getOwnPropertyNames(e.prototype))r!=="constructor"&&Object.defineProperty(n.prototype,r,Object.getOwnPropertyDescriptor(e.prototype,r)||Object.create(null))}function $s(n,t,e,r){if(!(n instanceof k)){if(P(n)&&"evaluate"in n&&!n.u){let o=[];for(let s=0;s<t.length;s++)e.has(t[s])||o.push(t[s]);return o}return null}if(n.C&&n.C.length>0)return n.C;if(n.u==="*"){let o=new Set(n.K),s=[];for(let i=0;i<t.length;i++){let a=t[i];!o.has(a)&&!e.has(a)&&s.push(a)}return s}if(n.M||n.D&&n.D.length>0){if(!r)throw new Error("Cannot resolve DataType column selector without DataFrame schema.");let o=[];for(let s=0;s<t.length;s++){let i=t[s];if(e.has(i))continue;let a=r[i];if(a){if(n.M)a.matches(n.M)&&o.push(i);else if(n.D){for(let l=0;l<n.D.length;l++)if(a.matches(n.D[l])){o.push(i);break}}}}return o}return null}function Rt(n,t,e,r,o){let s=[],i=e?new Set(e):new Set;for(let a=0;a<n.length;a++){let l=n[a];if(typeof l=="string"){s.push(new k(l));continue}if(P(l)&&l.isUnnest){let u=[],f=l.u;if(typeof f=="string"&&r&&r[f]&&r[f].name==="Struct"&&(u=Object.keys(r[f].fields)),u.length===0&&o){let p=Object.keys(o)[0],y=p?o[p].length:0,d=l.baseExpr.evaluate(o,y),g=d.length;for(let b=0;b<g;b++){let S=d[b];if(S!=null&&typeof S=="object"){u=Object.keys(S);break}}}let m=u.length;if(m>0){for(let h=0;h<m;h++){let p=u[h],y=l.baseExpr.struct.field(p);s.push(y)}continue}}let c=$s(l,t,i,r);if(c!==null)for(let u=0;u<c.length;u++){let f=new k(c[u]);f.c=[...l.c||[]],f.m=l.m,f.T=l.T,f.d=l.d,f.p=l.p,l.b&&(f.b=l.b),l.f&&l.f!=="*"&&(f.f=l.f),s.push(f)}else s.push(l)}return s}var k,ft=R(()=>{"use strict";ot();xo();Do();Oo();ko();Ao();wo();Io();Eo();Fo();Ro();B();xt();k=class n extends j{u="";C;K=[];M;D;static isColExpr(t){if(!P(t))return!1;try{return"evaluate"in t&&typeof t.evaluate=="function"}catch{return!1}}static toColExpr(t){if(t==null)throw new Error("Column reference cannot be null or undefined.");return n.isColExpr(t)?t:new n(t)}constructor(t){super(),Array.isArray(t)?t.some(r=>r instanceof Q||typeof r=="function")?this.D=t:this.C=t.map(String):t instanceof Q||typeof t=="function"?this.M=t:(this.u=String(t),this.f=this.u)}};Bs(k,[Ee,Ue,Me,Ne,Fe,Re,je,_e,Le,ve])});function Mo(n){if(n==null)throw new Error("Column reference cannot be null or undefined.");return Ve||(Ve=(ft(),Wo(Uo)).ColumnExpr),Ve.isColExpr(n)?n:new Ve(n)}var Ve,Vn,Le,Fo=R(()=>{"use strict";ot();Ve=null;Vn=class{constructor(t){this.expr=t;return new Proxy(this,{get(e,r,o){return r in e?Reflect.get(e,r,o):typeof r=="string"?e.field(r):Reflect.get(e,r,o)}})}expr;field(t){return x(this.expr,e=>{let r=e.length,o=new Array(r);for(let s=0;s<r;s++){let i=e[s];o[s]=i!=null&&typeof i=="object"?i[t]:null}return o}).alias(t)}Xe(t){return x(this.expr,e=>{let r=e.length,o=new Array(r),s=Object.keys(t),i=s.length;for(let a=0;a<r;a++){let l=e[a];if(l==null||typeof l!="object"){o[a]=null;continue}let c={},u=Object.keys(l),f=u.length;for(let m=0;m<f;m++){let h=u[m];c[h]=l[h]}for(let m=0;m<i;m++){let h=s[m];if(h in c){let p=t[h];c[p]=c[h],delete c[h]}}o[a]=c}return o})}ot(t){return x(this.expr,(e,r)=>{let o=e.length,s=new Array(o),i=[];if(Array.isArray(t)){let c=t.length;for(let u=0;u<c;u++){let f=t[u],m=Mo(f),h=m.f||m.u;if(!h)throw new Error("Expressions passed to struct.with_fields must have a name/alias.");i.push({name:h,expr:m})}}else if(t&&typeof t=="object"){let c=Object.keys(t),u=c.length;for(let f=0;f<u;f++){let m=c[f],h=Mo(t[m]);i.push({name:m,expr:h})}}let a=i.length,l=new Array(a);for(let c=0;c<a;c++)l[c]=i[c].expr.evaluate(r,o);for(let c=0;c<o;c++){let u=e[c];if(u==null||typeof u!="object"){s[c]=null;continue}let f={},m=Object.keys(u),h=m.length;for(let p=0;p<h;p++){let y=m[p];f[y]=u[y]}for(let p=0;p<a;p++)f[i[p].name]=l[p][c];s[c]=f}return s})}unnest(){let t=x(this.expr);return t.isUnnest=!0,t.baseExpr=this.expr,t}},Le=class extends j{get struct(){return new Vn(this)}}});ft();Ft();rt();B();function Bt(n,t={strict:!0}){let e=t,r=new k(Gn);return r.L=n,e.name&&(r.f=e.name),r.c.push(o=>{let s=o.length,i=(C,T)=>C===void 0?T:ut(C<0?s+C:C,{min:0,max:s}),a=i(e.startIndex,0),l=i(e.endIndex,s),c=Math.max(0,l-a),u=e.n!==void 0?e.n:c,f=e.strict!==!1;if(f){if(u!==s)throw new X(`Column height mismatch: seq_range length ${u} does not match DataFrame height ${s}`)}else{let C=e.pad??!1,T=e.truncate??!1;if(C&&!T&&u>c)throw new X(`Cannot pad seq_range output: specified length ${u} starting at index ${a} exceeds slice width ${c} (requires truncation).`);if(T&&!C&&u<c)throw new X(`Cannot truncate seq_range output: specified length ${u} starting at index ${a} is less than slice width ${c} (requires padding).`)}let m=s,h=!!e.dtype,p=e.mode||"cumulative",y=e.step!==void 0?e.step:1,d=h?C=>e.dtype.coerce(C):C=>C;if(f){let C=e.dtype?.allocate?e.dtype.allocate(m):new Array(m);return Ct(C,n,{mode:p,step:y,coerce:d,startIndex:0,endIndex:m}),C}let g=Math.min(a+u,l),b=e.padValue!==void 0?e.padValue:null,S=d(b);if(p==="constant"&&a===0&&g===m&&!e.dtype){let C=new Array(m);for(let T=0;T<m;T++)C[T]=n;return C}let w=new Array(m);return w.fill(S),Ct(w,n,{mode:p,step:y,coerce:d,startIndex:a,endIndex:g}),w}),r}function Pe(n,t){let e=Bt(n,{strict:!0,mode:"constant",dtype:t?.dtype,name:t?.name});return e.N=!0,e}ft();function oe(){return new k("*")}ft();function No(n){let t=new k("*");return t.K=Array.isArray(n)?n:[n],t}ft();B();Ft();function jo(...n){let t=n.length===1&&Array.isArray(n[0])?n[0]:n,e=new k(zn);return e.c.push((r,o)=>{let s=r.length,i=u=>k.isColExpr(u)?u.evaluate(o,s):typeof u=="string"?o[u]||new Array(s).fill(null):u,a=t.length,l=new Array(a);for(let u=0;u<a;u++)l[u]=i(t[u]);let c=new Array(s);for(let u=0;u<s;u++){let f=null;for(let m=0;m<a;m++){let h=l[m],p=O(h)?h[u]:h;if(p!=null){f=p;break}}c[u]=f}return c}),e}ft();B();var Pn=class{h;S;constructor(t,e){this.h=t,this.S=e}then(t){return new Be(this.h,this.S.concat(t))}},Bn=class{h;constructor(t){this.h=[t]}then(t){return new Be(this.h,[t])}},Be=class n extends k{h;S;q;constructor(t,e,r=null){super(typeof t=="string"?t:"*when*"),this.h=Array.isArray(t)?t:[],this.S=e||[],this.q=r,this.c.push((o,s)=>{let i=o.length,a=h=>k.isColExpr(h)?h.evaluate(s,i):typeof h=="string"&&h in s?s[h]:h,l=this.h.length,c=new Array(l),u=new Array(l);for(let h=0;h<l;h++)c[h]=a(this.h[h]),u[h]=a(this.S[h]);let f=a(this.q),m=new Array(i);for(let h=0;h<i;h++){let p=!1;for(let y=0;y<l;y++)if((O(c[y])?c[y][h]:c[y])===!0){m[h]=O(u[y])?u[y][h]:u[y],p=!0;break}p||(m[h]=O(f)?f[h]:f)}return m})}when(t){return new Pn(this.h.concat(t),this.S)}otherwise(t){return new n(this.h,this.S,t)}};function _o(n){return new Bn(n)}ft();function vo(n){return k.toColExpr(n).implode()}ft();Ft();function Lo(){return new k($t)}ft();Ft();function Vo(n,...t){let e;Array.isArray(n)||n&&typeof n=="object"&&!k.isColExpr(n)?e=n:e=[n,...t];let r=Pe({}).struct.ot(e);return delete r.N,delete r.L,r.u=Hn,r.alias("struct")}Ie();var $e=class{A;R;V;F;J;j;constructor(t,e,r,o,s,i){this.A=t,this.R=e,this.V=r,this.F=o,this.J=s,this.j=i}Ze(){let t=this.R.length,e=new Array(t);for(let a=0;a<t;a++)e[a]=String(this.R[a]);let r=this.A.size,o={};for(let a=0;a<e.length;a++)o[e[a]]=new Array(r);let s=0;for(let a of this.A.values()){if(a.length===0)continue;let l=a[0];for(let c=0;c<e.length;c++){let u=e[c],f=this.F[u][l];o[u][s]=f===void 0?null:f}s++}let i={};for(let a of e)i[a]=this.j[a];return _.a(o,i,s)}agg(...t){let e=this.V.length,r=new Array(e);for(let f=0;f<e;f++)r[f]=String(this.V[f]);let o=this.R.length,s=new Array(o);for(let f=0;f<o;f++)s[f]=String(this.R[f]);let i=Rt(t.flat(),r,s,this.j,this.F),a=this.A.size,l={};for(let f=0;f<s.length;f++)l[s[f]]=new Array(a);let c=0;for(let f of this.A.values()){if(f.length===0)continue;let m=f[0];for(let h=0;h<s.length;h++){let p=s[h],y=this.F[p][m];l[p][c]=y===void 0?null:y}c++}for(let f=0;f<i.length;f++){let m=i[f],h=m.f||m.u||"*";if(!m.m)l[h]=m.evaluate(l,a);else{let p=m.U(m.d,this.F,this.J),y=new Array(a),d=0;for(let g of this.A.values()){if(g.length===0)continue;let b=new Array(g.length);for(let S=0;S<g.length;S++)b[S]=p[g[S]];y[d]=m.m(b),d++}l[h]=m.v(m.d,y,l)}}let u={};for(let f of s)u[f]=this.j[f];for(let f of i){let m=f.f||f.u||"*";u[m]=St(l[m])}return _.a(l,u,c)}};be();xt();B();rt();xt();B();rt();function Ks(n,t,e){if(n==null)throw new $(`Invalid input to ${t} at index ${e}: item cannot be null or undefined.`);if(n instanceof _)return[n];if(Tt(n))return[new _(n)];if(O(n)){if(H(n,_,{mode:"every"}))return n;if(H(n,"plainObject",{mode:"every"}))return[new _(n)];let r=H(n,_,{mode:"some"});for(let o=0;o<n.length;o++)if(r?!(n[o]instanceof _):!Tt(n[o]))throw new $(r?`Invalid input to ${t} at index ${e}, sub-index ${o}: nested array must contain only DataFrame instances.`:`Invalid input to ${t} at index ${e}, row ${o}: rows must be plain objects.`)}throw new $(`Invalid input to ${t} at index ${e}: expected DataFrame, row array, or column dictionary.`)}function se(n,{how:t="vertical",horizontal:e}={}){if(n==null)throw new $("Invalid input to concat: rawItems cannot be null or undefined.");let r=Array.isArray(n)?n:[n],o=[];for(let i=0;i<r.length;i++)o.push(...Ks(r[i],"concat",i));let s=e?.strict??!0;if(o.length===0)return _.a({},{},0);if(o.length===1&&t!=="horizontal")return o[0];switch(t){case"vertical":{let i=[];for(let p=0;p<o.length;p++)o[p].height>0&&i.push(o[p]);if(i.length===0)return _.a({},{},0);let a=i[0],l=Object.keys(a.t);for(let p=0;p<o.length;p++){let y=o[p];if(y.height===0)continue;let d=Object.keys(y.t);if(l.length!==d.length)throw new $(`[Strict Vertical] Column count mismatch at index ${p}.`);for(let g=0;g<l.length;g++){if(l[g]!==d[g])throw new $(`[Strict Vertical] Schema mismatch at position ${g} in DF ${p}. Expected column "${l[g]}", but found "${d[g]}".`);let b=a.schema[l[g]],S=y.schema[l[g]];if(b&&S&&!b.equals(S))throw new ne(`[Strict Type Check] Schema type mismatch for column "${l[g]}": expected ${b.name}, found ${S.name}.`)}}let c=0;for(let p of o)c+=p.height;let u={},f=o.length;for(let p=0;p<f;p++)if(o[p].height>0){u=o[p].schema;break}Object.keys(u).length===0&&f>0&&(u=o[0].schema);let m={};for(let p of l){let y=u[p],d=!1;for(let b of o){let S=b.t[p];if(!S){d=!0;break}if(!L(S)){for(let w=0;w<S.length;w++)if(S[w]==null){d=!0;break}}if(d)break}let g=y&&y.allocate?y.allocate(c):new Array(c).fill(null);d&&L(g)&&(g=new Array(c).fill(null)),m[p]=g}let h=0;for(let p of o){let y=p.height;if(y!==0){for(let d of l){let g=p.t[d]||new Array(y).fill(null),b=m[d];if(L(b)&&L(g))b.set(g,h);else{let S=b;for(let w=0;w<y;w++)S[h+w]=g[w]}}h+=y}}return _.a(m,u,c)}case"horizontal":{let i=o[0].height;for(let u=1;u<o.length;u++)o[u].height>i&&(i=o[u].height);let a=new Set;for(let u=0;u<o.length;u++){let f=o[u];if(s&&f.height!==i)throw new X(`[Horizontal] Row count mismatch at index ${u}. Expected ${i}, got ${f.height}. Set strict=false to allow padding.`);for(let m of Object.keys(f.t)){if(a.has(m))throw new $(`[Horizontal] Duplicate column name "${m}" detected. Horizontal concat requires unique names.`);a.add(m)}}let l={},c={};for(let u of o){let f=u.height;Object.assign(c,u.schema);let m=Object.keys(u.t),h=m.length;for(let p=0;p<h;p++){let y=m[p],d=u.t[y];if(f===i)l[y]=L(d)?Array.from(d):d;else{let g=new Array(i);for(let b=0;b<f;b++)g[b]=d[b];for(let b=f;b<i;b++)g[b]=null;l[y]=g}}}return _.a(l,c,i)}case"diagonal":{let i=new Set;for(let m of o)for(let h of Object.keys(m.t))i.add(h);let a=Array.from(i),l=0;for(let m=0;m<o.length;m++)l+=o[m].height;let c={};for(let m of a){let h=null;for(let p of o){let y=p.schema[m];if(y){if(h===null)h=y;else if(!h.equals(y))throw new ne(`[Strict Type Check] Schema type mismatch for column "${m}": expected ${h.name}, found ${y.name}.`)}}c[m]=h||F.Utf8}let u={};for(let m=0;m<a.length;m++)u[a[m]]=new Array(l).fill(null);let f=0;for(let m=0;m<o.length;m++){let h=o[m],p=h.height;if(p!==0){for(let y=0;y<a.length;y++){let d=a[y],g=u[d],b=h.t[d];if(b!==void 0)if(L(b)&&L(g))g.set(b,f);else{let S=g;for(let w=0;w<p;w++)S[f+w]=b[w]}else{let S=g;for(let w=0;w<p;w++)S[f+w]=null}}f+=p}}return _.a(u,c,l)}}}Ie();var _=class n{t;e;o={};static a(t,e,r){Nn(t,r);let o=Object.create(n.prototype);return o.t=t,o.o=e,o.e=r,o}constructor(t,e,r){if(Array.isArray(t)){let{columns:o,height:s}=yo(t);this.t=o,this.e=s,e?this._(e):this.W();return}if(P(t)){this.t=t,this.e=Nn(t,r),e?this._(e):this.W();return}this.t={},this.e=0,e?this._(e):this.o={}}W(){let t={},e=Object.keys(this.t),r=e.length;for(let o=0;o<r;o++){let s=e[o];t[s]=St(this.t[s])}this._(t)}_(t){this.o=t;let e=Object.keys(t),r={};for(let o of e){let s=t[o],i=this.t[o];r[o]=i?It(i,s,this.e):It(new Array(this.e).fill(null),s,this.e)}this.t=r}get columns(){return Object.keys(this.t)}concat(t,e={}){let r=H(t,n,{mode:"every",allowEmpty:!1})?t:[t];return se([this,...r],e)}drop(...t){let e=new Set(t.flat()),r={},o={};for(let s of Object.keys(this.t))e.has(s)||(r[s]=this.t[s],o[s]=this.o[s]);return n.a(r,o,this.e)}Qe(t){return this.e===0?this:this.filter(t?new k(t).B():oe().B())}get dtypes(){let t=Object.keys(this.t),e=t.length,r=new Array(e);for(let o=0;o<e;o++)r[o]=this.o[t[o]];return r}explode(t,e){let r=k.toColExpr(t),o=r.C||[r.u||r.f],s=new Set,i=o.length;for(let u=0;u<i;u++){let f=o[u];if(!f)throw new $("Expression passed to explode must have a column name.");tt(f,this.t,"Explode column"),s.add(f)}let a=Object.keys(this.t),l=[],c=a.length;for(let u=0;u<c;u++){let f=a[u];l.push(s.has(f)?new k(f).arr.explode(e):new k(f))}return this.select(...l)}$(t={}){return this.e===0?this:this.st(oe().$(t))}filter(...t){if(this.e===0)return n.a({},this.o,0);let e=this.e,r=Object.keys(this.t),o=r.length,s=[],i=[],a=[],l=t.length;for(let d=0;d<l;d++){let g=t[d];typeof g=="function"?i.push(g):a.push(g)}let c=Rt(a,r,void 0,this.o,this.t),u=c.length;for(let d=0;d<u;d++)s.push(c[d].evaluate(this.t,e));let f=[],m=0,h=null;if(i.length>0){let d=this.t;h={};for(let g=0;g<o;g++){let b=r[g],S=d[b];Object.defineProperty(h,b,{get(){let w=S[m];return w===void 0?null:w},enumerable:!0,configurable:!0})}}for(let d=0;d<e;d++){let g=!0;for(let b=0;b<s.length;b++)if(!s[b][d]){g=!1;break}if(g){if(h){m=d;for(let b=0;b<i.length;b++)if(!i[b](h)){g=!1;break}}g&&f.push(d)}}let p=re(this.t,f),y=f.length;return n.a(p,this.o,y)}tn(){return this.o}groupby(t){let e=Gt(t),r=new Map,o=this.e,s=Nt(t);for(let a=0;a<s.length;a++)tt(s[a],this.t,"Grouping key");for(let a=0;a<o;a++){let l=Pt(this.t,s,a),c=r.get(l);c===void 0&&r.set(l,c=[]),c.push(a)}let i=Object.keys(this.t);return new $e(r,e,i,this.t,this.e,this.o)}head(t=10){return this.limit(t,{offset:0,from:"start"})}get height(){return this.e}hstack(t,e={}){return this.concat(t,{how:"horizontal",horizontal:e})}it(t,e,r){let o=k.toColExpr(r).alias(e),s=Object.keys(this.t),i=s.length,a=[];for(let c=0;c<i;c++){let u=s[c];u!==e&&a.push(u)}let l=Math.max(0,Math.min(t,a.length));return a.splice(l,0,o),this.select(...a)}item(t,e){let r=this.e,o=Object.keys(this.t),s=o.length;if(t===void 0&&e===void 0){if(r!==1||s!==1)throw new $("DataFrame.item() can only be called without arguments if the shape is (1, 1).");return this.t[o[0]][0]}if(t===void 0||e===void 0)throw new $("DataFrame.item() requires both row and column to be specified if not empty.");if(t<0||t>=r)throw new X(`Row index ${t} is out of bounds for DataFrame height ${r}.`);let i;if(typeof e=="number"){if(e<0||e>=s)throw new X(`Column index ${e} is out of bounds for DataFrame width ${s}.`);i=o[e]}else if(i=e,this.t[i]===void 0)throw new wt(i);return this.t[i][t]}*en(){let t=Object.keys(this.t),e=t.length,r=this.t;for(let o=0;o<e;o++)yield r[t[o]]}*nn({named:t=!1}={}){let e=Object.keys(this.t),r=e.length,o=this.t,s=this.e,i=new Array(r);for(let a=0;a<r;a++)i[a]=o[e[a]];if(t)for(let a=0;a<s;a++){let l={};for(let c=0;c<r;c++)l[e[c]]=i[c][a];yield l}else for(let a=0;a<s;a++){let l=new Array(r);for(let c=0;c<r;c++)l[c]=i[c][a];yield l}}join(t){let{other:e,on:r,how:o="inner",suffixes:s=["","_right"]}=t,i=Nt(r);for(let I=0;I<i.length;I++){let E=i[I];tt(E,this.t,"Join key"," in the left DataFrame."),tt(E,e.t,"Join key"," in the right DataFrame.")}let[a,l]=s,c=Object.keys(this.t),u=Object.keys(e.t),f=new Set(i),m=c.length,h=u.length,p=(I,E)=>{let V=i.length;for(let q=0;q<V;q++)if(I[i[q]][E]==null)return null;return Pt(I,i,E)},y=new Map,d=e.e,g=e.t;for(let I=0;I<d;I++){let E=p(g,I);if(E===null)continue;let V=y.get(E);V===void 0&&(V=[],y.set(E,V)),V.push(I)}let b=this.e,S=this.t,w=[],C=[],T=o==="outer"||o==="right",D=T?new Set:null;for(let I=0;I<b;I++){let E=p(S,I),V=E===null?void 0:y.get(E);if(V===void 0)(o==="left"||o==="outer")&&(w.push(I),C.push(null));else for(let q=0;q<V.length;q++){let J=V[q];T&&D.add(J),w.push(I),C.push(J)}}if(T)for(let I=0;I<d;I++)D.has(I)||(w.push(-1),C.push(I));let v=w.length,mt={},at={};for(let I=0;I<m;I++){let E=c[I],V=E in e.t&&!f.has(E)?`${E}${a}`:E,q=this.t[E],J=f.has(E),Y=new Array(v);if(J){let st=e.t[E];for(let et=0;et<v;et++){let qn=w[et];if(qn!==-1)Y[et]=q[qn];else{let Wn=C[et];Y[et]=Wn!==null?st[Wn]:null}}}else for(let st=0;st<v;st++){let et=w[st];Y[st]=et!==-1?q[et]:null}mt[V]=Y,this.o[E]&&(at[V]=this.o[E])}for(let I=0;I<h;I++){let E=u[I];if(!f.has(E)){let V=E in this.t?`${E}${l}`:E,q=e.t[E],J=new Array(v);for(let Y=0;Y<v;Y++){let st=C[Y];J[Y]=st!==null?q[st]:null}mt[V]=J,e.o[E]&&(at[V]=e.o[E])}}return n.a(mt,at,v)}limit(t,{offset:e=0,from:r="start"}={}){let o=this.e,s=ut(Math.floor(t),{min:0,max:o}),i=ut(Math.floor(e),{min:0,max:o}),a=i,l=Math.min(i+s,o);r==="end"&&(l=o-i,a=Math.max(l-s,0));let c=l-a,u={},f=Object.keys(this.t),m=f.length;for(let h=0;h<m;h++){let p=f[h];u[p]=this.t[p].slice(a,l)}return n.a(u,this.o,c)}pivot(t){if(this.e===0)return n.a({},{},0);let{index:e,columns:r,values:o}=t,s=Nt(e),i=s.length;for(let C=0;C<i;C++)tt(s[C],this.t,"Pivot index key");let a=String(r),l=String(o);tt(a,this.t,"Pivot column key"),tt(l,this.t,"Pivot values key");let c=new Map,u=[],f=new Set,m=this.e,h=this.t[a],p=this.t[l];for(let C=0;C<m;C++){let T=Pt(this.t,s,C);f.add(String(h[C])),c.get(T)===void 0&&(c.set(T,c.size),u.push(C))}let y=c.size,d={},g={};for(let C=0;C<i;C++){let T=s[C];d[T]=this.t[T],this.o[T]&&(g[T]=this.o[T])}let b=re(d,u),S=Array.from(f),w=this.o[l]||F.Utf8;for(let C=0;C<S.length;C++){let T=S[C];b[T]=new Array(y).fill(null),g[T]=w}for(let C=0;C<m;C++){let T=Pt(this.t,s,C),D=c.get(T),v=String(h[C]);b[v][D]=p[C]}return n.a(b,g,y)}rename(t){let e=t||{},r={},o={},s=Object.keys(this.t);for(let a of s){let l=e[a]||a;r[l]=this.t[a],o[l]=this.o[a]}if(Object.keys(r).length<s.length)throw new $("Rename collision: Multiple columns mapped to the same output name.");return n.a(r,o,this.e)}reverse(){if(this.e===0)return this;let t={},e=Object.keys(this.t),r=e.length;for(let o=0;o<r;o++){let s=e[o];t[s]=this.t[s].slice().reverse()}return n.a(t,this.o,this.e)}get schema(){return this.o}select(...t){let e=this.G(t),r=Object.keys(this.t),o=Rt(e,r,void 0,this.o,this.t),s=o.length;if(s===0)return n.a({},{},this.e);let i={},a={},l=new Array(s),c=new Array(s),u=new Set,f=null;for(let p=0;p<s;p++){let y=o[p],d=y.f||y.u||"*";if(u.has(d))throw new $(`Duplicate column selection: "${d}" is selected multiple times.`);u.add(d);let g=Et(y,this.t,this.e);l[p]=g,c[p]=d;let b=g&&g.rowMap;if(b)if(f){let S=b.length;if(S!==f.length)throw new X(`Mismatched explode heights: Column "${d}" has length ${S}, but another exploded column has length ${f.length}`);for(let w=0;w<S;w++)if(b[w]!==f[w])throw new X(`Mismatched explode heights: Column "${d}" has mismatched row lengths compared to another exploded column.`)}else f=b}let m=f?f.length:this.e,h=s>0;for(let p=0;p<s;p++){let y=o[p],d=y.m!=null&&(y.p==null||y.p.length===0),g=!!y.N;if(!d&&!g){h=!1;break}}for(let p=0;p<s;p++){let y=c[p],d=l[p],g=d,b=g&&g.rowMap,S=O(d)?d.length:0,w=f&&!b?this.e:m;if(S!==w)throw new X(`Column height mismatch: Column "${y}" has length ${S}, but expected ${w}`);if(f&&!b){let C=f.length;if(L(d)){let T=new g.constructor(C);for(let D=0;D<C;D++)T[D]=g[f[D]];d=T}else{let T=new Array(C);for(let D=0;D<C;D++)T[D]=g[f[D]];d=T}}l[p]=d}h&&(m=1);for(let p=0;p<s;p++){let y=o[p],d=c[p],g=l[p],b=y.u||d,w=y instanceof k&&y.c.length===0&&!y.P&&!y.m&&this.o[b]||St(g);a[d]=w,i[d]=It(g,w,m)}return n.a(i,a,m)}get shape(){return[this.height,this.width]}slice(t,e){let r=this.e,o=t<0?Math.max(r+t,0):Math.min(t,r),s=e===void 0?r:e<0?Math.max(r+e,0):Math.min(e,r),i=Math.max(s-o,0);return this.limit(i,{offset:o})}sort(t){if(!t||!t.by||this.e===0)return this;let{by:e,descending:r=!1,nullsLast:o=!0,custom:s}=t,i=Gt(e);for(let p=0;p<i.length;p++){let y=k.toColExpr(i[p]);y.u&&tt(y.u,this.t,"Sort key")}let a=Array.isArray(r)?r:new Array(i.length).fill(r),l=i.length,c=new Array(l);for(let p=0;p<l;p++){let y=i[p],d=a[p]?-1:1,g=s&&typeof y=="string"?s[y]:null,b=k.toColExpr(y).evaluate(this.t,this.e);c[p]={values:b,isDesc:d,customComp:g}}let u=c.length,f=o?1:-1,m=new Array(this.e);for(let p=0;p<this.e;p++)m[p]=p;m.sort((p,y)=>{for(let d=0;d<u;d++){let{values:g,isDesc:b,customComp:S}=c[d],w=g[p],C=g[y];if(S){let D=S(w,C);if(D!==0)return D*b;continue}if(w==null||C==null){if(w===C)continue;return(w==null?1:-1)*f}if(w===C)continue;return(w<C?-1:1)*b}return 0});let h=re(this.t,m);return n.a(h,this.o,this.e)}tail(t=10){return this.limit(t,{offset:0,from:"end"})}rn(){return{...this.t}}z(){return go(this.t,this.e)}sn(t){if(this.e===0)return[];if(t==null)return new Array(this.e).fill(null);let r=k.toColExpr(t).evaluate(this.t,this.e);return Array.isArray(r)?r:Array.from(r)}transpose({an:t=!1,ln:e="column",un:r}={}){if(this.e===0){let u={},f={};return t&&(u[e]=It([],F.Utf8,0),f[e]=F.Utf8),n.a(u,f,0)}let o=this.columns;typeof r=="string"&&(tt(r,this.t,"column_names"),o=o.filter(u=>u!==r));let s=[];if(typeof r=="string"){let u=this.t[r];s=new Array(this.e);for(let f=0;f<this.e;f++){let m=u[f];if(m==null)throw new $(`Transpose column_names column "${r}" contains null/undefined at index ${f}`);s[f]=String(m)}}else if(r!=null&&typeof r!="string"&&Symbol.iterator in Object(r)){let u=Array.from(r);if(u.length!==this.e)throw new $(`column_names length (${u.length}) must match the height of the DataFrame (${this.e})`);s=new Array(this.e);for(let f=0;f<this.e;f++)s[f]=String(u[f])}else{s=new Array(this.e);for(let u=0;u<this.e;u++)s[u]=`column_${u}`}let i=new Set;t&&i.add(e);for(let u=0;u<s.length;u++){let f=s[u];if(i.has(f))throw new $(`Duplicate column name in transposed DataFrame: "${f}"`);i.add(f)}let a=o.length,l={},c={};t&&(l[e]=It(o,F.Utf8,a),c[e]=F.Utf8);for(let u=0;u<this.e;u++){let f=s[u],m=new Array(a);for(let p=0;p<a;p++)m[p]=this.t[o[p]][u];let h=St(m);l[f]=It(m,h,a),c[f]=h}return n.a(l,c,a)}unique(t){if(this.e===0)return n.a({},this.o,0);let e=Gt(t),r=e.length===0?Object.keys(this.t):e.map(String);for(let c of r)tt(c,this.t,"Unique column key");let o=new Set,s=[],i=this.e;for(let c=0;c<i;c++){let u=Pt(this.t,r,c);o.has(u)||(o.add(u),s.push(c))}let a=re(this.t,s),l=s.length;return n.a(a,this.o,l)}unpivot(t){let{idVars:e,valueVars:r,varName:o="variable",valueName:s="value"}=t,i=Nt(e),a=Nt(r),l=i.length,c=a.length;for(let p of i)tt(p,this.t,"Unpivot id variable key");for(let p of a)tt(p,this.t,"Unpivot value variable key");let u=this.e*c,f={};for(let p=0;p<l;p++)f[i[p]]=new Array(u);f[o]=new Array(u),f[s]=new Array(u);let m=0;for(let p=0;p<this.e;p++)for(let y=0;y<c;y++){let d=a[y];for(let g=0;g<l;g++){let b=i[g];f[b][m]=this.t[b][p]}f[o][m]=d,f[s][m]=this.t[d][p],m++}let h={};for(let p of i)h[p]=this.o[p];return h[o]=F.Utf8,h[s]=St(f[s]),n.a(f,h,u)}vstack(t){return this.concat(t,{how:"vertical"})}get width(){return Object.keys(this.t).length}G(t){let e=t.flat(),r=[];for(let o of e)if(typeof o=="string")r.push(new k(o));else if(k.isColExpr(o))r.push(o);else if(P(o)){let s=Object.keys(o),i=s.length;for(let a=0;a<i;a++){let l=s[a],c=o[l];if(k.isColExpr(c))r.push(c.alias(l));else{let u=new k(l);u.evaluate=(f,m)=>new Array(m).fill(c),r.push(u)}}}return r}st(...t){if(t.length===0)return this;let e=this.G(t),r=Object.keys(this.t),o=Rt(e,r,void 0,this.o,this.t),s=o.length;if(s===0)return this;let i=new Map;for(let c=0;c<s;c++){let u=o[c],f=u.f||u.u||"*";i.set(f,u)}let a=[],l=r.length;for(let c=0;c<l;c++){let u=r[c];a.push(i.get(u)||new k(u)),i.delete(u)}for(let c of i.values())a.push(c);return this.select(...a)}cn(t="index",e=0){let r=Bt(e,{mode:"independent",dtype:F.UInt32,step:1}),o=this.it(0,t,r);return o.o[t]=F.UInt32,o}fn(t,{format:e="json",replacerOptions:r}={}){if(e!=="json"&&e!=="ndjson")throw new TypeError(`Unsupported JSON format: "${e}". Expected "json" or "ndjson".`);let o=r?.replacer===null?void 0:Zt(r),s;if(e==="ndjson"){let i=this.z(),a=i.length,l=new Array(a);for(let c=0;c<a;c++)l[c]=JSON.stringify(i[c],o);s=l.join(`
6
- `)}else s=JSON.stringify(this.z(),o);return bo(t,s),s}mn(t,e={}){if(t){if(typeof t=="string"){if(typeof Ut!="function")throw new Error("File writing is not supported in this environment (missing require('fs')).");let r=Ut("fs"),o=r.openSync(t,"w");try{ke(this.t,this.e,{...e,onRow:s=>{r.writeSync(o,s,null,"utf8")}})}finally{r.closeSync(o)}}else if(P(t)&&typeof t.write=="function")ke(this.t,this.e,{...e,onRow:r=>{t.write(r)}});else throw new TypeError("Invalid file argument. Expected a file path string or a writable stream/object with a write method.");return""}return ke(this.t,this.e,e)}};xt();B();rt();function $n(n,{format:t="json",trimBeforeParse:e=!0,schema:r,...o}={}){let s=Wr(n,{format:t,trimBeforeParse:e,...o});if(s===n)throw new $(`Invalid JSON input: must be a valid, non-empty JSON ${t} string.`);let i=Array.isArray(s)?s:P(s)?[s]:[];return new _(i,r)}B();function Kn(n,t={}){let{hasHeader:e=!0,schema:r,inferSchema:o=!0}=t,s=uo(n,t);if(s.length===0)return new _({});let i,a;e?(i=s[0],a=s.slice(1)):(i=s[0].map((m,h)=>`column_${h}`),a=s);let l=i.length,c=a.length,u={};for(let m=0;m<l;m++){let h=i[m],p=new Array(c);for(let y=0;y<c;y++)p[y]=a[y][m]!==void 0?a[y][m]:"";u[h]=p}let f={};for(let m=0;m<l;m++){let h=i[m],p=u[h];if(r&&r[h])f[h]=p;else if(o){let{values:y}=co(p,t);f[h]=y}else f[h]=p}return new _(f,r)}function qs(n,t){return new _(n,t)}var hu={data:qs,col:n=>new k(n),all:oe,exclude:No,coalesce:jo,concat:se,pn:$n,hn:Kn,lit:Pe,when:_o,implode:vo,yn:Bt,element:Lo,struct:Vo,DataType:F};xt();rt();export{hu as $df,nt as ALL_COLUMNS_MARKER,Me as AggregationExpr,Ee as ArithmeticExpr,io as Array,io as ArrayDataType,_e as ArrayExpr,Ln as ArrayExprNamespace,Rn as ArrayType,to as Binary,Cn as BinaryType,De as Boolean,De as BooleanDataType,Sn as BooleanType,zn as COALESCE_MARKER,k as ColumnExpr,wt as ColumnNotFoundError,Ue as ComparisonExpr,ct as ComputeError,Vt as DFScriptError,_ as DataFrame,$ as DataFrameError,Q as DataType,F as DataTypeRegistry,ro as Date,ro as DateDataType,vn as DateTimeExprNamespace,On as DateType,Ae as Datetime,kn as DatetimeType,Se as DecimalType,so as Duration,En as DurationType,$t as ELEMENT_MARKER,j as ExprBase,Qr as Float32,xn as Float32Type,Ce as Float64,wn as Float64Type,Qt as FloatDataType,$e as GroupedData,zr as Int16,mn as Int16Type,Hr as Int32,pn as Int32Type,Te as Int64,hn as Int64Type,Gr as Int8,fn as Int8Type,xe as IntegerDataType,Gn as LITERAL_MARKER,Re as LogicalExpr,te as NestedDataType,eo as Null,Dn as NullType,Lt as NumericDataType,no as Object,no as ObjectDataType,An as ObjectType,Hn as STRUCT_MARKER,ne as SchemaError,X as ShapeError,At as SignedIntegerType,Fe as StringExpr,jn as StringExprNamespace,ao as Struct,Le as StructExpr,Vn as StructExprNamespace,Un as StructType,kt as TemporalDataType,je as TemporalExpr,oo as Time,In as TimeType,Yr as UInt16,dn as UInt16Type,Xr as UInt32,gn as UInt32Type,Zr as UInt64,bn as UInt64Type,Jr as UInt8,yn as UInt8Type,Ot as UnsignedIntegerType,ee as Utf8,Tn as Utf8Type,Bn as When,Be as WhenThen,Pn as WhenThenChain,Ne as WindowExpr,oe as all,tt as assertColumnExists,Nn as assertHeight,jo as coalesce,It as coerceColumn,go as columnsToRows,Pt as computeRowHash,se as concat,x as derive,Lo as element,Et as evaluateExpression,No as exclude,re as gatherColumnsByIndices,Ji as getRowFromColumns,vo as implode,St as inferColumnType,U as kleeneBinary,A as kleeneUnary,Pe as lit,Kn as read_csv,$n as read_json,Rt as resolveColumnSelectors,ho as resolveWindowExpr,yo as rowsToColumns,Bt as seq_range,Vo as struct,_o as when,bo as writeStringToFileOrStream};
1
+ var nn=Object.defineProperty;var ws=Object.getOwnPropertyDescriptor;var Ss=Object.getOwnPropertyNames;var As=Object.prototype.hasOwnProperty;var Pe=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var k=(n,e)=>()=>(n&&(e=n(n=0)),e);var hr=(n,e)=>{for(var t in e)nn(n,t,{get:e[t],enumerable:!0})},Ds=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Ss(e))!As.call(n,o)&&o!==t&&nn(n,o,{get:()=>e[o],enumerable:!(r=ws(e,o))||r.enumerable});return n};var yr=n=>Ds(nn({},"__esModule",{value:!0}),n);var se,dr,gr,Ye,_r,br,be=k(()=>{"use strict";se="*",dr="*literal*",gr="*coalesce*",Ye="*element*",_r="*struct*",br="*duration*"});var xr=k(()=>{"use strict"});function K(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)}function Ee(n){if(!K(n))return!1;let e=Object.getPrototypeOf(n);if(e===null)return!0;let t=Object.prototype.hasOwnProperty.call(e,"constructor")&&e.constructor;return typeof t!="function"?!1:Function.prototype.toString.call(t)===qs}function vr(n){if(typeof n!="function")return!1;let e="";try{e=Function.prototype.toString.call(n)}catch{return!1}if(/^class[\s{]/.test(e))return!0;if(n===Symbol||n===BigInt)return!1;let t=Object.getOwnPropertyDescriptor(n,"prototype");return t&&!t.writable?e.includes("[native code]"):!1}function me(n,e,t,r){if(!K(n))return!1;if(!(Symbol.toStringTag in n))return Object.prototype.toString.call(n)===e;if(!t)return!1;try{return t.call(n,r),!0}catch{return!1}}function U(n){return me(n,Ts,rn)&&rn?!Number.isNaN(rn.call(n)):!1}function xe(n){return me(n,Cs,Ls)}function dt(n){return me(n,Os,Ps)}function gt(n){return me(n,Is,Bs)}function Mr(n){return me(n,ks,$s,"key")}function Ur(n){return K(n)?Symbol.toStringTag in n?n instanceof Error:Object.prototype.toString.call(n)===Es:!1}function Ar(n){return me(n,Ir,on)}function Dr(n){return me(n,Er,sn)}function Tr(n){return me(n,kr,an)}function Cr(n){return me(n,Rr,He)}function Or(n){return me(n,Nr,Xe)}function ce(n){if(!K(n))return n;switch(Object.prototype.toString.call(n)){case Er:if(Dr(n))try{return sn.call(n)}catch{}break;case Ir:if(Ar(n))try{return on.call(n)}catch{}break;case kr:if(Tr(n))try{return an.call(n)}catch{}break;case Rr:if(Cr(n)&&He)try{return He.call(n)}catch{}break;case Nr:if(Or(n)&&Xe)try{return Xe.call(n)}catch{}break}if(Symbol.toStringTag in n){if(Dr(n))try{return sn.call(n)}catch{}else if(Ar(n))try{return on.call(n)}catch{}else if(Tr(n))try{return an.call(n)}catch{}else if(Cr(n)&&He)try{return He.call(n)}catch{}else if(Or(n)&&Xe)try{return Xe.call(n)}catch{}}if(typeof n.valueOf=="function"&&n.valueOf!==Object.prototype.valueOf)try{let t=n.valueOf();if(typeof t!="object"||t===null)return t}catch{}return n}var Ts,Cs,Os,Is,Es,ks,Ir,Er,kr,Rr,Nr,Rs,Ns,wr,Sr,vs,Ms,Us,Fs,js,Vs,Ls,Ps,Bs,rn,$s,on,sn,an,He,Xe,qs,ye=k(()=>{"use strict";Ts="[object Date]",Cs="[object RegExp]",Os="[object Set]",Is="[object Map]",Es="[object Error]",ks="[object URLSearchParams]",Ir="[object String]",Er="[object Number]",kr="[object Boolean]",Rr="[object BigInt]",Nr="[object Symbol]",Rs=typeof Date=="function"?Date.prototype:void 0,Ns=Object.getPrototypeOf(/./),wr=typeof Set=="function"?Set.prototype:void 0,Sr=typeof Map=="function"?Map.prototype:void 0,vs=typeof URLSearchParams=="function"?URLSearchParams.prototype:void 0,Ms=Object.getPrototypeOf(""),Us=Object.getPrototypeOf(0),Fs=Object.getPrototypeOf(!0),js=typeof BigInt=="function"?BigInt.prototype:void 0,Vs=typeof Symbol=="function"?Symbol.prototype:void 0,Ls=Object.getOwnPropertyDescriptor(Ns,"source")?.get,Ps=wr?Object.getOwnPropertyDescriptor(wr,"size")?.get:void 0,Bs=Sr?Object.getOwnPropertyDescriptor(Sr,"size")?.get:void 0,rn=Rs?.valueOf,$s=vs?.has,on=Ms.valueOf,sn=Us.valueOf,an=Fs.valueOf,He=js?.valueOf,Xe=Vs?.valueOf,qs=Function.prototype.toString.call(Object)});var ln,un,Fr=k(()=>{"use strict";ln=1000n,un=1000000n});function F(n,e){return typeof n!="number"?!1:Number.isNaN(n)?e?.allowNaN??e?.allowNonFiniteNumbers??!1:Number.isFinite(n)?!0:e?.allowNonFiniteNumbers??!1}function jr(n){for(let e=1;e<n.length;e++)if(n[e].length!==3)return!1;return!0}function $r(n,e){if(Ks.test(n))return null;let t=n.trim();if(t==="")return null;t.startsWith("(")&&t.endsWith(")")&&(t="-"+t.slice(1,-1).trim());let r=t[t.length-1];(r==="-"||r==="+")&&t.length>1&&(t=r+t.slice(0,-1).trim()),e||(t=t.replace(zs,""));let o=t.includes("."),s=t.includes(",");if(o&&s){let a=t.lastIndexOf("."),i=t.lastIndexOf(","),l=i>a,f=l?".":",",u=l?i:a,c=t.slice(0,u).split(f);return c.length>1&&!jr(c)||c[0].replace(Vr,"").length>3?null:l?t.replace(Lr,"").replace(_t,"."):t.replace(_t,"")}if(s||o){let a=s?",":".",i=t.split(a);if(i.length>2||a===","&&i.length===2&&i[1].length===3){let l=i[0].replace(Vr,"").length;if(l===0){if(a===","||i.length>2)return null}else return l>3?null:jr(i)?t.replace(s?_t:Lr,""):null}if(s)return t.replace(_t,".")}return t}function M(n,{allowNonFiniteNumbers:e=!1,strictNumericString:t=!1,floatScientific:r=!0}={}){if(n==null||typeof n=="symbol")return null;switch(n=ce(n),typeof n){case"number":return F(n,{allowNonFiniteNumbers:e})?n:null;case"boolean":return n?1:0;case"bigint":{let o=Number(n);return F(o,{allowNonFiniteNumbers:e})?o:null}case"object":{if(U(n)){let o=n.getTime();return F(o,{allowNonFiniteNumbers:e})?o:null}return null}case"string":{let o=$r(n,t);if(o===null)return null;if(e){let i=o.toLowerCase();if(i==="nan"||i==="-nan"||i==="+nan")return NaN;if(i==="infinity"||i==="+infinity")return 1/0;if(i==="-infinity")return-1/0}if(Br.test(o)&&!r||!Pr.test(o))return null;let a=Number(o);return F(a,{allowNonFiniteNumbers:e})?a:null}default:return null}}function qr({locale:n="en-US",accountingNegatives:e=!1,fallback:t="NaN",formatNonFinite:r=!1,...o}={}){o.useGrouping===void 0&&(o.useGrouping=!1),o.maximumFractionDigits===void 0&&o.maximumSignificantDigits===void 0&&(o.maximumFractionDigits=20),e&&(o.currencySign="accounting",o.style===void 0&&(o.style="decimal"));let s=new Intl.NumberFormat(n,o);return a=>{if(typeof a=="bigint")return e&&a<0n?`(${s.format(-a)})`:s.format(a);let i=M(a,{allowNonFiniteNumbers:!0});return i===null||Number.isNaN(i)?t:Number.isFinite(i)?e&&i<0?`(${s.format(Math.abs(i))})`:s.format(i):r?t:e&&i===-1/0?`(${s.format(1/0)})`:String(i)}}function cn(n,{floatPrecision:e="Float64",allowNonFiniteNumbers:t=!0,floatScientific:r=!0,strictNumericString:o=!1}={}){let s=M(n,{allowNonFiniteNumbers:t,floatScientific:r,strictNumericString:o});return s===null||(e==="Float32"&&(s=Math.fround(s)),!F(s,{allowNonFiniteNumbers:t}))?null:s}function bt(n,{range:e="Int32"}={}){if(!F(n)||!Number.isInteger(n))return!1;let t=typeof e=="string"?Kr[e]:e;return n>=t.min&&n<=t.max}function de(n,{range:e="Int32",coerce:t="truncate"}={}){let r=M(n);if(r===null)return null;switch(t){case"round":r=Math.round(r);break;case"floor":r=Math.floor(r);break;case"ceil":r=Math.ceil(r);break;case"truncate":r=Math.trunc(r);break}let o=typeof e=="string"?Kr[e]:e;return pe(r,{min:o.min,max:o.max})}function Be(n,{range:e="Int64",truncate:t=!1}={}){if(n==null||typeof n=="symbol")return null;n=ce(n);let r=null;if(typeof n=="bigint")r=n;else if(typeof n=="string"){let s=$r(n,!1);if(s===null||!Pr.test(s))return null;if(Br.test(s)){let a=Number(s);if(!Number.isFinite(a)||!t&&!Number.isInteger(a))return null;r=BigInt(Math.trunc(a))}else{let a=s.indexOf(".");if(a!==-1){if(!t&&/[^0]/.test(s.slice(a+1)))return null;s=s.slice(0,a)}try{r=BigInt(s)}catch{return null}}}else{let s=M(n);if(s===null||!t&&!Number.isInteger(s))return null;r=BigInt(Math.trunc(s))}let o=typeof e=="string"?Ws[e]:e;return pe(r,{min:o.min,max:o.max})}function Gs(n,e){let t=n-e;if(t<0||e<0)return null;if(t>15)return Number.MAX_SAFE_INTEGER;let r=Math.min(e,16),o=Math.pow(10,t)-Math.pow(10,-r);return o>0?o:null}function fn(n,e){let t=n.toString();if(t.includes("e")){let r=Math.pow(10,e);return Math.round(n*r)/r}return+(Math.round(+(t+"e"+e))+"e"+-e)}function xt(n,{precision:e,scale:t}={}){let r=M(n);if(r===null)return null;let o=r;if(t!==void 0&&(o=fn(o,t)),e!==void 0){let a=Gs(e,t??0);a!==null&&(o=pe(o,{min:-a,max:a}))}return o}function pe(n,e){if(!e)return n;let{min:t=null,max:r=null,safe:o=!0}=e;if(t!==null&&r!==null&&t>r)return t;let s=n;if(o&&typeof s=="number"){if(Number.isNaN(s))return t!==null?t:r!==null?r:n;if(s===1/0)return r!==null?r:n;if(s===-1/0)return t!==null?t:n}return t!==null&&s<t?t:r!==null&&s>r?r:s}function zr(n){let e=n|0;return function(){let t=e=e+1831565813|0;return t=Math.imul(t^t>>>15,t|1),t^=t+Math.imul(t^t>>>7,t|61),((t^t>>>14)>>>0)/4294967296}}var Pr,Ks,zs,Br,Vr,Lr,_t,Kr,Ws,Ze=k(()=>{"use strict";ye();Pr=/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?$/,Ks=/0[xobXOB]/,zs=/[\s_]/g,Br=/[eE]/;Vr=/^[+-]/,Lr=/\./g,_t=/,/g;Kr={Int8:{min:-128,max:127},Int16:{min:-32768,max:32767},Int32:{min:-2147483648,max:2147483647},UInt8:{min:0,max:255},UInt16:{min:0,max:65535},UInt32:{min:0,max:4294967295}};Ws={Int64:{min:-9223372036854775808n,max:9223372036854775807n},UInt64:{min:0n,max:18446744073709551615n}}});function B(n){if(!ArrayBuffer.isView(n))return!1;if(Wr)return Wr.call(n)!==void 0;let e=Object.prototype.toString.call(n);return e!=="[object DataView]"&&e.endsWith("Array]")}function E(n){return Array.isArray(n)||B(n)}function Qe(n){return n==null?[]:Array.isArray(n)?[...n]:B(n)?Array.from(n):[n]}function we(n){let e=Qe(n),t=e.length,r=new Array(t);for(let o=0;o<t;o++)r[o]=String(e[o]);return r}function wt(n,e,t){let r=n.length,o=e<-r||e>=r;if(o&&!t)throw new ie(`Index ${e} is out of bounds for array of length ${r}`);return o?null:n.at(e)??null}function Q(n,e,{mode:t="every",allowNulls:r=!1,allowEmpty:o=!0}={}){if(!E(n))return!1;let s=n.length;if(s===0)return o?t==="every":!1;let a=n,i;if(typeof e=="function")i=vr(e)?f=>f instanceof e:e;else switch(e){case"null":i=l=>l===null;break;case"undefined":i=l=>l===void 0;break;case"nullish":i=l=>l==null;break;case"any":i=()=>!0;break;case"date":i=U;break;case"object":i=K;break;case"plainObject":i=Ee;break;case"number":i=F;break;default:i=l=>typeof l===e;break}if(r){let l=i;i=f=>f==null||l(f)}if(t==="every"){for(let l=0;l<s;l++)if(!i(a[l]))return!1;return!0}else{for(let l=0;l<s;l++)if(i(a[l]))return!0;return!1}}function et(n,{descending:e=!1,nullsLast:t=!0}={}){if(!E(n))return[];let r=n,o=r.length;if(o===0)return[];if(B(n)){let c=r.slice().sort();return e&&c.reverse(),Array.from(c)}let s=[],a=[],i=!0,l=!0,f=!0;for(let c=0;c<o;c++){let m=r[c];if(m==null)a.push(m);else if(s.push(m),f){let p=typeof m;p!=="number"&&(i=!1),p!=="string"&&(l=!1),!i&&!l&&(f=!1)}}return s.length>1&&(i?s.sort(e?(c,m)=>m-c:(c,m)=>c-m):l?s.sort(e?(c,m)=>m.localeCompare(c):(c,m)=>c.localeCompare(m)):s.sort((c,m)=>{let p=typeof c,h=typeof m;if(p!==h){let y=p<h?-1:1;return e?-y:y}return c<m?e?1:-1:c>m?e?-1:1:0})),a.length===0?s:t?s.concat(a):a.concat(s)}function P(n){if(!E(n))return Gr;let e=n.length;if(e===0)return Gr;let t=null,r=null,o=null,s=null,a=0,i=0,l=0,f=0,u=0,c=0;for(let p=0;p<e;p++){let h=n[p];if(h==null||typeof h=="number"&&!F(h,{allowNonFiniteNumbers:!0,allowNaN:!1})){i++;continue}(t==null||h<t)&&(t=h,o=p),(r==null||h>r)&&(r=h,s=p);let y=M(h);if(y!==null){let d=l+y;Math.abs(l)>=Math.abs(y)?f+=l-d+y:f+=y-d+l,l=d,a++;let g=y-u;u+=g/a;let _=y-u;c+=g*_}}let m=a>1?c/(a-1):0;return{sum:a>0?l+f:null,count:a,min:t,max:r,minIdx:o,maxIdx:s,mean:a>0?(l+f)/a:null,variance:m,std:Math.sqrt(m),nullCount:i,len:e,hasNulls:i>0,isNumeric:a>0&&a===e-i}}function Se(n,{strict:e=!1,keySelector:t}={}){let r=Array.from(n),o=new Map;if(e){let a=t??G,i=new Map,l=r.length;for(let u=0;u<l;u++){let c=r[u],m=a(c),p=i.get(m);p===void 0?i.set(m,{val:c,count:1}):p.count++}let f=[];for(let u of i.values())f.push(u.val);for(let u=0;u<l;u++){let c=r[u],m=a(c),p=i.get(m);o.set(c,p.count)}return{values:f,count:f.length,frequencies:o}}let s=r.length;for(let a=0;a<s;a++){let i=r[a];o.set(i,(o.get(i)??0)+1)}return{values:Array.from(o.keys()),count:o.size,frequencies:o}}function Yr(n,{step:e=1,offsetStart:t=0,offsetEnd:r,maxItemsGathered:o,null_on_oob:s=!0}={}){if(n==null)return null;if(o!==void 0&&o<=0)return[];if(e===0)throw new v("Step size step cannot be zero");let a=n.length;if(a===0?t!==0:t>=a||t<-a){if(!s)throw new ie(`Start offset ${t} is out of bounds for array of length ${a}`);return null}let l=t<0?a+t:t,f=r!==void 0?r<0?a+r:r:e>0?a:-1,u=[];if(e>0)for(let c=l;c<f&&c<a&&!(c>=0&&(u.push(n[c]),o!==void 0&&u.length>=o));c+=e);else for(let c=l;c>f&&c>=0&&!(c<a&&(u.push(n[c]),o!==void 0&&u.length>=o));c+=e);return u}function Hr(n,e=",",{ignoreNulls:t=!1,nullValue:r="",prefix:o="",suffix:s="",limit:a,truncationMarker:i="...",valueFormatter:l}={}){let f=n.length,u=[],c=a!==void 0?Math.max(0,a):f,m=!1;for(let p=0;p<f;p++){if(u.length>=c){m=!0;break}let h=n[p];h!=null?u.push(l?l(h,p):String(h)):t||u.push(r)}return o+u.join(e)+(m?i:"")+s}function ke(n,e,t={}){let r=n.length,{mode:o="cumulative",step:s=1,coerce:a=y=>y,condition:i,reverse:l=!1,startIndex:f=l?r-1:0,endIndex:u=l?-1:r}=t,c=l?-1:1,m=f,p=u,h=(y,d)=>{(!i||i(n[y],y,n))&&(n[y]=a(d))};if(o==="constant"){let y=a(e);for(let d=m;l?d>p:d<p;d+=c)h(d,y)}else if(o==="independent")if(typeof s=="function"){let y=0;for(let d=m;l?d>p:d<p;d+=c)h(d,s({index:y,initialValue:e,originalValue:n[d],absoluteIndex:d,targetArray:n})),y++}else for(let y=m;l?y>p:y<p;y+=c)h(y,e+y*s);else{let y=e,d=!0,g=0;for(let _=m;l?_>p:_<p;_+=c)d?(h(_,y),d=!1):(typeof s=="function"?y=s({prev:y,index:g,originalValue:n[_],absoluteIndex:_,targetArray:n}):y=y+s,h(_,y)),g++}}function Xr(n){let e=n.length,t=0,r=new Float64Array(e);for(let s=0;s<e;s++){let a=n[s],i=M(a,{allowNonFiniteNumbers:!0});i!==null&&F(i,{allowNonFiniteNumbers:!0,allowNaN:!1})&&(r[t++]=i)}if(t===0)return null;let o=r.subarray(0,t);return o.sort(),o}function $e(n){let e=Xr(n);if(!e)return null;let t=e.length,r=Math.floor(t/2);return t%2!==0?e[r]:(e[r-1]+e[r])/2}function St(n,e){if(e<0||e>1)return null;let t=Xr(n);if(!t)return null;let r=t.length,o=e*(r-1),s=Math.floor(o),a=Math.ceil(o);return s===a?t[s]:t[s]+(o-s)*(t[a]-t[s])}function At(n){if(!E(n)||n.length===0)return null;let e=new Map,t=n.length,r=0,o=[];for(let s=0;s<t;s++){let a=n[s];if(a==null||typeof a=="number"&&!F(a,{allowNonFiniteNumbers:!0,allowNaN:!1}))continue;let i=(e.get(a)??0)+1;e.set(a,i),i>r?(r=i,o=[a]):i===r&&o.push(a)}return o.length===0?null:et(o)}function Zr(n,e){let t=n.length;if(t===0)return[];let r=Math.trunc(e);if(isNaN(r)||r===0)return Array.isArray(n)?n.slice():Array.from(n);let o=Math.abs(r);if(o>=t)return new Array(t).fill(null);let s=new Array(t);if(r>0){s.fill(null,0,r);for(let a=r;a<t;a++){let i=n[a-r];s[a]=i??null}}else{let a=t-o;for(let i=0;i<a;i++){let l=n[i+o];s[i]=l??null}s.fill(null,a,t)}return s}function mn(n){let e=n.length,t=0,r=0,o=0,s=0,a=0,i=0;for(let m=0;m<e;m++){let p=n[m];if(!p)continue;let h=M(p[0]),y=M(p[1]);if(h===null||y===null)continue;t++;let d=h-r;r+=d/t;let g=h-r,_=y-o;o+=_/t;let T=y-o;i+=d*T,s+=d*g,a+=_*T}if(t<2)return{covariance:null,correlation:null};let l=i/(t-1);if(s===0||a===0)return{covariance:l,correlation:null};let f=Math.sqrt(s*a);if(f===0||Number.isNaN(f))return{covariance:l,correlation:null};let u=i/f,c=Math.max(-1,Math.min(1,u));return{covariance:l,correlation:c}}function Jr(n){let e=n.length,t=new Int32Array(e);for(let s=0;s<e;s++)t[s]=s;t.sort((s,a)=>n[s]-n[a]);let r=new Float64Array(e),o=0;for(;o<e;){let s=o+1;for(;s<e&&n[t[s]]===n[t[o]];)s++;let a=(o+1+s)/2;for(let i=o;i<s;i++)r[t[i]]=a;o=s}return r}function Js(n,e,t){if(t<2)return null;let r=0,o=0,s=0,a=0,i=0;for(let u=0;u<t;u++){let c=n[u],m=e[u],p=c-r;r+=p/(u+1);let h=c-r,y=m-o;o+=y/(u+1);let d=m-o;i+=p*d,s+=p*h,a+=y*d}if(s===0||a===0)return null;let l=Math.sqrt(s*a);if(l===0||Number.isNaN(l))return null;let f=i/l;return Math.max(-1,Math.min(1,f))}function Qr(n){let e=n.length,t=new Float64Array(e),r=new Float64Array(e),o=0;for(let i=0;i<e;i++){let l=n[i];if(l){let f=M(l[0]),u=M(l[1]);f!==null&&u!==null&&(t[o]=f,r[o]=u,o++)}}if(o<2)return null;let s=Jr(t.subarray(0,o)),a=Jr(r.subarray(0,o));return Js(s,a,o)}function eo(n){let e=n.length,t=0,r=0;for(let o=0;o<e;o++){let s=n[o];if(!s)continue;let a=M(s[0]),i=M(s[1]);a===null||i===null||(t+=a*i,r++)}return r>0?t:null}function to(n){let e=n.length,t=0,r=0,o=0;for(let s=0;s<e;s++){let a=n[s];if(!a)continue;let i=M(a[0]),l=M(a[1]);i===null||l===null||(t+=i*l,r+=l,o++)}return o===0||Math.abs(r)<1e-12?null:t/r}function no(n,e){let t=Math.max(0,Math.floor(n||0)),r=Math.max(0,Math.floor(e||0)),o=t*r;if(!bt(o,{range:"UInt32"}))throw new v(`Cartesian product size (${o} rows) exceeds maximum JavaScript array capacity.`);let s=new Array(o),a=new Array(o),i=0;for(let l=0;l<t;l++)for(let f=0;f<r;f++)s[i]=l,a[i]=f,i++;return{leftIndices:s,rightIndices:a}}function Dt(n,e,t={}){let r=t.side==="right",o=t.getValue,s=0,a=n.length;for(;s<a;){let i=s+a>>>1,l=o?o(i,n[i]):n[i];(r?l<=e:l<e)?s=i+1:a=i}return s}var Wr,Gr,tt=k(()=>{"use strict";ye();Ze();Tt();Y();Wr=(()=>{try{let n=new Uint8Array(0),e=Object.getPrototypeOf(n),t=Object.getPrototypeOf(e),r=Object.getOwnPropertyDescriptor(t,Symbol.toStringTag)?.get;return r&&r.call(n)==="Uint8Array"?r:void 0}catch{return}})();Gr={sum:null,count:0,min:null,max:null,minIdx:null,maxIdx:null,mean:null,variance:0,std:0,nullCount:0,len:0,hasNulls:!1,isNumeric:!1}});function ro(n){let e=ce(n);return typeof e=="string"?e.trim().length===0:!1}function Ct(n){let e=ce(n);if(e==null)return"";let t=String(e);return typeof RegExp.escape=="function"?RegExp.escape(t):t.replace(Ys,"\\$&")}function qe(n,e=null,t={}){if(n==null)return t.returnStringOnNull?"":null;let{mode:r="both",returnStringOnNull:o=!1,maxScanStart:s=1,maxScanEnd:a=1,maxMatchesStart:i=1,maxMatchesEnd:l=1,trimFirst:f=!1,stringOptions:u}=t,{literal:c=!1,caseInsensitive:m=!1}=u??{},p=(S,b="both")=>b==="start"?S.trimStart():b==="end"?S.trimEnd():S.trim(),h=n;if(f&&e!=null&&(h=p(n,r)),e==null){let S=p(h,r);return o||S!==""?S:null}let y=xe(e)?S=>{try{e.lastIndex=0}catch{}return e.test(S)}:(()=>{let S=new Set(m?e.toLowerCase():e);return b=>S.has(m?b.toLowerCase():b)})(),d=h.length;if(s===1&&i===1&&a===1&&l===1&&!c){let S=0,b=d;if(r==="both"||r==="start")for(;S<d&&y(h[S]);)S++;if(r==="both"||r==="end")for(;b>S&&y(h[b-1]);)b--;let D=S===0&&b===d?h:h.substring(S,b);return o||D!==""?D:null}let _=new Uint8Array(d),T=(S,b,D)=>{if(d===0||D===0)return;let C=S?0:d-1,O=S?d:-1,N=S?1:-1,J=!1,Z=0,W=0;for(let oe=C;oe!==O;oe+=N)if(y(h[oe])){if(!J){if(b!==null&&b>=0&&W>=b||D!==null&&D>=0&&Z>=D)break;J=!0,Z++}_[oe]=1}else if(J=!1,W++,b!==null&&b>=0&&W>=b)break},A=(S,b,D,C,O)=>{if(d===0||O===0||b===0)return;let N=D?0:d-1,J=0,Z=0,W=m?h.toLowerCase():h;for(;N>=0&&N<d&&!(O!==null&&O>=0&&J>=O);){let oe=D?N:N-b+1;if(!D&&oe<0)break;let le=D?W.indexOf(S,oe):W.lastIndexOf(S,oe);if(le===-1)break;let yt=D?le-N:N-(le+b-1);if(Z+=yt,C!==null&&C>=0&&Z>=C)break;for(let Le=0;Le<b;Le++)_[le+Le]=1;J++,N=D?le+b:le-1}};if(r==="both"||r==="start")if(c&&typeof e=="string"){let S=m?e.toLowerCase():e;A(S,e.length,!0,s,i)}else T(!0,s,i);if(r==="both"||r==="end")if(c&&typeof e=="string"){let S=m?e.toLowerCase():e;A(S,e.length,!1,a,l)}else T(!1,a,l);let x="";for(let S=0;S<d;S++)_[S]===0&&(x+=h[S]);return o||x!==""?x:null}function G(n,{depth:e=0,maxDepth:t=50}={}){if(e>t)return"v:circular";if(n===null)return"v:null";if(n===void 0)return"v:undefined";if(U(n))return`d:${n.getTime()}`;if(B(n)){let o=n.toString();return`u:${n.constructor.name}:${o.length}:${o}`}if(Array.isArray(n)){let o=n.length,s=new Array(o),a={depth:e+1,maxDepth:t};for(let i=0;i<o;i++)s[i]=G(n[i],a);return`a:[${s.join("")}]`}if(dt(n)){let o=Array.from(n),s=o.length,a=new Array(s),i={depth:e+1,maxDepth:t};for(let l=0;l<s;l++)a[l]=G(o[l],i);return a.sort(),`set:[${a.join("")}]`}if(gt(n)){let o=Array.from(n.keys()),s=o.length,a=new Array(s),i={depth:e+1,maxDepth:t};for(let l=0;l<s;l++){let f=o[l];a[l]=`${G(f,i)}${"\0"}${G(n.get(f),i)}`}return a.sort(),`map:{${a.join("")}}`}if(typeof n=="object"&&typeof n.toJSON=="function"){let o=n.toJSON();if(o!==n)return`j:${G(o,{depth:e+1,maxDepth:t})}`}if(xe(n)){let o=n.toString();return`r:${o.length}:${o}`}if(Ee(n)){let o=Object.keys(n).sort(),s=o.length,a=new Array(s),i={depth:e+1,maxDepth:t};for(let l=0;l<s;l++){let f=o[l];a[l]=`${G(f,i)}${"\0"}${G(n[f],i)}`}return`o:{${a.join("")}}`}if(typeof n=="function"){let o=n.toString();return`f:${o.length}:${o}`}if(typeof n=="string")return`s:${n.length}:${n}`;if(typeof n=="symbol"){let o=n.toString();return`y:${o.length}:${o}`}if(typeof n=="number"||typeof n=="boolean"||typeof n=="bigint")return`${typeof n}:${n}`;let r=String(n);return`${typeof n}:${r.length}:${r}`}function Qs(n){if(n==null)return[];let e=String(n);if(!e)return[];let r=e.normalize("NFC").replace(Hs,"$1$2").match(Xs)||[],o=[];for(let s=0;s<r.length;s++){let a=r[s];Zs.has(a)||o.push(a)}return o}function nt(n,e){let t=Qs(n),r=t.length;if(r===0)return"";let{format:o}=e;if(o==="camel"||o==="pascal"){let s="";for(let a=0;a<r;a++){let i=t[a];s+=a===0&&o==="camel"?i.toLowerCase():i.charAt(0).toUpperCase()+i.slice(1).toLowerCase()}return s}if(o==="kebab"||o==="snake"){let s=o==="kebab"?"-":"_",a=new Array(r);for(let i=0;i<r;i++)a[i]=t[i].toLowerCase();return a.join(s)}return String(n)}var Ys,Hs,Xs,Zs,Tt=k(()=>{"use strict";ye();tt();Ys=/[-\/\\^$*+?.()|\[\]{}]/g;Hs=/(\p{L})['’](\p{L})/gu,Xs=new RegExp(["\\p{Lu}+s(?!\\p{Ll})","\\p{Lu}+(?=\\p{Lu}\\p{Ll})","\\p{Lu}+\\p{Ll}*","\\p{Ll}+","\\p{N}+","\\p{L}+"].join("|"),"gu"),Zs=new Set(["__proto__","proto","constructor","prototype"])});function ni(n){let e=oo.get(n);return e||(e=new Intl.DateTimeFormat("en-US",{timeZone:n,hourCycle:"h23",weekday:"short",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",fractionalSecondDigits:3}),oo.set(n,e)),e}function ri(n,e){let t=`${n}_${e}`,r=so.get(t);return r||(r=new Intl.DateTimeFormat(n,{timeZoneName:"short",timeZone:e}),so.set(t,r)),r}function oi(n){let e=io.get(n);if(e===void 0){try{Intl.DateTimeFormat(void 0,{timeZone:n}),e=!0}catch{e=!1}io.set(n,e)}return e}function he(n){let e=!n||n==="local"?Intl.DateTimeFormat().resolvedOptions().timeZone:n;return oi(e)?e:"UTC"}function ee(n,e=0,t=1,r=0,o=0,s=0,a=0){let i=new Date(0);return i.setUTCFullYear(n,e,t),i.setUTCHours(r,o,s,a),i}function si(n,e,t){let r=[0,3,2,5,0,3,5,1,4,6,2,4],o=n;return e<3&&(o-=1),(o+Math.floor(o/4)-Math.floor(o/100)+Math.floor(o/400)+r[e-1]+t)%7}function re(n,e){let t=he(e);if(t.toUpperCase()==="UTC")return{year:n.getUTCFullYear(),month:n.getUTCMonth()+1,day:n.getUTCDate(),hour:n.getUTCHours(),minute:n.getUTCMinutes(),second:n.getUTCSeconds(),ms:n.getUTCMilliseconds(),dayOfWeek:n.getUTCDay(),timeZone:"UTC"};let o=ni(t).formatToParts(n),s="0",a="0",i="0",l="0",f="0",u="0",c="0";for(let _=0,T=o.length;_<T;_++){let A=o[_];switch(A.type){case"year":s=A.value;break;case"month":a=A.value;break;case"day":i=A.value;break;case"hour":l=A.value;break;case"minute":f=A.value;break;case"second":u=A.value;break;case"fractionalSecond":c=A.value;break}}let m=parseInt(s,10),p=parseInt(a,10),h=parseInt(i,10),y=parseInt(l,10);y===24&&(y=0);let d=Math.round(parseFloat("0."+c)*1e3)||0,g=si(m,p,h);return{year:m,month:p,day:h,hour:y,minute:parseInt(f,10),second:parseInt(u,10),ms:d,dayOfWeek:g,timeZone:t}}function Ke(n,e){let t=he(e);if(t.toUpperCase()==="UTC")return 0;let r=re(n,"UTC"),o=re(n,t),s=ee(r.year,r.month-1,r.day,r.hour,r.minute,r.second,r.ms).getTime(),a=ee(o.year,o.month-1,o.day,o.hour,o.minute,o.second,o.ms).getTime();return Math.round((a-s)/6e4)}function ao(n,e){let t=n>=0?"+":"-",r=Math.abs(n),o=String(Math.floor(r/60)).padStart(2,"0"),s=String(r%60).padStart(2,"0");return e==="iso"?`${t}${o}:${s}`:`${t}${o}${s}`}function H(n,e){let t=ce(n);if(t==null)return null;let r=null;if(U(t))r=t;else if(typeof t=="number"||typeof t=="bigint")r=new Date(ii(t));else if(typeof t=="string"){if(ro(t))return null;r=new Date(t)}if(!r||!U(r))return null;if(e?.dateOnly){let o=typeof t=="string",s=o&&ti.test(t),a=o&&!s&&!uo.test(t)?"local":"UTC",i=re(r,a);return ee(i.year,i.month-1,i.day)}return r}function It(n){let e=ce(n);if(e==null)return null;let t=null;if(typeof e=="string"){let o=e.trim();if(ei.test(o)){let s=uo.test(o);t=H(`1970-01-01T${o}${s?"":"Z"}`)}}let r=t||H(e);return r?Ne(r,{format:"%H:%M:%S.%ms"}):null}function co(n,e="ms"){let t=n.getTime();switch(e){case"s":return Math.floor(t/1e3);case"ms":return t;case"us":return BigInt(t)*ln;case"ns":return BigInt(t)*un}}function ii(n){if(typeof n=="bigint"){let t=n<0n?-n:n;return t<=30000000000n?Number(n)*1e3:t<=30000000000000n?Number(n):t<=30000000000000000n?Number(n/ln):Number(n/un)}let e=Math.abs(n);return e<=3e10?n*1e3:e<=3e13?n:e<=3e16?Math.floor(n/1e3):Math.floor(n/1e6)}function fo(n){if(!U(n))return null;let e=n.getUTCFullYear();return Math.floor((e-1)/100)+1}function dn(n,e={field:"week"}){if(!U(n))return null;let t=ee(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()),r=t.getUTCDay()||7;if(t.setUTCDate(t.getUTCDate()+4-r),e.field==="year")return t.getUTCFullYear();let o=ee(t.getUTCFullYear(),0,1),s=Math.round((t.getTime()-o.getTime())/864e5);return Math.floor(s/7)+1}function mo(n){if(!U(n))return null;let e=n.getUTCFullYear();return Math.floor((e-1)/1e3)+1}function Et(n,e,t=1){return U(n)?ee(n.getUTCFullYear(),n.getUTCMonth()+e,t):null}function gn(n){if(!U(n))return null;let e=ee(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()).getTime(),t=ee(n.getUTCFullYear(),0,1).getTime();return Math.floor((e-t)/864e5)+1}function po(n){return U(n)?Math.floor(n.getUTCMonth()/3)+1:null}function _n(n){let e;if(U(n))e=n.getUTCFullYear();else if(F(n))e=n;else return!1;return e%4===0&&e%100!==0||e%400===0}function ho(n){return n.replace(/%[FTRD]/g,e=>li[e]||e)}function ui(n){let e=n.replace(":",""),t=e[0]==="+"?1:-1,r=parseInt(e.slice(1,3),10)||0,o=parseInt(e.slice(3,5),10)||0;return t*(r*60+o)}function Ne(n,{format:e,locale:t,timeZone:r="UTC"}){if(!U(n)||typeof e!="string")return"";let o=t&&t.trim()||Intl.DateTimeFormat().resolvedOptions().locale||"en-US",s=ho(e),a=null,i=()=>a??=re(n,r);return s.replace(Ot,(l,f)=>{if(f==="%")return"%";let u=bn[f];return u?u.format(n,o,r,i()):l})}function yo(n,{format:e,strict:t=!0,defaultTimeZone:r="UTC"}){if(typeof n!="string"||typeof e!="string")return null;let o=ho(e),s=[],a="",i=0;Ot.lastIndex=0;let l;for(;(l=Ot.exec(o))!==null;){let y=o.slice(i,l.index);a+=Ct(y);let d=l[1];if(d==="%")a+="\\%";else{let g=bn[d];g&&g.parseRegex?(s.push(g),a+=`(${g.parseRegex})`):a+=Ct(l[0])}i=Ot.lastIndex}a+=Ct(o.slice(i));let f=new RegExp("^\\s*"+a+"\\s*$"),u=n.match(f);if(!u)return t?null:H(n);let c={year:1970,month:1,day:1,hour:0,minute:0,second:0,ms:0,offset:null},m=null,p=!1;for(let y=0;y<s.length;y++){let d=u[y+1],g=s[y],_=g.parseNormalize?g.parseNormalize(d):parseInt(d,10);g.key==="j"&&(p=!0),g.parseField==="ampm"?m=_:g.parseField==="offset"?c.offset=_:g.parseField&&(c[g.parseField]=_)}if(m&&(m==="PM"&&c.hour<12&&(c.hour+=12),m==="AM"&&c.hour===12&&(c.hour=0)),p){let y=_n(c.year)?366:365;if(c.day<1||c.day>y)return null;let d=ee(c.year,0,1);d.setUTCDate(c.day),c.month=d.getUTCMonth()+1,c.day=d.getUTCDate()}let h=ee(c.year,c.month-1,c.day,c.hour,c.minute,c.second,c.ms);if(!U(h)||h.getUTCFullYear()!==c.year||h.getUTCMonth()+1!==c.month||h.getUTCDate()!==c.day||h.getUTCHours()!==c.hour||h.getUTCMinutes()!==c.minute||h.getUTCSeconds()!==c.second||h.getUTCMilliseconds()!==c.ms)return null;if(c.offset)h=new Date(h.getTime()-ui(c.offset)*6e4);else if(r.toUpperCase()!=="UTC"){let y=he(r),d=Ke(h,y);h=new Date(h.getTime()-d*6e4);let g=Ke(h,y);g!==d&&(h=new Date(h.getTime()-(g-d)*6e4))}return U(h)?h:null}function go(n,e,{excludeWeekdays:t=[],holidays:r=[],roll:o}={}){if(!bt(e))throw new ie(`The offset parameter 'n' must be a whole integer. Received: ${e}`);if(t.length===0&&(!r||Array.isArray(r)&&r.length===0||r instanceof Set&&r.size===0)&&!o)return e;if(7-t.length<=0)throw new ie("All weekdays are excluded; cannot offset.");let a=new Set;if(r instanceof Set)for(let c of r){let m=new Date(c);t.includes(m.getUTCDay())||a.add(c)}else if(Array.isArray(r))for(let c=0;c<r.length;c++){let m=H(r[c]);if(!m||t.includes(m.getUTCDay()))continue;let p=ee(m.getUTCFullYear(),m.getUTCMonth(),m.getUTCDate());a.add(p.getTime())}let i=c=>t.includes(c.getUTCDay())?!0:a.has(c.getTime()),l=ee(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()),f=new Date(l.getTime());if(o&&i(f)){if(o==="raise")throw new ie("Start date falls on an excluded day or holiday.");let c=o==="forward"?1:-1;for(;i(f);)f.setUTCDate(f.getUTCDate()+c)}if(e!==0){let c=e>0?1:-1,m=0,p=Math.abs(e);for(;m<p;)f.setUTCDate(f.getUTCDate()+c),i(f)||m++}let u=f.getTime()-l.getTime();return Math.round(u/864e5)}function xn(n,e,t){let r=he(e),o=t?.type??"total",s;if(o==="total")s=Ke(n,r);else{let l=re(n,r).year,f=Ke(ee(l,0,1),r),u=Ke(ee(l,6,1),r),c=Math.min(f,u);o==="daylightSavingTime"?s=Ke(n,r)-c:s=c}switch(t?.format??"milliseconds"){case"minutes":return s;case"hours":return s/60;case"iso":return ao(s,"iso");case"basic":return ao(s,"basic");default:return s*6e4}}function _o(n,e={}){if(!U(n))return null;let t=e.excludeWeekdays??[0,6],r=n.getUTCDay();if(t.includes(r))return!1;let o=e.holidays;if(o){if(o instanceof Set){let s=Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate());if(o.has(s))return!1}else if(Array.isArray(o)&&o.length>0){let s=new Set;for(let i=0;i<o.length;i++){let l=H(o[i]);l&&s.add(Date.UTC(l.getUTCFullYear(),l.getUTCMonth(),l.getUTCDate()))}let a=Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate());if(s.has(a))return!1}}return!0}function bo(n,e={}){let t=re(n,e?.timeZone??void 0),r=e?.year??t.year,o=e?.month!=null?e.month-1:t.month-1,s=e?.day??t.day,a=e?.hour??t.hour,i=e?.minute??t.minute,l=e?.second??t.second,f=e?.ms??t.ms;return ee(r,o,s,a,i,l,f)}var ei,uo,ti,oo,so,io,bn,ai,Ot,li,wn=k(()=>{"use strict";Tt();Y();ye();Ze();Fr();ei=/^\d{2}:\d{2}/,uo=/(?:Z|[+-]\d{2}(?::?\d{2})?)$/i,ti=/^\d{4}-\d{2}-\d{2}$/,oo=new Map;so=new Map;io=new Map;bn={Y:{key:"Y",format:(n,e,t,r)=>{let o=r.year;return o>=0?String(o).padStart(4,"0"):"-"+String(Math.abs(o)).padStart(4,"0")},parseRegex:"[+-]?\\d{4,}",parseField:"year"},y:{key:"y",format:(n,e,t,r)=>String(Math.abs(r.year)%100).padStart(2,"0"),parseRegex:"\\d{2}",parseField:"year",parseNormalize:n=>{let e=parseInt(n,10);return e+(e>=69?1900:2e3)}},m:{key:"m",format:(n,e,t,r)=>String(r.month).padStart(2,"0"),parseRegex:"\\d{2}",parseField:"month"},d:{key:"d",format:(n,e,t,r)=>String(r.day).padStart(2,"0"),parseRegex:"\\d{2}",parseField:"day"},e:{key:"e",format:(n,e,t,r)=>String(r.day).padStart(2," "),parseRegex:"\\s?\\d{1,2}",parseField:"day"},H:{key:"H",format:(n,e,t,r)=>String(r.hour).padStart(2,"0"),parseRegex:"\\d{2}",parseField:"hour"},I:{key:"I",format:(n,e,t,r)=>String(r.hour%12||12).padStart(2,"0"),parseRegex:"\\d{2}",parseField:"hour"},p:{key:"p",format:(n,e,t,r)=>r.hour>=12?"PM":"AM",parseRegex:"AM|PM|am|pm",parseField:"ampm",parseNormalize:n=>n.toUpperCase()},M:{key:"M",format:(n,e,t,r)=>String(r.minute).padStart(2,"0"),parseRegex:"\\d{2}",parseField:"minute"},S:{key:"S",format:(n,e,t,r)=>String(r.second).padStart(2,"0"),parseRegex:"\\d{2}",parseField:"second"},A:{key:"A",format:(n,e,t)=>n.toLocaleDateString(e,{weekday:"long",timeZone:he(t)})},a:{key:"a",format:(n,e,t)=>n.toLocaleDateString(e,{weekday:"short",timeZone:he(t)})},B:{key:"B",format:(n,e,t)=>n.toLocaleDateString(e,{month:"long",timeZone:he(t)})},b:{key:"b",format:(n,e,t)=>n.toLocaleDateString(e,{month:"short",timeZone:he(t)})},h:{key:"h",format:(n,e,t)=>n.toLocaleDateString(e,{month:"short",timeZone:he(t)})},j:{key:"j",format:(n,e,t,r)=>String(gn(ee(r.year,r.month-1,r.day))??1).padStart(3,"0"),parseRegex:"\\d{3}",parseField:"day",parseNormalize:n=>parseInt(n,10)},u:{key:"u",format:(n,e,t,r)=>String(r.dayOfWeek||7)},w:{key:"w",format:(n,e,t,r)=>String(r.dayOfWeek)},Z:{key:"Z",format:(n,e,t)=>{let r=he(t);if(r.toUpperCase()==="UTC")return"UTC";let o=ri(e,r).formatToParts(n);for(let s=0,a=o.length;s<a;s++)if(o[s].type==="timeZoneName")return o[s].value;return"UTC"}},z:{key:"z",format:(n,e,t)=>xn(n,t,{format:"basic"}),parseRegex:"[+-]\\d{2}(?::?\\d{2})?",parseField:"offset",parseNormalize:n=>n.replace(":","")},ms:{key:"ms",format:(n,e,t,r)=>String(r.ms).padStart(3,"0"),parseRegex:"\\d{3}",parseField:"ms",parseNormalize:n=>parseInt(n,10)},f:{key:"f",format:(n,e,t,r)=>String(r.ms).padStart(3,"0").padEnd(6,"0"),parseRegex:"\\d{1,9}",parseField:"ms",parseNormalize:n=>parseInt(n.padEnd(6,"0").slice(0,3),10)}},ai=Object.keys(bn).concat("%").sort((n,e)=>e.length-n.length),Ot=new RegExp("%("+ai.join("|")+")","g"),li={"%F":"%Y-%m-%d","%T":"%H:%M:%S","%R":"%H:%M","%D":"%m/%d/%y"}});function xo(n,{format:e="json",allowPrimitives:t=!1,trimBeforeParse:r=!1,reviver:o,ndjson:{skipInvalidLines:s=!1,maxLines:a,skipLines:i}={},guard:l,onError:f,fallback:u=ot}={}){if(typeof n!="string")return u!==ot?u:n;let c=r?n.trim():n;if(c==="")return u!==ot?u:n;let m;try{if(e==="ndjson"){let p=[],h=0,y=0,d=0;Sn.lastIndex=0;let g;for(;;){g=Sn.exec(c);let _=g?c.substring(d,g.index):c.substring(d);g&&(d=Sn.lastIndex);let T=_.trim();if(T!==""&&(h++,i===void 0||h>i))if(!t&&!ci(T)){if(!s)throw new v("NDJSON line is not wrapped and primitives are disallowed")}else try{if(p.push(JSON.parse(T,o)),y++,a!==void 0&&y>=a)break}catch(A){if(!s)throw A}if(!g)break}if(p.length===0)throw new Ae("No valid NDJSON lines processed");m=p}else{if(!t&&!fi(c))throw new v("JSON string is not wrapped and primitives are disallowed");m=JSON.parse(c,o)}}catch(p){return f?.(p),u!==ot?u:n}return l&&!l(m)?(f?.(new Error("Parsed value failed guard validation")),u!==ot?u:n):m}function st(n={}){let e=n.bigintStrategy??"string",t=n.handleCircular?new WeakSet:null,o=Array.isArray(n.replacer)?n.replacer.map(String):null,s=a=>e==="number"&&a<=BigInt(Number.MAX_SAFE_INTEGER)&&a>=BigInt(Number.MIN_SAFE_INTEGER)?Number(a):a.toString();return function(i,l){let f=l;if(typeof n.replacer=="function")f=n.replacer.call(this,i,l);else if(o&&i!==""&&!Array.isArray(this)&&!o.includes(i))return;if(f===void 0)return;let u=f===l&&this!=null?this[i]:f;if(typeof n.onCustom=="function"){let c=n.onCustom.call(this,i,u);if(c!==u||c===void 0&&u!==void 0)return c}if(u!==null&&typeof u!="object"&&typeof u!="bigint")return f;if(t&&u!==null&&typeof u=="object"){if(i===""&&(t=new WeakSet),t.has(u))return n.onCircular?n.onCircular.call(this,i,u):"[Circular]";t.add(u)}return typeof u=="bigint"?n.voidBigIntReplacement?f:n.onBigInt?n.onBigInt(u):s(u):B(u)?n.voidTypedArrayReplacement?f:n.onTypedArray?n.onTypedArray(u):Array.from(u):dt(u)?n.voidSetReplacement?f:n.onSet?n.onSet(u):Array.from(u):gt(u)?n.voidMapReplacement?f:n.onMap?n.onMap(u):Array.from(u.entries()):xe(u)?n.voidRegExpReplacement?f:n.onRegExp?n.onRegExp(u):u.toString():U(u)?n.voidDateReplacement?f:n.onDate?n.onDate(u):n.formatDate?n.formatDate(u):u.toISOString():Ur(u)?n.onError?n.onError(u):{name:u.name,message:u.message,stack:u.stack}:Mr(u)?n.onURLSearchParams?n.onURLSearchParams(u):u.toString():f}}var Sn,ot,ci,fi,kt=k(()=>{"use strict";tt();ye();Y();Sn=/\r\n|\n|\r/g,ot=Symbol("no_fallback"),ci=n=>{let e=n.length;if(e<2)return!1;let t=n[0],r=n[e-1];return t==="{"&&r==="}"||t==="["&&r==="]"},fi=n=>{let e=0,t=n.length;for(;e<t&&/\s/.test(n[e]);)e++;let r=t-1;for(;r>=e&&/\s/.test(n[r]);)r--;if(e>=r)return!1;let o=n[e],s=n[r];return o==="{"&&s==="}"||o==="["&&s==="]"}});var ne,ze,Rt,ve,Me,it,Ue,at,Nt=k(()=>{"use strict";ne=class n{matches(e){if(e==null)return!1;if(e instanceof n)return!!(this.equals(e)||this.name.startsWith("Decimal")&&e.name.startsWith("Decimal")&&e.precision===void 0&&e.scale===void 0);if(typeof e=="function"){if(e.prototype instanceof n)return this instanceof e;try{let t=e();if(t instanceof n)return this.constructor===t.constructor}catch{}}return!1}get isNumeric(){return!1}get isInteger(){return!1}get isFloat(){return!1}get isSigned(){return!1}get isUnsigned(){return!1}get isTemporal(){return!1}get isNested(){return!1}get isBoolean(){return!1}get isString(){return!1}get isUtf8(){return!1}get isObject(){return!1}get isNull(){return!1}get isBinary(){return!1}},ze=class extends ne{get isNumeric(){return!0}},Rt=class extends ze{get isInteger(){return!0}},ve=class extends Rt{get isSigned(){return!0}},Me=class extends Rt{get isUnsigned(){return!0}},it=class extends ze{get isFloat(){return!0}},Ue=class extends ne{get isTemporal(){return!0}},at=class extends ne{get isNested(){return!0}}});var An,wo,Dn,So,Tn,Ao,Cn,Mt,On,Do,In,To,En,Co,kn,Oo,Rn,Io,Nn,Ut,vt,vn,Ft,Mn,ut,Un,Eo,Fn,ko,jn,Ro,Vn,No,ge,jt,Ln,vo,lt,Mo,Pn,Uo,Bn,Fo,ct=k(()=>{"use strict";Nt();q();An=class extends ve{name="Int8";coerce(e){return de(e,{range:"Int8"})}equals(e){return e.name==="Int8"}allocate(e){return new Int8Array(e)}},wo=new An,Dn=class extends ve{name="Int16";coerce(e){return de(e,{range:"Int16"})}equals(e){return e.name==="Int16"}allocate(e){return new Int16Array(e)}},So=new Dn,Tn=class extends ve{name="Int32";coerce(e){return de(e,{range:"Int32"})}equals(e){return e.name==="Int32"}allocate(e){return new Int32Array(e)}},Ao=new Tn,Cn=class extends ve{name="Int64";coerce(e){return Be(e,{truncate:!0})}equals(e){return e.name==="Int64"}allocate(e){return new BigInt64Array(e)}},Mt=new Cn,On=class extends Me{name="UInt8";coerce(e){return de(e,{range:"UInt8"})}equals(e){return e.name==="UInt8"}allocate(e){return new Uint8Array(e)}},Do=new On,In=class extends Me{name="UInt16";coerce(e){return de(e,{range:"UInt16"})}equals(e){return e.name==="UInt16"}allocate(e){return new Uint16Array(e)}},To=new In,En=class extends Me{name="UInt32";coerce(e){return de(e,{range:"UInt32"})}equals(e){return e.name==="UInt32"}allocate(e){return new Uint32Array(e)}},Co=new En,kn=class extends Me{name="UInt64";coerce(e){return Be(e,{range:"UInt64"})}equals(e){return e.name==="UInt64"}allocate(e){return new BigUint64Array(e)}},Oo=new kn,Rn=class extends it{name="Float32";coerce(e){return cn(e,{floatPrecision:"Float32"})}equals(e){return e.name==="Float32"}allocate(e){return new Float32Array(e)}},Io=new Rn,Nn=class extends it{name="Float64";coerce(e){return cn(e,{floatPrecision:"Float64"})}equals(e){return e.name==="Float64"}allocate(e){return new Float64Array(e)}},Ut=new Nn,vt=class n extends ze{constructor(t,r){super();this.precision=t;this.scale=r;this.name=t!==void 0&&r!==void 0?`Decimal(${t}, ${r})`:"Decimal"}precision;scale;name;coerce(t){return xt(t,{precision:this.precision,scale:this.scale})}equals(t){return t instanceof n&&this.precision===t.precision&&this.scale===t.scale}allocate(t){return new Array(t).fill(null)}},vn=class extends ne{name="Boolean";get isBoolean(){return!0}coerce(e){return e==null?null:!!e}equals(e){return e.name==="Boolean"}allocate(e){return new Array(e).fill(null)}},Ft=new vn,Mn=class extends ne{name="Utf8";get isString(){return!0}get isUtf8(){return!0}coerce(e){return e==null?null:String(e)}equals(e){return e.name==="Utf8"}allocate(e){return new Array(e).fill(null)}},ut=new Mn,Un=class extends ne{name="Binary";get isBinary(){return!0}coerce(e){return jo(e)}equals(e){return e.name==="Binary"}allocate(e){return new Array(e).fill(null)}},Eo=new Un,Fn=class extends ne{name="Null";get isNull(){return!0}coerce(e){return null}equals(e){return e.name==="Null"}allocate(e){return new Array(e).fill(null)}},ko=new Fn,jn=class extends ne{name="Object";get isObject(){return!0}coerce(e){return e===void 0?null:e}equals(e){return e.name==="Object"}allocate(e){return new Array(e).fill(null)}},Ro=new jn,Vn=class extends Ue{name="Date";coerce(e){return H(e,{dateOnly:!0})}equals(e){return e.name==="Date"}allocate(e){return new Array(e).fill(null)}},No=new Vn,ge=class n extends Ue{name="Datetime";timeUnit;timeZone;constructor(e="ms",t=null){super(),this.timeUnit=e,this.timeZone=t}coerce(e){return H(e)}equals(e){return e instanceof n&&e.timeUnit===this.timeUnit&&e.timeZone===this.timeZone}allocate(e){return new Array(e).fill(null)}},jt=new ge,Ln=class extends Ue{name="Time";coerce(e){return It(e)}equals(e){return e.name==="Time"}allocate(e){return new Array(e).fill(null)}},vo=new Ln,lt=class n extends Ue{name="Duration";timeUnit;constructor(e="ms"){super(),this.timeUnit=e}coerce(e){return M(e)}equals(e){return e instanceof n&&e.timeUnit===this.timeUnit}allocate(e){return new Array(e).fill(null)}},Mo=new lt,Pn=class n extends at{constructor(t){super();this.innerType=t}innerType;name="Array";coerce(t){if(t==null)return null;let r=E(t)?Array.from(t):[t],o=r.length,s=new Array(o);for(let a=0;a<o;a++)s[a]=this.innerType.coerce(r[a]);return s}equals(t){return t instanceof n&&this.innerType.equals(t.innerType)}allocate(t){return new Array(t).fill(null)}},Uo=n=>new Pn(n),Bn=class n extends at{constructor(t){super();this.fields=t}fields;name="Struct";coerce(t){if(!K(t))return null;let r={},o=Object.keys(this.fields),s=o.length;for(let a=0;a<s;a++){let i=o[a],l=this.fields[i];r[i]=l.coerce(t[i])}return r}equals(t){if(!(t instanceof n))return!1;let r=Object.keys(this.fields),o=Object.keys(t.fields);if(r.length!==o.length)return!1;for(let s=0;s<r.length;s++){let a=r[s];if(!this.fields[a].equals(t.fields[a]))return!1}return!0}allocate(t){return new Array(t).fill(null)}},Fo=n=>new Bn(n)});var j,De=k(()=>{"use strict";Nt();ct();ct();Nt();j={Int8:wo,Int16:So,Int32:Ao,Int64:Mt,UInt8:Do,UInt16:To,UInt32:Co,UInt64:Oo,Float32:Io,Float64:Ut,Decimal:(n,e)=>new vt(n,e),Boolean:Ft,Utf8:ut,Binary:Eo,Date:No,Datetime:jt,Time:vo,Duration:Mo,Object:Ro,Null:ko,Array:Uo,Struct:Fo}});function pi(n={}){let e=n.nullValue!==void 0?n.nullValue:"",t=qr(n.numericFormatOptions),r=n.replacerOptions||{},o=i=>n.datetimeFormat?Ne(i,{format:n.datetimeFormat}):n.dateFormat?Ne(i,{format:n.dateFormat}):n.timeFormat?Ne(i,{format:n.timeFormat}):i.toISOString(),s=st({formatDate:o,...r}),a=typeof r.onBigInt=="function";return i=>{if(i==null||typeof i=="symbol"||typeof i=="function")return{str:e,isNumeric:!1};if(typeof i=="bigint"&&!a&&!r.voidBigIntReplacement)return{str:t(i),isNumeric:!0};let l=s.call(null,"",i),f=ce(l);return f==null||typeof f=="symbol"||typeof f=="function"?{str:e,isNumeric:!1}:typeof f=="string"?{str:f,isNumeric:!1}:typeof f=="number"||typeof f=="bigint"?{str:t(f),isNumeric:!0}:typeof f=="boolean"?{str:f?"true":"false",isNumeric:!1}:typeof f=="object"?{str:JSON.stringify(f,st({formatDate:o,...r})),isNumeric:!1}:{str:String(f),isNumeric:!1}}}function Lt(n,e,t={}){let{separator:r=",",quoteChar:o='"',includeHeader:s=!0,lineTerminator:a=`
2
+ `,quoteStyle:i="necessary",includeBom:l=!1,onRow:f,...u}=t,c=Object.keys(n),m=c.length,p=[],h=!0,y=pi(u),d=(_,T=!1)=>{let A,x=!1;if(T)A=String(_);else{let b=y(_);A=b.str,x=b.isNumeric}if(i==="never")return A;if(i==="always"){let b=A.split(o).join(o+o);return o+b+o}if(i==="non_numeric"&&!x&&_!=null){let b=A.split(o).join(o+o);return o+b+o}if(A.includes(r)||A.includes(o)||A.includes(`
3
+ `)||A.includes("\r")){let b=A.split(o).join(o+o);return o+b+o}return A},g=_=>{if(h){let T=l?"\uFEFF"+_:_;f?f(T):p.push(T),h=!1}else f?f(a+_):p.push(_)};if(s){let _=new Array(m);for(let T=0;T<m;T++)_[T]=d(c[T],!0);g(_.join(r))}for(let _=0;_<e;_++){let T=new Array(m);for(let A=0;A<m;A++)T[A]=d(n[c[A]][_],!1);g(T.join(r))}return f?l?"\uFEFF":"":p.join(a)}function Vo(n,e={}){let t=e.separator||",",r=e.quoteChar||'"',o=n;o.startsWith("\uFEFF")&&(o=o.substring("\uFEFF".length));let s=[],a=[],i="",l=!1,f=!1,u=!1,c=o.length;for(let m=0;m<c;m++){let p=o[m];if(l)f=!0,u=!1,p===r?m+1<c&&o[m+1]===r?(i+=r,m++):l=!1:i+=p;else if(p===r)f=!0,u=!1,l=!0;else if(p===t)a.push(i),i="",u=!0;else{let h=!1;p==="\r"?(h=!0,m+1<c&&o[m+1]===`
4
+ `&&m++):p===`
5
+ `&&(h=!0),h?(f||a.length>0||i!==""||u)&&(a.push(i),s.push(a),a=[],i="",f=!1,u=!1):(f=!0,u=!1,i+=p)}}return(f||a.length>0||i!==""||u)&&(a.push(i),s.push(a)),s}function Lo(n,e={}){let t=new Set(e.nullValues??["","NA","null","NaN"]),r=n.length,o=!0,s=!0,a=!0,i=!0,l=!1;for(let u=0;u<r;u++){let c=n[u].trim();if(!t.has(c)){if(l=!0,o){let m=c.toLowerCase();m!=="true"&&m!=="false"&&m!=="1"&&m!=="0"&&(o=!1)}if(a&&Be(c,{truncate:!1})===null&&(a=!1),s&&M(c,{allowNonFiniteNumbers:!0})===null&&(s=!1),i&&H(c)===null&&(i=!1),!o&&!s&&!a&&!i)break}}let f=new Array(r);if(!l||!o&&!s&&!a&&!i){for(let u=0;u<r;u++){let c=n[u];f[u]=t.has(c.trim())?null:c}return{type:ut,values:f}}if(o){for(let u=0;u<r;u++){let c=n[u].trim();if(t.has(c))f[u]=null;else{let m=c.toLowerCase();f[u]=m==="true"||m==="1"}}return{type:Ft,values:f}}if(a){for(let u=0;u<r;u++){let c=n[u].trim();f[u]=t.has(c)?null:Be(c,{truncate:!1})}return{type:Mt,values:f}}if(s){for(let u=0;u<r;u++){let c=n[u].trim();f[u]=t.has(c)?null:M(c,{allowNonFiniteNumbers:!0})}return{type:Ut,values:f}}if(i){for(let u=0;u<r;u++){let c=n[u].trim();f[u]=t.has(c)?null:H(c)}return{type:jt,values:f}}return{type:ut,values:f}}var Po=k(()=>{"use strict";wn();kt();Ze();De();ye()});function hi(n){return n==null?!1:typeof n=="string"||B(n)?!0:Array.isArray(n)}function jo(n){return hi(n)?Object.prototype.toString.call(n)==="[object Uint8Array]"?n:typeof n=="string"?new TextEncoder().encode(n):B(n)?new Uint8Array(n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength)):new Uint8Array(n):null}var Bo=k(()=>{"use strict";tt()});function $o(n,e){return e==="us"?n*1e3:e==="ns"?n*1e6:n}var qo=k(()=>{"use strict"});var q=k(()=>{"use strict";ye();Ze();wn();tt();Tt();kt();Po();Bo();qo()});function X(n,e,t,r=""){if(!(n in e))throw new Te(n,`${t} "${n}" does not exist${r}`)}function qn(n,e){let t=Object.keys(n),r=t.length,o=e;for(let s=0;s<r;s++){let a=t[s],i=n[a],l=E(i)?i.length:0;if(o===void 0)o=l;else if(l!==o)throw new te(`Column height mismatch: Column "${a}" has length ${l}, but DataFrame height is ${o}`)}return o===void 0?0:o}function Pt(n,e="Value cannot be null or undefined"){if(n==null)throw new v(e);return n}function Ta(n,e){if(!n)throw new v(e)}var Ko=k(()=>{"use strict";Y();q()});var Ce,z,Te,Fe,ie,te,v,Ae,Y=k(()=>{"use strict";Ko();Ce=class extends Error{constructor(e){super(e),this.name=this.constructor.name,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},z=class extends Ce{},Te=class extends z{constructor(e,t){super(t||`Column "${e}" does not exist in the DataFrame.`)}},Fe=class extends Ce{},ie=class extends Ce{},te=class extends Ce{},v=class extends Ce{},Ae=class extends Ce{}});function yi(n,e,t){let r=new Map,o=t.length,s=new Array(o);for(let a=0;a<o;a++){let i=t[a];typeof i=="string"?(X(i,n,"Partition key"," in the DataFrame."),s[a]=n[i]):s[a]=i.evaluate(n,e)}if(o===1){let a=s[0];for(let i=0;i<e;i++){let l=a[i],f=l==null?"":G(l),u=r.get(f);u===void 0&&(u=[],r.set(f,u)),u.push(i)}return r}for(let a=0;a<e;a++){let i=new Array(o);for(let u=0;u<o;u++){let c=s[u][a];i[u]=c==null?"":G(c)}let l=i.join("\0"),f=r.get(l);f===void 0&&(f=[],r.set(l,f)),f.push(a)}return r}function zo(n,e,t){let r=new Array(t);if(t===0)return r;let o=n._partitionBy||[],s=yi(e,t,o),a=n._evaluatePre(n._partitionOpsIndex,e,t);for(let i of s.values()){let l=i.length,f=new Array(l);for(let u=0;u<l;u++)f[u]=a[i[u]];if(n._evaluateWindow){for(let u=0;u<l;u++)r[i[u]]=n._evaluateWindow(f,i,u);continue}if(n._aggFn){let u=n._aggFn(f);for(let c=0;c<l;c++)r[i[c]]=u;continue}for(let u=0;u<l;u++)r[i[u]]=a[i[u]]}return n._evaluatePost(n._partitionOpsIndex,r,e)}function Wo(n){if(!Array.isArray(n)||n.length===0)return{columns:{},height:0};let e=n.length,t=new Set;for(let s=0;s<e;s++){let a=n[s];if(K(a)){let i=Object.keys(a);for(let l=0;l<i.length;l++)t.add(i[l])}}let r=Array.from(t),o={};for(let s=0;s<r.length;s++)o[r[s]]=new Array(e);for(let s=0;s<e;s++){let a=n[s]||{};for(let i=0;i<r.length;i++){let l=r[i],f=a[l];o[l][s]=f===void 0?null:f}}return{columns:o,height:e}}function Go(n,e){let t=Object.keys(n),r=new Array(e);for(let o=0;o<e;o++){let s={};for(let a=0;a<t.length;a++){let i=t[a],l=n[i][o];s[i]=l===void 0?null:l}r[o]=s}return r}function va(n,e,t){let r={};for(let o=0;o<t.length;o++){let s=t[o],a=n[s][e];r[s]=a===void 0?null:a}return r}function Ie(n){if(n.length===0)return j.Utf8;let e=!0,t=!0,r=!0,o=!0,s=!0,a=!0,i=!0,l=!0,f=!1,u=!1,c=[];for(let m=0;m<n.length;m++){let p=n[m];if(p!=null){if(u=!0,p instanceof Uint8Array||(i=!1),!E(p)||p instanceof Uint8Array)a=!1;else{let h=p,y=h.length;for(let d=0;d<y;d++)c.push(h[d])}U(p)&&(f=!0),typeof p!="boolean"&&(e=!1),typeof p!="bigint"&&(o=!1),typeof p!="number"?(r=!1,t=!1):Number.isInteger(p)||(t=!1),!U(p)&&(typeof p!="string"||isNaN(Date.parse(p)))&&(s=!1),(!K(p)||p instanceof Uint8Array)&&(l=!1)}}if(!u)return j.Null;if(i)return j.Binary;if(a){let m=Ie(c);return j.Array(m)}if(e)return j.Boolean;if(o)return j.Int64;if(r&&!t)return j.Float64;if(r&&t){let m=!0;for(let p=0;p<n.length;p++){let h=n[p];if(h!=null&&(h<-2147483648||h>2147483647)){m=!1;break}}return m?j.Int32:j.Float64}return s&&f?j.Datetime:l?j.Object:j.Utf8}function ft(n,e){let t=Object.keys(n),r=t.length,o=e.length,s={};for(let a=0;a<r;a++){let i=t[a],l=n[i],f=B(l)?new l.constructor(o):new Array(o);for(let u=0;u<o;u++)f[u]=l[e[u]];s[i]=f}return s}function Oe(n,e,t){let r=e.length;if(r===1)return G(n[e[0]][t]);let o=new Array(r);for(let s=0;s<r;s++)o[s]=G(n[e[s]][t]);return o.join("\0")}function je(n,e,t){let r=e.allocate?e.allocate(t):new Array(t);if(B(r)){let s=r;for(let a=0;a<t;a++){let i=e.coerce(n[a]);if(i==null){let l=new Array(t);for(let f=0;f<a;f++)l[f]=s[f];l[a]=null;for(let f=a+1;f<t;f++)l[f]=e.coerce(n[f]);return l}s[a]=i}}else for(let s=0;s<t;s++)r[s]=e.coerce(n[s]);return r}function Jo(n,e){if(n)if(typeof n=="string"){if(typeof Pe!="function")throw new Ae("File writing is not supported in this environment (missing require('fs')).");Pe("fs").writeFileSync(n,e,"utf8")}else if(K(n)&&typeof n.write=="function")n.write(e);else throw new v("Invalid file argument. Expected a file path string or a writable stream/object with a write method.")}function Yo(n,e,t,r,o,s,a={}){let{how:i="inner",join_nulls:l=!1,maintain_order:f}=a,u=(b,D,C)=>{if(!l){for(let O=0;O<D.length;O++)if(b[D[O]][C]==null)return null}return Oe(b,D,C)};if(i==="cross")return no(t,r);let c=new Map;for(let b=0;b<r;b++){let D=u(e,s,b);if(D===null)continue;let C=c.get(D);C===void 0&&(C=[],c.set(D,C)),C.push(b)}let m=[],p=[];if(i==="semi"||i==="anti"){for(let b=0;b<t;b++){let D=u(n,o,b),C=D===null?void 0:c.get(D),O=C!==void 0&&C.length>0;(i==="semi"&&O||i==="anti"&&!O)&&(m.push(b),p.push(null))}return{leftIndices:m,rightIndices:p}}let h=i==="outer"||i==="right",y=h?new Set:null;for(let b=0;b<t;b++){let D=u(n,o,b),C=D===null?void 0:c.get(D);if(C===void 0)(i==="left"||i==="outer")&&(m.push(b),p.push(null));else for(let O=0;O<C.length;O++){let N=C[O];h&&y.add(N),m.push(b),p.push(N)}}if(h)for(let b=0;b<r;b++)y.has(b)||(m.push(-1),p.push(b));let d=f||"none";if(d==="none"||d==="left")return{leftIndices:m,rightIndices:p};let g=m.length,_=new Int32Array(g);for(let b=0;b<g;b++)_[b]=b;let T=b=>m[b]===-1?Number.MAX_SAFE_INTEGER:m[b],A=b=>p[b]??Number.MAX_SAFE_INTEGER;d==="right"?_.sort((b,D)=>A(b)-A(D)||b-D):d==="left_right"?_.sort((b,D)=>T(b)-T(D)||A(b)-A(D)||b-D):d==="right_left"&&_.sort((b,D)=>A(b)-A(D)||T(b)-T(D)||b-D);let x=new Array(g),S=new Array(g);for(let b=0;b<g;b++){let D=_[b];x[b]=m[D],S[b]=p[D]}return{leftIndices:x,rightIndices:S}}function Ho(n,e,t,r,o,s,a,i,l={}){let f=l.strategy??"backward",u=l.allow_exact_matches??!0,c=l.check_sorted??!0;X(o,n,"Join on key"," in the left DataFrame."),X(s,e,"Join on key"," in the right DataFrame.");let m=n[o],p=e[s];if(c){let x=(S,b,D,C)=>{for(let O=1;O<b;O++){let N=M(S[O-1]),J=M(S[O]);if(F(N)&&F(J)&&J<N)throw new v(`${C} DataFrame key column "${D}" is not sorted in ascending order at row ${O}.`)}};x(m,t,o,"left"),x(p,r,s,"right")}let h=a.length>0,y=new Map;if(h)for(let x=0;x<r;x++){let S=Oe(e,i,x),b=y.get(S);b||(b=[],y.set(S,b)),b.push(x)}let d=new Array(r);if(!h)for(let x=0;x<r;x++)d[x]=x;let g=new Array(t),_=new Array(t),T=(x,S)=>{let b=S.length;if(b===0)return null;let D=(W,oe)=>M(p[oe])??NaN;if(f==="backward"){let W=Dt(S,x,{side:u?"right":"left",getValue:D})-1;return W>=0?S[W]:null}if(f==="forward"){let W=Dt(S,x,{side:u?"left":"right",getValue:D});return W<b?S[W]:null}let C=Dt(S,x,{side:"right",getValue:D}),O=C-1,N=C;if(u||(O>=0&&D(O,S[O])===x&&O--,N<b&&D(N,S[N])===x&&N++),O<0)return N<b?S[N]:null;if(N>=b)return O>=0?S[O]:null;let J=D(O,S[O]),Z=D(N,S[N]);return Math.abs(x-J)<=Math.abs(x-Z)?S[O]:S[N]},A=l.tolerance!==void 0?M(l.tolerance):null;for(let x=0;x<t;x++){g[x]=x;let S=M(m[x]);if(!F(S)){_[x]=null;continue}let b=h?y.get(Oe(n,a,x))||[]:d;if(b.length===0){_[x]=null;continue}let D=T(S,b);if(D!==null&&A!==null){let C=M(p[D]);(!F(A)||!F(C)||Math.abs(S-C)>A)&&(D=null)}_[x]=D}return{leftIndices:g,rightIndices:_}}function zn(n,e,t,r,o,s,a,i,l={}){let[f="",u="_right"]=l.suffixes||[],c=l.coalesce??!0,m=l.how||"inner",p=o.length,h={},y={},d=new Set(a),g=new Set(i),_=(D,C)=>{let O=C!==""?C:"_left",N=`${D}${O}`,J=1;for(;x.has(N);)N=`${D}${O}_${J++}`;return x.add(N),N},T=(D,C,O=-1)=>{let N=C.length,J=new Array(N);for(let Z=0;Z<N;Z++){let W=C[Z];J[Z]=W!==null&&W!==O?D[W]:null}return J},A=new Map;for(let D=0;D<a.length;D++)A.has(a[D])||A.set(a[D],i[D]);let x=new Set,S=Object.keys(n),b=Object.keys(e);for(let D=0;D<S.length;D++){let C=S[D];(!(C in e)||d.has(C)||g.has(C))&&x.add(C)}for(let D=0;D<S.length;D++){let C=S[D],O=d.has(C),N;C in e&&!O&&!g.has(C)?f!==""?(x.add(C),N=_(C,f)):x.has(C)?N=_(C,f):(N=C,x.add(C)):N=C;let J=n[C],Z=O?A.get(C):null,W=Z?e[Z]:null;if(O&&c){let oe=new Array(p);for(let le=0;le<p;le++){let yt=o[le],Le=s[le],bs=yt!==-1?J[yt]:null,xs=Le!==null&&W?W[Le]:null;oe[le]=bs??xs}h[N]=oe}else h[N]=T(J,o);t[C]?y[N]=t[C]:Z&&r[Z]&&(y[N]=r[Z])}if(m!=="semi"&&m!=="anti")for(let D=0;D<b.length;D++){let C=b[D];if(c&&g.has(C))continue;let O;x.has(C)?O=_(C,u):(O=C,x.add(C)),h[O]=T(e[C],s),r[C]&&(y[O]=r[C])}return V._createDirect(h,y,p)}var Bt=k(()=>{"use strict";We();De();q();Y()});function di(n,e){if(n==null)return null;let t=typeof n=="object"&&U(n)?n.getTime():n;return e(t)}function Xo(n,e,t){if(n==null||e==null)return null;let r=typeof n=="object"&&U(n)?n.getTime():n,o=typeof e=="object"&&U(e)?e.getTime():e;return t(r,o)}function _e(n,e,t){return n._isWindow?zo(n,e,t):n.evaluate(e,t)}var I,L,fe=k(()=>{"use strict";q();ye();Bt();I=n=>e=>{let t=e.length,r=new Array(t);for(let o=0;o<t;o++)r[o]=di(e[o],n);return r},L=(n,e,t)=>(r,o)=>{let s=r.length,a=n._resolve(e,o,s),i=new Array(s);if(E(a))for(let l=0;l<s;l++)i[l]=Xo(r[l],a[l],t);else for(let l=0;l<s;l++)i[l]=Xo(r[l],a,t);return i}});var w,$,ae=k(()=>{"use strict";Y();fe();w=(n,e)=>{let t=n.constructor,r=n._colNames||n._colName||"",o=new t(r);return Object.assign(o,n),o._ops=e?[...n._ops,e]:[...n._ops],o},$=class n{_ops=[];_outputName="";_isLiteral;_literalValue;_aggFn=null;_castType;_groupingOpsIndex;_partitionOpsIndex;_partitionBy=null;_evaluateWindow;_evaluatePost(e,t,r){let o=this._ops,s=e!==void 0?e:o.length,a=t;for(let i=s;i<o.length;i++)a=o[i](a,r);return a}_evaluatePre(e,t,r){let o=this._getInitialValue(t,r),s=this._ops,a=e!==void 0?e:s.length;for(let i=0;i<a;i++)o=s[i](o,t);return o}_getInitialValue(e,t){let r=this._colName;if(r&&r!=="*"&&!r.startsWith("*")&&!(r in e))throw new Te(r);return(r&&r!=="*"?e[r]:null)||new Array(t).fill(null)}_resolve(e,t,r){return e instanceof n?e._isLiteral&&e._ops.length===1?e._literalValue:_e(e,t,r):e}alias(e){let t=w(this);return t._outputName=e,t}cast(e){let t=w(this,I(r=>e.coerce(r)));return t._castType=e,t}debug(e){return w(this,t=>(console.log(`[DEBUG] ${e?e+": ":""}`,t),t))}evaluate(e,t){return this._evaluatePre(void 0,e,t)}}});var $t,Wn=k(()=>{"use strict";ae();fe();q();$t=class extends ${abs(){return w(this,I(Math.abs))}acos(){return w(this,I(e=>e<-1||e>1?null:Math.acos(e)))}acosh(){return w(this,I(e=>e<1?null:Math.acosh(e)))}add(e){return w(this,L(this,e,(t,r)=>t+r))}asin(){return w(this,I(e=>e<-1||e>1?null:Math.asin(e)))}asinh(){return w(this,I(Math.asinh))}atan(){return w(this,I(Math.atan))}atan2(e){return w(this,L(this,e,Math.atan2))}atanh(){return w(this,I(e=>e<=-1||e>=1?null:Math.atanh(e)))}cbrt(){return w(this,I(Math.cbrt))}ceil(){return w(this,I(Math.ceil))}clip(e=null,t=null){return w(this,I(r=>pe(r,{min:e,max:t})))}copysign(e){return w(this,L(this,e,(t,r)=>Math.abs(t)*(r>=0?1:-1)))}cos(){return w(this,I(Math.cos))}cosh(){return w(this,I(Math.cosh))}degrees(){return w(this,I(e=>e*(180/Math.PI)))}div(e){return w(this,L(this,e,(t,r)=>r===0?null:t/r))}exp(){return w(this,I(Math.exp))}expm1(){return w(this,I(Math.expm1))}floor(){return w(this,I(Math.floor))}floordiv(e){return w(this,L(this,e,(t,r)=>r===0?null:Math.floor(t/r)))}hypot(e){return w(this,L(this,e,Math.hypot))}log(e=Math.E){return w(this,I(t=>t<=0?null:e===Math.E?Math.log(t):Math.log(t)/Math.log(e)))}log1p(){return w(this,I(e=>e<=-1?null:Math.log1p(e)))}mod(e){return w(this,L(this,e,(t,r)=>r===0?null:t%r))}mul(e){return w(this,L(this,e,(t,r)=>t*r))}negate(){return w(this,I(e=>-e))}pow(e){return w(this,L(this,e,Math.pow))}radians(){return w(this,I(e=>e*(Math.PI/180)))}rand(e,{min:t=0,max:r=1,integer:o=!1}={}){return w(this,s=>{let a=s.length,i=new Float64Array(a),l=e!==void 0?zr(e):Math.random,f=r-t;for(let u=0;u<a;u++){let c=l();i[u]=o?Math.floor(c*(f+1))+t:c*f+t}return i})}round(e=0){return w(this,I(t=>fn(t,e)))}round_sig_figs(e){return w(this,I(t=>F(t)?Number(t.toPrecision(e)):t))}sign(){return w(this,I(Math.sign))}sin(){return w(this,I(Math.sin))}sinh(){return w(this,I(Math.sinh))}sqrt(){return w(this,I(e=>e<0?null:Math.sqrt(e)))}sub(e){return w(this,L(this,e,(t,r)=>t-r))}tan(){return w(this,I(Math.tan))}tanh(){return w(this,I(Math.tanh))}trunc(){return w(this,I(Math.trunc))}}});var qt,Gn=k(()=>{"use strict";ae();fe();q();qt=class extends ${and(e){return w(this,(t,r)=>{let o=t.length,s=this._resolve(e,r,o),a=E(s),i=new Array(o);for(let l=0;l<o;l++){let f=t[l],u=a?s[l]:s;f===!1||u===!1?i[l]=!1:f==null||u==null?i[l]=null:i[l]=!0}return i})}not(){return w(this,I(e=>!e))}or(e){return w(this,(t,r)=>{let o=t.length,s=this._resolve(e,r,o),a=E(s),i=new Array(o);for(let l=0;l<o;l++){let f=t[l],u=a?s[l]:s;f===!0||u===!0?i[l]=!0:f==null||u==null?i[l]=null:i[l]=!1}return i})}xor(e){return w(this,L(this,e,(t,r)=>!!t!=!!r))}}});function Zo(n,e,t,r){let o=n.length,s=new Array(o);if(t&&typeof t=="object"&&"evaluate"in t){let a=t.evaluate(e,o);for(let i=0;i<o;i++){let l=n[i];if(l==null)s[i]=null;else{let f=a[i],u=new Set;if(E(f)){let m=f.length;for(let p=0;p<m;p++)u.add(G(f[p]))}else u.add(G(f));let c=u.has(G(l));s[i]=r?!c:c}}}else{let a=E(t)?t:[],i=new Set,l=a.length;for(let f=0;f<l;f++)i.add(G(a[f]));for(let f=0;f<o;f++){let u=n[f];if(u==null)s[f]=null;else{let c=i.has(G(u));s[f]=r?!c:c}}}return s}function Qo(n,e){let{frequencies:t}=Se(n,{strict:!0}),r=n.length,o=new Array(r);for(let s=0;s<r;s++){let a=t.get(n[s])||0;o[s]=e?a>1:a===1}return o}function es(n,e,t){let r=n.length,o=new Array(r);if(E(e))for(let s=0;s<r;s++){let a=n[s],i=e[s];a==null&&i==null?o[s]=!t:a==null||i==null?o[s]=t:o[s]=t?a!==i:a===i}else for(let s=0;s<r;s++){let a=n[s];a==null&&e==null?o[s]=!t:a==null||e==null?o[s]=t:o[s]=t?a!==e:a===e}return o}var Kt,Jn=k(()=>{"use strict";ae();fe();q();Kt=class extends ${between(e,t,r="both"){return w(this,(o,s)=>{let a=o.length,i=this._resolve(e,s,a),l=this._resolve(t,s,a),f=new Array(a),u=E(i),c=E(l);for(let m=0;m<a;m++){let p=o[m],h=u?i[m]:i,y=c?l[m]:l;if(p==null||h==null||y==null)f[m]=null;else{let d=r==="both"||r==="left"?p>=h:p>h,g=r==="both"||r==="right"?p<=y:p<y;f[m]=d&&g}}return f})}eq(e){return w(this,L(this,e,(t,r)=>t===r))}eq_missing(e){return w(this,(t,r)=>{let o=this._resolve(e,r,t.length);return es(t,o,!1)})}ge(e){return w(this,L(this,e,(t,r)=>t>=r))}gt(e){return w(this,L(this,e,(t,r)=>t>r))}has_nulls(){return this._deriveAgg(e=>{for(let t=0;t<e.length;t++)if(e[t]==null)return!0;return!1})}is_close(e,{abs_tol:t=1e-8,rel_tol:r=1e-8,nans_equal:o=!1}={}){return w(this,(s,a)=>{let i=s.length,l=this._resolve(e,a,i),f=E(l),u=new Array(i);for(let c=0;c<i;c++){let m=s[c],p=f?l[c]:l;if(m==null||p==null)u[c]=null;else if(F(m)&&F(p)){let h=Math.abs(m-p),y=Math.max(r*Math.max(Math.abs(m),Math.abs(p)),t);u[c]=h<=y}else Number.isNaN(m)&&Number.isNaN(p)?u[c]=o:u[c]=m===p}return u})}is_duplicated(){return w(this,e=>Qo(e,!0))}is_empty({ignoreNulls:e=!1}={}){return w(this,I(t=>typeof t=="string"?t.length===0:E(t)?e?Q(t,"nullish",{mode:"every"}):t.length===0:null))}is_finite(){return w(this,I(Number.isFinite))}is_in(e){return w(this,(t,r)=>Zo(t,r,e,!1))}is_infinite(){return w(this,I(e=>e===1/0||e===-1/0))}is_nan(){return w(this,I(Number.isNaN))}is_not_nan(){return w(this,I(e=>!Number.isNaN(e)))}is_not_null(){return w(this,e=>{let t=e.length,r=new Array(t);for(let o=0;o<t;o++)r[o]=e[o]!=null;return r})}is_null(){return w(this,e=>{let t=e.length,r=new Array(t);for(let o=0;o<t;o++)r[o]=e[o]==null;return r})}is_unique(){return w(this,e=>Qo(e,!1))}le(e){return w(this,L(this,e,(t,r)=>t<=r))}lt(e){return w(this,L(this,e,(t,r)=>t<r))}ne(e){return w(this,L(this,e,(t,r)=>t!==r))}ne_missing(e){return w(this,(t,r)=>{let o=this._resolve(e,r,t.length);return es(t,o,!0)})}not_in(e){return w(this,(t,r)=>Zo(t,r,e,!0))}}});var Yn,zt,Hn=k(()=>{"use strict";ae();fe();q();Yn=class{constructor(e){this.expr=e}expr;_deriveString(e){return w(this.expr,I(t=>e(String(t))))}_patternGuard(e,t){return e==null?w(this.expr,r=>new Array(r.length).fill(null)):t()}concat(e){return w(this.expr,L(this.expr,e,(t,r)=>String(t)+String(r)))}contains(e){return this._patternGuard(e,()=>this._deriveString(t=>xe(e)?e.test(t):t.includes(e)))}count_matches(e){return this._patternGuard(e,()=>this._deriveString(t=>{if(xe(e)){let r=e.global?e:new RegExp(e.source,e.flags+"g"),o=t.match(r);return o?o.length:0}else{let r=0,o=t.indexOf(e);for(;o!==-1;)r++,o=t.indexOf(e,o+e.length);return r}}))}decode_uri_component(){return this._deriveString(e=>{try{return decodeURIComponent(e)}catch{return e}})}encode_uri_component(){return this._deriveString(e=>{try{return encodeURIComponent(e)}catch{return e}})}ends_with(e){return this._deriveString(t=>t.endsWith(e))}explode(){return this._deriveString(e=>e.split(""))}extract(e,t=0){return this._patternGuard(e,()=>this._deriveString(r=>{let o=r.match(e);return o&&o[t]!==void 0?o[t]:null}))}len(){return this.len_chars()}len_bytes(){return this._deriveString(e=>new TextEncoder().encode(e).length)}len_chars(){return this._deriveString(e=>e.length)}lower(){return this._deriveString(e=>e.toLowerCase())}lpad(e,t=" "){return this._deriveString(r=>r.padStart(e,t))}pad_end(e,t=" "){return this.rpad(e,t)}pad_start(e,t=" "){return this.lpad(e,t)}replace(e,t){return this._patternGuard(e,()=>this._deriveString(r=>r.replace(e,t)))}replace_all(e,t){return this._patternGuard(e,()=>this._deriveString(r=>r.replaceAll(e,t)))}reverse(){return this._deriveString(e=>e.split("").reverse().join(""))}rpad(e,t=" "){return this._deriveString(r=>r.padEnd(e,t))}slice(e,t){return this._deriveString(r=>{let o=e<0?r.length+e:e,s=t!==void 0?o+t:void 0;return r.slice(o,s)})}split(e){return this._deriveString(t=>t.split(e))}starts_with(e){return this._deriveString(t=>t.startsWith(e))}strip_chars(e,t){return this._deriveString(r=>qe(r,e,{mode:"both",...t}))}strip_chars_end(e,t){return this._deriveString(r=>qe(r,e,{mode:"end",...t}))}strip_chars_start(e,t){return this._deriveString(r=>qe(r,e,{mode:"start",...t}))}strip_prefix(e){return this._deriveString(t=>qe(t,e,{mode:"start",maxScanStart:1,maxMatchesStart:1,returnStringOnNull:!0,stringOptions:{literal:!0}}))}strip_suffix(e){return this._deriveString(t=>qe(t,e,{mode:"end",maxScanEnd:1,maxMatchesEnd:1,returnStringOnNull:!0,stringOptions:{literal:!0}}))}strptime(e){return this._deriveString(t=>yo(t,e))}to_camelcase(){return this._deriveString(e=>nt(e,{format:"camel"}))}to_date(){return this._deriveString(e=>H(e,{dateOnly:!0}))}to_datetime(){return this._deriveString(H)}to_decimal(e,t){return this._deriveString(r=>xt(r,{precision:e,scale:t}))}to_integer(){return this._deriveString(e=>de(e))}to_kebabcase(){return this._deriveString(e=>nt(e,{format:"kebab"}))}to_lowercase(){return this.lower()}to_pascalcase(){return this._deriveString(e=>nt(e,{format:"pascal"}))}to_snakecase(){return this._deriveString(e=>nt(e,{format:"snake"}))}to_time(){return this._deriveString(It)}to_titlecase(){return this._deriveString(e=>e.replace(/\b\w/g,t=>t.toUpperCase()))}to_uppercase(){return this.upper()}trim(){return this.strip_chars()}trim_end(){return this.strip_chars_end()}trim_start(){return this.strip_chars_start()}upper(){return this._deriveString(e=>e.toUpperCase())}zfill(e){return this._deriveString(t=>t.padStart(e,"0"))}},zt=class extends ${get str(){return new Yn(this)}}});var Wt,Xn=k(()=>{"use strict";ae();fe();Y();q();Wt=class extends ${_deriveAgg(e){let t=w(this);return t._aggFn=e,t._groupingOpsIndex=this._ops.length,t._partitionOpsIndex=this._ops.length,t}_deriveAggBinary(e,t){return w(this,L(this,e,(r,o)=>[r,o]))._deriveAgg(t)}all(){return this._deriveAgg(e=>Q(e,t=>!!t,{mode:"every"}))}all_null(){return this._deriveAgg(e=>Q(e,"nullish",{mode:"every"}))}any(){return this._deriveAgg(e=>Q(e,t=>!!t,{mode:"some"}))}any_null(){return this._deriveAgg(e=>Q(e,"nullish",{mode:"some"}))}avg(){return this._deriveAgg(e=>P(e).mean)}corr(e){return this._deriveAggBinary(e,t=>mn(t)?.correlation??null)}count(e={}){return e.includeNulls?this._deriveAgg(t=>t.length):this._deriveAgg(t=>P(t).count)}cov(e){return this._deriveAggBinary(e,t=>mn(t)?.covariance??null)}dot(e){return this._deriveAggBinary(e,t=>eo(t))}first(){return this._deriveAgg(e=>e[0]??null)}implode(){return this._deriveAgg(e=>e)}last(){return this._deriveAgg(e=>e[e.length-1]??null)}max(){return this._deriveAgg(e=>P(e).max)}mean(){return this.avg()}median(){return this._deriveAgg(e=>$e(e))}min(){return this._deriveAgg(e=>P(e).min)}mode(){return this._deriveAgg(e=>At(e))}n_unique(e={}){return this._deriveAgg(t=>Se(t,e).count)}null_count(){return this._deriveAgg(e=>P(e).nullCount)}quantile(e){if(e<0||e>1)throw new ie("Quantile q must be between 0 and 1");return this._deriveAgg(t=>St(t,e))}spearman_corr(e){return this._deriveAggBinary(e,t=>Qr(t))}std(){return this._deriveAgg(e=>P(e).std)}sum(){return this._deriveAgg(e=>P(e).sum)}w_avg(e){return this._deriveAggBinary(e,t=>to(t))}}});function Zn(n,e,t={}){if(e==null)return null;let r=t.dense?"_denseRankCache":"_rankCache",o=n[r];if(!o){let s=n;if(t.ignoreNulls){s=[];let l=n.length;for(let f=0;f<l;f++)n[f]!=null&&s.push(n[f])}t.dense&&(s=Array.from(new Set(s)));let a=et(s);o=new Map;let i=a.length;for(let l=0;l<i;l++){let f=a[l];o.has(f)||o.set(f,l+1)}n[r]=o}return o.get(e)??null}var Gt,Qn=k(()=>{"use strict";ae();q();Gt=class extends ${_partitionBy=this._partitionBy||null;_window(e){let t=w(this);return t._partitionOpsIndex=this._ops.length,t._groupingOpsIndex=this._ops.length,t._evaluateWindow=e,t}_rolling(e,t){return this._window(function(r,o,s){let a=Math.max(0,s-e+1),i=s+1,l=r.slice(a,i);return t(l)})}_cum(e,t,r,o){return this._window(function(s,a,i){let l=t,f=!1,u=e?i:0,c=e?s.length-1:i;for(let m=u;m<=c;m++){let p=s[m];p!=null&&(l=r(l,p),f=!0)}return o?o(l,f):l})}get _isWindow(){return this._partitionBy!==null||this._evaluateWindow!==void 0||this._aggFn!==null}cum_count(e=!1){return this._cum(e,0,t=>t+1)}cum_max(e=!1){return this._cum(e,null,(t,r)=>t===null||r>t?r:t)}cum_min(e=!1){return this._cum(e,null,(t,r)=>t===null||r<t?r:t)}cum_prod(e=!1){return this._cum(e,1,(t,r)=>t*r,(t,r)=>r?t:null)}cum_sum(e=!1){return this._cum(e,0,(t,r)=>t+r)}dense_rank(){return this._window(function(e,t,r){return Zn(e,e[r],{dense:!0})})}lag(e=1,t=null){return this._window(function(r,o,s){let a=t;return s-e>=0&&(a=r[s-e]),a})}lead(e=1,t=null){return this._window(function(r,o,s){let a=t;return s+e<r.length&&(a=r[s+e]),a})}over(e){let t=w(this),r=Array.isArray(e)?e:[e];return t._partitionBy=r,t}rank(){return this._window(function(e,t,r){return Zn(e,e[r])})}rolling_max(e){return this._rolling(e,t=>P(t).max)}rolling_mean(e){return this._rolling(e,t=>P(t).mean)}rolling_median(e){return this._rolling(e,t=>$e(t))}rolling_min(e){return this._rolling(e,t=>P(t).min)}rolling_quantile(e,t){return this._rolling(t,r=>St(r,e))}rolling_rank(e){return this._rolling(e,t=>Zn(t,t[t.length-1],{ignoreNulls:!0}))}rolling_std(e){return this._rolling(e,t=>P(t).std)}rolling_sum(e){return this._rolling(e,t=>P(t).sum)}row_number(){let e=this._window(function(t,r,o){return o+1});return e._outputName="row_number",e}}});var er,Jt,tr=k(()=>{"use strict";ae();fe();q();be();Y();er=class{constructor(e){this.expr=e}expr;_deriveArray(e){return w(this.expr,I(t=>E(t)?e(t):null))}all(){return this._deriveArray(e=>Q(e,t=>!!t,{mode:"every"}))}any(){return this._deriveArray(e=>Q(e,t=>!!t,{mode:"some"}))}contains(e){return this._deriveArray(t=>t.includes(e))}contains_all(e){return this._deriveArray(t=>Q(e,r=>t.includes(r),{mode:"every"}))}contains_any(e){return this._deriveArray(t=>Q(e,r=>t.includes(r),{mode:"some"}))}count_matches(e,t={}){return this._deriveArray(r=>Se(r,t).frequencies.get(e)??0)}filter(e){return w(this.expr,(t,r)=>{let o=t.length,s=new Array(o),a=Object.create(r);for(let i=0;i<o;i++){let l=t[i];if(!E(l)){s[i]=null;continue}let f=l.length;a[Ye]=l;let u=_e(e,a,f),c=[];if(E(u)){let m=Math.min(f,u.length);for(let p=0;p<m;p++)u[p]&&c.push(l[p])}else if(u)for(let m=0;m<f;m++)c.push(l[m]);s[i]=c}return s})}explode({empty_as_null:e=!0,keep_nulls:t=!0}={}){return w(this.expr,r=>{let o=r.length,s=0;for(let f=0;f<o;f++){let u=r[f];if(E(u)){s+=u.length||(e?1:0);continue}if(u!=null){s+=1;continue}t&&(s+=1)}let a=new Array(s),i=new Int32Array(s),l=0;for(let f=0;f<o;f++){let u=r[f];if(E(u)){let c=u.length;if(c>0){for(let m=0;m<c;m++)i[l]=f,a[l++]=u[m];continue}e&&(i[l]=f,a[l++]=null);continue}if(u!=null){i[l]=f,a[l++]=u;continue}t&&(i[l]=f,a[l++]=null)}return a.rowMap=i,a})}first(e=!0){return this.get(0,e)}gather(e,t=!0){return this._deriveArray(r=>{let o=typeof e=="number"?[e]:e,s=o.length,a=new Array(s);for(let i=0;i<s;i++)a[i]=wt(r,o[i],t);return a})}gather_every(e={}){return this._deriveArray(t=>Yr(t,e))}get(e,t=!0){return this._deriveArray(r=>wt(r,e,t))}join(e=",",t={}){return this._deriveArray(r=>Hr(r,e,t))}last(e=!0){return this.get(-1,e)}len(){return this.lengths()}lengths(){return this._deriveArray(e=>e.length)}max(){return this._deriveArray(e=>P(e).max)}max_index(){return this._deriveArray(e=>P(e).maxIdx)}mean(){return this._deriveArray(e=>P(e).mean)}median(){return this._deriveArray(e=>$e(e))}min(){return this._deriveArray(e=>P(e).min)}min_index(){return this._deriveArray(e=>P(e).minIdx)}mode(){return this._deriveArray(e=>At(e))}n_unique(e={}){return this._deriveArray(t=>Se(t,e).count)}reverse(){return this._deriveArray(e=>e.slice().reverse())}shift(e=1){return this._deriveArray(t=>Zr(t,e))}slice(e,t){return this._deriveArray(r=>r.slice(e,t))}splice(e,t,...r){return this._deriveArray(o=>{let s=[...o];return s.splice(e,t??s.length,...r),s})}sort(e){return this._deriveArray(t=>et(t,e))}std(){return this._deriveArray(e=>P(e).std)}sum(){return this._deriveArray(e=>P(e).sum)}to_struct({upper_bound:e,fields:t}={}){return w(this.expr,r=>{let o=r.length,s=new Array(o),a=0;if(Array.isArray(t))a=t.length;else if(typeof e=="number")a=e;else for(let l=0;l<o;l++){let f=r[l];E(f)&&f.length>a&&(a=f.length)}if(a===0)throw new ie("to_struct cannot be evaluated: struct width is 0. Provide an upper_bound, non-empty fields names, or non-empty lists.");let i=new Array(a);for(let l=0;l<a;l++)typeof t=="function"?i[l]=t(l):i[l]=(Array.isArray(t)?t[l]:null)??`field_${l}`;for(let l=0;l<o;l++){let f=r[l];if(!E(f)){s[l]=null;continue}let u={};for(let c=0;c<a;c++)u[i[c]]=wt(f,c,!0);s[l]=u}return s})}unique(e={}){return this._deriveArray(t=>Se(t,e).values)}variance(){return this._deriveArray(e=>P(e).variance)}eval(e){return w(this.expr,(t,r)=>{let o=t.length,s=new Array(o);for(let a=0;a<o;a++){let i=t[a];if(!E(i)){s[a]=null;continue}let l=i.length,f={...r,[Ye]:i};if(e._aggFn!=null&&(e._partitionBy==null||e._partitionBy.length===0)){let c=e._groupingOpsIndex!==void 0?e._groupingOpsIndex:e._ops.length,m=e._evaluatePre(c,f,l),p=e._aggFn(Array.from(m));s[a]=e._evaluatePost(c,[p],f)}else s[a]=_e(e,f,l)}return s})}},Jt=class extends ${get arr(){return new er(this)}}});function ts(n){return Pt(n,"Column reference cannot be null or undefined."),Yt||(Yt=(ue(),yr(ns)).ColumnExpr),Yt.isColExpr(n)?n:new Yt(n)}var Yt,nr,Ht,rr=k(()=>{"use strict";ae();Y();Yt=null;nr=class{constructor(e){this.expr=e;return new Proxy(this,{get(t,r,o){return r in t?Reflect.get(t,r,o):typeof r=="string"?t.field(r):Reflect.get(t,r,o)}})}expr;field(e){return w(this.expr,t=>{let r=t.length,o=new Array(r);for(let s=0;s<r;s++){let a=t[s];o[s]=a!=null&&typeof a=="object"?a[e]:null}return o}).alias(e)}rename_fields(e){return w(this.expr,t=>{let r=t.length,o=new Array(r),s=Object.keys(e),a=s.length;for(let i=0;i<r;i++){let l=t[i];if(l==null||typeof l!="object"){o[i]=null;continue}let f={},u=Object.keys(l),c=u.length;for(let m=0;m<c;m++){let p=u[m];f[p]=l[p]}for(let m=0;m<a;m++){let p=s[m];if(p in f){let h=e[p];f[h]=f[p],delete f[p]}}o[i]=f}return o})}with_fields(e){return w(this.expr,(t,r)=>{let o=t.length,s=new Array(o),a=[];if(Array.isArray(e)){let f=e.length;for(let u=0;u<f;u++){let c=e[u],m=ts(c),p=m._outputName||m._colName;if(!p)throw new v("Expressions passed to struct.with_fields must have a name/alias.");a.push({name:p,expr:m})}}else if(e&&typeof e=="object"){let f=Object.keys(e),u=f.length;for(let c=0;c<u;c++){let m=f[c],p=ts(e[m]);a.push({name:m,expr:p})}}let i=a.length,l=new Array(i);for(let f=0;f<i;f++)l[f]=a[f].expr.evaluate(r,o);for(let f=0;f<o;f++){let u=t[f];if(u==null||typeof u!="object"){s[f]=null;continue}let c={},m=Object.keys(u),p=m.length;for(let h=0;h<p;h++){let y=m[h];c[y]=u[y]}for(let h=0;h<i;h++)c[a[h].name]=l[h][f];s[f]=c}return s})}unnest(){let e=w(this.expr);return e.isUnnest=!0,e.baseExpr=this.expr,e}},Ht=class extends ${get struct(){return new nr(this)}}});var Xt,rs=k(()=>{"use strict";ae();q();Y();Xt=class extends ${fill_null({value:e=void 0,strategy:t=void 0,limit:r=void 0}={}){return w(this,(o,s)=>{let a=o.length,i=Array.from(o);if(t!==void 0)if(t==="zero"||t==="one"||t==="min"||t==="max"||t==="mean"){let l;t==="zero"?l=0:t==="one"?l=1:l=P(o)[t],ke(i,l,{mode:"constant",condition:f=>f==null})}else if(t==="forward"||t==="backward"){let l=t==="forward",f=null,u=0;ke(i,null,{mode:"independent",reverse:!l,step:({originalValue:c})=>c!=null?(f=c,u=0,c):f!==null&&(r===void 0||u<r)?(u++,f):null})}else throw new v(`Unsupported fill_null strategy: "${t}"`);else{let l=this._resolve(e,s,a),f=E(l);ke(i,null,{mode:"independent",step:({index:u,originalValue:c})=>c??(f?l[u]:l)})}return i})}reverse(){return w(this,e=>e.slice().reverse())}}});var ns={};hr(ns,{ColumnExpr:()=>R,resolveColumnSelectors:()=>Ve});function gi(n,e){for(let t of e)for(let r of Object.getOwnPropertyNames(t.prototype))r!=="constructor"&&Object.defineProperty(n.prototype,r,Object.getOwnPropertyDescriptor(t.prototype,r)||Object.create(null))}function _i(n,e,t,r){if(!(n instanceof R)){if(K(n)&&"evaluate"in n&&!n._colName){let o=[];for(let s=0;s<e.length;s++)t.has(e[s])||o.push(e[s]);return o}return null}if(n._colNames&&n._colNames.length>0)return n._colNames;if(n._colName==="*"){let o=new Set(n._excludedCols),s=[];for(let a=0;a<e.length;a++){let i=e[a];!o.has(i)&&!t.has(i)&&s.push(i)}return s}if(n._targetType||n._targetTypes&&n._targetTypes.length>0){if(!r)throw new Fe("Cannot resolve DataType column selector without DataFrame schema.");let o=[];for(let s=0;s<e.length;s++){let a=e[s];if(t.has(a))continue;let i=r[a];if(i){if(n._targetType)i.matches(n._targetType)&&o.push(a);else if(n._targetTypes){for(let l=0;l<n._targetTypes.length;l++)if(i.matches(n._targetTypes[l])){o.push(a);break}}}}return o}return null}function Ve(n,e,t,r,o){let s=[],a=t?new Set(t):new Set;for(let i=0;i<n.length;i++){let l=n[i];if(typeof l=="string"){s.push(new R(l));continue}if(K(l)&&l.isUnnest){let u=[],c=l._colName;if(typeof c=="string"&&r&&r[c]&&r[c].name==="Struct"&&(u=Object.keys(r[c].fields)),u.length===0&&o){let h=Object.keys(o)[0],y=h?o[h].length:0,d=l.baseExpr.evaluate(o,y),g=d.length;for(let _=0;_<g;_++){let T=d[_];if(T!=null&&typeof T=="object"){u=Object.keys(T);break}}}let m=u.length;if(m>0){for(let p=0;p<m;p++){let h=u[p],y=l.baseExpr.struct.field(h);s.push(y)}continue}}let f=_i(l,e,a,r);if(f!==null)for(let u=0;u<f.length;u++){let c=new R(f[u]);c._ops=[...l._ops||[]],c._aggFn=l._aggFn,c._partitionOpsIndex=l._partitionOpsIndex,c._groupingOpsIndex=l._groupingOpsIndex,c._partitionBy=l._partitionBy,l._evaluateWindow&&(c._evaluateWindow=l._evaluateWindow),l._outputName&&l._outputName!=="*"&&(c._outputName=l._outputName),s.push(c)}else s.push(l)}return s}var R,ue=k(()=>{"use strict";ae();Wn();Jn();Xn();Qn();Hn();Gn();or();tr();rr();rs();q();De();Y();R=class n extends ${_colName="";_colNames;_excludedCols=[];_targetType;_targetTypes;static isColExpr(e){if(!K(e))return!1;try{return"evaluate"in e&&typeof e.evaluate=="function"}catch{return!1}}static toColExpr(e){return Pt(e,"Column reference cannot be null or undefined."),n.isColExpr(e)?e:new n(e)}constructor(e){super(),Array.isArray(e)?e.some(r=>r instanceof ne||typeof r=="function")?this._targetTypes=e:this._colNames=e.map(String):e instanceof ne||typeof e=="function"?this._targetType=e:(this._colName=String(e),this._outputName=this._colName)}};gi(R,[$t,Kt,Wt,Gt,zt,qt,Zt,Jt,Ht,Xt])});function Ge(n,e={strict:!0}){let t=e,r=new R(dr);return r._literalValue=n,t.name&&(r._outputName=t.name),r._ops.push(o=>{let s=o.length,a=(x,S)=>x===void 0?S:pe(x<0?s+x:x,{min:0,max:s}),i=a(t.startIndex,0),l=a(t.endIndex,s),f=Math.max(0,l-i),u=t.n!==void 0?t.n:f,c=t.strict!==!1;if(c){if(u!==s)throw new te(`Column height mismatch: seq_range length ${u} does not match DataFrame height ${s}`)}else{let x=t.pad??!1,S=t.truncate??!1;if(x&&!S&&u>f)throw new te(`Cannot pad seq_range output: specified length ${u} starting at index ${i} exceeds slice width ${f} (requires truncation).`);if(S&&!x&&u<f)throw new te(`Cannot truncate seq_range output: specified length ${u} starting at index ${i} is less than slice width ${f} (requires padding).`)}let m=s,p=!!t.dtype,h=t.mode||"cumulative",y=t.step!==void 0?t.step:1,d=p?x=>t.dtype.coerce(x):x=>x;if(c){let x=t.dtype?.allocate?t.dtype.allocate(m):new Array(m);return ke(x,n,{mode:h,step:y,coerce:d,startIndex:0,endIndex:m}),x}let g=Math.min(i+u,l),_=t.padValue!==void 0?t.padValue:null,T=d(_);if(h==="constant"&&i===0&&g===m&&!t.dtype){let x=new Array(m);for(let S=0;S<m;S++)x[S]=n;return x}let A=new Array(m);return A.fill(T),ke(A,n,{mode:h,step:y,coerce:d,startIndex:i,endIndex:g}),A}),r}var sr=k(()=>{"use strict";ue();be();Y();q()});function Je(n,e){let t=Ge(n,{strict:!0,mode:"constant",dtype:e?.dtype,name:e?.name});return t._isLiteral=!0,t}var Qt=k(()=>{"use strict";sr()});var os={};hr(os,{duration:()=>ir});function ir(n={}){let e=n.timeUnit??"ms",t=[],r=[[n.weeks,6048e5],[n.days,864e5],[n.hours,36e5],[n.minutes,6e4],[n.seconds,1e3],[n.milliseconds,1],[n.microseconds,.001],[n.nanoseconds,1e-6]];for(let[s,a]of r)if(s!=null){let i=F(s)?Je(s):R.toColExpr(s);t.push({expr:i,multiplier:a})}if(t.length===0)throw new v("At least one duration component must be specified for $df.duration().");let o=new R(br);return o._castType=new lt(e),o._ops.push((s,a)=>{let i=s?s.length:0;if(i===0&&a){let c=Object.keys(a)[0];c&&E(a[c])&&(i=a[c].length)}i===0&&(i=1);let l=new Float64Array(i),f=new Uint8Array(i);for(let c=0;c<t.length;c++){let{expr:m,multiplier:p}=t[c],h=_e(m,a,i);if(E(h)){let y=h,d=y.length;for(let g=0;g<i;g++){if(f[g]===1)continue;let _=M(g<d?y[g]:d===1?y[0]:null);_!=null?l[g]+=_*p:(f[g]=1,l[g]=0)}}else{let y=M(h);if(y!=null){let d=y*p;for(let g=0;g<i;g++)f[g]!==1&&(l[g]+=d)}else{f.fill(1),l.fill(0);break}}}let u=new Array(i);for(let c=0;c<i;c++)if(f[c]===1)u[c]=null;else{let m=Math.round(l[c]*1e6)/1e6;u[c]=$o(m,e)}return u}),o.alias("duration")}var ar=k(()=>{"use strict";ue();Qt();be();fe();ct();Y();q()});var lr,Zt,or=k(()=>{"use strict";ct();Y();ae();fe();q();lr=class{constructor(e){this.expr=e}expr;_colTz(){let e=this.expr._castType;return e instanceof ge?e.timeZone:null}_colTu(){let e=this.expr._castType;return e instanceof ge?e.timeUnit:null}_deriveDate(e){return w(this.expr,I(t=>{let r=H(t);return r?e(r):null}))}cast_time_unit(e){return this.expr.cast(new ge(e,this._colTz()))}century(){return this._deriveDate(fo)}convert_time_zone(e){let t=this._colTz();if(this.expr._castType instanceof ge&&t===null)throw new v('convert_time_zone() requires a timezone-aware Datetime column. Use .dt.replace({ timeZone: "..." }) to assign a timezone first.');return this.expr.cast(new ge(this._colTu()??"ms",e))}date(){return this._deriveDate(e=>new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate())))}day(e){let t=e||this._colTz()||"UTC";return this._deriveDate(r=>re(r,t).day)}days_in_month(e){let t=e||this._colTz()||"UTC";return this._deriveDate(r=>{let o=re(r,t),s=Et(ee(o.year,o.month-1,1),1,0);return s?s.getUTCDate():null})}epoch(e="ms"){return this._deriveDate(t=>co(t,e))}hour(e){let t=e||this._colTz()||"UTC";return this._deriveDate(r=>re(r,t).hour)}is_business_day(e={}){return this._deriveDate(t=>_o(t,e))}is_leap_year(){return this._deriveDate(_n)}iso_week(){return this._deriveDate(e=>dn(e,{field:"week"}))}iso_year(){return this._deriveDate(e=>dn(e,{field:"year"}))}microsecond(){return this.millisecond().mul(1e3)}millennium(){return this._deriveDate(mo)}millisecond(){return this._deriveDate(e=>e.getUTCMilliseconds())}minute(e){let t=e||this._colTz()||"UTC";return this._deriveDate(r=>re(r,t).minute)}month(e){let t=e||this._colTz()||"UTC";return this._deriveDate(r=>re(r,t).month)}month_end(){return this._deriveDate(e=>Et(e,1,0))}month_start(){return this._deriveDate(e=>Et(e,0,1))}nanosecond(){return this.millisecond().mul(1e6)}offset_day(e,t={}){let o=t?.excludeWeekdays?.length||t?.holidays||t?.roll?w(this.expr,L(this.expr,e,(a,i)=>{let l=H(a);return l?go(l,i,t):null})):e,{duration:s}=(ar(),yr(os));return this.expr.add(s({days:o}))}ordinal_day(){return this._deriveDate(gn)}quarter(){return this._deriveDate(po)}replace(e){return w(this.expr,I(t=>{let r=H(t);return r?bo(r,e):null}))}second(){return this._deriveDate(e=>e.getUTCSeconds())}strftime(e){let t=this._colTz(),r=t&&!e.timeZone?{...e,timeZone:t}:e;return this._deriveDate(o=>Ne(o,r))}time(){return this._deriveDate(e=>e.toISOString().split("T")[1].slice(0,12))}timestamp(e="ms"){return this.epoch(e)}total_days(){return this.expr.div(864e5)}total_hours(){return this.expr.div(36e5)}total_microseconds(){return this.expr.mul(1e3)}total_milliseconds(){return this.expr}total_minutes(){return this.expr.div(6e4)}total_nanoseconds(){return this.expr.mul(1e6)}total_seconds(){return this.expr.div(1e3)}utc_offset(e,t={}){return w(this.expr,I(r=>{let o=H(r);return o?xn(o,e,t):null}))}week(){return this.iso_week()}weekday(e){let t=e||this._colTz()||"UTC";return this._deriveDate(r=>re(r,t).dayOfWeek||7)}year(e){let t=e||this._colTz()||"UTC";return this._deriveDate(r=>re(r,t).year)}},Zt=class extends ${get dt(){return new lr(this)}}});function mt(){return new R("*")}var ss=k(()=>{"use strict";ue()});function is(n){let e=new R("*");return e._excludedCols=Array.isArray(n)?n:[n],e}var as=k(()=>{"use strict";ue()});function ls(...n){let e=n.length===1&&Array.isArray(n[0])?n[0]:n,t=new R(gr);return t._ops.push((r,o)=>{let s=r.length,a=u=>R.isColExpr(u)?u.evaluate(o,s):typeof u=="string"?o[u]||new Array(s).fill(null):u,i=e.length,l=new Array(i);for(let u=0;u<i;u++)l[u]=a(e[u]);let f=new Array(s);for(let u=0;u<s;u++){let c=null;for(let m=0;m<i;m++){let p=l[m],h=E(p)?p[u]:p;if(h!=null){c=h;break}}f[u]=c}return f}),t}var us=k(()=>{"use strict";ue();q();be()});function cs(n){return new cr(n)}var ur,cr,en,fs=k(()=>{"use strict";ue();q();ur=class{_predicates;_values;constructor(e,t){this._predicates=e,this._values=t}then(e){return new en(this._predicates,this._values.concat(e))}},cr=class{_predicates;constructor(e){this._predicates=[e]}then(e){return new en(this._predicates,[e])}},en=class n extends R{_predicates;_values;_otherwiseValue;constructor(e,t,r=null){super(typeof e=="string"?e:"*when*"),this._predicates=Array.isArray(e)?e:[],this._values=t||[],this._otherwiseValue=r,this._ops.push((o,s)=>{let a=o.length,i=p=>R.isColExpr(p)?p.evaluate(s,a):typeof p=="string"&&p in s?s[p]:p,l=this._predicates.length,f=new Array(l),u=new Array(l);for(let p=0;p<l;p++)f[p]=i(this._predicates[p]),u[p]=i(this._values[p]);let c=i(this._otherwiseValue),m=new Array(a);for(let p=0;p<a;p++){let h=!1;for(let y=0;y<l;y++)if((E(f[y])?f[y][p]:f[y])===!0){m[p]=E(u[y])?u[y][p]:u[y],h=!0;break}h||(m[p]=E(c)?c[p]:c)}return m})}when(e){return new ur(this._predicates.concat(e),this._values)}otherwise(e){return new n(this._predicates,this._values,e)}}});function ms(n){return R.toColExpr(n).implode()}var ps=k(()=>{"use strict";ue()});function hs(){return new R(Ye)}var ys=k(()=>{"use strict";ue();be()});function ds(n,...e){let t;Array.isArray(n)||n&&typeof n=="object"&&!R.isColExpr(n)?t=n:t=[n,...e];let r=Je({}).struct.with_fields(t);return delete r._isLiteral,delete r._literalValue,r._colName=_r,r.alias("struct")}var gs=k(()=>{"use strict";ue();Qt();be()});var pt=k(()=>{"use strict";be();xr();ae();Wn();Gn();Jn();Hn();Xn();Qn();or();tr();rr();ue();Qt();ss();as();us();fs();ps();sr();ys();gs();ar();fe()});var tn,_s=k(()=>{"use strict";We();Bt();pt();tn=class{_groups;_keys;_allKeys;_parentColumns;_parentHeight;_parentSchema;constructor(e,t,r,o,s,a){this._groups=e,this._keys=t,this._allKeys=r,this._parentColumns=o,this._parentHeight=s,this._parentSchema=a}to_dataframe(){let e=this._keys.length,t=new Array(e);for(let i=0;i<e;i++)t[i]=String(this._keys[i]);let r=this._groups.size,o={};for(let i=0;i<t.length;i++)o[t[i]]=new Array(r);let s=0;for(let i of this._groups.values()){if(i.length===0)continue;let l=i[0];for(let f=0;f<t.length;f++){let u=t[f],c=this._parentColumns[u][l];o[u][s]=c===void 0?null:c}s++}let a={};for(let i of t)a[i]=this._parentSchema[i];return V._createDirect(o,a,s)}agg(...e){let t=this._allKeys.length,r=new Array(t);for(let c=0;c<t;c++)r[c]=String(this._allKeys[c]);let o=this._keys.length,s=new Array(o);for(let c=0;c<o;c++)s[c]=String(this._keys[c]);let a=Ve(e.flat(),r,s,this._parentSchema,this._parentColumns),i=this._groups.size,l={};for(let c=0;c<s.length;c++)l[s[c]]=new Array(i);let f=0;for(let c of this._groups.values()){if(c.length===0)continue;let m=c[0];for(let p=0;p<s.length;p++){let h=s[p],y=this._parentColumns[h][m];l[h][f]=y===void 0?null:y}f++}for(let c=0;c<a.length;c++){let m=a[c],p=m._outputName||m._colName||"*";if(!m._aggFn)l[p]=m.evaluate(l,i);else{let h=m._evaluatePre(m._groupingOpsIndex,this._parentColumns,this._parentHeight),y=new Array(i),d=0;for(let g of this._groups.values()){if(g.length===0)continue;let _=new Array(g.length);for(let T=0;T<g.length;T++)_[T]=h[g[T]];y[d]=m._aggFn(_),d++}l[p]=m._evaluatePost(m._groupingOpsIndex,y,l)}}let u={};for(let c of s)u[c]=this._parentSchema[c];for(let c of a){let m=c._outputName||c._colName||"*";u[m]=Ie(l[m])}return V._createDirect(l,u,f)}}});function wi(n,e,t){if(n==null)throw new z(`Invalid input to ${e} at index ${t}: item cannot be null or undefined.`);if(n instanceof V)return[n];if(Ee(n))return[new V(n)];if(E(n)){if(Q(n,V,{mode:"every"}))return n;if(Q(n,"plainObject",{mode:"every"}))return[new V(n)];let r=Q(n,V,{mode:"some"});for(let o=0;o<n.length;o++)if(r?!(n[o]instanceof V):!Ee(n[o]))throw new z(r?`Invalid input to ${e} at index ${t}, sub-index ${o}: nested array must contain only DataFrame instances.`:`Invalid input to ${e} at index ${t}, row ${o}: rows must be plain objects.`)}throw new z(`Invalid input to ${e} at index ${t}: expected DataFrame, row array, or column dictionary.`)}function ht(n,{how:e="vertical",horizontal:t}={}){if(n==null)throw new z("Invalid input to concat: rawItems cannot be null or undefined.");let r=Array.isArray(n)?n:[n],o=[];for(let a=0;a<r.length;a++)o.push(...wi(r[a],"concat",a));let s=t?.strict??!0;if(o.length===0)return V._createDirect({},{},0);if(o.length===1&&e!=="horizontal")return o[0];switch(e){case"vertical":{let a=[];for(let h=0;h<o.length;h++)o[h].height>0&&a.push(o[h]);if(a.length===0)return V._createDirect({},{},0);let i=a[0],l=Object.keys(i._columns);for(let h=0;h<o.length;h++){let y=o[h];if(y.height===0)continue;let d=Object.keys(y._columns);if(l.length!==d.length)throw new z(`[Strict Vertical] Column count mismatch at index ${h}.`);for(let g=0;g<l.length;g++){if(l[g]!==d[g])throw new z(`[Strict Vertical] Schema mismatch at position ${g} in DF ${h}. Expected column "${l[g]}", but found "${d[g]}".`);let _=i.schema[l[g]],T=y.schema[l[g]];if(_&&T&&!_.equals(T))throw new Fe(`[Strict Type Check] Schema type mismatch for column "${l[g]}": expected ${_.name}, found ${T.name}.`)}}let f=0;for(let h of o)f+=h.height;let u={},c=o.length;for(let h=0;h<c;h++)if(o[h].height>0){u=o[h].schema;break}Object.keys(u).length===0&&c>0&&(u=o[0].schema);let m={};for(let h of l){let y=u[h],d=!1;for(let _ of o){let T=_._columns[h];if(!T){d=!0;break}if(!B(T)){for(let A=0;A<T.length;A++)if(T[A]==null){d=!0;break}}if(d)break}let g=y&&y.allocate?y.allocate(f):new Array(f).fill(null);d&&B(g)&&(g=new Array(f).fill(null)),m[h]=g}let p=0;for(let h of o){let y=h.height;if(y!==0){for(let d of l){let g=h._columns[d]||new Array(y).fill(null),_=m[d];if(B(_)&&B(g))_.set(g,p);else{let T=_;for(let A=0;A<y;A++)T[p+A]=g[A]}}p+=y}}return V._createDirect(m,u,f)}case"horizontal":{let a=o[0].height;for(let u=1;u<o.length;u++)o[u].height>a&&(a=o[u].height);let i=new Set;for(let u=0;u<o.length;u++){let c=o[u];if(s&&c.height!==a)throw new te(`[Horizontal] Row count mismatch at index ${u}. Expected ${a}, got ${c.height}. Set strict=false to allow padding.`);for(let m of Object.keys(c._columns)){if(i.has(m))throw new z(`[Horizontal] Duplicate column name "${m}" detected. Horizontal concat requires unique names.`);i.add(m)}}let l={},f={};for(let u of o){let c=u.height;Object.assign(f,u.schema);let m=Object.keys(u._columns),p=m.length;for(let h=0;h<p;h++){let y=m[h],d=u._columns[y];if(c===a)l[y]=B(d)?Array.from(d):d;else{let g=new Array(a);for(let _=0;_<c;_++)g[_]=d[_];for(let _=c;_<a;_++)g[_]=null;l[y]=g}}}return V._createDirect(l,f,a)}case"diagonal":{let a=new Set;for(let m of o)for(let p of Object.keys(m._columns))a.add(p);let i=Array.from(a),l=0;for(let m=0;m<o.length;m++)l+=o[m].height;let f={};for(let m of i){let p=null;for(let h of o){let y=h.schema[m];if(y){if(p===null)p=y;else if(!p.equals(y))throw new Fe(`[Strict Type Check] Schema type mismatch for column "${m}": expected ${p.name}, found ${y.name}.`)}}f[m]=p||j.Utf8}let u={};for(let m=0;m<i.length;m++)u[i[m]]=new Array(l).fill(null);let c=0;for(let m=0;m<o.length;m++){let p=o[m],h=p.height;if(h!==0){for(let y=0;y<i.length;y++){let d=i[y],g=u[d],_=p._columns[d];if(_!==void 0)if(B(_)&&B(g))g.set(_,c);else{let T=g;for(let A=0;A<h;A++)T[c+A]=_[A]}else{let T=g;for(let A=0;A<h;A++)T[c+A]=null}}c+=h}}return V._createDirect(u,f,l)}}}var fr=k(()=>{"use strict";We();De();q();Y()});var V,We=k(()=>{"use strict";pt();_s();kt();De();q();Y();fr();Bt();V=class n{_columns;_height;_schema={};static _createDirect(e,t,r){qn(e,r);let o=Object.create(n.prototype);return o._columns=e,o._schema=t,o._height=r,o}constructor(e,t,r){if(Array.isArray(e)){let{columns:o,height:s}=Wo(e);this._columns=o,this._height=s,t?this._applySchema(t):this._inferSchema();return}if(K(e)){this._columns=e,this._height=qn(e,r),t?this._applySchema(t):this._inferSchema();return}this._columns={},this._height=0,t?this._applySchema(t):this._schema={}}_inferSchema(){let e={},t=Object.keys(this._columns),r=t.length;for(let o=0;o<r;o++){let s=t[o];e[s]=Ie(this._columns[s])}this._applySchema(e)}_applySchema(e){this._schema=e;let t=Object.keys(e),r={};for(let o of t){let s=e[o],a=this._columns[o];r[o]=a?je(a,s,this._height):je(new Array(this._height).fill(null),s,this._height)}this._columns=r}get columns(){return Object.keys(this._columns)}concat(e,t={}){let r=Q(e,n,{mode:"every",allowEmpty:!1})?e:[e];return ht([this,...r],t)}drop(...e){let t=new Set(e.flat()),r={},o={};for(let s of Object.keys(this._columns))t.has(s)||(r[s]=this._columns[s],o[s]=this._schema[s]);return n._createDirect(r,o,this._height)}drop_nulls(e){return this._height===0?this:this.filter(e?new R(e).is_not_null():mt().is_not_null())}get dtypes(){let e=Object.keys(this._columns),t=e.length,r=new Array(t);for(let o=0;o<t;o++)r[o]=this._schema[e[o]];return r}explode(e,t){let r=R.toColExpr(e),o=r._colNames||[r._colName||r._outputName],s=new Set,a=o.length;for(let u=0;u<a;u++){let c=o[u];if(!c)throw new z("Expression passed to explode must have a column name.");X(c,this._columns,"Explode column"),s.add(c)}let i=Object.keys(this._columns),l=[],f=i.length;for(let u=0;u<f;u++){let c=i[u];l.push(s.has(c)?new R(c).arr.explode(t):new R(c))}return this.select(...l)}fill_null(e={}){return this._height===0?this:this.with_columns(mt().fill_null(e))}filter(...e){if(this._height===0)return n._createDirect({},this._schema,0);let t=this._height,r=Object.keys(this._columns),o=r.length,s=[],a=[],i=[],l=e.length;for(let d=0;d<l;d++){let g=e[d];typeof g=="function"?a.push(g):i.push(g)}let f=Ve(i,r,void 0,this._schema,this._columns),u=f.length;for(let d=0;d<u;d++)s.push(f[d].evaluate(this._columns,t));let c=[],m=0,p=null;if(a.length>0){let d=this._columns;p={};for(let g=0;g<o;g++){let _=r[g],T=d[_];Object.defineProperty(p,_,{get(){let A=T[m];return A===void 0?null:A},enumerable:!0,configurable:!0})}}for(let d=0;d<t;d++){let g=!0;for(let _=0;_<s.length;_++)if(!s[_][d]){g=!1;break}if(g){if(p){m=d;for(let _=0;_<a.length;_++)if(!a[_](p)){g=!1;break}}g&&c.push(d)}}let h=ft(this._columns,c),y=c.length;return n._createDirect(h,this._schema,y)}get_schema(){return this._schema}groupby(e){let t=Qe(e),r=new Map,o=this._height,s=we(e);for(let i=0;i<s.length;i++)X(s[i],this._columns,"Grouping key");for(let i=0;i<o;i++){let l=Oe(this._columns,s,i),f=r.get(l);f===void 0&&r.set(l,f=[]),f.push(i)}let a=Object.keys(this._columns);return new tn(r,t,a,this._columns,this._height,this._schema)}head(e=10){return this.limit(e,{offset:0,from:"start"})}clone(){let e={};for(let t of Object.keys(this._columns)){let r=this._columns[t];Array.isArray(r)||B(r)?e[t]=r.slice():e[t]=Array.prototype.slice.call(r)}return n._createDirect(e,{...this._schema},this._height)}get height(){return this._height}hstack(e,t={}){return this.concat(e,{how:"horizontal",horizontal:t})}insert_column(e,t,r){let o=R.toColExpr(r).alias(t),s=Object.keys(this._columns),a=s.length,i=[];for(let f=0;f<a;f++){let u=s[f];u!==t&&i.push(u)}let l=Math.max(0,Math.min(e,i.length));return i.splice(l,0,o),this.select(...i)}item(e,t){let r=this._height,o=Object.keys(this._columns),s=o.length;if(e===void 0&&t===void 0){if(r!==1||s!==1)throw new z("DataFrame.item() can only be called without arguments if the shape is (1, 1).");return this._columns[o[0]][0]}if(e===void 0||t===void 0)throw new z("DataFrame.item() requires both row and column to be specified if not empty.");if(e<0||e>=r)throw new te(`Row index ${e} is out of bounds for DataFrame height ${r}.`);let a;if(typeof t=="number"){if(t<0||t>=s)throw new te(`Column index ${t} is out of bounds for DataFrame width ${s}.`);a=o[t]}else if(a=t,this._columns[a]===void 0)throw new Te(a);return this._columns[a][e]}*iter_columns(){let e=Object.keys(this._columns),t=e.length,r=this._columns;for(let o=0;o<t;o++)yield r[e[o]]}*iter_rows({named:e=!1}={}){let t=Object.keys(this._columns),r=t.length,o=this._columns,s=this._height,a=new Array(r);for(let i=0;i<r;i++)a[i]=o[t[i]];if(e)for(let i=0;i<s;i++){let l={};for(let f=0;f<r;f++)l[t[f]]=a[f][i];yield l}else for(let i=0;i<s;i++){let l=new Array(r);for(let f=0;f<r;f++)l[f]=a[f][i];yield l}}join(e){let{other:t,on:r,leftOn:o,rightOn:s,how:a="inner",suffixes:i=["","_right"],join_nulls:l=!1,coalesce:f=!0,maintain_order:u="none"}=e;if(a==="cross"&&(r!==void 0||o!==void 0||s!==void 0))throw new v('Cannot specify "on", "leftOn", or "rightOn" when how is "cross". Cross joins produce a keyless Cartesian product.');if(r!==void 0&&(o!==void 0||s!==void 0))throw new v('Cannot specify both "on" and "leftOn"/"rightOn" in join(). Use either "on" or both "leftOn" and "rightOn".');if(o!==void 0&&s===void 0||o===void 0&&s!==void 0)throw new v('join() requires both "leftOn" and "rightOn" when specifying heterogeneous join keys.');if(a!=="cross"&&r===void 0&&o===void 0&&s===void 0)throw new v('join() requires either "on" or both "leftOn" and "rightOn" parameters.');let c=[],m=[];if(o!==void 0&&s!==void 0){if(c=we(o),m=we(s),c.length===0||m.length===0)throw new v('join() requires non-empty key arrays in "leftOn" and "rightOn".');if(c.length!==m.length)throw new v(`join() "leftOn" length (${c.length}) must match "rightOn" length (${m.length}).`)}else if(r!==void 0&&(c=we(r),m=c,c.length===0))throw new v('join() requires at least one key column in "on".');for(let g=0;g<c.length;g++)X(c[g],this._columns,"Join key"," in the left DataFrame."),X(m[g],t._columns,"Join key"," in the right DataFrame.");let h={...e,how:a,suffixes:i,join_nulls:l,coalesce:f,maintain_order:typeof u=="boolean"?u?"left":"none":u??"none"},{leftIndices:y,rightIndices:d}=Yo(this._columns,t._columns,this._height,t._height,c,m,h);return zn(this._columns,t._columns,this._schema,t._schema,y,d,c,m,{suffixes:i,coalesce:f,how:a})}join_asof(e){let{other:t,on:r,leftOn:o,rightOn:s,by:a,leftBy:i,rightBy:l,strategy:f="backward",tolerance:u,allow_exact_matches:c=!0,suffixes:m=["","_right"],coalesce:p=!0,check_sorted:h=!0}=e;if(!t||!(t instanceof n))throw new v("join_asof() requires a valid right DataFrame in the 'other' parameter.");let y=String(o??r??""),d=String(s??r??"");if(!y||!d)throw new v('join_asof() requires join key specified via "on", or "leftOn" and "rightOn".');let g=C=>C?Array.isArray(C)?C.map(String):[String(C)]:[],_=g(i??a),T=g(l??a);if(_.length!==T.length)throw new v('join_asof() "by" (or "leftBy" / "rightBy") key lists must have equal lengths.');for(let C=0;C<_.length;C++)X(_[C],this._columns,"Partition key"," in the left DataFrame."),X(T[C],t._columns,"Partition key"," in the right DataFrame.");let A={...e,strategy:f,tolerance:u,allow_exact_matches:c,suffixes:m,coalesce:p,check_sorted:h},{leftIndices:x,rightIndices:S}=Ho(this._columns,t._columns,this._height,t._height,y,d,_,T,A),b=[y,..._],D=[d,...T];return zn(this._columns,t._columns,this._schema,t._schema,x,S,b,D,{suffixes:m,coalesce:p,how:"left"})}limit(e,{offset:t=0,from:r="start"}={}){let o=this._height,s=pe(Math.floor(e),{min:0,max:o}),a=pe(Math.floor(t),{min:0,max:o}),i=a,l=Math.min(a+s,o);r==="end"&&(l=o-a,i=Math.max(l-s,0));let f=l-i,u={},c=Object.keys(this._columns),m=c.length;for(let p=0;p<m;p++){let h=c[p];u[h]=this._columns[h].slice(i,l)}return n._createDirect(u,this._schema,f)}pivot(e){if(this._height===0)return n._createDirect({},{},0);let{index:t,columns:r,values:o}=e,s=we(t),a=s.length;for(let x=0;x<a;x++)X(s[x],this._columns,"Pivot index key");let i=String(r),l=String(o);X(i,this._columns,"Pivot column key"),X(l,this._columns,"Pivot values key");let f=new Map,u=[],c=new Set,m=this._height,p=this._columns[i],h=this._columns[l];for(let x=0;x<m;x++){let S=Oe(this._columns,s,x);c.add(String(p[x])),f.get(S)===void 0&&(f.set(S,f.size),u.push(x))}let y=f.size,d={},g={};for(let x=0;x<a;x++){let S=s[x];d[S]=this._columns[S],this._schema[S]&&(g[S]=this._schema[S])}let _=ft(d,u),T=Array.from(c),A=this._schema[l]||j.Utf8;for(let x=0;x<T.length;x++){let S=T[x];_[S]=new Array(y).fill(null),g[S]=A}for(let x=0;x<m;x++){let S=Oe(this._columns,s,x),b=f.get(S),D=String(p[x]);_[D][b]=h[x]}return n._createDirect(_,g,y)}rename(e){let t=e||{},r={},o={},s=Object.keys(this._columns);for(let i of s){let l=t[i]||i;r[l]=this._columns[i],o[l]=this._schema[i]}if(Object.keys(r).length<s.length)throw new z("Rename collision: Multiple columns mapped to the same output name.");return n._createDirect(r,o,this._height)}reverse(){if(this._height===0)return this;let e={},t=Object.keys(this._columns),r=t.length;for(let o=0;o<r;o++){let s=t[o];e[s]=this._columns[s].slice().reverse()}return n._createDirect(e,this._schema,this._height)}get schema(){return this._schema}select(...e){let t=this._normalizeArgs(e),r=Object.keys(this._columns),o=Ve(t,r,void 0,this._schema,this._columns),s=o.length;if(s===0)return n._createDirect({},{},this._height);let a={},i={},l=new Array(s),f=new Array(s),u=new Set,c=null;for(let h=0;h<s;h++){let y=o[h],d=y._outputName||y._colName||"*";if(u.has(d))throw new z(`Duplicate column selection: "${d}" is selected multiple times.`);u.add(d);let g=_e(y,this._columns,this._height);l[h]=g,f[h]=d;let _=g&&g.rowMap;if(_)if(c){let T=_.length;if(T!==c.length)throw new te(`Mismatched explode heights: Column "${d}" has length ${T}, but another exploded column has length ${c.length}`);for(let A=0;A<T;A++)if(_[A]!==c[A])throw new te(`Mismatched explode heights: Column "${d}" has mismatched row lengths compared to another exploded column.`)}else c=_}let m=c?c.length:this._height,p=s>0;for(let h=0;h<s;h++){let y=o[h],d=y._aggFn!=null&&(y._partitionBy==null||y._partitionBy.length===0),g=!!y._isLiteral;if(!d&&!g){p=!1;break}}for(let h=0;h<s;h++){let y=f[h],d=l[h],g=d,_=g&&g.rowMap,T=E(d)?d.length:0,A=c&&!_?this._height:m;if(T!==A)throw new te(`Column height mismatch: Column "${y}" has length ${T}, but expected ${A}`);if(c&&!_){let x=c.length;if(B(d)){let S=new g.constructor(x);for(let b=0;b<x;b++)S[b]=g[c[b]];d=S}else{let S=new Array(x);for(let b=0;b<x;b++)S[b]=g[c[b]];d=S}}l[h]=d}p&&(m=1);for(let h=0;h<s;h++){let y=o[h],d=f[h],g=l[h],_=y._colName||d,T=y instanceof R&&y._ops.length===0&&!y._isWindow&&!y._aggFn,x=y._castType||T&&this._schema[_]||Ie(g);i[d]=x,a[d]=je(g,x,m)}return n._createDirect(a,i,m)}get shape(){return[this.height,this.width]}slice(e,t){let r=this._height,o=e<0?Math.max(r+e,0):Math.min(e,r),s=t===void 0?r:t<0?Math.max(r+t,0):Math.min(t,r),a=Math.max(s-o,0);return this.limit(a,{offset:o})}sort(e){if(!e||!e.by||this._height===0)return this;let{by:t,descending:r=!1,nullsLast:o=!0,custom:s}=e,a=Qe(t);for(let h=0;h<a.length;h++){let y=R.toColExpr(a[h]);y._colName&&X(y._colName,this._columns,"Sort key")}let i=Array.isArray(r)?r:new Array(a.length).fill(r),l=a.length,f=new Array(l);for(let h=0;h<l;h++){let y=a[h],d=i[h]?-1:1,g=s&&typeof y=="string"?s[y]:null,_=R.toColExpr(y).evaluate(this._columns,this._height);f[h]={values:_,isDesc:d,customComp:g}}let u=f.length,c=o?1:-1,m=new Array(this._height);for(let h=0;h<this._height;h++)m[h]=h;m.sort((h,y)=>{for(let d=0;d<u;d++){let{values:g,isDesc:_,customComp:T}=f[d],A=g[h],x=g[y];if(T){let b=T(A,x);if(b!==0)return b*_;continue}if(A==null||x==null){if(A===x)continue;return(A==null?1:-1)*c}if(A===x)continue;return(A<x?-1:1)*_}return 0});let p=ft(this._columns,m);return n._createDirect(p,this._schema,this._height)}tail(e=10){return this.limit(e,{offset:0,from:"end"})}to_dict(){return{...this._columns}}to_dicts(){return Go(this._columns,this._height)}to_array(e){if(this._height===0)return[];if(e==null)return new Array(this._height).fill(null);let r=R.toColExpr(e).evaluate(this._columns,this._height);return Array.isArray(r)?r:Array.from(r)}transpose({include_header:e=!1,header_name:t="column",column_names:r}={}){if(this._height===0){let u={},c={};return e&&(u[t]=je([],j.Utf8,0),c[t]=j.Utf8),n._createDirect(u,c,0)}let o=this.columns;typeof r=="string"&&(X(r,this._columns,"column_names"),o=o.filter(u=>u!==r));let s=[];if(typeof r=="string"){let u=this._columns[r];s=new Array(this._height);for(let c=0;c<this._height;c++){let m=u[c];if(m==null)throw new z(`Transpose column_names column "${r}" contains null/undefined at index ${c}`);s[c]=String(m)}}else if(r!=null&&typeof r!="string"&&Symbol.iterator in Object(r)){let u=Array.from(r);if(u.length!==this._height)throw new z(`column_names length (${u.length}) must match the height of the DataFrame (${this._height})`);s=new Array(this._height);for(let c=0;c<this._height;c++)s[c]=String(u[c])}else{s=new Array(this._height);for(let u=0;u<this._height;u++)s[u]=`column_${u}`}let a=new Set;e&&a.add(t);for(let u=0;u<s.length;u++){let c=s[u];if(a.has(c))throw new z(`Duplicate column name in transposed DataFrame: "${c}"`);a.add(c)}let i=o.length,l={},f={};e&&(l[t]=je(o,j.Utf8,i),f[t]=j.Utf8);for(let u=0;u<this._height;u++){let c=s[u],m=new Array(i);for(let h=0;h<i;h++)m[h]=this._columns[o[h]][u];let p=Ie(m);l[c]=je(m,p,i),f[c]=p}return n._createDirect(l,f,i)}unique(e){if(this._height===0)return n._createDirect({},this._schema,0);let t=Qe(e),r=t.length===0?Object.keys(this._columns):t.map(String);for(let f of r)X(f,this._columns,"Unique column key");let o=new Set,s=[],a=this._height;for(let f=0;f<a;f++){let u=Oe(this._columns,r,f);o.has(u)||(o.add(u),s.push(f))}let i=ft(this._columns,s),l=s.length;return n._createDirect(i,this._schema,l)}unpivot(e){let{idVars:t,valueVars:r,varName:o="variable",valueName:s="value"}=e,a=we(t),i=we(r),l=a.length,f=i.length;for(let h of a)X(h,this._columns,"Unpivot id variable key");for(let h of i)X(h,this._columns,"Unpivot value variable key");let u=this._height*f,c={};for(let h=0;h<l;h++)c[a[h]]=new Array(u);c[o]=new Array(u),c[s]=new Array(u);let m=0;for(let h=0;h<this._height;h++)for(let y=0;y<f;y++){let d=i[y];for(let g=0;g<l;g++){let _=a[g];c[_][m]=this._columns[_][h]}c[o][m]=d,c[s][m]=this._columns[d][h],m++}let p={};for(let h of a)p[h]=this._schema[h];return p[o]=j.Utf8,p[s]=Ie(c[s]),n._createDirect(c,p,u)}vstack(e){return this.concat(e,{how:"vertical"})}get width(){return Object.keys(this._columns).length}_normalizeArgs(e){let t=e.flat(),r=[];for(let o of t)if(typeof o=="string")r.push(new R(o));else if(R.isColExpr(o))r.push(o);else if(K(o)){let s=Object.keys(o),a=s.length;for(let i=0;i<a;i++){let l=s[i],f=o[l];if(R.isColExpr(f))r.push(f.alias(l));else{let u=new R(l);u.evaluate=(c,m)=>new Array(m).fill(f),r.push(u)}}}return r}with_columns(...e){if(e.length===0)return this;let t=this._normalizeArgs(e),r=Object.keys(this._columns),o=Ve(t,r,void 0,this._schema,this._columns),s=o.length;if(s===0)return this;let a=new Map;for(let f=0;f<s;f++){let u=o[f],c=u._outputName||u._colName||"*";a.set(c,u)}let i=[],l=r.length;for(let f=0;f<l;f++){let u=r[f];i.push(a.get(u)||new R(u)),a.delete(u)}for(let f of a.values())i.push(f);return this.select(...i)}with_row_index(e="index",t=0){let r=Ge(t,{mode:"independent",dtype:j.UInt32,step:1}),o=this.insert_column(0,e,r);return o._schema[e]=j.UInt32,o}write_json(e,{format:t="json",replacerOptions:r}={}){if(t!=="json"&&t!=="ndjson")throw new v(`Unsupported JSON format: "${t}". Expected "json" or "ndjson".`);let o=r?.replacer===null?void 0:st(r),s;if(t==="ndjson"){let a=this.to_dicts(),i=a.length,l=new Array(i);for(let f=0;f<i;f++)l[f]=JSON.stringify(a[f],o);s=l.join(`
6
+ `)}else s=JSON.stringify(this.to_dicts(),o);return Jo(e,s),s}write_csv(e,t={}){if(e){if(typeof e=="string"){if(typeof Pe!="function")throw new Ae("File writing is not supported in this environment (missing require('fs')).");let r=Pe("fs"),o=r.openSync(e,"w");try{Lt(this._columns,this._height,{...t,onRow:s=>{r.writeSync(o,s,null,"utf8")}})}finally{r.closeSync(o)}}else if(K(e)&&typeof e.write=="function")Lt(this._columns,this._height,{...t,onRow:r=>{e.write(r)}});else throw new v("Invalid file argument. Expected a file path string or a writable stream/object with a write method.");return""}return Lt(this._columns,this._height,t)}}});pt();pt();De();fr();We();q();Y();function mr(n,{format:e="json",trimBeforeParse:t=!0,schema:r,...o}={}){let s=xo(n,{format:e,trimBeforeParse:t,...o});if(s===n)throw new z(`Invalid JSON input: must be a valid, non-empty JSON ${e} string.`);let a=Array.isArray(s)?s:K(s)?[s]:[];return new V(a,r)}We();q();function pr(n,e={}){let{hasHeader:t=!0,schema:r,inferSchema:o=!0}=e,s=Vo(n,e);if(s.length===0)return new V({});let a,i;t?(a=s[0],i=s.slice(1)):(a=s[0].map((m,p)=>`column_${p}`),i=s);let l=a.length,f=i.length,u={};for(let m=0;m<l;m++){let p=a[m],h=new Array(f);for(let y=0;y<f;y++)h[y]=i[y][m]!==void 0?i[y][m]:"";u[p]=h}let c={};for(let m=0;m<l;m++){let p=a[m],h=u[p];if(r&&r[p])c[p]=h;else if(o){let{values:y}=Lo(h,e);c[p]=y}else c[p]=h}return new V(c,r)}function Si(n,e){return new V(n,e)}var $c={data:Si,col:n=>new R(n),all:mt,exclude:is,coalesce:ls,concat:ht,read_json:mr,read_csv:pr,lit:Je,when:cs,implode:ms,seq_range:Ge,element:hs,struct:ds,duration:ir,DataType:j};De();Y();export{$c as $df,se as ALL_COLUMNS_MARKER,Wt as AggregationExpr,$t as ArithmeticExpr,Uo as Array,Uo as ArrayDataType,Jt as ArrayExpr,er as ArrayExprNamespace,Pn as ArrayType,Eo as Binary,Un as BinaryType,Ft as Boolean,Ft as BooleanDataType,vn as BooleanType,gr as COALESCE_MARKER,R as ColumnExpr,Te as ColumnNotFoundError,Kt as ComparisonExpr,ie as ComputeError,Ce as DFScriptError,br as DURATION_MARKER,V as DataFrame,z as DataFrameError,ne as DataType,j as DataTypeRegistry,No as Date,No as DateDataType,lr as DateTimeExprNamespace,Vn as DateType,jt as Datetime,ge as DatetimeType,vt as DecimalType,Mo as Duration,lt as DurationType,Ye as ELEMENT_MARKER,$ as ExprBase,Io as Float32,Rn as Float32Type,Ut as Float64,Nn as Float64Type,it as FloatDataType,tn as GroupedData,Ae as IOStreamError,So as Int16,Dn as Int16Type,Ao as Int32,Tn as Int32Type,Mt as Int64,Cn as Int64Type,wo as Int8,An as Int8Type,Rt as IntegerDataType,v as InvalidArgumentError,dr as LITERAL_MARKER,qt as LogicalExpr,at as NestedDataType,ko as Null,Fn as NullType,ze as NumericDataType,Ro as Object,Ro as ObjectDataType,jn as ObjectType,_r as STRUCT_MARKER,Fe as SchemaError,te as ShapeError,ve as SignedIntegerType,zt as StringExpr,Yn as StringExprNamespace,Fo as Struct,Ht as StructExpr,nr as StructExprNamespace,Bn as StructType,Ue as TemporalDataType,Zt as TemporalExpr,vo as Time,Ln as TimeType,To as UInt16,In as UInt16Type,Co as UInt32,En as UInt32Type,Oo as UInt64,kn as UInt64Type,Do as UInt8,On as UInt8Type,Me as UnsignedIntegerType,ut as Utf8,Mn as Utf8Type,cr as When,en as WhenThen,ur as WhenThenChain,Gt as WindowExpr,Ho as alignAsofIndices,Yo as alignKeyIndices,mt as all,X as assertColumnExists,qn as assertHeight,Pt as assertNotNull,Ta as assertValidArgument,ls as coalesce,je as coerceColumn,Go as columnsToRows,Oe as computeRowHash,ht as concat,w as derive,ir as duration,hs as element,Xo as evalBinaryOp,di as evalUnaryOp,_e as evaluateExpression,is as exclude,ft as gatherColumnsByIndices,va as getRowFromColumns,ms as implode,Ie as inferColumnType,L as kleeneBinary,I as kleeneUnary,Je as lit,zn as materializeJoinedDataFrame,pr as read_csv,mr as read_json,Ve as resolveColumnSelectors,zo as resolveWindowExpr,Wo as rowsToColumns,Ge as seq_range,ds as struct,cs as when,Jo as writeStringToFileOrStream};