From 36e6a4c07195c847c6174e5eaaa4bfac218c1023 Mon Sep 17 00:00:00 2001 From: Nico Ritschel Date: Mon, 19 Oct 2026 13:29:23 -0700 Subject: [PATCH 1/2] Fix ClickHouse quoting in UI filters --- .../assets/ui-dist/sidemantic-ui-static.js | 33 ++++++----- .../assets/ui-dist/sidemantic-ui.js | 33 ++++++----- sidemantic-rs/ui/assets/index-ChPW3NO2.js | 55 +++++++++++++++++++ sidemantic-rs/ui/assets/index-DZEAtY5b.js | 55 ------------------- sidemantic-rs/ui/index.html | 2 +- sidemantic/ui/static/assets/index-ChPW3NO2.js | 55 +++++++++++++++++++ sidemantic/ui/static/assets/index-DZEAtY5b.js | 55 ------------------- sidemantic/ui/static/index.html | 2 +- sidemantic/widget/static/widget.js | 16 +++--- webapp/src/components/FilterEditor.tsx | 13 ++--- webapp/src/components/LeaderboardPanel.tsx | 12 ++-- webapp/src/components/RowPreviewDrawer.tsx | 4 +- webapp/src/lib/format.ts | 3 +- webapp/src/lib/queries.test.ts | 39 +++++++++++++ webapp/src/lib/queries.ts | 39 ++++++++----- webapp/src/state/dashboardState.test.ts | 11 ++++ webapp/src/state/dashboardState.ts | 19 ++++--- webapp/src/views/DashboardDocumentView.tsx | 4 +- webapp/src/views/ExplorerView.tsx | 8 +-- webapp/src/views/PivotView.tsx | 4 +- 20 files changed, 265 insertions(+), 197 deletions(-) create mode 100644 sidemantic-rs/ui/assets/index-ChPW3NO2.js delete mode 100644 sidemantic-rs/ui/assets/index-DZEAtY5b.js create mode 100644 sidemantic/ui/static/assets/index-ChPW3NO2.js delete mode 100644 sidemantic/ui/static/assets/index-DZEAtY5b.js diff --git a/plugins/sidemantic/skills/webapp-builder/assets/ui-dist/sidemantic-ui-static.js b/plugins/sidemantic/skills/webapp-builder/assets/ui-dist/sidemantic-ui-static.js index 5d59ee10f..b3342e233 100644 --- a/plugins/sidemantic/skills/webapp-builder/assets/ui-dist/sidemantic-ui-static.js +++ b/plugins/sidemantic/skills/webapp-builder/assets/ui-dist/sidemantic-ui-static.js @@ -7963,7 +7963,9 @@ function displayDimValue(value) { function formatValue(value, hint = {}) { return formatUiValue(value, hint); } -function sqlLiteral(value) { +function sqlLiteral(value, dialect) { + if (dialect === "clickhouse") + value = value.replaceAll("\\", "\\\\"); return `'${value.replaceAll("'", "''")}'`; } function filterSummary(filter) { @@ -8103,7 +8105,7 @@ function dimTypes(dimensions) { function catalogDimTypes(catalog) { return dimTypes(catalog.models.flatMap((model) => model.dimensions)); } -function filterLiteral(value, type) { +function filterLiteral(value, type, dialect) { if ((type === "numeric" || type === "number") && value.trim() !== "" && Number.isFinite(Number(value))) { return value; } @@ -8112,20 +8114,25 @@ function filterLiteral(value, type) { if (lower === "true" || lower === "false") return lower; } - return sqlLiteral(value); + return sqlLiteral(value, dialect); } function likeEscape(pattern) { return pattern.replaceAll("\\", "\\\\").replaceAll("%", "\\%").replaceAll("_", "\\_"); } -function membershipExpr(dimRef, filter, type) { +function containsExpr(dimRef, text, dialect) { + const pattern = sqlLiteral(`%${likeEscape(text)}%`, dialect); + const escape2 = dialect === "clickhouse" ? "" : " ESCAPE '\\'"; + return `CAST(${dimRef} AS VARCHAR) ILIKE ${pattern}${escape2}`; +} +function membershipExpr(dimRef, filter, type, dialect) { const negate = filter.mode === "exclude"; const hasNull = filter.values.includes(NULL_TOKEN); const present = filter.values.filter((value) => value !== NULL_TOKEN); let presentExpr = null; if (present.length === 1) { - presentExpr = `${dimRef} ${negate ? "!=" : "="} ${filterLiteral(present[0], type)}`; + presentExpr = `${dimRef} ${negate ? "!=" : "="} ${filterLiteral(present[0], type, dialect)}`; } else if (present.length > 1) { - const list = present.map((v3) => filterLiteral(v3, type)).join(", "); + const list = present.map((v3) => filterLiteral(v3, type, dialect)).join(", "); presentExpr = `${dimRef} ${negate ? "NOT IN" : "IN"} (${list})`; } if (!negate) { @@ -8156,18 +8163,17 @@ function filterExprs(filters, opts = {}) { continue; const type = opts.types?.[dimRef]; if (filter.mode === "contains") { - const pat = sqlLiteral(`%${likeEscape(filter.pattern ?? "")}%`); - out.push(`CAST(${dimRef} AS VARCHAR) ILIKE ${pat} ESCAPE '\\'`); + out.push(containsExpr(dimRef, filter.pattern ?? "", opts.dialect)); continue; } - const expr = membershipExpr(dimRef, filter, type); + const expr = membershipExpr(dimRef, filter, type, opts.dialect); if (expr) out.push(expr); } return out; } function composeFilters(filters, opts = {}) { - const base = filterExprs(filters, { types: opts.types, excludeDim: opts.excludeDim }); + const base = filterExprs(filters, { types: opts.types, excludeDim: opts.excludeDim, dialect: opts.dialect }); if (opts.timeRef && opts.range) base.push(...timeFilters(opts.timeRef, opts.range)); return base; @@ -8319,14 +8325,13 @@ function FilterEditor({ const valueFilters = import_react5.useMemo(() => { const base = [ ...configured?.filters ?? [], - ...composeFilters(state.filters, { timeRef, range: state.dateRange, excludeDim: dim.ref, types }) + ...composeFilters(state.filters, { timeRef, range: state.dateRange, excludeDim: dim.ref, types, dialect: catalog.dialect }) ]; if (debouncedSearch.trim()) { - const pat = sqlLiteral(`%${likeEscape(debouncedSearch.trim())}%`); - base.push(`CAST(${dim.ref} AS VARCHAR) ILIKE ${pat} ESCAPE '\\'`); + base.push(containsExpr(dim.ref, debouncedSearch.trim(), catalog.dialect)); } return base; - }, [configured, state.filters, timeRef, state.dateRange, dim.ref, debouncedSearch, types]); + }, [configured, state.filters, timeRef, state.dateRange, dim.ref, debouncedSearch, types, catalog.dialect]); const listMode = mode !== "contains"; const { result, loading, error } = useQueryResult(backend, listMode ? distinctValues(dim.ref, valueFilters, VALUE_LIMIT, configured?.segments, configured?.usePreaggregations) : null); const dimAlias = aliasOf(dim.ref); diff --git a/plugins/sidemantic/skills/webapp-builder/assets/ui-dist/sidemantic-ui.js b/plugins/sidemantic/skills/webapp-builder/assets/ui-dist/sidemantic-ui.js index d5b653120..692bd2265 100644 --- a/plugins/sidemantic/skills/webapp-builder/assets/ui-dist/sidemantic-ui.js +++ b/plugins/sidemantic/skills/webapp-builder/assets/ui-dist/sidemantic-ui.js @@ -160,7 +160,9 @@ function formatValue(value, hint = {}) { function formatCompact(value, hint = {}) { return formatUiCompact(value, hint); } -function sqlLiteral(value) { +function sqlLiteral(value, dialect) { + if (dialect === "clickhouse") + value = value.replaceAll("\\", "\\\\"); return `'${value.replaceAll("'", "''")}'`; } function filterSummary(filter) { @@ -1398,7 +1400,7 @@ function dimTypes(dimensions) { function catalogDimTypes(catalog) { return dimTypes(catalog.models.flatMap((model) => model.dimensions)); } -function filterLiteral(value, type) { +function filterLiteral(value, type, dialect) { if ((type === "numeric" || type === "number") && value.trim() !== "" && Number.isFinite(Number(value))) { return value; } @@ -1407,20 +1409,25 @@ function filterLiteral(value, type) { if (lower === "true" || lower === "false") return lower; } - return sqlLiteral(value); + return sqlLiteral(value, dialect); } function likeEscape(pattern) { return pattern.replaceAll("\\", "\\\\").replaceAll("%", "\\%").replaceAll("_", "\\_"); } -function membershipExpr(dimRef, filter, type) { +function containsExpr(dimRef, text, dialect) { + const pattern = sqlLiteral(`%${likeEscape(text)}%`, dialect); + const escape = dialect === "clickhouse" ? "" : " ESCAPE '\\'"; + return `CAST(${dimRef} AS VARCHAR) ILIKE ${pattern}${escape}`; +} +function membershipExpr(dimRef, filter, type, dialect) { const negate = filter.mode === "exclude"; const hasNull = filter.values.includes(NULL_TOKEN); const present = filter.values.filter((value) => value !== NULL_TOKEN); let presentExpr = null; if (present.length === 1) { - presentExpr = `${dimRef} ${negate ? "!=" : "="} ${filterLiteral(present[0], type)}`; + presentExpr = `${dimRef} ${negate ? "!=" : "="} ${filterLiteral(present[0], type, dialect)}`; } else if (present.length > 1) { - const list = present.map((v) => filterLiteral(v, type)).join(", "); + const list = present.map((v) => filterLiteral(v, type, dialect)).join(", "); presentExpr = `${dimRef} ${negate ? "NOT IN" : "IN"} (${list})`; } if (!negate) { @@ -1451,18 +1458,17 @@ function filterExprs(filters, opts = {}) { continue; const type = opts.types?.[dimRef]; if (filter.mode === "contains") { - const pat = sqlLiteral(`%${likeEscape(filter.pattern ?? "")}%`); - out.push(`CAST(${dimRef} AS VARCHAR) ILIKE ${pat} ESCAPE '\\'`); + out.push(containsExpr(dimRef, filter.pattern ?? "", opts.dialect)); continue; } - const expr = membershipExpr(dimRef, filter, type); + const expr = membershipExpr(dimRef, filter, type, opts.dialect); if (expr) out.push(expr); } return out; } function composeFilters(filters, opts = {}) { - const base = filterExprs(filters, { types: opts.types, excludeDim: opts.excludeDim }); + const base = filterExprs(filters, { types: opts.types, excludeDim: opts.excludeDim, dialect: opts.dialect }); if (opts.timeRef && opts.range) base.push(...timeFilters(opts.timeRef, opts.range)); return base; @@ -1614,14 +1620,13 @@ function FilterEditor({ const valueFilters = useMemo3(() => { const base = [ ...configured?.filters ?? [], - ...composeFilters(state.filters, { timeRef, range: state.dateRange, excludeDim: dim.ref, types }) + ...composeFilters(state.filters, { timeRef, range: state.dateRange, excludeDim: dim.ref, types, dialect: catalog.dialect }) ]; if (debouncedSearch.trim()) { - const pat = sqlLiteral(`%${likeEscape(debouncedSearch.trim())}%`); - base.push(`CAST(${dim.ref} AS VARCHAR) ILIKE ${pat} ESCAPE '\\'`); + base.push(containsExpr(dim.ref, debouncedSearch.trim(), catalog.dialect)); } return base; - }, [configured, state.filters, timeRef, state.dateRange, dim.ref, debouncedSearch, types]); + }, [configured, state.filters, timeRef, state.dateRange, dim.ref, debouncedSearch, types, catalog.dialect]); const listMode = mode !== "contains"; const { result, loading, error } = useQueryResult(backend, listMode ? distinctValues(dim.ref, valueFilters, VALUE_LIMIT, configured?.segments, configured?.usePreaggregations) : null); const dimAlias = aliasOf(dim.ref); diff --git a/sidemantic-rs/ui/assets/index-ChPW3NO2.js b/sidemantic-rs/ui/assets/index-ChPW3NO2.js new file mode 100644 index 000000000..3bab90674 --- /dev/null +++ b/sidemantic-rs/ui/assets/index-ChPW3NO2.js @@ -0,0 +1,55 @@ +var rb=Object.defineProperty;var sb=(n,e,t)=>e in n?rb(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var Mn=(n,e,t)=>sb(n,typeof e!="symbol"?e+"":e,t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))i(a);new MutationObserver(a=>{for(const c of a)if(c.type==="childList")for(const f of c.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&i(f)}).observe(document,{childList:!0,subtree:!0});function t(a){const c={};return a.integrity&&(c.integrity=a.integrity),a.referrerPolicy&&(c.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?c.credentials="include":a.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function i(a){if(a.ep)return;a.ep=!0;const c=t(a);fetch(a.href,c)}})();var td={exports:{}},Co={},nd={exports:{}},Ee={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var rm;function ib(){if(rm)return Ee;rm=1;var n=Symbol.for("react.element"),e=Symbol.for("react.portal"),t=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),f=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),v=Symbol.for("react.lazy"),x=Symbol.iterator;function b(N){return N===null||typeof N!="object"?null:(N=x&&N[x]||N["@@iterator"],typeof N=="function"?N:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_=Object.assign,C={};function T(N,F,te){this.props=N,this.context=F,this.refs=C,this.updater=te||w}T.prototype.isReactComponent={},T.prototype.setState=function(N,F){if(typeof N!="object"&&typeof N!="function"&&N!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,N,F,"setState")},T.prototype.forceUpdate=function(N){this.updater.enqueueForceUpdate(this,N,"forceUpdate")};function V(){}V.prototype=T.prototype;function $(N,F,te){this.props=N,this.context=F,this.refs=C,this.updater=te||w}var R=$.prototype=new V;R.constructor=$,_(R,T.prototype),R.isPureReactComponent=!0;var O=Array.isArray,E=Object.prototype.hasOwnProperty,D={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};function G(N,F,te){var he,re={},pe=null,Ce=null;if(F!=null)for(he in F.ref!==void 0&&(Ce=F.ref),F.key!==void 0&&(pe=""+F.key),F)E.call(F,he)&&!L.hasOwnProperty(he)&&(re[he]=F[he]);var Fe=arguments.length-2;if(Fe===1)re.children=te;else if(1>>1,F=A[N];if(0>>1;Na(re,H))pea(Ce,re)?(A[N]=Ce,A[pe]=H,N=pe):(A[N]=re,A[he]=H,N=he);else if(pea(Ce,H))A[N]=Ce,A[pe]=H,N=pe;else break e}}return Q}function a(A,Q){var H=A.sortIndex-Q.sortIndex;return H!==0?H:A.id-Q.id}if(typeof performance=="object"&&typeof performance.now=="function"){var c=performance;n.unstable_now=function(){return c.now()}}else{var f=Date,h=f.now();n.unstable_now=function(){return f.now()-h}}var m=[],g=[],v=1,x=null,b=3,w=!1,_=!1,C=!1,T=typeof setTimeout=="function"?setTimeout:null,V=typeof clearTimeout=="function"?clearTimeout:null,$=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function R(A){for(var Q=t(g);Q!==null;){if(Q.callback===null)i(g);else if(Q.startTime<=A)i(g),Q.sortIndex=Q.expirationTime,e(m,Q);else break;Q=t(g)}}function O(A){if(C=!1,R(A),!_)if(t(m)!==null)_=!0,se(E);else{var Q=t(g);Q!==null&&ne(O,Q.startTime-A)}}function E(A,Q){_=!1,C&&(C=!1,V(G),G=-1),w=!0;var H=b;try{for(R(Q),x=t(m);x!==null&&(!(x.expirationTime>Q)||A&&!P());){var N=x.callback;if(typeof N=="function"){x.callback=null,b=x.priorityLevel;var F=N(x.expirationTime<=Q);Q=n.unstable_now(),typeof F=="function"?x.callback=F:x===t(m)&&i(m),R(Q)}else i(m);x=t(m)}if(x!==null)var te=!0;else{var he=t(g);he!==null&&ne(O,he.startTime-Q),te=!1}return te}finally{x=null,b=H,w=!1}}var D=!1,L=null,G=-1,W=5,Y=-1;function P(){return!(n.unstable_now()-YA||125N?(A.sortIndex=H,e(g,A),t(m)===null&&A===t(g)&&(C?(V(G),G=-1):C=!0,ne(O,H-N))):(A.sortIndex=F,e(m,A),_||w||(_=!0,se(E))),A},n.unstable_shouldYield=P,n.unstable_wrapCallback=function(A){var Q=b;return function(){var H=b;b=Q;try{return A.apply(this,arguments)}finally{b=H}}}})(id)),id}var lm;function cb(){return lm||(lm=1,sd.exports=lb()),sd.exports}/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var cm;function ub(){if(cm)return zt;cm=1;var n=Pd(),e=cb();function t(r){for(var s="https://reactjs.org/docs/error-decoder.html?invariant="+r,o=1;o"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),m=Object.prototype.hasOwnProperty,g=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,v={},x={};function b(r){return m.call(x,r)?!0:m.call(v,r)?!1:g.test(r)?x[r]=!0:(v[r]=!0,!1)}function w(r,s,o,l){if(o!==null&&o.type===0)return!1;switch(typeof s){case"function":case"symbol":return!0;case"boolean":return l?!1:o!==null?!o.acceptsBooleans:(r=r.toLowerCase().slice(0,5),r!=="data-"&&r!=="aria-");default:return!1}}function _(r,s,o,l){if(s===null||typeof s>"u"||w(r,s,o,l))return!0;if(l)return!1;if(o!==null)switch(o.type){case 3:return!s;case 4:return s===!1;case 5:return isNaN(s);case 6:return isNaN(s)||1>s}return!1}function C(r,s,o,l,d,p,y){this.acceptsBooleans=s===2||s===3||s===4,this.attributeName=l,this.attributeNamespace=d,this.mustUseProperty=o,this.propertyName=r,this.type=s,this.sanitizeURL=p,this.removeEmptyString=y}var T={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(r){T[r]=new C(r,0,!1,r,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(r){var s=r[0];T[s]=new C(s,1,!1,r[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(r){T[r]=new C(r,2,!1,r.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(r){T[r]=new C(r,2,!1,r,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(r){T[r]=new C(r,3,!1,r.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(r){T[r]=new C(r,3,!0,r,null,!1,!1)}),["capture","download"].forEach(function(r){T[r]=new C(r,4,!1,r,null,!1,!1)}),["cols","rows","size","span"].forEach(function(r){T[r]=new C(r,6,!1,r,null,!1,!1)}),["rowSpan","start"].forEach(function(r){T[r]=new C(r,5,!1,r.toLowerCase(),null,!1,!1)});var V=/[\-:]([a-z])/g;function $(r){return r[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(r){var s=r.replace(V,$);T[s]=new C(s,1,!1,r,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(r){var s=r.replace(V,$);T[s]=new C(s,1,!1,r,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(r){var s=r.replace(V,$);T[s]=new C(s,1,!1,r,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(r){T[r]=new C(r,1,!1,r.toLowerCase(),null,!1,!1)}),T.xlinkHref=new C("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(r){T[r]=new C(r,1,!1,r.toLowerCase(),null,!0,!0)});function R(r,s,o,l){var d=T.hasOwnProperty(s)?T[s]:null;(d!==null?d.type!==0:l||!(2S||d[y]!==p[S]){var j=` +`+d[y].replace(" at new "," at ");return r.displayName&&j.includes("")&&(j=j.replace("",r.displayName)),j}while(1<=y&&0<=S);break}}}finally{te=!1,Error.prepareStackTrace=o}return(r=r?r.displayName||r.name:"")?F(r):""}function re(r){switch(r.tag){case 5:return F(r.type);case 16:return F("Lazy");case 13:return F("Suspense");case 19:return F("SuspenseList");case 0:case 2:case 15:return r=he(r.type,!1),r;case 11:return r=he(r.type.render,!1),r;case 1:return r=he(r.type,!0),r;default:return""}}function pe(r){if(r==null)return null;if(typeof r=="function")return r.displayName||r.name||null;if(typeof r=="string")return r;switch(r){case L:return"Fragment";case D:return"Portal";case W:return"Profiler";case G:return"StrictMode";case X:return"Suspense";case oe:return"SuspenseList"}if(typeof r=="object")switch(r.$$typeof){case P:return(r.displayName||"Context")+".Consumer";case Y:return(r._context.displayName||"Context")+".Provider";case ee:var s=r.render;return r=r.displayName,r||(r=s.displayName||s.name||"",r=r!==""?"ForwardRef("+r+")":"ForwardRef"),r;case ae:return s=r.displayName||null,s!==null?s:pe(r.type)||"Memo";case se:s=r._payload,r=r._init;try{return pe(r(s))}catch{}}return null}function Ce(r){var s=r.type;switch(r.tag){case 24:return"Cache";case 9:return(s.displayName||"Context")+".Consumer";case 10:return(s._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return r=s.render,r=r.displayName||r.name||"",s.displayName||(r!==""?"ForwardRef("+r+")":"ForwardRef");case 7:return"Fragment";case 5:return s;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return pe(s);case 8:return s===G?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof s=="function")return s.displayName||s.name||null;if(typeof s=="string")return s}return null}function Fe(r){switch(typeof r){case"boolean":case"number":case"string":case"undefined":return r;case"object":return r;default:return""}}function Be(r){var s=r.type;return(r=r.nodeName)&&r.toLowerCase()==="input"&&(s==="checkbox"||s==="radio")}function dt(r){var s=Be(r)?"checked":"value",o=Object.getOwnPropertyDescriptor(r.constructor.prototype,s),l=""+r[s];if(!r.hasOwnProperty(s)&&typeof o<"u"&&typeof o.get=="function"&&typeof o.set=="function"){var d=o.get,p=o.set;return Object.defineProperty(r,s,{configurable:!0,get:function(){return d.call(this)},set:function(y){l=""+y,p.call(this,y)}}),Object.defineProperty(r,s,{enumerable:o.enumerable}),{getValue:function(){return l},setValue:function(y){l=""+y},stopTracking:function(){r._valueTracker=null,delete r[s]}}}}function St(r){r._valueTracker||(r._valueTracker=dt(r))}function Es(r){if(!r)return!1;var s=r._valueTracker;if(!s)return!0;var o=s.getValue(),l="";return r&&(l=Be(r)?r.checked?"true":"false":r.value),r=l,r!==o?(s.setValue(r),!0):!1}function Et(r){if(r=r||(typeof document<"u"?document:void 0),typeof r>"u")return null;try{return r.activeElement||r.body}catch{return r.body}}function sr(r,s){var o=s.checked;return H({},s,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:o??r._wrapperState.initialChecked})}function us(r,s){var o=s.defaultValue==null?"":s.defaultValue,l=s.checked!=null?s.checked:s.defaultChecked;o=Fe(s.value!=null?s.value:o),r._wrapperState={initialChecked:l,initialValue:o,controlled:s.type==="checkbox"||s.type==="radio"?s.checked!=null:s.value!=null}}function ce(r,s){s=s.checked,s!=null&&R(r,"checked",s,!1)}function Te(r,s){ce(r,s);var o=Fe(s.value),l=s.type;if(o!=null)l==="number"?(o===0&&r.value===""||r.value!=o)&&(r.value=""+o):r.value!==""+o&&(r.value=""+o);else if(l==="submit"||l==="reset"){r.removeAttribute("value");return}s.hasOwnProperty("value")?Ct(r,s.type,o):s.hasOwnProperty("defaultValue")&&Ct(r,s.type,Fe(s.defaultValue)),s.checked==null&&s.defaultChecked!=null&&(r.defaultChecked=!!s.defaultChecked)}function st(r,s,o){if(s.hasOwnProperty("value")||s.hasOwnProperty("defaultValue")){var l=s.type;if(!(l!=="submit"&&l!=="reset"||s.value!==void 0&&s.value!==null))return;s=""+r._wrapperState.initialValue,o||s===r.value||(r.value=s),r.defaultValue=s}o=r.name,o!==""&&(r.name=""),r.defaultChecked=!!r._wrapperState.initialChecked,o!==""&&(r.name=o)}function Ct(r,s,o){(s!=="number"||Et(r.ownerDocument)!==r)&&(o==null?r.defaultValue=""+r._wrapperState.initialValue:r.defaultValue!==""+o&&(r.defaultValue=""+o))}var Un=Array.isArray;function ir(r,s,o,l){if(r=r.options,s){s={};for(var d=0;d"+s.valueOf().toString()+"",s=ds.firstChild;r.firstChild;)r.removeChild(r.firstChild);for(;s.firstChild;)r.appendChild(s.firstChild)}});function Cr(r,s){if(s){var o=r.firstChild;if(o&&o===r.lastChild&&o.nodeType===3){o.nodeValue=s;return}}r.textContent=s}var Fr={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ta=["Webkit","ms","Moz","O"];Object.keys(Fr).forEach(function(r){ta.forEach(function(s){s=s+r.charAt(0).toUpperCase()+r.substring(1),Fr[s]=Fr[r]})});function ye(r,s,o){return s==null||typeof s=="boolean"||s===""?"":o||typeof s!="number"||s===0||Fr.hasOwnProperty(r)&&Fr[r]?(""+s).trim():s+"px"}function vt(r,s){r=r.style;for(var o in s)if(s.hasOwnProperty(o)){var l=o.indexOf("--")===0,d=ye(o,s[o],l);o==="float"&&(o="cssFloat"),l?r.setProperty(o,d):r[o]=d}}var Us=H({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function rn(r,s){if(s){if(Us[r]&&(s.children!=null||s.dangerouslySetInnerHTML!=null))throw Error(t(137,r));if(s.dangerouslySetInnerHTML!=null){if(s.children!=null)throw Error(t(60));if(typeof s.dangerouslySetInnerHTML!="object"||!("__html"in s.dangerouslySetInnerHTML))throw Error(t(61))}if(s.style!=null&&typeof s.style!="object")throw Error(t(62))}}function $s(r,s){if(r.indexOf("-")===-1)return typeof s.is=="string";switch(r){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Gi=null;function fs(r){return r=r.target||r.srcElement||window,r.correspondingUseElement&&(r=r.correspondingUseElement),r.nodeType===3?r.parentNode:r}var gc=null,Ps=null,zs=null;function bf(r){if(r=mo(r)){if(typeof gc!="function")throw Error(t(280));var s=r.stateNode;s&&(s=Na(s),gc(r.stateNode,r.type,s))}}function wf(r){Ps?zs?zs.push(r):zs=[r]:Ps=r}function Sf(){if(Ps){var r=Ps,s=zs;if(zs=Ps=null,bf(r),s)for(r=0;r>>=0,r===0?32:31-(x0(r)/b0|0)|0}var oa=64,aa=4194304;function Ji(r){switch(r&-r){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return r&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return r&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return r}}function la(r,s){var o=r.pendingLanes;if(o===0)return 0;var l=0,d=r.suspendedLanes,p=r.pingedLanes,y=o&268435455;if(y!==0){var S=y&~d;S!==0?l=Ji(S):(p&=y,p!==0&&(l=Ji(p)))}else y=o&~d,y!==0?l=Ji(y):p!==0&&(l=Ji(p));if(l===0)return 0;if(s!==0&&s!==l&&(s&d)===0&&(d=l&-l,p=s&-s,d>=p||d===16&&(p&4194240)!==0))return s;if((l&4)!==0&&(l|=o&16),s=r.entangledLanes,s!==0)for(r=r.entanglements,s&=l;0o;o++)s.push(r);return s}function qi(r,s,o){r.pendingLanes|=s,s!==536870912&&(r.suspendedLanes=0,r.pingedLanes=0),r=r.eventTimes,s=31-wn(s),r[s]=o}function N0(r,s){var o=r.pendingLanes&~s;r.pendingLanes=s,r.suspendedLanes=0,r.pingedLanes=0,r.expiredLanes&=s,r.mutableReadLanes&=s,r.entangledLanes&=s,s=r.entanglements;var l=r.eventTimes;for(r=r.expirationTimes;0=io),Jf=" ",qf=!1;function Zf(r,s){switch(r){case"keyup":return Z0.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Xf(r){return r=r.detail,typeof r=="object"&&"data"in r?r.data:null}var Hs=!1;function ex(r,s){switch(r){case"compositionend":return Xf(s);case"keypress":return s.which!==32?null:(qf=!0,Jf);case"textInput":return r=s.data,r===Jf&&qf?null:r;default:return null}}function tx(r,s){if(Hs)return r==="compositionend"||!Bc&&Zf(r,s)?(r=Wf(),ha=Dc=Er=null,Hs=!1,r):null;switch(r){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1=s)return{node:o,offset:s-r};r=l}e:{for(;o;){if(o.nextSibling){o=o.nextSibling;break e}o=o.parentNode}o=void 0}o=oh(o)}}function lh(r,s){return r&&s?r===s?!0:r&&r.nodeType===3?!1:s&&s.nodeType===3?lh(r,s.parentNode):"contains"in r?r.contains(s):r.compareDocumentPosition?!!(r.compareDocumentPosition(s)&16):!1:!1}function ch(){for(var r=window,s=Et();s instanceof r.HTMLIFrameElement;){try{var o=typeof s.contentWindow.location.href=="string"}catch{o=!1}if(o)r=s.contentWindow;else break;s=Et(r.document)}return s}function Lc(r){var s=r&&r.nodeName&&r.nodeName.toLowerCase();return s&&(s==="input"&&(r.type==="text"||r.type==="search"||r.type==="tel"||r.type==="url"||r.type==="password")||s==="textarea"||r.contentEditable==="true")}function ux(r){var s=ch(),o=r.focusedElem,l=r.selectionRange;if(s!==o&&o&&o.ownerDocument&&lh(o.ownerDocument.documentElement,o)){if(l!==null&&Lc(o)){if(s=l.start,r=l.end,r===void 0&&(r=s),"selectionStart"in o)o.selectionStart=s,o.selectionEnd=Math.min(r,o.value.length);else if(r=(s=o.ownerDocument||document)&&s.defaultView||window,r.getSelection){r=r.getSelection();var d=o.textContent.length,p=Math.min(l.start,d);l=l.end===void 0?p:Math.min(l.end,d),!r.extend&&p>l&&(d=l,l=p,p=d),d=ah(o,p);var y=ah(o,l);d&&y&&(r.rangeCount!==1||r.anchorNode!==d.node||r.anchorOffset!==d.offset||r.focusNode!==y.node||r.focusOffset!==y.offset)&&(s=s.createRange(),s.setStart(d.node,d.offset),r.removeAllRanges(),p>l?(r.addRange(s),r.extend(y.node,y.offset)):(s.setEnd(y.node,y.offset),r.addRange(s)))}}for(s=[],r=o;r=r.parentNode;)r.nodeType===1&&s.push({element:r,left:r.scrollLeft,top:r.scrollTop});for(typeof o.focus=="function"&&o.focus(),o=0;o=document.documentMode,Gs=null,Uc=null,co=null,$c=!1;function uh(r,s,o){var l=o.window===o?o.document:o.nodeType===9?o:o.ownerDocument;$c||Gs==null||Gs!==Et(l)||(l=Gs,"selectionStart"in l&&Lc(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),co&&lo(co,l)||(co=l,l=wa(Uc,"onSelect"),0qs||(r.current=Zc[qs],Zc[qs]=null,qs--)}function qe(r,s){qs++,Zc[qs]=r.current,r.current=s}var $r={},jt=Ur($r),Rt=Ur(!1),ms=$r;function Zs(r,s){var o=r.type.contextTypes;if(!o)return $r;var l=r.stateNode;if(l&&l.__reactInternalMemoizedUnmaskedChildContext===s)return l.__reactInternalMemoizedMaskedChildContext;var d={},p;for(p in o)d[p]=s[p];return l&&(r=r.stateNode,r.__reactInternalMemoizedUnmaskedChildContext=s,r.__reactInternalMemoizedMaskedChildContext=d),d}function Lt(r){return r=r.childContextTypes,r!=null}function ja(){et(Rt),et(jt)}function jh(r,s,o){if(jt.current!==$r)throw Error(t(168));qe(jt,s),qe(Rt,o)}function kh(r,s,o){var l=r.stateNode;if(s=s.childContextTypes,typeof l.getChildContext!="function")return o;l=l.getChildContext();for(var d in l)if(!(d in s))throw Error(t(108,Ce(r)||"Unknown",d));return H({},o,l)}function ka(r){return r=(r=r.stateNode)&&r.__reactInternalMemoizedMergedChildContext||$r,ms=jt.current,qe(jt,r),qe(Rt,Rt.current),!0}function Ih(r,s,o){var l=r.stateNode;if(!l)throw Error(t(169));o?(r=kh(r,s,ms),l.__reactInternalMemoizedMergedChildContext=r,et(Rt),et(jt),qe(jt,r)):et(Rt),qe(Rt,o)}var ar=null,Ia=!1,Xc=!1;function Mh(r){ar===null?ar=[r]:ar.push(r)}function Sx(r){Ia=!0,Mh(r)}function Pr(){if(!Xc&&ar!==null){Xc=!0;var r=0,s=Ge;try{var o=ar;for(Ge=1;r>=y,d-=y,lr=1<<32-wn(s)+d|o<Me?(wt=ve,ve=null):wt=ve.sibling;var ze=K(B,ve,U[Me],Z);if(ze===null){ve===null&&(ve=wt);break}r&&ve&&ze.alternate===null&&s(B,ve),k=p(ze,k,Me),ge===null?fe=ze:ge.sibling=ze,ge=ze,ve=wt}if(Me===U.length)return o(B,ve),rt&&gs(B,Me),fe;if(ve===null){for(;MeMe?(wt=ve,ve=null):wt=ve.sibling;var Jr=K(B,ve,ze.value,Z);if(Jr===null){ve===null&&(ve=wt);break}r&&ve&&Jr.alternate===null&&s(B,ve),k=p(Jr,k,Me),ge===null?fe=Jr:ge.sibling=Jr,ge=Jr,ve=wt}if(ze.done)return o(B,ve),rt&&gs(B,Me),fe;if(ve===null){for(;!ze.done;Me++,ze=U.next())ze=q(B,ze.value,Z),ze!==null&&(k=p(ze,k,Me),ge===null?fe=ze:ge.sibling=ze,ge=ze);return rt&&gs(B,Me),fe}for(ve=l(B,ve);!ze.done;Me++,ze=U.next())ze=ie(ve,B,Me,ze.value,Z),ze!==null&&(r&&ze.alternate!==null&&ve.delete(ze.key===null?Me:ze.key),k=p(ze,k,Me),ge===null?fe=ze:ge.sibling=ze,ge=ze);return r&&ve.forEach(function(nb){return s(B,nb)}),rt&&gs(B,Me),fe}function ut(B,k,U,Z){if(typeof U=="object"&&U!==null&&U.type===L&&U.key===null&&(U=U.props.children),typeof U=="object"&&U!==null){switch(U.$$typeof){case E:e:{for(var fe=U.key,ge=k;ge!==null;){if(ge.key===fe){if(fe=U.type,fe===L){if(ge.tag===7){o(B,ge.sibling),k=d(ge,U.props.children),k.return=B,B=k;break e}}else if(ge.elementType===fe||typeof fe=="object"&&fe!==null&&fe.$$typeof===se&&Ah(fe)===ge.type){o(B,ge.sibling),k=d(ge,U.props),k.ref=yo(B,ge,U),k.return=B,B=k;break e}o(B,ge);break}else s(B,ge);ge=ge.sibling}U.type===L?(k=js(U.props.children,B.mode,Z,U.key),k.return=B,B=k):(Z=tl(U.type,U.key,U.props,null,B.mode,Z),Z.ref=yo(B,k,U),Z.return=B,B=Z)}return y(B);case D:e:{for(ge=U.key;k!==null;){if(k.key===ge)if(k.tag===4&&k.stateNode.containerInfo===U.containerInfo&&k.stateNode.implementation===U.implementation){o(B,k.sibling),k=d(k,U.children||[]),k.return=B,B=k;break e}else{o(B,k);break}else s(B,k);k=k.sibling}k=Ju(U,B.mode,Z),k.return=B,B=k}return y(B);case se:return ge=U._init,ut(B,k,ge(U._payload),Z)}if(Un(U))return ue(B,k,U,Z);if(Q(U))return de(B,k,U,Z);Fa(B,U)}return typeof U=="string"&&U!==""||typeof U=="number"?(U=""+U,k!==null&&k.tag===6?(o(B,k.sibling),k=d(k,U),k.return=B,B=k):(o(B,k),k=Ku(U,B.mode,Z),k.return=B,B=k),y(B)):o(B,k)}return ut}var ni=Bh(!0),Eh=Bh(!1),Oa=Ur(null),Ta=null,ri=null,iu=null;function ou(){iu=ri=Ta=null}function au(r){var s=Oa.current;et(Oa),r._currentValue=s}function lu(r,s,o){for(;r!==null;){var l=r.alternate;if((r.childLanes&s)!==s?(r.childLanes|=s,l!==null&&(l.childLanes|=s)):l!==null&&(l.childLanes&s)!==s&&(l.childLanes|=s),r===o)break;r=r.return}}function si(r,s){Ta=r,iu=ri=null,r=r.dependencies,r!==null&&r.firstContext!==null&&((r.lanes&s)!==0&&(Ut=!0),r.firstContext=null)}function an(r){var s=r._currentValue;if(iu!==r)if(r={context:r,memoizedValue:s,next:null},ri===null){if(Ta===null)throw Error(t(308));ri=r,Ta.dependencies={lanes:0,firstContext:r}}else ri=ri.next=r;return s}var vs=null;function cu(r){vs===null?vs=[r]:vs.push(r)}function Rh(r,s,o,l){var d=s.interleaved;return d===null?(o.next=o,cu(s)):(o.next=d.next,d.next=o),s.interleaved=o,ur(r,l)}function ur(r,s){r.lanes|=s;var o=r.alternate;for(o!==null&&(o.lanes|=s),o=r,r=r.return;r!==null;)r.childLanes|=s,o=r.alternate,o!==null&&(o.childLanes|=s),o=r,r=r.return;return o.tag===3?o.stateNode:null}var zr=!1;function uu(r){r.updateQueue={baseState:r.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Lh(r,s){r=r.updateQueue,s.updateQueue===r&&(s.updateQueue={baseState:r.baseState,firstBaseUpdate:r.firstBaseUpdate,lastBaseUpdate:r.lastBaseUpdate,shared:r.shared,effects:r.effects})}function dr(r,s){return{eventTime:r,lane:s,tag:0,payload:null,callback:null,next:null}}function Vr(r,s,o){var l=r.updateQueue;if(l===null)return null;if(l=l.shared,(Pe&2)!==0){var d=l.pending;return d===null?s.next=s:(s.next=d.next,d.next=s),l.pending=s,ur(r,o)}return d=l.interleaved,d===null?(s.next=s,cu(l)):(s.next=d.next,d.next=s),l.interleaved=s,ur(r,o)}function Aa(r,s,o){if(s=s.updateQueue,s!==null&&(s=s.shared,(o&4194240)!==0)){var l=s.lanes;l&=r.pendingLanes,o|=l,s.lanes=o,Nc(r,o)}}function Uh(r,s){var o=r.updateQueue,l=r.alternate;if(l!==null&&(l=l.updateQueue,o===l)){var d=null,p=null;if(o=o.firstBaseUpdate,o!==null){do{var y={eventTime:o.eventTime,lane:o.lane,tag:o.tag,payload:o.payload,callback:o.callback,next:null};p===null?d=p=y:p=p.next=y,o=o.next}while(o!==null);p===null?d=p=s:p=p.next=s}else d=p=s;o={baseState:l.baseState,firstBaseUpdate:d,lastBaseUpdate:p,shared:l.shared,effects:l.effects},r.updateQueue=o;return}r=o.lastBaseUpdate,r===null?o.firstBaseUpdate=s:r.next=s,o.lastBaseUpdate=s}function Ba(r,s,o,l){var d=r.updateQueue;zr=!1;var p=d.firstBaseUpdate,y=d.lastBaseUpdate,S=d.shared.pending;if(S!==null){d.shared.pending=null;var j=S,z=j.next;j.next=null,y===null?p=z:y.next=z,y=j;var J=r.alternate;J!==null&&(J=J.updateQueue,S=J.lastBaseUpdate,S!==y&&(S===null?J.firstBaseUpdate=z:S.next=z,J.lastBaseUpdate=j))}if(p!==null){var q=d.baseState;y=0,J=z=j=null,S=p;do{var K=S.lane,ie=S.eventTime;if((l&K)===K){J!==null&&(J=J.next={eventTime:ie,lane:0,tag:S.tag,payload:S.payload,callback:S.callback,next:null});e:{var ue=r,de=S;switch(K=s,ie=o,de.tag){case 1:if(ue=de.payload,typeof ue=="function"){q=ue.call(ie,q,K);break e}q=ue;break e;case 3:ue.flags=ue.flags&-65537|128;case 0:if(ue=de.payload,K=typeof ue=="function"?ue.call(ie,q,K):ue,K==null)break e;q=H({},q,K);break e;case 2:zr=!0}}S.callback!==null&&S.lane!==0&&(r.flags|=64,K=d.effects,K===null?d.effects=[S]:K.push(S))}else ie={eventTime:ie,lane:K,tag:S.tag,payload:S.payload,callback:S.callback,next:null},J===null?(z=J=ie,j=q):J=J.next=ie,y|=K;if(S=S.next,S===null){if(S=d.shared.pending,S===null)break;K=S,S=K.next,K.next=null,d.lastBaseUpdate=K,d.shared.pending=null}}while(!0);if(J===null&&(j=q),d.baseState=j,d.firstBaseUpdate=z,d.lastBaseUpdate=J,s=d.shared.interleaved,s!==null){d=s;do y|=d.lane,d=d.next;while(d!==s)}else p===null&&(d.shared.lanes=0);ws|=y,r.lanes=y,r.memoizedState=q}}function $h(r,s,o){if(r=s.effects,s.effects=null,r!==null)for(s=0;so?o:4,r(!0);var l=mu.transition;mu.transition={};try{r(!1),s()}finally{Ge=o,mu.transition=l}}function ip(){return ln().memoizedState}function kx(r,s,o){var l=Yr(r);if(o={lane:l,action:o,hasEagerState:!1,eagerState:null,next:null},op(r))ap(s,o);else if(o=Rh(r,s,o,l),o!==null){var d=Ot();In(o,r,l,d),lp(o,s,l)}}function Ix(r,s,o){var l=Yr(r),d={lane:l,action:o,hasEagerState:!1,eagerState:null,next:null};if(op(r))ap(s,d);else{var p=r.alternate;if(r.lanes===0&&(p===null||p.lanes===0)&&(p=s.lastRenderedReducer,p!==null))try{var y=s.lastRenderedState,S=p(y,o);if(d.hasEagerState=!0,d.eagerState=S,Sn(S,y)){var j=s.interleaved;j===null?(d.next=d,cu(s)):(d.next=j.next,j.next=d),s.interleaved=d;return}}catch{}finally{}o=Rh(r,s,d,l),o!==null&&(d=Ot(),In(o,r,l,d),lp(o,s,l))}}function op(r){var s=r.alternate;return r===ot||s!==null&&s===ot}function ap(r,s){bo=La=!0;var o=r.pending;o===null?s.next=s:(s.next=o.next,o.next=s),r.pending=s}function lp(r,s,o){if((o&4194240)!==0){var l=s.lanes;l&=r.pendingLanes,o|=l,s.lanes=o,Nc(r,o)}}var Pa={readContext:an,useCallback:kt,useContext:kt,useEffect:kt,useImperativeHandle:kt,useInsertionEffect:kt,useLayoutEffect:kt,useMemo:kt,useReducer:kt,useRef:kt,useState:kt,useDebugValue:kt,useDeferredValue:kt,useTransition:kt,useMutableSource:kt,useSyncExternalStore:kt,useId:kt,unstable_isNewReconciler:!1},Mx={readContext:an,useCallback:function(r,s){return Vn().memoizedState=[r,s===void 0?null:s],r},useContext:an,useEffect:qh,useImperativeHandle:function(r,s,o){return o=o!=null?o.concat([r]):null,Ua(4194308,4,ep.bind(null,s,r),o)},useLayoutEffect:function(r,s){return Ua(4194308,4,r,s)},useInsertionEffect:function(r,s){return Ua(4,2,r,s)},useMemo:function(r,s){var o=Vn();return s=s===void 0?null:s,r=r(),o.memoizedState=[r,s],r},useReducer:function(r,s,o){var l=Vn();return s=o!==void 0?o(s):s,l.memoizedState=l.baseState=s,r={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:r,lastRenderedState:s},l.queue=r,r=r.dispatch=kx.bind(null,ot,r),[l.memoizedState,r]},useRef:function(r){var s=Vn();return r={current:r},s.memoizedState=r},useState:Kh,useDebugValue:Su,useDeferredValue:function(r){return Vn().memoizedState=r},useTransition:function(){var r=Kh(!1),s=r[0];return r=jx.bind(null,r[1]),Vn().memoizedState=r,[s,r]},useMutableSource:function(){},useSyncExternalStore:function(r,s,o){var l=ot,d=Vn();if(rt){if(o===void 0)throw Error(t(407));o=o()}else{if(o=s(),bt===null)throw Error(t(349));(bs&30)!==0||Wh(l,s,o)}d.memoizedState=o;var p={value:o,getSnapshot:s};return d.queue=p,qh(Gh.bind(null,l,p,r),[r]),l.flags|=2048,_o(9,Hh.bind(null,l,p,o,s),void 0,null),o},useId:function(){var r=Vn(),s=bt.identifierPrefix;if(rt){var o=cr,l=lr;o=(l&~(1<<32-wn(l)-1)).toString(32)+o,s=":"+s+"R"+o,o=wo++,0<\/script>",r=r.removeChild(r.firstChild)):typeof l.is=="string"?r=y.createElement(o,{is:l.is}):(r=y.createElement(o),o==="select"&&(y=r,l.multiple?y.multiple=!0:l.size&&(y.size=l.size))):r=y.createElementNS(r,o),r[Pn]=s,r[po]=l,Mp(r,s,!1,!1),s.stateNode=r;e:{switch(y=$s(o,l),o){case"dialog":Xe("cancel",r),Xe("close",r),d=l;break;case"iframe":case"object":case"embed":Xe("load",r),d=l;break;case"video":case"audio":for(d=0;dci&&(s.flags|=128,l=!0,No(p,!1),s.lanes=4194304)}else{if(!l)if(r=Ea(y),r!==null){if(s.flags|=128,l=!0,o=r.updateQueue,o!==null&&(s.updateQueue=o,s.flags|=4),No(p,!0),p.tail===null&&p.tailMode==="hidden"&&!y.alternate&&!rt)return It(s),null}else 2*ct()-p.renderingStartTime>ci&&o!==1073741824&&(s.flags|=128,l=!0,No(p,!1),s.lanes=4194304);p.isBackwards?(y.sibling=s.child,s.child=y):(o=p.last,o!==null?o.sibling=y:s.child=y,p.last=y)}return p.tail!==null?(s=p.tail,p.rendering=s,p.tail=s.sibling,p.renderingStartTime=ct(),s.sibling=null,o=it.current,qe(it,l?o&1|2:o&1),s):(It(s),null);case 22:case 23:return Gu(),l=s.memoizedState!==null,r!==null&&r.memoizedState!==null!==l&&(s.flags|=8192),l&&(s.mode&1)!==0?(Zt&1073741824)!==0&&(It(s),s.subtreeFlags&6&&(s.flags|=8192)):It(s),null;case 24:return null;case 25:return null}throw Error(t(156,s.tag))}function Ex(r,s){switch(tu(s),s.tag){case 1:return Lt(s.type)&&ja(),r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 3:return ii(),et(Rt),et(jt),pu(),r=s.flags,(r&65536)!==0&&(r&128)===0?(s.flags=r&-65537|128,s):null;case 5:return fu(s),null;case 13:if(et(it),r=s.memoizedState,r!==null&&r.dehydrated!==null){if(s.alternate===null)throw Error(t(340));ti()}return r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 19:return et(it),null;case 4:return ii(),null;case 10:return au(s.type._context),null;case 22:case 23:return Gu(),null;case 24:return null;default:return null}}var Ha=!1,Mt=!1,Rx=typeof WeakSet=="function"?WeakSet:Set,le=null;function ai(r,s){var o=r.ref;if(o!==null)if(typeof o=="function")try{o(null)}catch(l){lt(r,s,l)}else o.current=null}function Au(r,s,o){try{o()}catch(l){lt(r,s,l)}}var Fp=!1;function Lx(r,s){if(Gc=da,r=ch(),Lc(r)){if("selectionStart"in r)var o={start:r.selectionStart,end:r.selectionEnd};else e:{o=(o=r.ownerDocument)&&o.defaultView||window;var l=o.getSelection&&o.getSelection();if(l&&l.rangeCount!==0){o=l.anchorNode;var d=l.anchorOffset,p=l.focusNode;l=l.focusOffset;try{o.nodeType,p.nodeType}catch{o=null;break e}var y=0,S=-1,j=-1,z=0,J=0,q=r,K=null;t:for(;;){for(var ie;q!==o||d!==0&&q.nodeType!==3||(S=y+d),q!==p||l!==0&&q.nodeType!==3||(j=y+l),q.nodeType===3&&(y+=q.nodeValue.length),(ie=q.firstChild)!==null;)K=q,q=ie;for(;;){if(q===r)break t;if(K===o&&++z===d&&(S=y),K===p&&++J===l&&(j=y),(ie=q.nextSibling)!==null)break;q=K,K=q.parentNode}q=ie}o=S===-1||j===-1?null:{start:S,end:j}}else o=null}o=o||{start:0,end:0}}else o=null;for(Yc={focusedElem:r,selectionRange:o},da=!1,le=s;le!==null;)if(s=le,r=s.child,(s.subtreeFlags&1028)!==0&&r!==null)r.return=s,le=r;else for(;le!==null;){s=le;try{var ue=s.alternate;if((s.flags&1024)!==0)switch(s.tag){case 0:case 11:case 15:break;case 1:if(ue!==null){var de=ue.memoizedProps,ut=ue.memoizedState,B=s.stateNode,k=B.getSnapshotBeforeUpdate(s.elementType===s.type?de:Nn(s.type,de),ut);B.__reactInternalSnapshotBeforeUpdate=k}break;case 3:var U=s.stateNode.containerInfo;U.nodeType===1?U.textContent="":U.nodeType===9&&U.documentElement&&U.removeChild(U.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(t(163))}}catch(Z){lt(s,s.return,Z)}if(r=s.sibling,r!==null){r.return=s.return,le=r;break}le=s.return}return ue=Fp,Fp=!1,ue}function jo(r,s,o){var l=s.updateQueue;if(l=l!==null?l.lastEffect:null,l!==null){var d=l=l.next;do{if((d.tag&r)===r){var p=d.destroy;d.destroy=void 0,p!==void 0&&Au(s,o,p)}d=d.next}while(d!==l)}}function Ga(r,s){if(s=s.updateQueue,s=s!==null?s.lastEffect:null,s!==null){var o=s=s.next;do{if((o.tag&r)===r){var l=o.create;o.destroy=l()}o=o.next}while(o!==s)}}function Bu(r){var s=r.ref;if(s!==null){var o=r.stateNode;switch(r.tag){case 5:r=o;break;default:r=o}typeof s=="function"?s(r):s.current=r}}function Op(r){var s=r.alternate;s!==null&&(r.alternate=null,Op(s)),r.child=null,r.deletions=null,r.sibling=null,r.tag===5&&(s=r.stateNode,s!==null&&(delete s[Pn],delete s[po],delete s[qc],delete s[bx],delete s[wx])),r.stateNode=null,r.return=null,r.dependencies=null,r.memoizedProps=null,r.memoizedState=null,r.pendingProps=null,r.stateNode=null,r.updateQueue=null}function Tp(r){return r.tag===5||r.tag===3||r.tag===4}function Ap(r){e:for(;;){for(;r.sibling===null;){if(r.return===null||Tp(r.return))return null;r=r.return}for(r.sibling.return=r.return,r=r.sibling;r.tag!==5&&r.tag!==6&&r.tag!==18;){if(r.flags&2||r.child===null||r.tag===4)continue e;r.child.return=r,r=r.child}if(!(r.flags&2))return r.stateNode}}function Eu(r,s,o){var l=r.tag;if(l===5||l===6)r=r.stateNode,s?o.nodeType===8?o.parentNode.insertBefore(r,s):o.insertBefore(r,s):(o.nodeType===8?(s=o.parentNode,s.insertBefore(r,o)):(s=o,s.appendChild(r)),o=o._reactRootContainer,o!=null||s.onclick!==null||(s.onclick=_a));else if(l!==4&&(r=r.child,r!==null))for(Eu(r,s,o),r=r.sibling;r!==null;)Eu(r,s,o),r=r.sibling}function Ru(r,s,o){var l=r.tag;if(l===5||l===6)r=r.stateNode,s?o.insertBefore(r,s):o.appendChild(r);else if(l!==4&&(r=r.child,r!==null))for(Ru(r,s,o),r=r.sibling;r!==null;)Ru(r,s,o),r=r.sibling}var _t=null,jn=!1;function Wr(r,s,o){for(o=o.child;o!==null;)Bp(r,s,o),o=o.sibling}function Bp(r,s,o){if($n&&typeof $n.onCommitFiberUnmount=="function")try{$n.onCommitFiberUnmount(ia,o)}catch{}switch(o.tag){case 5:Mt||ai(o,s);case 6:var l=_t,d=jn;_t=null,Wr(r,s,o),_t=l,jn=d,_t!==null&&(jn?(r=_t,o=o.stateNode,r.nodeType===8?r.parentNode.removeChild(o):r.removeChild(o)):_t.removeChild(o.stateNode));break;case 18:_t!==null&&(jn?(r=_t,o=o.stateNode,r.nodeType===8?Jc(r.parentNode,o):r.nodeType===1&&Jc(r,o),no(r)):Jc(_t,o.stateNode));break;case 4:l=_t,d=jn,_t=o.stateNode.containerInfo,jn=!0,Wr(r,s,o),_t=l,jn=d;break;case 0:case 11:case 14:case 15:if(!Mt&&(l=o.updateQueue,l!==null&&(l=l.lastEffect,l!==null))){d=l=l.next;do{var p=d,y=p.destroy;p=p.tag,y!==void 0&&((p&2)!==0||(p&4)!==0)&&Au(o,s,y),d=d.next}while(d!==l)}Wr(r,s,o);break;case 1:if(!Mt&&(ai(o,s),l=o.stateNode,typeof l.componentWillUnmount=="function"))try{l.props=o.memoizedProps,l.state=o.memoizedState,l.componentWillUnmount()}catch(S){lt(o,s,S)}Wr(r,s,o);break;case 21:Wr(r,s,o);break;case 22:o.mode&1?(Mt=(l=Mt)||o.memoizedState!==null,Wr(r,s,o),Mt=l):Wr(r,s,o);break;default:Wr(r,s,o)}}function Ep(r){var s=r.updateQueue;if(s!==null){r.updateQueue=null;var o=r.stateNode;o===null&&(o=r.stateNode=new Rx),s.forEach(function(l){var d=Yx.bind(null,r,l);o.has(l)||(o.add(l),l.then(d,d))})}}function kn(r,s){var o=s.deletions;if(o!==null)for(var l=0;ld&&(d=y),l&=~p}if(l=d,l=ct()-l,l=(120>l?120:480>l?480:1080>l?1080:1920>l?1920:3e3>l?3e3:4320>l?4320:1960*$x(l/1960))-l,10r?16:r,Gr===null)var l=!1;else{if(r=Gr,Gr=null,qa=0,(Pe&6)!==0)throw Error(t(331));var d=Pe;for(Pe|=4,le=r.current;le!==null;){var p=le,y=p.child;if((le.flags&16)!==0){var S=p.deletions;if(S!==null){for(var j=0;jct()-$u?_s(r,0):Uu|=o),Pt(r,s)}function Kp(r,s){s===0&&((r.mode&1)===0?s=1:(s=aa,aa<<=1,(aa&130023424)===0&&(aa=4194304)));var o=Ot();r=ur(r,s),r!==null&&(qi(r,s,o),Pt(r,o))}function Gx(r){var s=r.memoizedState,o=0;s!==null&&(o=s.retryLane),Kp(r,o)}function Yx(r,s){var o=0;switch(r.tag){case 13:var l=r.stateNode,d=r.memoizedState;d!==null&&(o=d.retryLane);break;case 19:l=r.stateNode;break;default:throw Error(t(314))}l!==null&&l.delete(s),Kp(r,o)}var Jp;Jp=function(r,s,o){if(r!==null)if(r.memoizedProps!==s.pendingProps||Rt.current)Ut=!0;else{if((r.lanes&o)===0&&(s.flags&128)===0)return Ut=!1,Ax(r,s,o);Ut=(r.flags&131072)!==0}else Ut=!1,rt&&(s.flags&1048576)!==0&&Dh(s,Da,s.index);switch(s.lanes=0,s.tag){case 2:var l=s.type;Wa(r,s),r=s.pendingProps;var d=Zs(s,jt.current);si(s,o),d=gu(null,s,l,r,d,o);var p=vu();return s.flags|=1,typeof d=="object"&&d!==null&&typeof d.render=="function"&&d.$$typeof===void 0?(s.tag=1,s.memoizedState=null,s.updateQueue=null,Lt(l)?(p=!0,ka(s)):p=!1,s.memoizedState=d.state!==null&&d.state!==void 0?d.state:null,uu(s),d.updater=za,s.stateNode=d,d._reactInternals=s,Nu(s,l,r,o),s=Mu(null,s,l,!0,p,o)):(s.tag=0,rt&&p&&eu(s),Ft(null,s,d,o),s=s.child),s;case 16:l=s.elementType;e:{switch(Wa(r,s),r=s.pendingProps,d=l._init,l=d(l._payload),s.type=l,d=s.tag=Kx(l),r=Nn(l,r),d){case 0:s=Iu(null,s,l,r,o);break e;case 1:s=Sp(null,s,l,r,o);break e;case 11:s=gp(null,s,l,r,o);break e;case 14:s=vp(null,s,l,Nn(l.type,r),o);break e}throw Error(t(306,l,""))}return s;case 0:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),Iu(r,s,l,d,o);case 1:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),Sp(r,s,l,d,o);case 3:e:{if(_p(s),r===null)throw Error(t(387));l=s.pendingProps,p=s.memoizedState,d=p.element,Lh(r,s),Ba(s,l,null,o);var y=s.memoizedState;if(l=y.element,p.isDehydrated)if(p={element:l,isDehydrated:!1,cache:y.cache,pendingSuspenseBoundaries:y.pendingSuspenseBoundaries,transitions:y.transitions},s.updateQueue.baseState=p,s.memoizedState=p,s.flags&256){d=oi(Error(t(423)),s),s=Np(r,s,l,o,d);break e}else if(l!==d){d=oi(Error(t(424)),s),s=Np(r,s,l,o,d);break e}else for(qt=Lr(s.stateNode.containerInfo.firstChild),Jt=s,rt=!0,_n=null,o=Eh(s,null,l,o),s.child=o;o;)o.flags=o.flags&-3|4096,o=o.sibling;else{if(ti(),l===d){s=fr(r,s,o);break e}Ft(r,s,l,o)}s=s.child}return s;case 5:return Ph(s),r===null&&ru(s),l=s.type,d=s.pendingProps,p=r!==null?r.memoizedProps:null,y=d.children,Qc(l,d)?y=null:p!==null&&Qc(l,p)&&(s.flags|=32),wp(r,s),Ft(r,s,y,o),s.child;case 6:return r===null&&ru(s),null;case 13:return jp(r,s,o);case 4:return du(s,s.stateNode.containerInfo),l=s.pendingProps,r===null?s.child=ni(s,null,l,o):Ft(r,s,l,o),s.child;case 11:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),gp(r,s,l,d,o);case 7:return Ft(r,s,s.pendingProps,o),s.child;case 8:return Ft(r,s,s.pendingProps.children,o),s.child;case 12:return Ft(r,s,s.pendingProps.children,o),s.child;case 10:e:{if(l=s.type._context,d=s.pendingProps,p=s.memoizedProps,y=d.value,qe(Oa,l._currentValue),l._currentValue=y,p!==null)if(Sn(p.value,y)){if(p.children===d.children&&!Rt.current){s=fr(r,s,o);break e}}else for(p=s.child,p!==null&&(p.return=s);p!==null;){var S=p.dependencies;if(S!==null){y=p.child;for(var j=S.firstContext;j!==null;){if(j.context===l){if(p.tag===1){j=dr(-1,o&-o),j.tag=2;var z=p.updateQueue;if(z!==null){z=z.shared;var J=z.pending;J===null?j.next=j:(j.next=J.next,J.next=j),z.pending=j}}p.lanes|=o,j=p.alternate,j!==null&&(j.lanes|=o),lu(p.return,o,s),S.lanes|=o;break}j=j.next}}else if(p.tag===10)y=p.type===s.type?null:p.child;else if(p.tag===18){if(y=p.return,y===null)throw Error(t(341));y.lanes|=o,S=y.alternate,S!==null&&(S.lanes|=o),lu(y,o,s),y=p.sibling}else y=p.child;if(y!==null)y.return=p;else for(y=p;y!==null;){if(y===s){y=null;break}if(p=y.sibling,p!==null){p.return=y.return,y=p;break}y=y.return}p=y}Ft(r,s,d.children,o),s=s.child}return s;case 9:return d=s.type,l=s.pendingProps.children,si(s,o),d=an(d),l=l(d),s.flags|=1,Ft(r,s,l,o),s.child;case 14:return l=s.type,d=Nn(l,s.pendingProps),d=Nn(l.type,d),vp(r,s,l,d,o);case 15:return xp(r,s,s.type,s.pendingProps,o);case 17:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),Wa(r,s),s.tag=1,Lt(l)?(r=!0,ka(s)):r=!1,si(s,o),up(s,l,d),Nu(s,l,d,o),Mu(null,s,l,!0,r,o);case 19:return Ip(r,s,o);case 22:return bp(r,s,o)}throw Error(t(156,s.tag))};function qp(r,s){return Cf(r,s)}function Qx(r,s,o,l){this.tag=r,this.key=o,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=s,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=l,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function un(r,s,o,l){return new Qx(r,s,o,l)}function Qu(r){return r=r.prototype,!(!r||!r.isReactComponent)}function Kx(r){if(typeof r=="function")return Qu(r)?1:0;if(r!=null){if(r=r.$$typeof,r===ee)return 11;if(r===ae)return 14}return 2}function Kr(r,s){var o=r.alternate;return o===null?(o=un(r.tag,s,r.key,r.mode),o.elementType=r.elementType,o.type=r.type,o.stateNode=r.stateNode,o.alternate=r,r.alternate=o):(o.pendingProps=s,o.type=r.type,o.flags=0,o.subtreeFlags=0,o.deletions=null),o.flags=r.flags&14680064,o.childLanes=r.childLanes,o.lanes=r.lanes,o.child=r.child,o.memoizedProps=r.memoizedProps,o.memoizedState=r.memoizedState,o.updateQueue=r.updateQueue,s=r.dependencies,o.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext},o.sibling=r.sibling,o.index=r.index,o.ref=r.ref,o}function tl(r,s,o,l,d,p){var y=2;if(l=r,typeof r=="function")Qu(r)&&(y=1);else if(typeof r=="string")y=5;else e:switch(r){case L:return js(o.children,d,p,s);case G:y=8,d|=8;break;case W:return r=un(12,o,s,d|2),r.elementType=W,r.lanes=p,r;case X:return r=un(13,o,s,d),r.elementType=X,r.lanes=p,r;case oe:return r=un(19,o,s,d),r.elementType=oe,r.lanes=p,r;case ne:return nl(o,d,p,s);default:if(typeof r=="object"&&r!==null)switch(r.$$typeof){case Y:y=10;break e;case P:y=9;break e;case ee:y=11;break e;case ae:y=14;break e;case se:y=16,l=null;break e}throw Error(t(130,r==null?r:typeof r,""))}return s=un(y,o,s,d),s.elementType=r,s.type=l,s.lanes=p,s}function js(r,s,o,l){return r=un(7,r,l,s),r.lanes=o,r}function nl(r,s,o,l){return r=un(22,r,l,s),r.elementType=ne,r.lanes=o,r.stateNode={isHidden:!1},r}function Ku(r,s,o){return r=un(6,r,null,s),r.lanes=o,r}function Ju(r,s,o){return s=un(4,r.children!==null?r.children:[],r.key,s),s.lanes=o,s.stateNode={containerInfo:r.containerInfo,pendingChildren:null,implementation:r.implementation},s}function Jx(r,s,o,l,d){this.tag=s,this.containerInfo=r,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=_c(0),this.expirationTimes=_c(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=_c(0),this.identifierPrefix=l,this.onRecoverableError=d,this.mutableSourceEagerHydrationData=null}function qu(r,s,o,l,d,p,y,S,j){return r=new Jx(r,s,o,S,j),s===1?(s=1,p===!0&&(s|=8)):s=0,p=un(3,null,null,s),r.current=p,p.stateNode=r,p.memoizedState={element:l,isDehydrated:o,cache:null,transitions:null,pendingSuspenseBoundaries:null},uu(p),r}function qx(r,s,o){var l=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}return n(),rd.exports=ub(),rd.exports}var dm;function fb(){if(dm)return cl;dm=1;var n=db();return cl.createRoot=n.createRoot,cl.hydrateRoot=n.hydrateRoot,cl}var hb=fb();function Sr(n){return n.split(".").at(-1)||n}function Fn(n,e){const t=Sr(n);if(e.filter(a=>Sr(a)===t).length<2)return t;const i=n.indexOf(".");return i>0?`${n.slice(0,i)}_${t}`:t}const er="\0__null__";function pb(n){return String(n||"").replaceAll("_"," ").replaceAll("."," ").replace(/\b\w/g,e=>e.toUpperCase()).trim()}function by(n,e={}){if(n==null||n==="")return"—";const t=typeof n=="number"?n:Number(n);if(!Number.isFinite(t))return String(n);const i=String(e.format||"").toLowerCase();if(e.style==="percent"||i.includes("%")||i.includes("percent")||i.includes("pct")||e.type==="ratio")return(e.style==="percent"?t:Math.abs(t)<=1?t*100:t).toLocaleString(void 0,{maximumFractionDigits:e.maximumFractionDigits??1,style:e.style==="percent"?"percent":"decimal"})+(e.style==="percent"?"":"%");const c=e.style==="currency"||e.currency||i.includes("$")||i.includes("usd")||i.includes("currency")||i.includes("dollar");return t.toLocaleString(void 0,{currency:c?e.currency||"USD":void 0,maximumFractionDigits:e.maximumFractionDigits??2,notation:e.compact?"compact":"standard",style:c?"currency":"decimal"})}function mb(n,e={}){return by(n,{...e,compact:!0,maximumFractionDigits:e.maximumFractionDigits??1})}function yb(n,e,t){const i=t>0&&n.length>t,a=i?Math.ceil(n.length/t):1,c=Math.max(0,Math.min(e,a-1)),f=i?c*t:0;return{paginate:i,pageCount:a,safePage:c,start:f,visibleRows:i?n.slice(f,f+t):n}}function rs(n){return n===er||n===""?"—":n}function Le(n){return pb(n)}function pt(n,e={}){return by(n,e)}function Gt(n,e={}){return mb(n,e)}function wy(n){return!Number.isFinite(n)||n===0?"neutral":n>0?"positive":"negative"}function gb(n,e){return!Number.isFinite(n)||!Number.isFinite(e)||e<=0?{label:"—",tone:"neutral"}:{label:`${(n/e*100).toLocaleString(void 0,{maximumFractionDigits:1})}%`,tone:"neutral"}}function vb(n,e,t={}){if(e==null||!Number.isFinite(e)||!Number.isFinite(n))return{label:"—",tone:"neutral"};const i=n-e;return{label:`${i>0?"+":i<0?"−":""}${Gt(Math.abs(i),t)}`,tone:wy(i)}}function xb(n,e){if(e==null||!Number.isFinite(e)||e===0||!Number.isFinite(n))return{label:"—",tone:"neutral"};const t=(n-e)/Math.abs(e);return{label:`${(t*100).toLocaleString(void 0,{maximumFractionDigits:1,signDisplay:"exceptZero"})}%`,tone:wy(t)}}function Sy(n,e){if(e==null||!Number.isFinite(e)||e===0||!Number.isFinite(n))return null;const t=(n-e)/Math.abs(e),i=(t*100).toLocaleString(void 0,{maximumFractionDigits:1,signDisplay:"exceptZero"}),a=t>0?"positive":t<0?"negative":"neutral";return{label:`${i}%`,tone:a}}function Qn(n,e){return e==="clickhouse"&&(n=n.replaceAll("\\","\\\\")),`'${n.replaceAll("'","''")}'`}function bb(n){if(n.mode==="contains")return`contains ${Qn(n.pattern??"")}`;const{values:e}=n,t=n.mode==="exclude"?"is not":"is";return e.length===0?t:e.length===1?`${t} ${rs(e[0])}`:e.length<=2?`${t} ${e.map(rs).join(", ")}`:`${t} ${e.length} values`}const od=n=>n.public!==!1,_y=/(^|_)(date|time|day|month|week|year|quarter|created|updated|timestamp|_at|_on)($|_)/i;function Ny(n,e){if(e){const t=n.find(i=>i.name===e);if(t)return t}return n.find(t=>t.type==="time")??n.find(t=>_y.test(t.name))}function wb(n,e){var f;const t=new Set;if(!n)return t;const i=new Set(e.map(h=>h.name)),a=n.match(/[A-Za-z_][A-Za-z0-9_]*\.[A-Za-z_][A-Za-z0-9_]*/g)??[];for(const h of a){const[m]=h.split(".");i.has(m)&&t.add(m)}if(t.size)return t;const c=(f=n.match(/^[A-Za-z_][A-Za-z0-9_]*$/))==null?void 0:f[0];if(!c)return t;for(const h of e)h.metrics.some(m=>m.name===c)&&t.add(h.name);return t}function jy(n,e){const t=new Set;for(const i of[n.base_metric,n.numerator,n.denominator,n.sql])for(const a of wb(i,e))t.add(a);return t.size===1?[...t][0]:void 0}function Sb(n){const e=(n.models??[]).map(i=>{const a=(i.dimensions??[]).filter(od).map(h=>({ref:`${i.name}.${h.name}`,name:h.name,model:i.name,label:h.label||Le(h.name),description:h.description,type:h.type||"categorical",granularity:h.granularity,supportedGranularities:h.supported_granularities,format:h.format})),c=(i.metrics??[]).filter(od).map(h=>({ref:`${i.name}.${h.name}`,name:h.name,model:i.name,label:h.label||Le(h.name),description:h.description,agg:h.agg,type:h.type,format:h.format})),f=Ny(a,i.default_time_dimension);return{name:i.name,label:Le(i.name),description:i.description,table:i.table,dimensions:a,metrics:c,timeDimension:f,defaultGrain:i.default_grain||(f==null?void 0:f.granularity)||"day"}}),t=(n.metrics??[]).filter(od).map(i=>({ref:i.name,name:i.name,ownerModel:jy(i,e),baseMetric:i.base_metric,label:i.label||Le(i.name),description:i.description,type:i.type,format:i.format}));return{models:e,graphMetrics:t,dialect:n.dialect}}function _b(n){const e=n??{},t=(e.models??[]).map(a=>{const c=(a.dimensions??[]).map(m=>({ref:`${a.name}.${m}`,name:m,model:a.name,label:Le(m),type:_y.test(m)?"time":"categorical"})),f=(a.metrics??[]).map(m=>({ref:`${a.name}.${m}`,name:m,model:a.name,label:Le(m)})),h=Ny(c);return{name:a.name,label:Le(a.name),table:a.table,dimensions:c,metrics:f,timeDimension:h,defaultGrain:(h==null?void 0:h.granularity)||"day"}}),i=(e.graph_metrics??[]).map(a=>({ref:a.name,name:a.name,ownerModel:jy(a,t),baseMetric:a.base_metric,label:Le(a.name),type:a.type,description:a.description}));return{models:t,graphMetrics:i,joinablePairs:e.joinable_pairs??[]}}function Nb(n,e){return{...n,joinablePairs:(e??{}).joinable_pairs??n.joinablePairs??[]}}function Di(n,e){const t=new Set;for(const i of n.joinablePairs??[])i.from===e&&t.add(i.to),i.to===e&&t.add(i.from);return n.graphMetrics.filter(i=>i.ownerModel?i.ownerModel===e||t.has(i.ownerModel):!0)}function Oe(n,e,t,i){function a(c){return c instanceof t?c:new t(function(f){f(c)})}return new(t||(t=Promise))(function(c,f){function h(v){try{g(i.next(v))}catch(x){f(x)}}function m(v){try{g(i.throw(v))}catch(x){f(x)}}function g(v){v.done?c(v.value):a(v.value).then(h,m)}g((i=i.apply(n,e||[])).next())})}function fm(n){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&n[e],i=0;if(t)return t.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Ae(n){return this instanceof Ae?(this.v=n,this):new Ae(n)}function Zn(n,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=t.apply(n,e||[]),a,c=[];return a=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),h("next"),h("throw"),h("return",f),a[Symbol.asyncIterator]=function(){return this},a;function f(w){return function(_){return Promise.resolve(_).then(w,x)}}function h(w,_){i[w]&&(a[w]=function(C){return new Promise(function(T,V){c.push([w,C,T,V])>1||m(w,C)})},_&&(a[w]=_(a[w])))}function m(w,_){try{g(i[w](_))}catch(C){b(c[0][3],C)}}function g(w){w.value instanceof Ae?Promise.resolve(w.value.v).then(v,x):b(c[0][2],w)}function v(w){m("next",w)}function x(w){m("throw",w)}function b(w,_){w(_),c.shift(),c.length&&m(c[0][0],c[0][1])}}function bl(n){var e,t;return e={},i("next"),i("throw",function(a){throw a}),i("return"),e[Symbol.iterator]=function(){return this},e;function i(a,c){e[a]=n[a]?function(f){return(t=!t)?{value:Ae(n[a](f)),done:!1}:c?c(f):f}:c}}function _i(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=n[Symbol.asyncIterator],t;return e?e.call(n):(n=typeof fm=="function"?fm(n):n[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(c){t[c]=n[c]&&function(f){return new Promise(function(h,m){f=n[c](f),a(h,m,f.done,f.value)})}}function a(c,f,h,m){Promise.resolve(m).then(function(g){c({value:g,done:h})},f)}}const jb=new TextDecoder("utf-8"),kd=n=>jb.decode(n),kb=new TextEncoder,zd=n=>kb.encode(n),Ib=n=>typeof n=="number",Mb=n=>typeof n=="boolean",Tt=n=>typeof n=="function",En=n=>n!=null&&Object(n)===n,Vo=n=>En(n)&&Tt(n.then),uc=n=>En(n)&&Tt(n[Symbol.iterator]),Vd=n=>En(n)&&Tt(n[Symbol.asyncIterator]),Id=n=>En(n)&&En(n.schema),ky=n=>En(n)&&"done"in n&&"value"in n,Iy=n=>En(n)&&Tt(n.stat)&&Ib(n.fd),My=n=>En(n)&&Wd(n.body),Dy=n=>"_getDOMStream"in n&&"_getNodeStream"in n,Wd=n=>En(n)&&Tt(n.cancel)&&Tt(n.getReader)&&!Dy(n),Cy=n=>En(n)&&Tt(n.read)&&Tt(n.pipe)&&Mb(n.readable)&&!Dy(n),Db=n=>En(n)&&Tt(n.clear)&&Tt(n.bytes)&&Tt(n.position)&&Tt(n.setPosition)&&Tt(n.capacity)&&Tt(n.getBufferIdentifier)&&Tt(n.createLong),Hd=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:ArrayBuffer;function Cb(n){const e=n[0]?[n[0]]:[];let t,i,a,c;for(let f,h,m=0,g=0,v=n.length;++mv+x.byteLength,0);let a,c,f,h=0,m=-1;const g=Math.min(e||Number.POSITIVE_INFINITY,i);for(const v=t.length;++mKe(Int32Array,n),pm=n=>Ke(BigInt64Array,n),$e=n=>Ke(Uint8Array,n),Md=n=>(n.next(),n);function*Fb(n,e){const t=function*(a){yield a},i=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof Hd?t(e):uc(e)?e:t(e);return yield*Md((function*(a){let c=null;do c=a.next(yield Ke(n,c));while(!c.done)})(i[Symbol.iterator]())),new n}const Ob=n=>Fb(Uint8Array,n);function Fy(n,e){return Zn(this,arguments,function*(){if(Vo(e))return yield Ae(yield Ae(yield*bl(_i(Fy(n,yield Ae(e))))));const i=function(f){return Zn(this,arguments,function*(){yield yield Ae(yield Ae(f))})},a=function(f){return Zn(this,arguments,function*(){yield Ae(yield*bl(_i(Md((function*(h){let m=null;do m=h.next(yield m==null?void 0:m.value);while(!m.done)})(f[Symbol.iterator]())))))})},c=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof Hd?i(e):uc(e)?a(e):Vd(e)?e:i(e);return yield Ae(yield*bl(_i(Md((function(f){return Zn(this,arguments,function*(){let h=null;do h=yield Ae(f.next(yield yield Ae(Ke(n,h))));while(!h.done)})})(c[Symbol.asyncIterator]()))))),yield Ae(new n)})}const Tb=n=>Fy(Uint8Array,n);function Ab(n,e){let t=0;const i=n.length;if(i!==e.length)return!1;if(i>0)do if(n[t]!==e[t])return!1;while(++t(n.next(),n);function*Bb(n){let e,t=!1,i=[],a,c,f,h=0;function m(){return c==="peek"?tr(i,f)[0]:([a,i,h]=tr(i,f),a)}({cmd:c,size:f}=(yield null)||{cmd:"read",size:0});const g=Ob(n)[Symbol.iterator]();try{do if({done:e,value:a}=Number.isNaN(f-h)?g.next():g.next(f-h),!e&&a.byteLength>0&&(i.push(a),h+=a.byteLength),e||f<=h)do({cmd:c,size:f}=yield m());while(f0&&(a.push(c),m+=c.byteLength),t||h<=m)do({cmd:f,size:h}=yield yield Ae(g()));while(h0&&(a.push($e(c)),m+=c.byteLength),t||h<=m)do({cmd:f,size:h}=yield yield Ae(g()));while(h{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(e){return Oe(this,void 0,void 0,function*(){const{reader:t,source:i}=this;t&&(yield t.cancel(e).catch(()=>{})),i&&i.locked&&this.releaseLock()})}read(e){return Oe(this,void 0,void 0,function*(){if(e===0)return{done:this.reader==null,value:new Uint8Array(0)};const t=yield this.reader.read();return!t.done&&(t.value=$e(t)),t})}}const ad=(n,e)=>{const t=a=>i([e,a]);let i;return[e,t,new Promise(a=>(i=a)&&n.once(e,t))]};function Ub(n){return Zn(this,arguments,function*(){const t=[];let i="error",a=!1,c=null,f,h,m=0,g=[],v;function x(){return f==="peek"?tr(g,h)[0]:([v,g,m]=tr(g,h),v)}if({cmd:f,size:h}=(yield yield Ae(null))||{cmd:"read",size:0},n.isTTY)return yield yield Ae(new Uint8Array(0)),yield Ae(null);try{t[0]=ad(n,"end"),t[1]=ad(n,"error");do{if(t[2]=ad(n,"readable"),[i,c]=yield Ae(Promise.race(t.map(w=>w[2]))),i==="error")break;if((a=i==="end")||(Number.isFinite(h-m)?(v=$e(n.read(h-m)),v.byteLength0&&(g.push(v),m+=v.byteLength)),a||h<=m)do({cmd:f,size:h}=yield yield Ae(x()));while(h{for(const[V,$]of w)n.off(V,$);try{const V=n.destroy;V&&V.call(n,_),_=void 0}catch(V){_=V||_}finally{_!=null?T(_):C()}})}})}var ht;(function(n){n[n.V1=0]="V1",n[n.V2=1]="V2",n[n.V3=2]="V3",n[n.V4=3]="V4",n[n.V5=4]="V5"})(ht||(ht={}));var Yt;(function(n){n[n.Sparse=0]="Sparse",n[n.Dense=1]="Dense"})(Yt||(Yt={}));var Dt;(function(n){n[n.HALF=0]="HALF",n[n.SINGLE=1]="SINGLE",n[n.DOUBLE=2]="DOUBLE"})(Dt||(Dt={}));var xn;(function(n){n[n.DAY=0]="DAY",n[n.MILLISECOND=1]="MILLISECOND"})(xn||(xn={}));var _e;(function(n){n[n.SECOND=0]="SECOND",n[n.MILLISECOND=1]="MILLISECOND",n[n.MICROSECOND=2]="MICROSECOND",n[n.NANOSECOND=3]="NANOSECOND"})(_e||(_e={}));var nr;(function(n){n[n.YEAR_MONTH=0]="YEAR_MONTH",n[n.DAY_TIME=1]="DAY_TIME",n[n.MONTH_DAY_NANO=2]="MONTH_DAY_NANO"})(nr||(nr={}));const ld=2,Kn=4,br=4,He=4,es=new Int32Array(2),mm=new Float32Array(es.buffer),ym=new Float64Array(es.buffer),dl=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var Dd;(function(n){n[n.UTF8_BYTES=1]="UTF8_BYTES",n[n.UTF16_STRING=2]="UTF16_STRING"})(Dd||(Dd={}));let Ci=class Oy{constructor(e){this.bytes_=e,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(e){return new Oy(new Uint8Array(e))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(e){this.position_=e}capacity(){return this.bytes_.length}readInt8(e){return this.readUint8(e)<<24>>24}readUint8(e){return this.bytes_[e]}readInt16(e){return this.readUint16(e)<<16>>16}readUint16(e){return this.bytes_[e]|this.bytes_[e+1]<<8}readInt32(e){return this.bytes_[e]|this.bytes_[e+1]<<8|this.bytes_[e+2]<<16|this.bytes_[e+3]<<24}readUint32(e){return this.readInt32(e)>>>0}readInt64(e){return BigInt.asIntN(64,BigInt(this.readUint32(e))+(BigInt(this.readUint32(e+4))<>8}writeUint16(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8}writeInt32(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24}writeUint32(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24}writeInt64(e,t){this.writeInt32(e,Number(BigInt.asIntN(32,t))),this.writeInt32(e+4,Number(BigInt.asIntN(32,t>>BigInt(32))))}writeUint64(e,t){this.writeUint32(e,Number(BigInt.asUintN(32,t))),this.writeUint32(e+4,Number(BigInt.asUintN(32,t>>BigInt(32))))}writeFloat32(e,t){mm[0]=t,this.writeInt32(e,es[0])}writeFloat64(e,t){ym[0]=t,this.writeInt32(e,es[dl?0:1]),this.writeInt32(e+4,es[dl?1:0])}getBufferIdentifier(){if(this.bytes_.lengththis.minalign&&(this.minalign=e);const i=~(this.bb.capacity()-this.space+t)+1&e-1;for(;this.space=0&&this.vtable[t]==0;t--);const i=t+1;for(;t>=0;t--)this.addInt16(this.vtable[t]!=0?e-this.vtable[t]:0);const a=2;this.addInt16(e-this.object_start);const c=(i+a)*ld;this.addInt16(c);let f=0;const h=this.space;e:for(t=0;t=0;f--)this.writeInt8(c.charCodeAt(f))}this.prep(this.minalign,Kn+a),this.addOffset(e),a&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(e,t){this.finish(e,t,!0)}requiredField(e,t){const i=this.bb.capacity()-e,a=i-this.bb.readInt32(i);if(!(t=0;i--)e.addInt32(t[i]);return e.endVector()}static startTypeIdsVector(e,t){e.startVector(4,t,4)}static endUnion(e){return e.endObject()}static createUnion(e,t,i){return Ht.startUnion(e),Ht.addMode(e,t),Ht.addTypeIds(e,i),Ht.endUnion(e)}}let _m=class $o{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsUtf8(e,t){return(t||new $o).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsUtf8(e,t){return e.setPosition(e.position()+He),(t||new $o).__init(e.readInt32(e.position())+e.position(),e)}static startUtf8(e){e.startObject(0)}static endUtf8(e){return e.endObject()}static createUtf8(e){return $o.startUtf8(e),$o.endUtf8(e)}};var Ze;(function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.FloatingPoint=3]="FloatingPoint",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct_=13]="Struct_",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Duration=18]="Duration",n[n.LargeBinary=19]="LargeBinary",n[n.LargeUtf8=20]="LargeUtf8",n[n.LargeList=21]="LargeList",n[n.RunEndEncoded=22]="RunEndEncoded"})(Ze||(Ze={}));let hn=class kl{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsField(e,t){return(t||new kl).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsField(e,t){return e.setPosition(e.position()+He),(t||new kl).__init(e.readInt32(e.position())+e.position(),e)}name(e){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__string(this.bb_pos+t,e):null}nullable(){const e=this.bb.__offset(this.bb_pos,6);return e?!!this.bb.readInt8(this.bb_pos+e):!1}typeType(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readUint8(this.bb_pos+e):Ze.NONE}type(e){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__union(e,this.bb_pos+t):null}dictionary(e){const t=this.bb.__offset(this.bb_pos,12);return t?(e||new wr).__init(this.bb.__indirect(this.bb_pos+t),this.bb):null}children(e,t){const i=this.bb.__offset(this.bb_pos,14);return i?(t||new kl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}childrenLength(){const e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,16);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__vector_len(this.bb_pos+e):0}static startField(e){e.startObject(7)}static addName(e,t){e.addFieldOffset(0,t,0)}static addNullable(e,t){e.addFieldInt8(1,+t,0)}static addTypeType(e,t){e.addFieldInt8(2,t,Ze.NONE)}static addType(e,t){e.addFieldOffset(3,t,0)}static addDictionary(e,t){e.addFieldOffset(4,t,0)}static addChildren(e,t){e.addFieldOffset(5,t,0)}static createChildrenVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startChildrenVector(e,t){e.startVector(4,t,4)}static addCustomMetadata(e,t){e.addFieldOffset(6,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endField(e){return e.endObject()}},Gn=class mr{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsSchema(e,t){return(t||new mr).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsSchema(e,t){return e.setPosition(e.position()+He),(t||new mr).__init(e.readInt32(e.position())+e.position(),e)}endianness(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Fi.Little}fields(e,t){const i=this.bb.__offset(this.bb_pos,6);return i?(t||new hn).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}fieldsLength(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,8);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}features(e){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt64(this.bb.__vector(this.bb_pos+t)+e*8):BigInt(0)}featuresLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}static startSchema(e){e.startObject(4)}static addEndianness(e,t){e.addFieldInt16(0,t,Fi.Little)}static addFields(e,t){e.addFieldOffset(1,t,0)}static createFieldsVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startFieldsVector(e,t){e.startVector(4,t,4)}static addCustomMetadata(e,t){e.addFieldOffset(2,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static addFeatures(e,t){e.addFieldOffset(3,t,0)}static createFeaturesVector(e,t){e.startVector(8,t.length,8);for(let i=t.length-1;i>=0;i--)e.addInt64(t[i]);return e.endVector()}static startFeaturesVector(e,t){e.startVector(8,t,8)}static endSchema(e){return e.endObject()}static finishSchemaBuffer(e,t){e.finish(t)}static finishSizePrefixedSchemaBuffer(e,t){e.finish(t,void 0,!0)}static createSchema(e,t,i,a,c){return mr.startSchema(e),mr.addEndianness(e,t),mr.addFields(e,i),mr.addCustomMetadata(e,a),mr.addFeatures(e,c),mr.endSchema(e)}};var Ve;(function(n){n[n.NONE=0]="NONE",n[n.Schema=1]="Schema",n[n.DictionaryBatch=2]="DictionaryBatch",n[n.RecordBatch=3]="RecordBatch",n[n.Tensor=4]="Tensor",n[n.SparseTensor=5]="SparseTensor"})(Ve||(Ve={}));var M;(function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.Float=3]="Float",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct=13]="Struct",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Duration=18]="Duration",n[n.LargeBinary=19]="LargeBinary",n[n.LargeUtf8=20]="LargeUtf8",n[n.Dictionary=-1]="Dictionary",n[n.Int8=-2]="Int8",n[n.Int16=-3]="Int16",n[n.Int32=-4]="Int32",n[n.Int64=-5]="Int64",n[n.Uint8=-6]="Uint8",n[n.Uint16=-7]="Uint16",n[n.Uint32=-8]="Uint32",n[n.Uint64=-9]="Uint64",n[n.Float16=-10]="Float16",n[n.Float32=-11]="Float32",n[n.Float64=-12]="Float64",n[n.DateDay=-13]="DateDay",n[n.DateMillisecond=-14]="DateMillisecond",n[n.TimestampSecond=-15]="TimestampSecond",n[n.TimestampMillisecond=-16]="TimestampMillisecond",n[n.TimestampMicrosecond=-17]="TimestampMicrosecond",n[n.TimestampNanosecond=-18]="TimestampNanosecond",n[n.TimeSecond=-19]="TimeSecond",n[n.TimeMillisecond=-20]="TimeMillisecond",n[n.TimeMicrosecond=-21]="TimeMicrosecond",n[n.TimeNanosecond=-22]="TimeNanosecond",n[n.DenseUnion=-23]="DenseUnion",n[n.SparseUnion=-24]="SparseUnion",n[n.IntervalDayTime=-25]="IntervalDayTime",n[n.IntervalYearMonth=-26]="IntervalYearMonth",n[n.DurationSecond=-27]="DurationSecond",n[n.DurationMillisecond=-28]="DurationMillisecond",n[n.DurationMicrosecond=-29]="DurationMicrosecond",n[n.DurationNanosecond=-30]="DurationNanosecond"})(M||(M={}));var gr;(function(n){n[n.OFFSET=0]="OFFSET",n[n.DATA=1]="DATA",n[n.VALIDITY=2]="VALIDITY",n[n.TYPE=3]="TYPE"})(gr||(gr={}));const $b=void 0;function Wo(n){if(n===null)return"null";if(n===$b)return"undefined";switch(typeof n){case"number":return`${n}`;case"bigint":return`${n}`;case"string":return`"${n}"`}return typeof n[Symbol.toPrimitive]=="function"?n[Symbol.toPrimitive]("string"):ArrayBuffer.isView(n)?n instanceof BigInt64Array||n instanceof BigUint64Array?`[${[...n].map(e=>Wo(e))}]`:`[${n}]`:ArrayBuffer.isView(n)?`[${n}]`:JSON.stringify(n,(e,t)=>typeof t=="bigint"?`${t}`:t)}function tt(n){if(typeof n=="bigint"&&(nNumber.MAX_SAFE_INTEGER))throw new TypeError(`${n} is not safe to convert to a number.`);return Number(n)}function Ry(n,e){return tt(n/e)+tt(n%e)/tt(e)}const Pb=Symbol.for("isArrowBigNum");function Ln(n,...e){return e.length===0?Object.setPrototypeOf(Ke(this.TypedArray,n),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(n,...e),this.constructor.prototype)}Ln.prototype[Pb]=!0;Ln.prototype.toJSON=function(){return`"${Go(this)}"`};Ln.prototype.valueOf=function(n){return Ly(this,n)};Ln.prototype.toString=function(){return Go(this)};Ln.prototype[Symbol.toPrimitive]=function(n="default"){switch(n){case"number":return Ly(this);case"string":return Go(this);case"default":return Wb(this)}return Go(this)};function Ni(...n){return Ln.apply(this,n)}function ji(...n){return Ln.apply(this,n)}function Ho(...n){return Ln.apply(this,n)}Object.setPrototypeOf(Ni.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(ji.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(Ho.prototype,Object.create(Uint32Array.prototype));Object.assign(Ni.prototype,Ln.prototype,{constructor:Ni,signed:!0,TypedArray:Int32Array,BigIntArray:BigInt64Array});Object.assign(ji.prototype,Ln.prototype,{constructor:ji,signed:!1,TypedArray:Uint32Array,BigIntArray:BigUint64Array});Object.assign(Ho.prototype,Ln.prototype,{constructor:Ho,signed:!0,TypedArray:Uint32Array,BigIntArray:BigUint64Array});const zb=BigInt(4294967296)*BigInt(4294967296),Vb=zb-BigInt(1);function Ly(n,e){const{buffer:t,byteOffset:i,byteLength:a,signed:c}=n,f=new BigUint64Array(t,i,a/8),h=c&&f.at(-1)&BigInt(1)<=0)return cd(n);e=e.slice();let i=1;for(let c=0;c(n.children=null,n.ArrayType=Array,n.OffsetArrayType=Int32Array,n[Symbol.toStringTag]="DataType"))(me.prototype);class ss extends me{constructor(){super(M.Null)}toString(){return"Null"}}$y=Symbol.toStringTag;ss[$y]=(n=>n[Symbol.toStringTag]="Null")(ss.prototype);class Cs extends me{constructor(e,t){super(M.Int),this.isSigned=e,this.bitWidth=t}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?BigInt64Array:BigUint64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}Py=Symbol.toStringTag;Cs[Py]=(n=>(n.isSigned=null,n.bitWidth=null,n[Symbol.toStringTag]="Int"))(Cs.prototype);class Yo extends Cs{constructor(){super(!0,32)}get ArrayType(){return Int32Array}}Object.defineProperty(Yo.prototype,"ArrayType",{value:Int32Array});class Tl extends me{constructor(e){super(M.Float),this.precision=e}get ArrayType(){switch(this.precision){case Dt.HALF:return Uint16Array;case Dt.SINGLE:return Float32Array;case Dt.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}}zy=Symbol.toStringTag;Tl[zy]=(n=>(n.precision=null,n[Symbol.toStringTag]="Float"))(Tl.prototype);class Al extends me{constructor(){super(M.Binary)}toString(){return"Binary"}}Vy=Symbol.toStringTag;Al[Vy]=(n=>(n.ArrayType=Uint8Array,n[Symbol.toStringTag]="Binary"))(Al.prototype);class Bl extends me{constructor(){super(M.LargeBinary)}toString(){return"LargeBinary"}}Wy=Symbol.toStringTag;Bl[Wy]=(n=>(n.ArrayType=Uint8Array,n.OffsetArrayType=BigInt64Array,n[Symbol.toStringTag]="LargeBinary"))(Bl.prototype);class El extends me{constructor(){super(M.Utf8)}toString(){return"Utf8"}}Hy=Symbol.toStringTag;El[Hy]=(n=>(n.ArrayType=Uint8Array,n[Symbol.toStringTag]="Utf8"))(El.prototype);class Rl extends me{constructor(){super(M.LargeUtf8)}toString(){return"LargeUtf8"}}Gy=Symbol.toStringTag;Rl[Gy]=(n=>(n.ArrayType=Uint8Array,n.OffsetArrayType=BigInt64Array,n[Symbol.toStringTag]="LargeUtf8"))(Rl.prototype);class Ll extends me{constructor(){super(M.Bool)}toString(){return"Bool"}}Yy=Symbol.toStringTag;Ll[Yy]=(n=>(n.ArrayType=Uint8Array,n[Symbol.toStringTag]="Bool"))(Ll.prototype);class Ul extends me{constructor(e,t,i=128){super(M.Decimal),this.scale=e,this.precision=t,this.bitWidth=i}toString(){return`Decimal[${this.precision}e${this.scale>0?"+":""}${this.scale}]`}}Qy=Symbol.toStringTag;Ul[Qy]=(n=>(n.scale=null,n.precision=null,n.ArrayType=Uint32Array,n[Symbol.toStringTag]="Decimal"))(Ul.prototype);class $l extends me{constructor(e){super(M.Date),this.unit=e}toString(){return`Date${(this.unit+1)*32}<${xn[this.unit]}>`}get ArrayType(){return this.unit===xn.DAY?Int32Array:BigInt64Array}}Ky=Symbol.toStringTag;$l[Ky]=(n=>(n.unit=null,n[Symbol.toStringTag]="Date"))($l.prototype);class Pl extends me{constructor(e,t){super(M.Time),this.unit=e,this.bitWidth=t}toString(){return`Time${this.bitWidth}<${_e[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return BigInt64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}}Jy=Symbol.toStringTag;Pl[Jy]=(n=>(n.unit=null,n.bitWidth=null,n[Symbol.toStringTag]="Time"))(Pl.prototype);class zl extends me{constructor(e,t){super(M.Timestamp),this.unit=e,this.timezone=t}toString(){return`Timestamp<${_e[this.unit]}${this.timezone?`, ${this.timezone}`:""}>`}}qy=Symbol.toStringTag;zl[qy]=(n=>(n.unit=null,n.timezone=null,n.ArrayType=BigInt64Array,n[Symbol.toStringTag]="Timestamp"))(zl.prototype);class Vl extends me{constructor(e){super(M.Interval),this.unit=e}toString(){return`Interval<${nr[this.unit]}>`}}Zy=Symbol.toStringTag;Vl[Zy]=(n=>(n.unit=null,n.ArrayType=Int32Array,n[Symbol.toStringTag]="Interval"))(Vl.prototype);class Wl extends me{constructor(e){super(M.Duration),this.unit=e}toString(){return`Duration<${_e[this.unit]}>`}}Xy=Symbol.toStringTag;Wl[Xy]=(n=>(n.unit=null,n.ArrayType=BigInt64Array,n[Symbol.toStringTag]="Duration"))(Wl.prototype);class Hl extends me{constructor(e){super(M.List),this.children=[e]}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}}eg=Symbol.toStringTag;Hl[eg]=(n=>(n.children=null,n[Symbol.toStringTag]="List"))(Hl.prototype);class At extends me{constructor(e){super(M.Struct),this.children=e}toString(){return`Struct<{${this.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}tg=Symbol.toStringTag;At[tg]=(n=>(n.children=null,n[Symbol.toStringTag]="Struct"))(At.prototype);class Gl extends me{constructor(e,t,i){super(M.Union),this.mode=e,this.children=i,this.typeIds=t=Int32Array.from(t),this.typeIdToChildIndex=t.reduce((a,c,f)=>(a[c]=f)&&a||a,Object.create(null))}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(e=>`${e.type}`).join(" | ")}>`}}ng=Symbol.toStringTag;Gl[ng]=(n=>(n.mode=null,n.typeIds=null,n.children=null,n.typeIdToChildIndex=null,n.ArrayType=Int8Array,n[Symbol.toStringTag]="Union"))(Gl.prototype);class Yl extends me{constructor(e){super(M.FixedSizeBinary),this.byteWidth=e}toString(){return`FixedSizeBinary[${this.byteWidth}]`}}rg=Symbol.toStringTag;Yl[rg]=(n=>(n.byteWidth=null,n.ArrayType=Uint8Array,n[Symbol.toStringTag]="FixedSizeBinary"))(Yl.prototype);class Ql extends me{constructor(e,t){super(M.FixedSizeList),this.listSize=e,this.children=[t]}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}sg=Symbol.toStringTag;Ql[sg]=(n=>(n.children=null,n.listSize=null,n[Symbol.toStringTag]="FixedSizeList"))(Ql.prototype);class Kl extends me{constructor(e,t=!1){var i,a,c;if(super(M.Map),this.children=[e],this.keysSorted=t,e&&(e.name="entries",!((i=e==null?void 0:e.type)===null||i===void 0)&&i.children)){const f=(a=e==null?void 0:e.type)===null||a===void 0?void 0:a.children[0];f&&(f.name="key");const h=(c=e==null?void 0:e.type)===null||c===void 0?void 0:c.children[1];h&&(h.name="value")}}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}ig=Symbol.toStringTag;Kl[ig]=(n=>(n.children=null,n.keysSorted=null,n[Symbol.toStringTag]="Map_"))(Kl.prototype);const Hb=(n=>()=>++n)(-1);class Oi extends me{constructor(e,t,i,a){super(M.Dictionary),this.indices=t,this.dictionary=e,this.isOrdered=a||!1,this.id=i==null?Hb():tt(i)}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}}og=Symbol.toStringTag;Oi[og]=(n=>(n.id=null,n.indices=null,n.isOrdered=null,n.dictionary=null,n[Symbol.toStringTag]="Dictionary"))(Oi.prototype);function vr(n){const e=n;switch(n.typeId){case M.Decimal:return n.bitWidth/32;case M.Interval:return 1+e.unit;case M.FixedSizeList:return e.listSize;case M.FixedSizeBinary:return e.byteWidth;default:return 1}}class Ue{visitMany(e,...t){return e.map((i,a)=>this.visit(i,...t.map(c=>c[a])))}visit(...e){return this.getVisitFn(e[0],!1).apply(this,e)}getVisitFn(e,t=!0){return Gb(this,e,t)}getVisitFnByTypeId(e,t=!0){return xi(this,e,t)}visitNull(e,...t){return null}visitBool(e,...t){return null}visitInt(e,...t){return null}visitFloat(e,...t){return null}visitUtf8(e,...t){return null}visitLargeUtf8(e,...t){return null}visitBinary(e,...t){return null}visitLargeBinary(e,...t){return null}visitFixedSizeBinary(e,...t){return null}visitDate(e,...t){return null}visitTimestamp(e,...t){return null}visitTime(e,...t){return null}visitDecimal(e,...t){return null}visitList(e,...t){return null}visitStruct(e,...t){return null}visitUnion(e,...t){return null}visitDictionary(e,...t){return null}visitInterval(e,...t){return null}visitDuration(e,...t){return null}visitFixedSizeList(e,...t){return null}visitMap(e,...t){return null}}function Gb(n,e,t=!0){return typeof e=="number"?xi(n,e,t):typeof e=="string"&&e in M?xi(n,M[e],t):e&&e instanceof me?xi(n,Nm(e),t):e!=null&&e.type&&e.type instanceof me?xi(n,Nm(e.type),t):xi(n,M.NONE,t)}function xi(n,e,t=!0){let i=null;switch(e){case M.Null:i=n.visitNull;break;case M.Bool:i=n.visitBool;break;case M.Int:i=n.visitInt;break;case M.Int8:i=n.visitInt8||n.visitInt;break;case M.Int16:i=n.visitInt16||n.visitInt;break;case M.Int32:i=n.visitInt32||n.visitInt;break;case M.Int64:i=n.visitInt64||n.visitInt;break;case M.Uint8:i=n.visitUint8||n.visitInt;break;case M.Uint16:i=n.visitUint16||n.visitInt;break;case M.Uint32:i=n.visitUint32||n.visitInt;break;case M.Uint64:i=n.visitUint64||n.visitInt;break;case M.Float:i=n.visitFloat;break;case M.Float16:i=n.visitFloat16||n.visitFloat;break;case M.Float32:i=n.visitFloat32||n.visitFloat;break;case M.Float64:i=n.visitFloat64||n.visitFloat;break;case M.Utf8:i=n.visitUtf8;break;case M.LargeUtf8:i=n.visitLargeUtf8;break;case M.Binary:i=n.visitBinary;break;case M.LargeBinary:i=n.visitLargeBinary;break;case M.FixedSizeBinary:i=n.visitFixedSizeBinary;break;case M.Date:i=n.visitDate;break;case M.DateDay:i=n.visitDateDay||n.visitDate;break;case M.DateMillisecond:i=n.visitDateMillisecond||n.visitDate;break;case M.Timestamp:i=n.visitTimestamp;break;case M.TimestampSecond:i=n.visitTimestampSecond||n.visitTimestamp;break;case M.TimestampMillisecond:i=n.visitTimestampMillisecond||n.visitTimestamp;break;case M.TimestampMicrosecond:i=n.visitTimestampMicrosecond||n.visitTimestamp;break;case M.TimestampNanosecond:i=n.visitTimestampNanosecond||n.visitTimestamp;break;case M.Time:i=n.visitTime;break;case M.TimeSecond:i=n.visitTimeSecond||n.visitTime;break;case M.TimeMillisecond:i=n.visitTimeMillisecond||n.visitTime;break;case M.TimeMicrosecond:i=n.visitTimeMicrosecond||n.visitTime;break;case M.TimeNanosecond:i=n.visitTimeNanosecond||n.visitTime;break;case M.Decimal:i=n.visitDecimal;break;case M.List:i=n.visitList;break;case M.Struct:i=n.visitStruct;break;case M.Union:i=n.visitUnion;break;case M.DenseUnion:i=n.visitDenseUnion||n.visitUnion;break;case M.SparseUnion:i=n.visitSparseUnion||n.visitUnion;break;case M.Dictionary:i=n.visitDictionary;break;case M.Interval:i=n.visitInterval;break;case M.IntervalDayTime:i=n.visitIntervalDayTime||n.visitInterval;break;case M.IntervalYearMonth:i=n.visitIntervalYearMonth||n.visitInterval;break;case M.Duration:i=n.visitDuration;break;case M.DurationSecond:i=n.visitDurationSecond||n.visitDuration;break;case M.DurationMillisecond:i=n.visitDurationMillisecond||n.visitDuration;break;case M.DurationMicrosecond:i=n.visitDurationMicrosecond||n.visitDuration;break;case M.DurationNanosecond:i=n.visitDurationNanosecond||n.visitDuration;break;case M.FixedSizeList:i=n.visitFixedSizeList;break;case M.Map:i=n.visitMap;break}if(typeof i=="function")return i;if(!t)return()=>null;throw new Error(`Unrecognized type '${M[e]}'`)}function Nm(n){switch(n.typeId){case M.Null:return M.Null;case M.Int:{const{bitWidth:e,isSigned:t}=n;switch(e){case 8:return t?M.Int8:M.Uint8;case 16:return t?M.Int16:M.Uint16;case 32:return t?M.Int32:M.Uint32;case 64:return t?M.Int64:M.Uint64}return M.Int}case M.Float:switch(n.precision){case Dt.HALF:return M.Float16;case Dt.SINGLE:return M.Float32;case Dt.DOUBLE:return M.Float64}return M.Float;case M.Binary:return M.Binary;case M.LargeBinary:return M.LargeBinary;case M.Utf8:return M.Utf8;case M.LargeUtf8:return M.LargeUtf8;case M.Bool:return M.Bool;case M.Decimal:return M.Decimal;case M.Time:switch(n.unit){case _e.SECOND:return M.TimeSecond;case _e.MILLISECOND:return M.TimeMillisecond;case _e.MICROSECOND:return M.TimeMicrosecond;case _e.NANOSECOND:return M.TimeNanosecond}return M.Time;case M.Timestamp:switch(n.unit){case _e.SECOND:return M.TimestampSecond;case _e.MILLISECOND:return M.TimestampMillisecond;case _e.MICROSECOND:return M.TimestampMicrosecond;case _e.NANOSECOND:return M.TimestampNanosecond}return M.Timestamp;case M.Date:switch(n.unit){case xn.DAY:return M.DateDay;case xn.MILLISECOND:return M.DateMillisecond}return M.Date;case M.Interval:switch(n.unit){case nr.DAY_TIME:return M.IntervalDayTime;case nr.YEAR_MONTH:return M.IntervalYearMonth}return M.Interval;case M.Duration:switch(n.unit){case _e.SECOND:return M.DurationSecond;case _e.MILLISECOND:return M.DurationMillisecond;case _e.MICROSECOND:return M.DurationMicrosecond;case _e.NANOSECOND:return M.DurationNanosecond}return M.Duration;case M.Map:return M.Map;case M.List:return M.List;case M.Struct:return M.Struct;case M.Union:switch(n.mode){case Yt.Dense:return M.DenseUnion;case Yt.Sparse:return M.SparseUnion}return M.Union;case M.FixedSizeBinary:return M.FixedSizeBinary;case M.FixedSizeList:return M.FixedSizeList;case M.Dictionary:return M.Dictionary}throw new Error(`Unrecognized type '${M[n.typeId]}'`)}Ue.prototype.visitInt8=null;Ue.prototype.visitInt16=null;Ue.prototype.visitInt32=null;Ue.prototype.visitInt64=null;Ue.prototype.visitUint8=null;Ue.prototype.visitUint16=null;Ue.prototype.visitUint32=null;Ue.prototype.visitUint64=null;Ue.prototype.visitFloat16=null;Ue.prototype.visitFloat32=null;Ue.prototype.visitFloat64=null;Ue.prototype.visitDateDay=null;Ue.prototype.visitDateMillisecond=null;Ue.prototype.visitTimestampSecond=null;Ue.prototype.visitTimestampMillisecond=null;Ue.prototype.visitTimestampMicrosecond=null;Ue.prototype.visitTimestampNanosecond=null;Ue.prototype.visitTimeSecond=null;Ue.prototype.visitTimeMillisecond=null;Ue.prototype.visitTimeMicrosecond=null;Ue.prototype.visitTimeNanosecond=null;Ue.prototype.visitDenseUnion=null;Ue.prototype.visitSparseUnion=null;Ue.prototype.visitIntervalDayTime=null;Ue.prototype.visitIntervalYearMonth=null;Ue.prototype.visitDuration=null;Ue.prototype.visitDurationSecond=null;Ue.prototype.visitDurationMillisecond=null;Ue.prototype.visitDurationMicrosecond=null;Ue.prototype.visitDurationNanosecond=null;const ag=new Float64Array(1),di=new Uint32Array(ag.buffer);function lg(n){const e=(n&31744)>>10,t=(n&1023)/1024,i=Math.pow(-1,(n&32768)>>15);switch(e){case 31:return i*(t?Number.NaN:1/0);case 0:return i*(t?6103515625e-14*t:0)}return i*Math.pow(2,e-15)*(1+t)}function Yb(n){if(n!==n)return 32256;ag[0]=n;const e=(di[1]&2147483648)>>16&65535;let t=di[1]&2146435072,i=0;return t>=1089470464?di[0]>0?t=31744:(t=(t&2080374784)>>16,i=(di[1]&1048575)>>10):t<=1056964608?(i=1048576+(di[1]&1048575),i=1048576+(i<<(t>>20)-998)>>21,t=0):(t=t-1056964608>>10,i=(di[1]&1048575)+512>>10),e|t|i&65535}class Ne extends Ue{}function Ie(n){return(e,t,i)=>{if(e.setValid(t,i!=null))return n(e,t,i)}}const Qb=(n,e,t)=>{n[e]=Math.floor(t/864e5)},cg=(n,e,t,i)=>{if(t+1{const a=n+t;i?e[a>>3]|=1<>3]&=~(1<{n[e]=t},Yd=({values:n},e,t)=>{n[e]=t},ug=({values:n},e,t)=>{n[e]=Yb(t)},Jb=(n,e,t)=>{switch(n.type.precision){case Dt.HALF:return ug(n,e,t);case Dt.SINGLE:case Dt.DOUBLE:return Yd(n,e,t)}},dg=({values:n},e,t)=>{Qb(n,e,t.valueOf())},fg=({values:n},e,t)=>{n[e]=BigInt(t)},qb=({stride:n,values:e},t,i)=>{e.set(i.subarray(0,n),n*t)},hg=({values:n,valueOffsets:e},t,i)=>cg(n,e,t,i),pg=({values:n,valueOffsets:e},t,i)=>cg(n,e,t,zd(i)),Zb=(n,e,t)=>{n.type.unit===xn.DAY?dg(n,e,t):fg(n,e,t)},mg=({values:n},e,t)=>{n[e]=BigInt(t/1e3)},yg=({values:n},e,t)=>{n[e]=BigInt(t)},gg=({values:n},e,t)=>{n[e]=BigInt(t*1e3)},vg=({values:n},e,t)=>{n[e]=BigInt(t*1e6)},Xb=(n,e,t)=>{switch(n.type.unit){case _e.SECOND:return mg(n,e,t);case _e.MILLISECOND:return yg(n,e,t);case _e.MICROSECOND:return gg(n,e,t);case _e.NANOSECOND:return vg(n,e,t)}},xg=({values:n},e,t)=>{n[e]=t},bg=({values:n},e,t)=>{n[e]=t},wg=({values:n},e,t)=>{n[e]=t},Sg=({values:n},e,t)=>{n[e]=t},ew=(n,e,t)=>{switch(n.type.unit){case _e.SECOND:return xg(n,e,t);case _e.MILLISECOND:return bg(n,e,t);case _e.MICROSECOND:return wg(n,e,t);case _e.NANOSECOND:return Sg(n,e,t)}},tw=({values:n,stride:e},t,i)=>{n.set(i.subarray(0,e),e*t)},nw=(n,e,t)=>{const i=n.children[0],a=n.valueOffsets,c=bn.getVisitFn(i);if(Array.isArray(t))for(let f=-1,h=a[e],m=a[e+1];h{const i=n.children[0],{valueOffsets:a}=n,c=bn.getVisitFn(i);let{[e]:f,[e+1]:h}=a;const m=t instanceof Map?t.entries():Object.entries(t);for(const g of m)if(c(i,f,g),++f>=h)break},sw=(n,e)=>(t,i,a,c)=>i&&t(i,n,e[c]),iw=(n,e)=>(t,i,a,c)=>i&&t(i,n,e.get(c)),ow=(n,e)=>(t,i,a,c)=>i&&t(i,n,e.get(a.name)),aw=(n,e)=>(t,i,a,c)=>i&&t(i,n,e[a.name]),lw=(n,e,t)=>{const i=n.type.children.map(c=>bn.getVisitFn(c.type)),a=t instanceof Map?ow(e,t):t instanceof Je?iw(e,t):Array.isArray(t)?sw(e,t):aw(e,t);n.type.children.forEach((c,f)=>a(i[f],n.children[f],c,f))},cw=(n,e,t)=>{n.type.mode===Yt.Dense?_g(n,e,t):Ng(n,e,t)},_g=(n,e,t)=>{const i=n.type.typeIdToChildIndex[n.typeIds[e]],a=n.children[i];bn.visit(a,n.valueOffsets[e],t)},Ng=(n,e,t)=>{const i=n.type.typeIdToChildIndex[n.typeIds[e]],a=n.children[i];bn.visit(a,e,t)},uw=(n,e,t)=>{var i;(i=n.dictionary)===null||i===void 0||i.set(n.values[e],t)},dw=(n,e,t)=>{n.type.unit===nr.DAY_TIME?jg(n,e,t):kg(n,e,t)},jg=({values:n},e,t)=>{n.set(t.subarray(0,2),2*e)},kg=({values:n},e,t)=>{n[e]=t[0]*12+t[1]%12},Ig=({values:n},e,t)=>{n[e]=t},Mg=({values:n},e,t)=>{n[e]=t},Dg=({values:n},e,t)=>{n[e]=t},Cg=({values:n},e,t)=>{n[e]=t},fw=(n,e,t)=>{switch(n.type.unit){case _e.SECOND:return Ig(n,e,t);case _e.MILLISECOND:return Mg(n,e,t);case _e.MICROSECOND:return Dg(n,e,t);case _e.NANOSECOND:return Cg(n,e,t)}},hw=(n,e,t)=>{const{stride:i}=n,a=n.children[0],c=bn.getVisitFn(a);if(Array.isArray(t))for(let f=-1,h=e*i;++f`${Wo(e)}: ${Wo(t)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}[Symbol.iterator](){return new pw(this[On],this[ki])}}class pw{constructor(e,t){this.childIndex=0,this.children=e.children,this.rowIndex=t,this.childFields=e.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){const e=this.childIndex;return et.name)}has(e,t){return e[On].type.children.findIndex(i=>i.name===t)!==-1}getOwnPropertyDescriptor(e,t){if(e[On].type.children.findIndex(i=>i.name===t)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,t){if(Reflect.has(e,t))return e[t];const i=e[On].type.children.findIndex(a=>a.name===t);if(i!==-1){const a=Qt.visit(e[On].children[i],e[ki]);return Reflect.set(e,t,a),a}}set(e,t,i){const a=e[On].type.children.findIndex(c=>c.name===t);return a!==-1?(bn.visit(e[On].children[a],e[ki],i),Reflect.set(e,t,i)):Reflect.has(e,t)||typeof t=="symbol"?Reflect.set(e,t,i):!1}}class xe extends Ue{}function je(n){return(e,t)=>e.getValid(t)?n(e,t):null}const yw=(n,e)=>864e5*n[e],gw=(n,e)=>null,Fg=(n,e,t)=>{if(t+1>=e.length)return null;const i=tt(e[t]),a=tt(e[t+1]);return n.subarray(i,a)},vw=({offset:n,values:e},t)=>{const i=n+t;return(e[i>>3]&1<yw(n,e),Tg=({values:n},e)=>tt(n[e]),as=({stride:n,values:e},t)=>e[n*t],xw=({stride:n,values:e},t)=>lg(e[n*t]),Ag=({values:n},e)=>n[e],bw=({stride:n,values:e},t)=>e.subarray(n*t,n*(t+1)),Bg=({values:n,valueOffsets:e},t)=>Fg(n,e,t),Eg=({values:n,valueOffsets:e},t)=>{const i=Fg(n,e,t);return i!==null?kd(i):null},ww=({values:n},e)=>n[e],Sw=({type:n,values:e},t)=>n.precision!==Dt.HALF?e[t]:lg(e[t]),_w=(n,e)=>n.type.unit===xn.DAY?Og(n,e):Tg(n,e),Rg=({values:n},e)=>1e3*tt(n[e]),Lg=({values:n},e)=>tt(n[e]),Ug=({values:n},e)=>Ry(n[e],BigInt(1e3)),$g=({values:n},e)=>Ry(n[e],BigInt(1e6)),Nw=(n,e)=>{switch(n.type.unit){case _e.SECOND:return Rg(n,e);case _e.MILLISECOND:return Lg(n,e);case _e.MICROSECOND:return Ug(n,e);case _e.NANOSECOND:return $g(n,e)}},Pg=({values:n},e)=>n[e],zg=({values:n},e)=>n[e],Vg=({values:n},e)=>n[e],Wg=({values:n},e)=>n[e],jw=(n,e)=>{switch(n.type.unit){case _e.SECOND:return Pg(n,e);case _e.MILLISECOND:return zg(n,e);case _e.MICROSECOND:return Vg(n,e);case _e.NANOSECOND:return Wg(n,e)}},kw=({values:n,stride:e},t)=>Gd.decimal(n.subarray(e*t,e*(t+1))),Iw=(n,e)=>{const{valueOffsets:t,stride:i,children:a}=n,{[e*i]:c,[e*i+1]:f}=t,m=a[0].slice(c,f-c);return new Je([m])},Mw=(n,e)=>{const{valueOffsets:t,children:i}=n,{[e]:a,[e+1]:c}=t,f=i[0];return new Kd(f.slice(a,c-a))},Dw=(n,e)=>new Qd(n,e),Cw=(n,e)=>n.type.mode===Yt.Dense?Hg(n,e):Gg(n,e),Hg=(n,e)=>{const t=n.type.typeIdToChildIndex[n.typeIds[e]],i=n.children[t];return Qt.visit(i,n.valueOffsets[e])},Gg=(n,e)=>{const t=n.type.typeIdToChildIndex[n.typeIds[e]],i=n.children[t];return Qt.visit(i,e)},Fw=(n,e)=>{var t;return(t=n.dictionary)===null||t===void 0?void 0:t.get(n.values[e])},Ow=(n,e)=>n.type.unit===nr.DAY_TIME?Yg(n,e):Qg(n,e),Yg=({values:n},e)=>n.subarray(2*e,2*(e+1)),Qg=({values:n},e)=>{const t=n[e],i=new Int32Array(2);return i[0]=Math.trunc(t/12),i[1]=Math.trunc(t%12),i},Kg=({values:n},e)=>n[e],Jg=({values:n},e)=>n[e],qg=({values:n},e)=>n[e],Zg=({values:n},e)=>n[e],Tw=(n,e)=>{switch(n.type.unit){case _e.SECOND:return Kg(n,e);case _e.MILLISECOND:return Jg(n,e);case _e.MICROSECOND:return qg(n,e);case _e.NANOSECOND:return Zg(n,e)}},Aw=(n,e)=>{const{stride:t,children:i}=n,c=i[0].slice(e*t,t);return new Je([c])};xe.prototype.visitNull=je(gw);xe.prototype.visitBool=je(vw);xe.prototype.visitInt=je(ww);xe.prototype.visitInt8=je(as);xe.prototype.visitInt16=je(as);xe.prototype.visitInt32=je(as);xe.prototype.visitInt64=je(Ag);xe.prototype.visitUint8=je(as);xe.prototype.visitUint16=je(as);xe.prototype.visitUint32=je(as);xe.prototype.visitUint64=je(Ag);xe.prototype.visitFloat=je(Sw);xe.prototype.visitFloat16=je(xw);xe.prototype.visitFloat32=je(as);xe.prototype.visitFloat64=je(as);xe.prototype.visitUtf8=je(Eg);xe.prototype.visitLargeUtf8=je(Eg);xe.prototype.visitBinary=je(Bg);xe.prototype.visitLargeBinary=je(Bg);xe.prototype.visitFixedSizeBinary=je(bw);xe.prototype.visitDate=je(_w);xe.prototype.visitDateDay=je(Og);xe.prototype.visitDateMillisecond=je(Tg);xe.prototype.visitTimestamp=je(Nw);xe.prototype.visitTimestampSecond=je(Rg);xe.prototype.visitTimestampMillisecond=je(Lg);xe.prototype.visitTimestampMicrosecond=je(Ug);xe.prototype.visitTimestampNanosecond=je($g);xe.prototype.visitTime=je(jw);xe.prototype.visitTimeSecond=je(Pg);xe.prototype.visitTimeMillisecond=je(zg);xe.prototype.visitTimeMicrosecond=je(Vg);xe.prototype.visitTimeNanosecond=je(Wg);xe.prototype.visitDecimal=je(kw);xe.prototype.visitList=je(Iw);xe.prototype.visitStruct=je(Dw);xe.prototype.visitUnion=je(Cw);xe.prototype.visitDenseUnion=je(Hg);xe.prototype.visitSparseUnion=je(Gg);xe.prototype.visitDictionary=je(Fw);xe.prototype.visitInterval=je(Ow);xe.prototype.visitIntervalDayTime=je(Yg);xe.prototype.visitIntervalYearMonth=je(Qg);xe.prototype.visitDuration=je(Tw);xe.prototype.visitDurationSecond=je(Kg);xe.prototype.visitDurationMillisecond=je(Jg);xe.prototype.visitDurationMicrosecond=je(qg);xe.prototype.visitDurationNanosecond=je(Zg);xe.prototype.visitFixedSizeList=je(Aw);xe.prototype.visitMap=je(Mw);const Qt=new xe,bi=Symbol.for("keys"),Ii=Symbol.for("vals"),wi=Symbol.for("kKeysAsStrings"),Od=Symbol.for("_kKeysAsStrings");class Kd{constructor(e){return this[bi]=new Je([e.children[0]]).memoize(),this[Ii]=e.children[1],new Proxy(this,new Ew)}get[wi](){return this[Od]||(this[Od]=Array.from(this[bi].toArray(),String))}[Symbol.iterator](){return new Bw(this[bi],this[Ii])}get size(){return this[bi].length}toArray(){return Object.values(this.toJSON())}toJSON(){const e=this[bi],t=this[Ii],i={};for(let a=-1,c=e.length;++a`${Wo(e)}: ${Wo(t)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}}class Bw{constructor(e,t){this.keys=e,this.vals=t,this.keyIndex=0,this.numKeys=e.length}[Symbol.iterator](){return this}next(){const e=this.keyIndex;return e===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(e),Qt.visit(this.vals,e)]})}}class Ew{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(e){return e[wi]}has(e,t){return e[wi].includes(t)}getOwnPropertyDescriptor(e,t){if(e[wi].indexOf(t)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,t){if(Reflect.has(e,t))return e[t];const i=e[wi].indexOf(t);if(i!==-1){const a=Qt.visit(Reflect.get(e,Ii),i);return Reflect.set(e,t,a),a}}set(e,t,i){const a=e[wi].indexOf(t);return a!==-1?(bn.visit(Reflect.get(e,Ii),a,i),Reflect.set(e,t,i)):Reflect.has(e,t)?Reflect.set(e,t,i):!1}}Object.defineProperties(Kd.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[bi]:{writable:!0,enumerable:!1,configurable:!1,value:null},[Ii]:{writable:!0,enumerable:!1,configurable:!1,value:null},[Od]:{writable:!0,enumerable:!1,configurable:!1,value:null}});let jm;function Xg(n,e,t,i){const{length:a=0}=n;let c=typeof e!="number"?0:e,f=typeof t!="number"?a:t;return c<0&&(c=(c%a+a)%a),f<0&&(f=(f%a+a)%a),fa&&(f=a),i?i(n,c,f):[c,f]}const Jd=(n,e)=>n<0?e+n:n,km=n=>n!==n;function Ri(n){if(typeof n!=="object"||n===null)return km(n)?km:t=>t===n;if(n instanceof Date){const t=n.valueOf();return i=>i instanceof Date?i.valueOf()===t:!1}return ArrayBuffer.isView(n)?t=>t?Ab(n,t):!1:n instanceof Map?Lw(n):Array.isArray(n)?Rw(n):n instanceof Je?Uw(n):$w(n,!0)}function Rw(n){const e=[];for(let t=-1,i=n.length;++t!1;const i=[];for(let a=-1,c=t.length;++a{if(!t||typeof t!="object")return!1;switch(t.constructor){case Array:return Pw(n,t);case Map:return Im(n,t,t.keys());case Kd:case Qd:case Object:case void 0:return Im(n,t,e||Object.keys(t))}return t instanceof Je?zw(n,t):!1}}function Pw(n,e){const t=n.length;if(e.length!==t)return!1;for(let i=-1;++i>i}function Mm(n,e,t){const i=t.byteLength+7&-8;if(n>0||t.byteLength>3):Td(new qd(t,n,e,null,ev)).subarray(0,i)),a}return t}function Td(n){const e=[];let t=0,i=0,a=0;for(const f of n)f&&(a|=1<0)&&(e[t++]=a);const c=new Uint8Array(e.length+7&-8);return c.set(e),c}class qd{constructor(e,t,i,a,c){this.bytes=e,this.length=i,this.context=a,this.get=c,this.bit=t%8,this.byteIndex=t>>3,this.byte=e[this.byteIndex++],this.index=0}next(){return this.index>3<<3,a=e+(e%8===0?0:8-e%8);return Ad(n,e,a)+Ad(n,i,t)+Ww(n,a>>3,i-a>>3)}function Ww(n,e,t){let i=0,a=Math.trunc(e);const c=new DataView(n.buffer,n.byteOffset,n.byteLength),f=t===void 0?n.byteLength:a+t;for(;f-a>=4;)i+=ud(c.getUint32(a)),a+=4;for(;f-a>=2;)i+=ud(c.getUint16(a)),a+=2;for(;f-a>=1;)i+=ud(c.getUint8(a)),a+=1;return i}function ud(n){let e=Math.trunc(n);return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24}const Hw=-1;class Ye{get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get nullable(){if(this._nullCount!==0){const{type:e}=this;return me.isSparseUnion(e)?this.children.some(t=>t.nullable):me.isDenseUnion(e)?this.children.some(t=>t.nullable):this.nullBitmap&&this.nullBitmap.byteLength>0}return!0}get byteLength(){let e=0;const{valueOffsets:t,values:i,nullBitmap:a,typeIds:c}=this;return t&&(e+=t.byteLength),i&&(e+=i.byteLength),a&&(e+=a.byteLength),c&&(e+=c.byteLength),this.children.reduce((f,h)=>f+h.byteLength,e)}get nullCount(){if(me.isUnion(this.type))return this.children.reduce((i,a)=>i+a.nullCount,0);let e=this._nullCount,t;return e<=Hw&&(t=this.nullBitmap)&&(this._nullCount=e=t.length===0?0:this.length-Ad(t,this.offset,this.offset+this.length)),e}constructor(e,t,i,a,c,f=[],h){this.type=e,this.children=f,this.dictionary=h,this.offset=Math.floor(Math.max(t||0,0)),this.length=Math.floor(Math.max(i||0,0)),this._nullCount=Math.floor(Math.max(a||0,-1));let m;c instanceof Ye?(this.stride=c.stride,this.values=c.values,this.typeIds=c.typeIds,this.nullBitmap=c.nullBitmap,this.valueOffsets=c.valueOffsets):(this.stride=vr(e),c&&((m=c[0])&&(this.valueOffsets=m),(m=c[1])&&(this.values=m),(m=c[2])&&(this.nullBitmap=m),(m=c[3])&&(this.typeIds=m)))}getValid(e){const{type:t}=this;if(me.isUnion(t)){const i=t,a=this.children[i.typeIdToChildIndex[this.typeIds[e]]],c=i.mode===Yt.Dense?this.valueOffsets[e]:e;return a.getValid(c)}if(this.nullable&&this.nullCount>0){const i=this.offset+e;return(this.nullBitmap[i>>3]&1<>3;(!c||c.byteLength<=v)&&(c=new Uint8Array((f+h+63&-64)>>3).fill(255),this.nullCount>0?(c.set(Mm(f,h,this.nullBitmap),0),Object.assign(this,{nullBitmap:c})):Object.assign(this,{nullBitmap:c,_nullCount:0}));const x=c[v];i=(x&g)!==0,c[v]=t?x|g:x&~g}return i!==!!t&&(this._nullCount=this.nullCount+(t?-1:1)),t}clone(e=this.type,t=this.offset,i=this.length,a=this._nullCount,c=this,f=this.children){return new Ye(e,t,i,a,c,f,this.dictionary)}slice(e,t){const{stride:i,typeId:a,children:c}=this,f=+(this._nullCount===0)-1,h=a===16?i:1,m=this._sliceBuffers(e,t,i,a);return this.clone(this.type,this.offset+e,t,f,m,c.length===0||this.valueOffsets?c:this._sliceChildren(c,h*e,h*t))}_changeLengthAndBackfillNullBitmap(e){if(this.typeId===M.Null)return this.clone(this.type,0,e,0);const{length:t,nullCount:i}=this,a=new Uint8Array((e+63&-64)>>3).fill(255,0,t>>3);a[t>>3]=(1<0&&a.set(Mm(this.offset,t,this.nullBitmap),0);const c=this.buffers;return c[gr.VALIDITY]=a,this.clone(this.type,0,e,i+(e-t),c)}_sliceBuffers(e,t,i,a){let c;const{buffers:f}=this;return(c=f[gr.TYPE])&&(f[gr.TYPE]=c.subarray(e,e+t)),(c=f[gr.OFFSET])&&(f[gr.OFFSET]=c.subarray(e,e+t+1))||(c=f[gr.DATA])&&(f[gr.DATA]=a===6?c:c.subarray(i*e,i*(e+t))),f}_sliceChildren(e,t,i){return e.map(a=>a.slice(t,i))}}Ye.prototype.children=Object.freeze([]);class zo extends Ue{visit(e){return this.getVisitFn(e.type).call(this,e)}visitNull(e){const{["type"]:t,["offset"]:i=0,["length"]:a=0}=e;return new Ye(t,i,a,a)}visitBool(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length>>3,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitInt(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitFloat(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitUtf8(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.data),c=$e(e.nullBitmap),f=Fo(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,c])}visitLargeUtf8(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.data),c=$e(e.nullBitmap),f=pm(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,c])}visitBinary(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.data),c=$e(e.nullBitmap),f=Fo(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,c])}visitLargeBinary(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.data),c=$e(e.nullBitmap),f=pm(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,c])}visitFixedSizeBinary(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitDate(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitTimestamp(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitTime(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitDecimal(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitList(e){const{["type"]:t,["offset"]:i=0,["child"]:a}=e,c=$e(e.nullBitmap),f=Fo(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,void 0,c],[a])}visitStruct(e){const{["type"]:t,["offset"]:i=0,["children"]:a=[]}=e,c=$e(e.nullBitmap),{length:f=a.reduce((m,{length:g})=>Math.max(m,g),0),nullCount:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,void 0,c],a)}visitUnion(e){const{["type"]:t,["offset"]:i=0,["children"]:a=[]}=e,c=Ke(t.ArrayType,e.typeIds),{["length"]:f=c.length,["nullCount"]:h=-1}=e;if(me.isSparseUnion(t))return new Ye(t,i,f,h,[void 0,void 0,void 0,c],a);const m=Fo(e.valueOffsets);return new Ye(t,i,f,h,[m,void 0,void 0,c],a)}visitDictionary(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),c=Ke(t.indices.ArrayType,e.data),{["dictionary"]:f=new Je([new zo().visit({type:t.dictionary})])}=e,{["length"]:h=c.length,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[void 0,c,a],[],f)}visitInterval(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitDuration(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitFixedSizeList(e){const{["type"]:t,["offset"]:i=0,["child"]:a=new zo().visit({type:t.valueType})}=e,c=$e(e.nullBitmap),{["length"]:f=a.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,void 0,c],[a])}visitMap(e){const{["type"]:t,["offset"]:i=0,["child"]:a=new zo().visit({type:t.childType})}=e,c=$e(e.nullBitmap),f=Fo(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,void 0,c],[a])}}const Gw=new zo;function Re(n){return Gw.visit(n)}class Dm{constructor(e=0,t){this.numChunks=e,this.getChunkIterator=t,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndexe.nullable)}function tv(n){return n.reduce((e,t)=>e+t.nullCount,0)}function nv(n){return n.reduce((e,t,i)=>(e[i+1]=e[i]+t.length,e),new Uint32Array(n.length+1))}function rv(n,e,t,i){const a=[];for(let c=-1,f=n.length;++c=i)break;if(t>=m+g)continue;if(m>=t&&m+g<=i){a.push(h);continue}const v=Math.max(0,t-m),x=Math.min(i-m,g);a.push(h.slice(v,x-v))}return a.length===0&&a.push(n[0].slice(0,0)),a}function Zd(n,e,t,i){let a=0,c=0,f=e.length-1;do{if(a>=f-1)return t0?0:-1}function Kw(n,e){const{nullBitmap:t}=n;if(!t||n.nullCount<=0)return-1;let i=0;for(const a of new qd(t,n.offset+(e||0),n.length,t,ev)){if(!a)return i;++i}return-1}function De(n,e,t){if(e===void 0)return-1;if(e===null)switch(n.typeId){case M.Union:break;case M.Dictionary:break;default:return Kw(n,t)}const i=Qt.getVisitFn(n),a=Ri(e);for(let c=(t||0)-1,f=n.length;++c{const a=n.data[i];return a.values.subarray(0,a.length)[Symbol.iterator]()});let t=0;return new Dm(n.data.length,i=>{const c=n.data[i].length,f=n.slice(t,t+c);return t+=c,new Jw(f)})}class Jw{constructor(e){this.vector=e,this.index=0}next(){return this.indexh.data):e;if(c.length===0||c.some(h=>!(h instanceof Ye)))throw new TypeError("Vector constructor expects an Array of Data instances.");const f=(t=c[0])===null||t===void 0?void 0:t.type;switch(c.length){case 0:this._offsets=[0];break;case 1:{const{get:h,set:m,indexOf:g}=lv[f.typeId],v=c[0];this.isValid=x=>Xd(v,x),this.get=x=>h(v,x),this.set=(x,b)=>m(v,x,b),this.indexOf=x=>g(v,x),this._offsets=[0,v.length];break}default:Object.setPrototypeOf(this,cv[f.typeId]),this._offsets=nv(c);break}this.data=c,this.type=f,this.stride=vr(f),this.numChildren=(a=(i=f.children)===null||i===void 0?void 0:i.length)!==null&&a!==void 0?a:0,this.length=this._offsets.at(-1)}get byteLength(){return this.data.reduce((e,t)=>e+t.byteLength,0)}get nullable(){return Yw(this.data)}get nullCount(){return tv(this.data)}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${M[this.type.typeId]}Vector`}isValid(e){return!1}get(e){return null}at(e){return this.get(Jd(e,this.length))}set(e,t){}indexOf(e,t){return-1}includes(e,t){return this.indexOf(e,t)>-1}[Symbol.iterator](){return ef.visit(this)}concat(...e){return new Je(this.data.concat(e.flatMap(t=>t.data).flat(Number.POSITIVE_INFINITY)))}slice(e,t){return new Je(Xg(this,e,t,({data:i,_offsets:a},c,f)=>rv(i,a,c,f)))}toJSON(){return[...this]}toArray(){const{type:e,data:t,length:i,stride:a,ArrayType:c}=this;switch(e.typeId){case M.Int:case M.Float:case M.Decimal:case M.Time:case M.Timestamp:switch(t.length){case 0:return new c;case 1:return t[0].values.subarray(0,i*a);default:return t.reduce((f,{values:h,length:m})=>(f.array.set(h.subarray(0,m*a),f.offset),f.offset+=m*a,f),{array:new c(i*a),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(",")}]`}getChild(e){var t;return this.getChildAt((t=this.type.children)===null||t===void 0?void 0:t.findIndex(i=>i.name===e))}getChildAt(e){return e>-1&&et[e])):null}get isMemoized(){return me.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(me.isDictionary(this.type)){const e=new Zl(this.data[0].dictionary),t=this.data.map(i=>{const a=i.clone();return a.dictionary=e,a});return new Je(t)}return new Zl(this)}unmemoize(){if(me.isDictionary(this.type)&&this.isMemoized){const e=this.data[0].dictionary.unmemoize(),t=this.data.map(i=>{const a=i.clone();return a.dictionary=e,a});return new Je(t)}return this}}av=Symbol.toStringTag;Je[av]=(n=>{n.type=me.prototype,n.data=[],n.length=0,n.stride=1,n.numChildren=0,n._offsets=new Uint32Array([0]),n[Symbol.isConcatSpreadable]=!0;const e=Object.keys(M).map(t=>M[t]).filter(t=>typeof t=="number"&&t!==M.NONE);for(const t of e){const i=Qt.getVisitFnByTypeId(t),a=bn.getVisitFnByTypeId(t),c=ql.getVisitFnByTypeId(t);lv[t]={get:i,set:a,indexOf:c},cv[t]=Object.create(n,{isValid:{value:Jl(Xd)},get:{value:Jl(Qt.getVisitFnByTypeId(t))},set:{value:sv(bn.getVisitFnByTypeId(t))},indexOf:{value:iv(ql.getVisitFnByTypeId(t))}})}return"Vector"})(Je.prototype);class Zl extends Je{constructor(e){super(e.data);const t=this.get,i=this.set,a=this.slice,c=new Array(this.length);Object.defineProperty(this,"get",{value(f){const h=c[f];if(h!==void 0)return h;const m=t.call(this,f);return c[f]=m,m}}),Object.defineProperty(this,"set",{value(f,h){i.call(this,f,h),c[f]=h}}),Object.defineProperty(this,"slice",{value:(f,h)=>new Zl(a.call(this,f,h))}),Object.defineProperty(this,"isMemoized",{value:!0}),Object.defineProperty(this,"unmemoize",{value:()=>new Je(this.data)}),Object.defineProperty(this,"memoize",{value:()=>this})}}class Bd{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(e,t,i,a){return e.prep(8,24),e.writeInt64(BigInt(a??0)),e.pad(4),e.writeInt32(i),e.writeInt64(BigInt(t??0)),e.offset()}}class tn{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsFooter(e,t){return(t||new tn).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsFooter(e,t){return e.setPosition(e.position()+He),(t||new tn).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):ht.V1}schema(e){const t=this.bb.__offset(this.bb_pos,6);return t?(e||new Gn).__init(this.bb.__indirect(this.bb_pos+t),this.bb):null}dictionaries(e,t){const i=this.bb.__offset(this.bb_pos,8);return i?(t||new Bd).__init(this.bb.__vector(this.bb_pos+i)+e*24,this.bb):null}dictionariesLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}recordBatches(e,t){const i=this.bb.__offset(this.bb_pos,10);return i?(t||new Bd).__init(this.bb.__vector(this.bb_pos+i)+e*24,this.bb):null}recordBatchesLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,12);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startFooter(e){e.startObject(5)}static addVersion(e,t){e.addFieldInt16(0,t,ht.V1)}static addSchema(e,t){e.addFieldOffset(1,t,0)}static addDictionaries(e,t){e.addFieldOffset(2,t,0)}static startDictionariesVector(e,t){e.startVector(24,t,8)}static addRecordBatches(e,t){e.addFieldOffset(3,t,0)}static startRecordBatchesVector(e,t){e.startVector(24,t,8)}static addCustomMetadata(e,t){e.addFieldOffset(4,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endFooter(e){return e.endObject()}static finishFooterBuffer(e,t){e.finish(t)}static finishSizePrefixedFooterBuffer(e,t){e.finish(t,void 0,!0)}}class We{constructor(e=[],t,i,a=ht.V5){this.fields=e||[],this.metadata=t||new Map,i||(i=Ed(this.fields)),this.dictionaries=i,this.metadataVersion=a}get[Symbol.toStringTag](){return"Schema"}get names(){return this.fields.map(e=>e.name)}toString(){return`Schema<{ ${this.fields.map((e,t)=>`${t}: ${e}`).join(", ")} }>`}select(e){const t=new Set(e),i=this.fields.filter(a=>t.has(a.name));return new We(i,this.metadata)}selectAt(e){const t=e.map(i=>this.fields[i]).filter(Boolean);return new We(t,this.metadata)}assign(...e){const t=e[0]instanceof We?e[0]:Array.isArray(e[0])?new We(e[0]):new We(e),i=[...this.fields],a=fl(fl(new Map,this.metadata),t.metadata),c=t.fields.filter(h=>{const m=i.findIndex(g=>g.name===h.name);return~m?(i[m]=h.clone({metadata:fl(fl(new Map,i[m].metadata),h.metadata)}))&&!1:!0}),f=Ed(c,new Map);return new We([...i,...c],a,new Map([...this.dictionaries,...f]))}}We.prototype.fields=null;We.prototype.metadata=null;We.prototype.dictionaries=null;class nt{static new(...e){let[t,i,a,c]=e;return e[0]&&typeof e[0]=="object"&&({name:t}=e[0],i===void 0&&(i=e[0].type),a===void 0&&(a=e[0].nullable),c===void 0&&(c=e[0].metadata)),new nt(`${t}`,i,a,c)}constructor(e,t,i=!1,a){this.name=e,this.type=t,this.nullable=i,this.metadata=a||new Map}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return"Field"}toString(){return`${this.name}: ${this.type}`}clone(...e){let[t,i,a,c]=e;return!e[0]||typeof e[0]!="object"?[t=this.name,i=this.type,a=this.nullable,c=this.metadata]=e:{name:t=this.name,type:i=this.type,nullable:a=this.nullable,metadata:c=this.metadata}=e[0],nt.new(t,i,a,c)}}nt.prototype.type=null;nt.prototype.name=null;nt.prototype.nullable=null;nt.prototype.metadata=null;function fl(n,e){return new Map([...n||new Map,...e||new Map])}function Ed(n,e=new Map){for(let t=-1,i=n.length;++t0&&Ed(c.children,e)}return e}var qw=Ty,Zw=Ci;class tf{static decode(e){e=new Zw($e(e));const t=tn.getRootAsFooter(e),i=We.decode(t.schema(),new Map,t.version());return new Xw(i,t)}static encode(e){const t=new qw,i=We.encode(t,e.schema);tn.startRecordBatchesVector(t,e.numRecordBatches);for(const f of[...e.recordBatches()].slice().reverse())Ti.encode(t,f);const a=t.endVector();tn.startDictionariesVector(t,e.numDictionaries);for(const f of[...e.dictionaryBatches()].slice().reverse())Ti.encode(t,f);const c=t.endVector();return tn.startFooter(t),tn.addSchema(t,i),tn.addVersion(t,ht.V5),tn.addRecordBatches(t,a),tn.addDictionaries(t,c),tn.finishFooterBuffer(t,tn.endFooter(t)),t.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}constructor(e,t=ht.V5,i,a){this.schema=e,this.version=t,i&&(this._recordBatches=i),a&&(this._dictionaryBatches=a)}*recordBatches(){for(let e,t=-1,i=this.numRecordBatches;++t=0&&e=0&&e=0&&e=0&&ethis._closedPromiseResolve=e)}get closed(){return this._closedPromise}cancel(e){return Oe(this,void 0,void 0,function*(){yield this.return(e)})}write(e){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(e):this.resolvers.shift().resolve({done:!1,value:e}))}abort(e){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:e}:this.resolvers.shift().reject({done:!0,value:e}))}close(){if(this._closedPromiseResolve){const{resolvers:e}=this;for(;e.length>0;)e.shift().resolve(at);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(e){return pn.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,e)}toNodeStream(e){return pn.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,e)}throw(e){return Oe(this,void 0,void 0,function*(){return yield this.abort(e),at})}return(e){return Oe(this,void 0,void 0,function*(){return yield this.close(),at})}read(e){return Oe(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return Oe(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(...e){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((t,i)=>{this.resolvers.push({resolve:t,reject:i})}):Promise.resolve(at)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error("AsyncQueue is closed")}}class t1 extends e1{write(e){if((e=$e(e)).byteLength>0)return super.write(e)}toString(e=!1){return e?kd(this.toUint8Array(!0)):this.toUint8Array(!1).then(kd)}toUint8Array(e=!1){return e?tr(this._values)[0]:Oe(this,void 0,void 0,function*(){var t,i,a,c;const f=[];let h=0;try{for(var m=!0,g=_i(this),v;v=yield g.next(),t=v.done,!t;m=!0){c=v.value,m=!1;const x=c;f.push(x),h+=x.byteLength}}catch(x){i={error:x}}finally{try{!m&&!t&&(a=g.return)&&(yield a.call(g))}finally{if(i)throw i.error}}return tr(f,h)[0]})}}class Xl{constructor(e){e&&(this.source=new n1(pn.fromIterable(e)))}[Symbol.iterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class Ai{constructor(e){e instanceof Ai?this.source=e.source:e instanceof t1?this.source=new ks(pn.fromAsyncIterable(e)):Cy(e)?this.source=new ks(pn.fromNodeStream(e)):Wd(e)?this.source=new ks(pn.fromDOMStream(e)):My(e)?this.source=new ks(pn.fromDOMStream(e.body)):uc(e)?this.source=new ks(pn.fromIterable(e)):Vo(e)?this.source=new ks(pn.fromAsyncIterable(e)):Vd(e)&&(this.source=new ks(pn.fromAsyncIterable(e)))}[Symbol.asyncIterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}get closed(){return this.source.closed}cancel(e){return this.source.cancel(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class n1{constructor(e){this.source=e}cancel(e){this.return(e)}peek(e){return this.next(e,"peek").value}read(e){return this.next(e,"read").value}next(e,t="read"){return this.source.next({cmd:t,size:e})}throw(e){return Object.create(this.source.throw&&this.source.throw(e)||at)}return(e){return Object.create(this.source.return&&this.source.return(e)||at)}}class ks{constructor(e){this.source=e,this._closedPromise=new Promise(t=>this._closedPromiseResolve=t)}cancel(e){return Oe(this,void 0,void 0,function*(){yield this.return(e)})}get closed(){return this._closedPromise}read(e){return Oe(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return Oe(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(e){return Oe(this,arguments,void 0,function*(t,i="read"){return yield this.source.next({cmd:i,size:t})})}throw(e){return Oe(this,void 0,void 0,function*(){const t=this.source.throw&&(yield this.source.throw(e))||at;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(t)})}return(e){return Oe(this,void 0,void 0,function*(){const t=this.source.return&&(yield this.source.return(e))||at;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(t)})}}class Fm extends Xl{constructor(e,t){super(),this.position=0,this.buffer=$e(e),this.size=t===void 0?this.buffer.byteLength:t}readInt32(e){const{buffer:t,byteOffset:i}=this.readAt(e,4);return new DataView(t,i).getInt32(0,!0)}seek(e){return this.position=Math.min(e,this.size),e>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),i=new Uint32Array([e.buffer[1]>>>16,e.buffer[1]&65535,e.buffer[0]>>>16,e.buffer[0]&65535]);let a=t[3]*i[3];this.buffer[0]=a&65535;let c=a>>>16;return a=t[2]*i[3],c+=a,a=t[3]*i[2]>>>0,c+=a,this.buffer[0]+=c<<16,this.buffer[1]=c>>>0>>16,this.buffer[1]+=t[1]*i[3]+t[2]*i[2]+t[3]*i[1],this.buffer[1]+=t[0]*i[3]+t[1]*i[2]+t[2]*i[1]+t[3]*i[0]<<16,this}_plus(e){const t=this.buffer[0]+e.buffer[0]>>>0;this.buffer[1]+=e.buffer[1],t>>0&&++this.buffer[1],this.buffer[0]=t}lessThan(e){return this.buffer[1]>>0,t[2]=this.buffer[2]+e.buffer[2]>>>0,t[1]=this.buffer[1]+e.buffer[1]>>>0,t[0]=this.buffer[0]+e.buffer[0]>>>0,t[0]>>0&&++t[1],t[1]>>0&&++t[2],t[2]>>0&&++t[3],this.buffer[3]=t[3],this.buffer[2]=t[2],this.buffer[1]=t[1],this.buffer[0]=t[0],this}hex(){return`${Si(this.buffer[3])} ${Si(this.buffer[2])} ${Si(this.buffer[1])} ${Si(this.buffer[0])}`}static multiply(e,t){return new Yn(new Uint32Array(e.buffer)).times(t)}static add(e,t){return new Yn(new Uint32Array(e.buffer)).plus(t)}static from(e,t=new Uint32Array(4)){return Yn.fromString(typeof e=="string"?e:e.toString(),t)}static fromNumber(e,t=new Uint32Array(4)){return Yn.fromString(e.toString(),t)}static fromString(e,t=new Uint32Array(4)){const i=e.startsWith("-"),a=e.length,c=new Yn(t);for(let f=i?1:0;f0&&this.readData(e,i)||new Uint8Array(0)}readOffsets(e,t){return this.readData(e,t)}readTypeIds(e,t){return this.readData(e,t)}readData(e,{length:t,offset:i}=this.nextBufferRange()){return this.bytes.subarray(i,i+t)}readDictionary(e){return this.dictionaries.get(e.id)}}class s1 extends fv{constructor(e,t,i,a,c){super(new Uint8Array(0),t,i,a,c),this.sources=e}readNullBitmap(e,t,{offset:i}=this.nextBufferRange()){return t<=0?new Uint8Array(0):Td(this.sources[i])}readOffsets(e,{offset:t}=this.nextBufferRange()){return Ke(Uint8Array,Ke(e.OffsetArrayType,this.sources[t]))}readTypeIds(e,{offset:t}=this.nextBufferRange()){return Ke(Uint8Array,Ke(e.ArrayType,this.sources[t]))}readData(e,{offset:t}=this.nextBufferRange()){const{sources:i}=this;return me.isTimestamp(e)||(me.isInt(e)||me.isTime(e))&&e.bitWidth===64||me.isDuration(e)||me.isDate(e)&&e.unit===xn.MILLISECOND?Ke(Uint8Array,Wt.convertArray(i[t])):me.isDecimal(e)?Ke(Uint8Array,Yn.convertArray(i[t])):me.isBinary(e)||me.isLargeBinary(e)||me.isFixedSizeBinary(e)?i1(i[t]):me.isBool(e)?Td(i[t]):me.isUtf8(e)||me.isLargeUtf8(e)?zd(i[t].join("")):Ke(Uint8Array,Ke(e.ArrayType,i[t].map(a=>+a)))}}function i1(n){const e=n.join(""),t=new Uint8Array(e.length/2);for(let i=0;i>1]=Number.parseInt(e.slice(i,i+2),16);return t}class Se extends Ue{compareSchemas(e,t){return e===t||t instanceof e.constructor&&this.compareManyFields(e.fields,t.fields)}compareManyFields(e,t){return e===t||Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((i,a)=>this.compareFields(i,t[a]))}compareFields(e,t){return e===t||t instanceof e.constructor&&e.name===t.name&&e.nullable===t.nullable&&this.visit(e.type,t.type)}}function Bt(n,e){return e instanceof n.constructor}function Bs(n,e){return n===e||Bt(n,e)}function Mr(n,e){return n===e||Bt(n,e)&&n.bitWidth===e.bitWidth&&n.isSigned===e.isSigned}function fc(n,e){return n===e||Bt(n,e)&&n.precision===e.precision}function o1(n,e){return n===e||Bt(n,e)&&n.byteWidth===e.byteWidth}function rf(n,e){return n===e||Bt(n,e)&&n.unit===e.unit}function Jo(n,e){return n===e||Bt(n,e)&&n.unit===e.unit&&n.timezone===e.timezone}function qo(n,e){return n===e||Bt(n,e)&&n.unit===e.unit&&n.bitWidth===e.bitWidth}function a1(n,e){return n===e||Bt(n,e)&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}function l1(n,e){return n===e||Bt(n,e)&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}function sf(n,e){return n===e||Bt(n,e)&&n.mode===e.mode&&n.typeIds.every((t,i)=>t===e.typeIds[i])&&is.compareManyFields(n.children,e.children)}function c1(n,e){return n===e||Bt(n,e)&&n.id===e.id&&n.isOrdered===e.isOrdered&&is.visit(n.indices,e.indices)&&is.visit(n.dictionary,e.dictionary)}function of(n,e){return n===e||Bt(n,e)&&n.unit===e.unit}function Zo(n,e){return n===e||Bt(n,e)&&n.unit===e.unit}function u1(n,e){return n===e||Bt(n,e)&&n.listSize===e.listSize&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}function d1(n,e){return n===e||Bt(n,e)&&n.keysSorted===e.keysSorted&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}Se.prototype.visitNull=Bs;Se.prototype.visitBool=Bs;Se.prototype.visitInt=Mr;Se.prototype.visitInt8=Mr;Se.prototype.visitInt16=Mr;Se.prototype.visitInt32=Mr;Se.prototype.visitInt64=Mr;Se.prototype.visitUint8=Mr;Se.prototype.visitUint16=Mr;Se.prototype.visitUint32=Mr;Se.prototype.visitUint64=Mr;Se.prototype.visitFloat=fc;Se.prototype.visitFloat16=fc;Se.prototype.visitFloat32=fc;Se.prototype.visitFloat64=fc;Se.prototype.visitUtf8=Bs;Se.prototype.visitLargeUtf8=Bs;Se.prototype.visitBinary=Bs;Se.prototype.visitLargeBinary=Bs;Se.prototype.visitFixedSizeBinary=o1;Se.prototype.visitDate=rf;Se.prototype.visitDateDay=rf;Se.prototype.visitDateMillisecond=rf;Se.prototype.visitTimestamp=Jo;Se.prototype.visitTimestampSecond=Jo;Se.prototype.visitTimestampMillisecond=Jo;Se.prototype.visitTimestampMicrosecond=Jo;Se.prototype.visitTimestampNanosecond=Jo;Se.prototype.visitTime=qo;Se.prototype.visitTimeSecond=qo;Se.prototype.visitTimeMillisecond=qo;Se.prototype.visitTimeMicrosecond=qo;Se.prototype.visitTimeNanosecond=qo;Se.prototype.visitDecimal=Bs;Se.prototype.visitList=a1;Se.prototype.visitStruct=l1;Se.prototype.visitUnion=sf;Se.prototype.visitDenseUnion=sf;Se.prototype.visitSparseUnion=sf;Se.prototype.visitDictionary=c1;Se.prototype.visitInterval=of;Se.prototype.visitIntervalDayTime=of;Se.prototype.visitIntervalYearMonth=of;Se.prototype.visitDuration=Zo;Se.prototype.visitDurationSecond=Zo;Se.prototype.visitDurationMillisecond=Zo;Se.prototype.visitDurationMicrosecond=Zo;Se.prototype.visitDurationNanosecond=Zo;Se.prototype.visitFixedSizeList=u1;Se.prototype.visitMap=d1;const is=new Se;function f1(n,e){return is.compareSchemas(n,e)}function dd(n,e){return h1(n,e.map(t=>t.data.concat()))}function h1(n,e){const t=[...n.fields],i=[],a={numBatches:e.reduce((x,b)=>Math.max(x,b.length),0)};let c=0,f=0,h=-1;const m=e.length;let g,v=[];for(;a.numBatches-- >0;){for(f=Number.POSITIVE_INFINITY,h=-1;++h0&&(i[c++]=Re({type:new At(t),length:f,nullCount:0,children:v.slice()})))}return[n=n.assign(t),i.map(x=>new Tn(n,x))]}function p1(n,e,t,i,a){var c;const f=(e+63&-64)>>3;for(let h=-1,m=i.length;++h=e)v===e?t[h]=g:(t[h]=g.slice(0,e),a.numBatches=Math.max(a.numBatches,i[h].unshift(g.slice(e,v-e))));else{const x=n[h];n[h]=x.clone({nullable:!0}),t[h]=(c=g==null?void 0:g._changeLengthAndBackfillNullBitmap(e))!==null&&c!==void 0?c:Re({type:x.type,length:e,nullCount:e,nullBitmap:new Uint8Array(f)})}}return t}var hv;class gn{constructor(...e){var t,i;if(e.length===0)return this.batches=[],this.schema=new We([]),this._offsets=[0],this;let a,c;e[0]instanceof We&&(a=e.shift()),e.at(-1)instanceof Uint32Array&&(c=e.pop());const f=m=>{if(m){if(m instanceof Tn)return[m];if(m instanceof gn)return m.batches;if(m instanceof Ye){if(m.type instanceof At)return[new Tn(new We(m.type.children),m)]}else{if(Array.isArray(m))return m.flatMap(g=>f(g));if(typeof m[Symbol.iterator]=="function")return[...m].flatMap(g=>f(g));if(typeof m=="object"){const g=Object.keys(m),v=g.map(w=>new Je([m[w]])),x=a??new We(g.map((w,_)=>new nt(String(w),v[_].type,v[_].nullable))),[,b]=dd(x,v);return b.length===0?[new Tn(m)]:b}}}return[]},h=e.flatMap(m=>f(m));if(a=(i=a??((t=h[0])===null||t===void 0?void 0:t.schema))!==null&&i!==void 0?i:new We([]),!(a instanceof We))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");for(const m of h){if(!(m instanceof Tn))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");if(!f1(a,m.schema))throw new TypeError("Table and inner RecordBatch schemas must be equivalent.")}this.schema=a,this.batches=h,this._offsets=c??nv(this.data)}get data(){return this.batches.map(({data:e})=>e)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((e,t)=>e+t.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=tv(this.data)),this._nullCount}isValid(e){return!1}get(e){return null}at(e){return this.get(Jd(e,this.numRows))}set(e,t){}indexOf(e,t){return-1}[Symbol.iterator](){return this.batches.length>0?ef.visit(new Je(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[ + ${this.toArray().join(`, + `)} +]`}concat(...e){const t=this.schema,i=this.data.concat(e.flatMap(({data:a})=>a));return new gn(t,i.map(a=>new Tn(t,a)))}slice(e,t){const i=this.schema;[e,t]=Xg({length:this.numRows},e,t);const a=rv(this.data,this._offsets,e,t);return new gn(i,a.map(c=>new Tn(i,c)))}getChild(e){return this.getChildAt(this.schema.fields.findIndex(t=>t.name===e))}getChildAt(e){if(e>-1&&ei.children[e]);if(t.length===0){const{type:i}=this.schema.fields[e],a=Re({type:i,length:0,nullCount:0});t.push(a._changeLengthAndBackfillNullBitmap(this.numRows))}return new Je(t)}return null}setChild(e,t){var i;return this.setChildAt((i=this.schema.fields)===null||i===void 0?void 0:i.findIndex(a=>a.name===e),t)}setChildAt(e,t){let i=this.schema,a=[...this.batches];if(e>-1&&ethis.getChildAt(g));[c[e],h[e]]=[f,t],[i,a]=dd(i,h)}return new gn(i,a)}select(e){const t=this.schema.fields.reduce((i,a,c)=>i.set(a.name,c),new Map);return this.selectAt(e.map(i=>t.get(i)).filter(i=>i>-1))}selectAt(e){const t=this.schema.selectAt(e),i=this.batches.map(a=>a.selectAt(e));return new gn(t,i)}assign(e){const t=this.schema.fields,[i,a]=e.schema.fields.reduce((h,m,g)=>{const[v,x]=h,b=t.findIndex(w=>w.name===m.name);return~b?x[b]=g:v.push(g),h},[[],[]]),c=this.schema.assign(e.schema),f=[...t.map((h,m)=>[m,a[m]]).map(([h,m])=>m===void 0?this.getChildAt(h):e.getChildAt(m)),...i.map(h=>e.getChildAt(h))].filter(Boolean);return new gn(...dd(c,f))}}hv=Symbol.toStringTag;gn[hv]=(n=>(n.schema=null,n.batches=[],n._offsets=new Uint32Array([0]),n._nullCount=-1,n[Symbol.isConcatSpreadable]=!0,n.isValid=Jl(Xd),n.get=Jl(Qt.getVisitFn(M.Struct)),n.set=sv(bn.getVisitFn(M.Struct)),n.indexOf=iv(ql.getVisitFn(M.Struct)),"Table"))(gn.prototype);var pv;let Tn=class Po{constructor(...e){switch(e.length){case 2:{if([this.schema]=e,!(this.schema instanceof We))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");if([,this.data=Re({nullCount:0,type:new At(this.schema.fields),children:this.schema.fields.map(t=>Re({type:t.type,nullCount:0}))})]=e,!(this.data instanceof Ye))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");[this.schema,this.data]=Om(this.schema,this.data.children);break}case 1:{const[t]=e,{fields:i,children:a,length:c}=Object.keys(t).reduce((m,g,v)=>(m.children[v]=t[g],m.length=Math.max(m.length,t[g].length),m.fields[v]=nt.new({name:g,type:t[g].type,nullable:!0}),m),{length:0,fields:new Array,children:new Array}),f=new We(i),h=Re({type:new At(i),length:c,children:a,nullCount:0});[this.schema,this.data]=Om(f,h.children,c);break}default:throw new TypeError("RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.")}}get dictionaries(){return this._dictionaries||(this._dictionaries=mv(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(e){return this.data.getValid(e)}get(e){return Qt.visit(this.data,e)}at(e){return this.get(Jd(e,this.numRows))}set(e,t){return bn.visit(this.data,e,t)}indexOf(e,t){return ql.visit(this.data,e,t)}[Symbol.iterator](){return ef.visit(new Je([this.data]))}toArray(){return[...this]}concat(...e){return new gn(this.schema,[this,...e])}slice(e,t){const[i]=new Je([this.data]).slice(e,t).data;return new Po(this.schema,i)}getChild(e){var t;return this.getChildAt((t=this.schema.fields)===null||t===void 0?void 0:t.findIndex(i=>i.name===e))}getChildAt(e){return e>-1&&ea.name===e),t)}setChildAt(e,t){let i=this.schema,a=this.data;if(e>-1&&eh.name===c);~f&&(a[f]=this.data.children[f])}return new Po(t,Re({type:i,length:this.numRows,children:a}))}selectAt(e){const t=this.schema.selectAt(e),i=e.map(c=>this.data.children[c]).filter(Boolean),a=Re({type:new At(t.fields),length:this.numRows,children:i});return new Po(t,a)}};pv=Symbol.toStringTag;Tn[pv]=(n=>(n._nullCount=-1,n[Symbol.isConcatSpreadable]=!0,"RecordBatch"))(Tn.prototype);function Om(n,e,t=e.reduce((i,a)=>Math.max(i,a.length),0)){var i;const a=[...n.fields],c=[...e],f=(t+63&-64)>>3;for(const[h,m]of n.fields.entries()){const g=e[h];(!g||g.length!==t)&&(a[h]=m.clone({nullable:!0}),c[h]=(i=g==null?void 0:g._changeLengthAndBackfillNullBitmap(t))!==null&&i!==void 0?i:Re({type:m.type,length:t,nullCount:t,nullBitmap:new Uint8Array(f)}))}return[n.assign(a),Re({type:new At(a),length:t,children:c})]}function mv(n,e,t=new Map){var i,a;if(((i=n==null?void 0:n.length)!==null&&i!==void 0?i:0)>0&&(n==null?void 0:n.length)===(e==null?void 0:e.length))for(let c=-1,f=n.length;++cRe({type:a.type})),i=Re({type:new At(e.fields),nullCount:0,children:t});super(e,i)}}let qr=class Hn{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsMessage(e,t){return(t||new Hn).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsMessage(e,t){return e.setPosition(e.position()+He),(t||new Hn).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):ht.V1}headerType(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint8(this.bb_pos+e):Ve.NONE}header(e){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__union(e,this.bb_pos+t):null}bodyLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readInt64(this.bb_pos+e):BigInt("0")}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,12);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startMessage(e){e.startObject(5)}static addVersion(e,t){e.addFieldInt16(0,t,ht.V1)}static addHeaderType(e,t){e.addFieldInt8(1,t,Ve.NONE)}static addHeader(e,t){e.addFieldOffset(2,t,0)}static addBodyLength(e,t){e.addFieldInt64(3,t,BigInt("0"))}static addCustomMetadata(e,t){e.addFieldOffset(4,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endMessage(e){return e.endObject()}static finishMessageBuffer(e,t){e.finish(t)}static finishSizePrefixedMessageBuffer(e,t){e.finish(t,void 0,!0)}static createMessage(e,t,i,a,c,f){return Hn.startMessage(e),Hn.addVersion(e,t),Hn.addHeaderType(e,i),Hn.addHeader(e,a),Hn.addBodyLength(e,c),Hn.addCustomMetadata(e,f),Hn.endMessage(e)}};class m1 extends Ue{visit(e,t){return e==null||t==null?void 0:super.visit(e,t)}visitNull(e,t){return Sm.startNull(t),Sm.endNull(t)}visitInt(e,t){return nn.startInt(t),nn.addBitWidth(t,e.bitWidth),nn.addIsSigned(t,e.isSigned),nn.endInt(t)}visitFloat(e,t){return Jn.startFloatingPoint(t),Jn.addPrecision(t,e.precision),Jn.endFloatingPoint(t)}visitBinary(e,t){return gm.startBinary(t),gm.endBinary(t)}visitLargeBinary(e,t){return xm.startLargeBinary(t),xm.endLargeBinary(t)}visitBool(e,t){return vm.startBool(t),vm.endBool(t)}visitUtf8(e,t){return _m.startUtf8(t),_m.endUtf8(t)}visitLargeUtf8(e,t){return bm.startLargeUtf8(t),bm.endLargeUtf8(t)}visitDecimal(e,t){return pi.startDecimal(t),pi.addScale(t,e.scale),pi.addPrecision(t,e.precision),pi.addBitWidth(t,e.bitWidth),pi.endDecimal(t)}visitDate(e,t){return wl.startDate(t),wl.addUnit(t,e.unit),wl.endDate(t)}visitTime(e,t){return mn.startTime(t),mn.addUnit(t,e.unit),mn.addBitWidth(t,e.bitWidth),mn.endTime(t)}visitTimestamp(e,t){const i=e.timezone&&t.createString(e.timezone)||void 0;return yn.startTimestamp(t),yn.addUnit(t,e.unit),i!==void 0&&yn.addTimezone(t,i),yn.endTimestamp(t)}visitInterval(e,t){return qn.startInterval(t),qn.addUnit(t,e.unit),qn.endInterval(t)}visitDuration(e,t){return Sl.startDuration(t),Sl.addUnit(t,e.unit),Sl.endDuration(t)}visitList(e,t){return wm.startList(t),wm.endList(t)}visitStruct(e,t){return Is.startStruct_(t),Is.endStruct_(t)}visitUnion(e,t){Ht.startTypeIdsVector(t,e.typeIds.length);const i=Ht.createTypeIdsVector(t,e.typeIds);return Ht.startUnion(t),Ht.addMode(t,e.mode),Ht.addTypeIds(t,i),Ht.endUnion(t)}visitDictionary(e,t){const i=this.visit(e.indices,t);return wr.startDictionaryEncoding(t),wr.addId(t,BigInt(e.id)),wr.addIsOrdered(t,e.isOrdered),i!==void 0&&wr.addIndexType(t,i),wr.endDictionaryEncoding(t)}visitFixedSizeBinary(e,t){return _l.startFixedSizeBinary(t),_l.addByteWidth(t,e.byteWidth),_l.endFixedSizeBinary(t)}visitFixedSizeList(e,t){return Nl.startFixedSizeList(t),Nl.addListSize(t,e.listSize),Nl.endFixedSizeList(t)}visitMap(e,t){return jl.startMap(t),jl.addKeysSorted(t,e.keysSorted),jl.endMap(t)}}const fd=new m1;function y1(n,e=new Map){return new We(v1(n,e),Il(n.metadata),e)}function gv(n){return new Rn(n.count,vv(n.columns),xv(n.columns))}function g1(n){return new kr(gv(n.data),n.id,n.isDelta)}function v1(n,e){return(n.fields||[]).filter(Boolean).map(t=>nt.fromJSON(t,e))}function Tm(n,e){return(n.children||[]).filter(Boolean).map(t=>nt.fromJSON(t,e))}function vv(n){return(n||[]).reduce((e,t)=>[...e,new Li(t.count,x1(t.VALIDITY)),...vv(t.children)],[])}function xv(n,e=[]){for(let t=-1,i=(n||[]).length;++te+ +(t===0),0)}function b1(n,e){let t,i,a,c,f,h;return!e||!(c=n.dictionary)?(f=Bm(n,Tm(n,e)),a=new nt(n.name,f,n.nullable,Il(n.metadata))):e.has(t=c.id)?(i=(i=c.indexType)?Am(i):new Yo,h=new Oi(e.get(t),i,t,c.isOrdered),a=new nt(n.name,h,n.nullable,Il(n.metadata))):(i=(i=c.indexType)?Am(i):new Yo,e.set(t,f=Bm(n,Tm(n,e))),h=new Oi(f,i,t,c.isOrdered),a=new nt(n.name,h,n.nullable,Il(n.metadata))),a||null}function Il(n=[]){return new Map(n.map(({key:e,value:t})=>[e,t]))}function Am(n){return new Cs(n.isSigned,n.bitWidth)}function Bm(n,e){const t=n.type.name;switch(t){case"NONE":return new ss;case"null":return new ss;case"binary":return new Al;case"largebinary":return new Bl;case"utf8":return new El;case"largeutf8":return new Rl;case"bool":return new Ll;case"list":return new Hl((e||[])[0]);case"struct":return new At(e||[]);case"struct_":return new At(e||[])}switch(t){case"int":{const i=n.type;return new Cs(i.isSigned,i.bitWidth)}case"floatingpoint":{const i=n.type;return new Tl(Dt[i.precision])}case"decimal":{const i=n.type;return new Ul(i.scale,i.precision,i.bitWidth)}case"date":{const i=n.type;return new $l(xn[i.unit])}case"time":{const i=n.type;return new Pl(_e[i.unit],i.bitWidth)}case"timestamp":{const i=n.type;return new zl(_e[i.unit],i.timezone)}case"interval":{const i=n.type;return new Vl(nr[i.unit])}case"duration":{const i=n.type;return new Wl(_e[i.unit])}case"union":{const i=n.type,[a,...c]=(i.mode+"").toLowerCase(),f=a.toUpperCase()+c.join("");return new Gl(Yt[f],i.typeIds||[],e||[])}case"fixedsizebinary":{const i=n.type;return new Yl(i.byteWidth)}case"fixedsizelist":{const i=n.type;return new Ql(i.listSize,(e||[])[0])}case"map":{const i=n.type;return new Kl((e||[])[0],i.keysSorted)}}throw new Error(`Unrecognized type: "${t}"`)}var w1=Ty,S1=Ci;class An{static fromJSON(e,t){const i=new An(0,ht.V5,t);return i._createHeader=_1(e,t),i}static decode(e){e=new S1($e(e));const t=qr.getRootAsMessage(e),i=t.bodyLength(),a=t.version(),c=t.headerType(),f=new An(i,a,c);return f._createHeader=N1(t,c),f}static encode(e){const t=new w1;let i=-1;return e.isSchema()?i=We.encode(t,e.header()):e.isRecordBatch()?i=Rn.encode(t,e.header()):e.isDictionaryBatch()&&(i=kr.encode(t,e.header())),qr.startMessage(t),qr.addVersion(t,ht.V5),qr.addHeader(t,i),qr.addHeaderType(t,e.headerType),qr.addBodyLength(t,BigInt(e.bodyLength)),qr.finishMessageBuffer(t,qr.endMessage(t)),t.asUint8Array()}static from(e,t=0){if(e instanceof We)return new An(0,ht.V5,Ve.Schema,e);if(e instanceof Rn)return new An(t,ht.V5,Ve.RecordBatch,e);if(e instanceof kr)return new An(t,ht.V5,Ve.DictionaryBatch,e);throw new Error(`Unrecognized Message header: ${e}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===Ve.Schema}isRecordBatch(){return this.headerType===Ve.RecordBatch}isDictionaryBatch(){return this.headerType===Ve.DictionaryBatch}constructor(e,t,i,a){this._version=t,this._headerType=i,this.body=new Uint8Array(0),a&&(this._createHeader=()=>a),this._bodyLength=tt(e)}}class Rn{get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}constructor(e,t,i){this._nodes=t,this._buffers=i,this._length=tt(e)}}class kr{get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}constructor(e,t,i=!1){this._data=e,this._isDelta=i,this._id=tt(t)}}class _r{constructor(e,t){this.offset=tt(e),this.length=tt(t)}}class Li{constructor(e,t){this.length=tt(e),this.nullCount=tt(t)}}function _1(n,e){return(()=>{switch(e){case Ve.Schema:return We.fromJSON(n);case Ve.RecordBatch:return Rn.fromJSON(n);case Ve.DictionaryBatch:return kr.fromJSON(n)}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)})}function N1(n,e){return(()=>{switch(e){case Ve.Schema:return We.decode(n.header(new Gn),new Map,n.version());case Ve.RecordBatch:return Rn.decode(n.header(new yr),n.version());case Ve.DictionaryBatch:return kr.decode(n.header(new fi),n.version())}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)})}nt.encode=B1;nt.decode=T1;nt.fromJSON=b1;We.encode=A1;We.decode=j1;We.fromJSON=y1;Rn.encode=E1;Rn.decode=k1;Rn.fromJSON=gv;kr.encode=R1;kr.decode=I1;kr.fromJSON=g1;Li.encode=L1;Li.decode=D1;_r.encode=U1;_r.decode=M1;function j1(n,e=new Map,t=ht.V5){const i=O1(n,e);return new We(i,Ml(n),e,t)}function k1(n,e=ht.V5){if(n.compression()!==null)throw new Error("Record batch compression not implemented");return new Rn(n.length(),C1(n),F1(n,e))}function I1(n,e=ht.V5){return new kr(Rn.decode(n.data(),e),n.id(),n.isDelta())}function M1(n){return new _r(n.offset(),n.length())}function D1(n){return new Li(n.length(),n.nullCount())}function C1(n){const e=[];for(let t,i=-1,a=-1,c=n.nodesLength();++int.encode(n,c));Gn.startFieldsVector(n,t.length);const i=Gn.createFieldsVector(n,t),a=e.metadata&&e.metadata.size>0?Gn.createCustomMetadataVector(n,[...e.metadata].map(([c,f])=>{const h=n.createString(`${c}`),m=n.createString(`${f}`);return gt.startKeyValue(n),gt.addKey(n,h),gt.addValue(n,m),gt.endKeyValue(n)})):-1;return Gn.startSchema(n),Gn.addFields(n,i),Gn.addEndianness(n,$1?Fi.Little:Fi.Big),a!==-1&&Gn.addCustomMetadata(n,a),Gn.endSchema(n)}function B1(n,e){let t=-1,i=-1,a=-1;const c=e.type;let f=e.typeId;me.isDictionary(c)?(f=c.dictionary.typeId,a=fd.visit(c,n),i=fd.visit(c.dictionary,n)):i=fd.visit(c,n);const h=(c.children||[]).map(v=>nt.encode(n,v)),m=hn.createChildrenVector(n,h),g=e.metadata&&e.metadata.size>0?hn.createCustomMetadataVector(n,[...e.metadata].map(([v,x])=>{const b=n.createString(`${v}`),w=n.createString(`${x}`);return gt.startKeyValue(n),gt.addKey(n,b),gt.addValue(n,w),gt.endKeyValue(n)})):-1;return e.name&&(t=n.createString(e.name)),hn.startField(n),hn.addType(n,i),hn.addTypeType(n,f),hn.addChildren(n,m),hn.addNullable(n,!!e.nullable),t!==-1&&hn.addName(n,t),a!==-1&&hn.addDictionary(n,a),g!==-1&&hn.addCustomMetadata(n,g),hn.endField(n)}function E1(n,e){const t=e.nodes||[],i=e.buffers||[];yr.startNodesVector(n,t.length);for(const f of t.slice().reverse())Li.encode(n,f);const a=n.endVector();yr.startBuffersVector(n,i.length);for(const f of i.slice().reverse())_r.encode(n,f);const c=n.endVector();return yr.startRecordBatch(n),yr.addLength(n,BigInt(e.length)),yr.addNodes(n,a),yr.addBuffers(n,c),yr.endRecordBatch(n)}function R1(n,e){const t=Rn.encode(n,e.data);return fi.startDictionaryBatch(n),fi.addId(n,BigInt(e.id)),fi.addIsDelta(n,e.isDelta),fi.addData(n,t),fi.endDictionaryBatch(n)}function L1(n,e){return Ey.createFieldNode(n,BigInt(e.length),BigInt(e.nullCount))}function U1(n,e){return By.createBuffer(n,BigInt(e.offset),BigInt(e.length))}const $1=(()=>{const n=new ArrayBuffer(2);return new DataView(n).setInt16(0,256,!0),new Int16Array(n)[0]===256})(),af=n=>`Expected ${Ve[n]} Message in stream, but was null or length 0.`,lf=n=>`Header pointer of flatbuffer-encoded ${Ve[n]} Message is null or length 0.`,bv=(n,e)=>`Expected to read ${n} metadata bytes, but only read ${e}.`,wv=(n,e)=>`Expected to read ${n} bytes for message body, but only read ${e}.`;class Sv{constructor(e){this.source=e instanceof Xl?e:new Xl(e)}[Symbol.iterator](){return this}next(){let e;return(e=this.readMetadataLength()).done||e.value===-1&&(e=this.readMetadataLength()).done||(e=this.readMetadata(e.value)).done?at:e}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}readMessage(e){let t;if((t=this.next()).done)return null;if(e!=null&&t.value.headerType!==e)throw new Error(af(e));return t.value}readMessageBody(e){if(e<=0)return new Uint8Array(0);const t=$e(this.source.read(e));if(t.byteLength[...a,...c.VALIDITY&&[c.VALIDITY]||[],...c.TYPE_ID&&[c.TYPE_ID]||[],...c.OFFSET&&[c.OFFSET]||[],...c.DATA&&[c.DATA]||[],...t(c.children)],[])}}readMessage(e){let t;if((t=this.next()).done)return null;if(e!=null&&t.value.headerType!==e)throw new Error(af(e));return t.value}readSchema(){const e=Ve.Schema,t=this.readMessage(e),i=t==null?void 0:t.header();if(!t||!i)throw new Error(lf(e));return i}}const hc=4,Rd="ARROW1",tc=new Uint8Array(Rd.length);for(let n=0;nthis):this}readRecordBatch(e){return this._impl.isFile()?this._impl.readRecordBatch(e):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return pn.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return pn.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,t){throw new Error('"throughDOM" not available in this environment')}static from(e){return e instanceof jr?e:Id(e)?Y1(e):Iy(e)?J1(e):Vo(e)?Oe(this,void 0,void 0,function*(){return yield jr.from(yield e)}):My(e)||Wd(e)||Cy(e)||Vd(e)?K1(new Ai(e)):Q1(new Xl(e))}static readAll(e){return e instanceof jr?e.isSync()?Um(e):$m(e):Id(e)||ArrayBuffer.isView(e)||uc(e)||ky(e)?Um(e):$m(e)}}class nc extends jr{constructor(e){super(e),this._impl=e}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return Zn(this,arguments,function*(){yield Ae(yield*bl(_i(this[Symbol.iterator]())))})}}class rc extends jr{constructor(e){super(e),this._impl=e}readAll(){return Oe(this,void 0,void 0,function*(){var e,t,i,a;const c=new Array;try{for(var f=!0,h=_i(this),m;m=yield h.next(),e=m.done,!e;f=!0){a=m.value,f=!1;const g=a;c.push(g)}}catch(g){t={error:g}}finally{try{!f&&!e&&(i=h.return)&&(yield i.call(h))}finally{if(t)throw t.error}}return c})}[Symbol.iterator](){throw new Error("AsyncRecordBatchStreamReader is not Iterable")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}}class Nv extends nc{constructor(e){super(e),this._impl=e}}class W1 extends rc{constructor(e){super(e),this._impl=e}}class jv{get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}constructor(e=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=e}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(e){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=e,this.dictionaries=new Map,this}_loadRecordBatch(e,t){const i=this._loadVectors(e,t,this.schema.fields),a=Re({type:new At(this.schema.fields),length:e.length,children:i});return new Tn(this.schema,a)}_loadDictionaryBatch(e,t){const{id:i,isDelta:a}=e,{dictionaries:c,schema:f}=this,h=c.get(i),m=f.dictionaries.get(i),g=this._loadVectors(e.data,t,[m]);return(h&&a?h.concat(new Je(g)):new Je(g)).memoize()}_loadVectors(e,t,i){return new fv(t,e.nodes,e.buffers,this.dictionaries,this.schema.metadataVersion).visitMany(i)}}class sc extends jv{constructor(e,t){super(t),this._reader=Id(e)?new z1(this._handle=e):new Sv(this._handle=e)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(e){return this.closed||(this.autoDestroy=Iv(this,e),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(e):at}return(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(e):at}next(){if(this.closed)return at;let e;const{_reader:t}=this;for(;e=this._readNextMessageAndValidate();)if(e.isSchema())this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const i=e.header(),a=t.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(i,a)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const i=e.header(),a=t.readMessageBody(e.bodyLength),c=this._loadDictionaryBatch(i,a);this.dictionaries.set(i.id,c)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new yv(this.schema)}):this.return()}_readNextMessageAndValidate(e){return this._reader.readMessage(e)}}class ic extends jv{constructor(e,t){super(t),this._reader=new P1(this._handle=e)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return Oe(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(e){return Oe(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=Iv(this,e),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(e){return Oe(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(e):at})}return(e){return Oe(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(e):at})}next(){return Oe(this,void 0,void 0,function*(){if(this.closed)return at;let e;const{_reader:t}=this;for(;e=yield this._readNextMessageAndValidate();)if(e.isSchema())yield this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const i=e.header(),a=yield t.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(i,a)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const i=e.header(),a=yield t.readMessageBody(e.bodyLength),c=this._loadDictionaryBatch(i,a);this.dictionaries.set(i.id,c)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new yv(this.schema)}):yield this.return()})}_readNextMessageAndValidate(e){return Oe(this,void 0,void 0,function*(){return yield this._reader.readMessage(e)})}}class kv extends sc{get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}constructor(e,t){super(e instanceof Fm?e:new Fm(e),t)}isSync(){return!0}isFile(){return!0}open(e){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(const t of this._footer.dictionaryBatches())t&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(e)}readRecordBatch(e){var t;if(this.closed)return null;this._footer||this.open();const i=(t=this._footer)===null||t===void 0?void 0:t.getRecordBatch(e);if(i&&this._handle.seek(i.offset)){const a=this._reader.readMessage(Ve.RecordBatch);if(a!=null&&a.isRecordBatch()){const c=a.header(),f=this._reader.readMessageBody(a.bodyLength);return this._loadRecordBatch(c,f)}}return null}_readDictionaryBatch(e){var t;const i=(t=this._footer)===null||t===void 0?void 0:t.getDictionaryBatch(e);if(i&&this._handle.seek(i.offset)){const a=this._reader.readMessage(Ve.DictionaryBatch);if(a!=null&&a.isDictionaryBatch()){const c=a.header(),f=this._reader.readMessageBody(a.bodyLength),h=this._loadDictionaryBatch(c,f);this.dictionaries.set(c.id,h)}}}_readFooter(){const{_handle:e}=this,t=e.size-_v,i=e.readInt32(t),a=e.readAt(t-i,i);return tf.decode(a)}_readNextMessageAndValidate(e){var t;if(this._footer||this.open(),this._footer&&this._recordBatchIndexsuper.open}});return Oe(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(const i of this._footer.dictionaryBatches())i&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield t.open.call(this,e)})}readRecordBatch(e){return Oe(this,void 0,void 0,function*(){var t;if(this.closed)return null;this._footer||(yield this.open());const i=(t=this._footer)===null||t===void 0?void 0:t.getRecordBatch(e);if(i&&(yield this._handle.seek(i.offset))){const a=yield this._reader.readMessage(Ve.RecordBatch);if(a!=null&&a.isRecordBatch()){const c=a.header(),f=yield this._reader.readMessageBody(a.bodyLength);return this._loadRecordBatch(c,f)}}return null})}_readDictionaryBatch(e){return Oe(this,void 0,void 0,function*(){var t;const i=(t=this._footer)===null||t===void 0?void 0:t.getDictionaryBatch(e);if(i&&(yield this._handle.seek(i.offset))){const a=yield this._reader.readMessage(Ve.DictionaryBatch);if(a!=null&&a.isDictionaryBatch()){const c=a.header(),f=yield this._reader.readMessageBody(a.bodyLength),h=this._loadDictionaryBatch(c,f);this.dictionaries.set(c.id,h)}}})}_readFooter(){return Oe(this,void 0,void 0,function*(){const{_handle:e}=this;e._pending&&(yield e._pending);const t=e.size-_v,i=yield e.readInt32(t),a=yield e.readAt(t-i,i);return tf.decode(a)})}_readNextMessageAndValidate(e){return Oe(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex=4?cf(e)?new Nv(new kv(n.read())):new nc(new sc(n)):new nc(new sc((function*(){})()))}function K1(n){return Oe(this,void 0,void 0,function*(){const e=yield n.peek(Xo+7&-8);return e&&e.byteLength>=4?cf(e)?new Nv(new kv(yield n.read())):new rc(new ic(n)):new rc(new ic((function(){return Zn(this,arguments,function*(){})})()))})}function J1(n){return Oe(this,void 0,void 0,function*(){const{size:e}=yield n.stat(),t=new ec(n,e);return e>=V1&&cf(yield t.readAt(0,Xo+7&-8))?new W1(new H1(t)):new rc(new ic(t))})}function Mv(n){const e=jr.from(n);return Vo(e)?e.then(t=>Mv(t)):e.isAsync()?e.readAll().then(t=>new gn(t)):new gn(e.readAll())}function q1(n){if(n==null)return null;if(typeof n=="bigint"){const e=Number(n);return Number.isSafeInteger(e)?e:n.toString()}if(n instanceof Date){const e=n.toISOString();return e.endsWith("T00:00:00.000Z")?e.slice(0,10):e}return typeof n=="object"?String(n):n}function Z1(n){const e=Mv(n),t=e.schema.fields.map(a=>a.name),i=new Array(e.numRows);for(let a=0;a({...e,charts:e.charts.map(t=>{var f,h;const i=t.query,a=(f=t.interactions)==null?void 0:f.brush,c=(h=t.interactions)==null?void 0:h.select;return{...t,query:{...i,metrics:Zr(i.metrics)??[],dimensions:Zr(i.dimensions),filters:Zr(i.filters),segments:Zr(i.segments),order_by:Zr(i.order_by),orderBy:Zr(i.orderBy)},interactions:t.interactions?{...t.interactions,brush:typeof a=="object"?{...a,fields:Zr(a.fields)}:a,select:typeof c=="object"?{...c,fields:Zr(c.fields)}:c}:void 0}})}))}}const eS="application/vnd.apache.arrow.stream";class tS{constructor(e){Mn(this,"active",0);Mn(this,"waiters",[]);this.max=e}async run(e){var t;this.active>=this.max&&await new Promise(i=>this.waiters.push(i)),this.active+=1;try{return await e()}finally{this.active-=1,(t=this.waiters.shift())==null||t()}}}function nS(n){var t,i,a,c,f;const e={};return(t=n.metrics)!=null&&t.length&&(e.metrics=n.metrics),(i=n.dimensions)!=null&&i.length&&(e.dimensions=n.dimensions),(a=n.filters)!=null&&a.length&&(e.filters=n.filters),(c=n.segments)!=null&&c.length&&(e.segments=n.segments),(f=n.orderBy)!=null&&f.length&&(e.order_by=n.orderBy),n.limit!=null&&(e.limit=n.limit),n.offset!=null&&(e.offset=n.offset),n.ungrouped&&(e.ungrouped=!0),n.parameters&&(e.parameters=n.parameters),n.usePreaggregations!=null&&(e.use_preaggregations=n.usePreaggregations),n.timezone&&n.timezone!=="UTC"&&(e.timezone=n.timezone),e}class rS{constructor(e={}){Mn(this,"baseUrl");Mn(this,"token");Mn(this,"sessionToken");Mn(this,"transport");Mn(this,"usePreaggregations");Mn(this,"gate");Mn(this,"onUnauthorized");this.baseUrl=(e.baseUrl??"").replace(/\/$/,""),this.token=e.token,this.transport=e.transport??"json",this.usePreaggregations=e.usePreaggregations??!0,this.gate=new tS(e.maxConcurrency??6),this.onUnauthorized=e.onUnauthorized}body(e){return nS({usePreaggregations:this.usePreaggregations,...e})}headers(e){const t={...e};return this.sessionToken?t.Authorization=`Sidemantic-Session ${this.sessionToken}`:this.token&&(t.Authorization=`Bearer ${this.token}`),t}isCrossOrigin(){return!this.baseUrl||typeof globalThis.location>"u"?!1:new URL(this.baseUrl,globalThis.location.href).origin!==globalThis.location.origin}url(e){return`${this.baseUrl}${e}`}async getJson(e){const t=await fetch(this.url(e),{headers:this.headers(),credentials:"include"});if(!t.ok)throw new Error(await this.errorText(t,e));return await t.json()}async errorText(e,t){var a;e.status===401&&((a=this.onUnauthorized)==null||a.call(this));let i="";try{const c=await e.json();i=c.error??c.detail??""}catch{}return`${t} failed (${e.status})${i?`: ${i}`:""}`}async health(){try{return(await fetch(this.url("/health"),{headers:this.headers(),credentials:"include"})).ok}catch{return!1}}async getCatalog(){try{const t=await fetch(this.url("/describe"),{headers:this.headers(),credentials:"include"});if(t.ok){const i=Sb(await t.json());try{return Nb(i,await this.getJson("/graph"))}catch{return i}}}catch{}const e=await this.getJson("/graph");return _b(e)}async getDashboard(){try{const e=await fetch(this.url("/dashboard"),{headers:this.headers()});if(e.status===404)return null;if(!e.ok)throw new Error(await this.errorText(e,"/dashboard"));if(!(e.headers.get("content-type")??"").includes("application/json"))return null;const t=await e.json();return typeof t.title=="string"&&Array.isArray(t.tabs)?X1(t):null}catch{return null}}async compile(e){const t=await fetch(this.url("/compile"),{method:"POST",headers:this.headers({"Content-Type":"application/json"}),credentials:"include",body:JSON.stringify(this.body(e))});if(!t.ok)throw new Error(await this.errorText(t,"/compile"));return(await t.json()).sql}async runQuery(e){return this.gate.run(()=>this.transport==="arrow"?this.runQueryArrow(e):this.runQueryJson(e))}async runQueryJson(e){const t=await fetch(this.url("/query"),{method:"POST",headers:this.headers({"Content-Type":"application/json"}),credentials:"include",body:JSON.stringify(this.body(e))});if(!t.ok)throw new Error(await this.errorText(t,"/query"));const i=await t.json(),a=i.rows??[];return{columns:a.length?Object.keys(a[0]):[],rows:a,rowCount:i.row_count??a.length,sql:i.sql??""}}async runQueryArrow(e){const t=await fetch(this.url("/query?format=arrow"),{method:"POST",headers:this.headers({"Content-Type":"application/json",Accept:eS}),credentials:"include",body:JSON.stringify(this.body(e))});if(!t.ok)throw new Error(await this.errorText(t,"/query"));const i=new Uint8Array(await t.arrayBuffer()),{columns:a,rows:c}=Z1(i),f=t.headers.get("X-Sidemantic-Sql")??"";return{columns:a,rows:c,rowCount:c.length,sql:f}}async createBrowserSession(e){var a;const t=this.isCrossOrigin(),i=await fetch(this.url("/auth/session"),{method:"POST",headers:{Authorization:`Bearer ${e}`,...t?{"X-Sidemantic-Session-Mode":"header"}:{}},credentials:"include"});if(i.status===404||i.ok&&!((a=i.headers.get("content-type"))!=null&&a.includes("application/json"))){this.token=e;return}if(!i.ok)throw new Error(await this.errorText(i,"/auth/session"));if(t){const c=await i.json();if(!c.session_token)throw new Error("/auth/session did not return a cross-origin session token");this.sessionToken=c.session_token}this.token=void 0}}function Dv({brand:n,toolbar:e,filters:t,rail:i,children:a,drawer:c,showRail:f=!0,openRailRequest:h}){const[m,g]=I.useState(()=>typeof window<"u"&&window.matchMedia("(max-width: 767px)").matches),[v,x]=I.useState(()=>typeof window>"u"||!window.matchMedia("(max-width: 767px)").matches),b=I.useId(),w=I.useRef(null),_=I.useRef(null),C=f&&v;return I.useEffect(()=>{const T=window.matchMedia("(max-width: 767px)"),V=()=>{g(T.matches),x(!T.matches)};return T.addEventListener("change",V),()=>T.removeEventListener("change",V)},[]),I.useEffect(()=>{h&&!m&&x(!0)},[h,m]),I.useEffect(()=>{if(!m||!v)return;const T=_.current,V=document.body.style.overflow;document.body.style.overflow="hidden",window.requestAnimationFrame(()=>{var R,O;return(O=(R=w.current)==null?void 0:R.querySelector("button"))==null?void 0:O.focus()});function $(R){var L;if(R.key==="Escape"){R.preventDefault(),x(!1);return}if(R.key!=="Tab")return;const O=(L=w.current)==null?void 0:L.querySelectorAll('button:not(:disabled), select:not(:disabled), input:not(:disabled), [href], [tabindex]:not([tabindex="-1"])');if(!(O!=null&&O.length))return;const E=O[0],D=O[O.length-1];R.shiftKey&&document.activeElement===E?(R.preventDefault(),D.focus()):!R.shiftKey&&document.activeElement===D&&(R.preventDefault(),E.focus())}return document.addEventListener("keydown",$,!0),()=>{document.body.style.overflow=V,document.removeEventListener("keydown",$,!0),T==null||T.focus()}},[m,v]),u.jsxs("div",{className:"flex h-[100dvh] min-w-0 flex-col overflow-hidden bg-bg text-ink",children:[u.jsxs("header",{className:"relative z-40 flex shrink-0 flex-col gap-2 border-b border-line bg-surface px-3 py-2 md:flex-row md:items-center md:justify-between md:gap-3",children:[u.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[f?u.jsx("button",{ref:_,type:"button","aria-label":m?"Open catalog":v?"Collapse sidebar":"Expand sidebar","aria-expanded":v,"aria-controls":b,onClick:()=>x(T=>!T),className:"grid size-7 shrink-0 place-items-center border border-line text-faint hover:border-faint hover:text-ink",children:v?"‹":"›"}):null,n]}),u.jsx("div",{className:"flex w-full min-w-0 flex-wrap items-center gap-2 overflow-visible md:w-auto md:shrink-0 md:flex-nowrap",children:e})]}),t?u.jsx("div",{className:"flex min-h-9 shrink-0 flex-wrap items-center gap-2 overflow-x-auto border-b border-line bg-surface px-3 py-2 md:h-9 md:flex-nowrap md:py-0",children:t}):null,u.jsxs("div",{className:`grid min-h-0 min-w-0 flex-1 grid-cols-1 ${C?"md:grid-cols-[260px_minmax(0,1fr)]":"md:grid-cols-1"}`,children:[f&&C?u.jsxs(u.Fragment,{children:[m?u.jsx("button",{type:"button","aria-label":"Close catalog",className:"fixed inset-0 z-40 bg-black/35 backdrop-blur-[2px]",onClick:()=>x(!1)}):null,u.jsxs("aside",{id:b,ref:w,role:m?"dialog":void 0,"aria-modal":m?"true":void 0,"aria-label":m?"Data catalog":void 0,onClick:T=>{m&&T.target.closest("[data-catalog-metric], [data-catalog-dimension]")&&x(!1)},onChange:()=>m&&x(!1),className:"fixed inset-y-0 left-0 z-50 min-h-0 w-[min(88vw,320px)] overflow-y-auto bg-surface shadow-[var(--shadow)] md:static md:z-auto md:w-auto md:border-r md:border-line md:shadow-none",children:[m?u.jsxs("div",{"data-testid":"catalog-drawer-header",className:"sticky top-0 z-10 flex items-center justify-between border-b border-line bg-surface px-4 py-3",children:[u.jsxs("div",{children:[u.jsx("p",{className:"text-sm font-semibold text-ink",children:"Catalog"}),u.jsx("p",{className:"text-xs text-muted",children:"Choose a model and fields"})]}),u.jsx("button",{type:"button","aria-label":"Close catalog",onClick:()=>x(!1),className:"grid size-10 place-items-center rounded-full bg-surface-soft text-muted hover:bg-line hover:text-ink",children:u.jsx("span",{"aria-hidden":"true",className:"text-xl leading-none",children:"×"})})]}):null,i]})]}):null,u.jsxs("main",{className:"relative min-h-0 min-w-0 overflow-hidden",children:[u.jsx("div",{className:`h-full overflow-y-auto ${c?"pb-8":""}`,children:a}),c]})]})]})}function sS({dashboardTitle:n,modelLabel:e,onHome:t}){const i=u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"text-sm font-semibold text-ink",children:n??"Sidemantic"}),n===void 0&&e?u.jsx("span",{className:"truncate text-2xs text-faint",children:e}):null]});return n!==void 0?u.jsx("span",{className:"flex min-w-0 items-baseline gap-2",children:i}):u.jsx("button",{type:"button",onClick:t,"aria-label":"Home",className:"flex min-w-0 items-baseline gap-2",children:i})}const iS=new Set(["second","minute","hour","day","week","month","quarter","year"]);function hl(n){return n===void 0?[]:Array.isArray(n)?n:[n]}function pl(n,e){return n.models.flatMap(t=>t.dimensions).find(t=>e===t.ref||e.startsWith(`${t.ref}__`))}function oS(n,e){const t=n.split("__").at(-1);return t&&iS.has(t)?t:e}function aS(n){var a;const e=(a=n.defaults)==null?void 0:a.query;if(!e||typeof e!="object")return;const t=e,i=t.use_preaggregations??t.usePreaggregations;return typeof i=="boolean"?i:void 0}function lS(n,e){var c;const t=(c=n.defaults)==null?void 0:c.query,i=t&&typeof t=="object"?t:{},a=e.query.interaction_preaggregations??e.query.interactionPreaggregations??e.interaction_preaggregations??e.interactionPreaggregations??i.interaction_preaggregations??i.interactionPreaggregations;return typeof a=="boolean"?a:void 0}function Fs(n,e,t){var O,E,D,L,G,W,Y;if(!(e!=null&&e.tabs.length))return null;const i=e.tabs.find(P=>P.id===t)??e.tabs[0],a=i.charts[0];if(!a)return null;const c=hl(a.query.dimensions),f=hl(a.query.metrics),h=f.map(P=>{var ee;return(ee=n.graphMetrics.find(X=>X.ref===P))==null?void 0:ee.ownerModel}).find(P=>!!P),m=((O=f.find(P=>P.includes(".")))==null?void 0:O.split(".")[0])??h??((E=c.find(P=>P.includes(".")))==null?void 0:E.split(".")[0]),g=n.models.find(P=>P.name===m)??n.models[0];if(!g)return null;const v=[...n.models.flatMap(P=>P.metrics),...Di(n,g.name)],x=f.map(P=>v.find(ee=>ee.ref===P)).filter(P=>!!P),b=c.map(P=>pl(n,P)).filter((P,ee,X)=>!!P&&X.findIndex(oe=>(oe==null?void 0:oe.ref)===(P==null?void 0:P.ref))===ee),w=(D=a.encoding)==null?void 0:D.y,C=(Array.isArray(w)?w:w?[w]:[]).find(P=>x.some(ee=>ee.ref===P))??((L=x[0])==null?void 0:L.ref)??((G=g.metrics[0])==null?void 0:G.ref)??"",T=(W=a.encoding)==null?void 0:W.x,V=(T&&((Y=pl(n,T))==null?void 0:Y.type)==="time"?T:void 0)??c.find(P=>{var ee;return((ee=pl(n,P))==null?void 0:ee.type)==="time"}),$=g.defaultGrain??"month",R=V?pl(n,V):g.timeDimension;return{id:i.id,label:i.label??i.id,title:a.title??e.title,model:g,metrics:x.length?x:g.metrics,dimensions:b.length?b:g.dimensions,timeDimension:R,selectedMetric:C,grain:V?oS(V,$):$,filters:hl(a.query.filters),segments:hl(a.query.segments),usePreaggregations:lS(e,a)??a.query.use_preaggregations??a.query.usePreaggregations??aS(e)}}const Ld=["second","minute","hour","day","week","month","quarter","year"];function cS(n,e){if(n!=null&&n.length){const i=new Set(n.map(c=>c.toLowerCase())),a=Ld.filter(c=>i.has(c));if(a.length)return a}const t=["day","week","month","quarter","year"];return e&&!t.includes(e)?Ld.filter(i=>i===e||t.includes(i)):t}function Mi(n){return n.toISOString().slice(0,10)}function uf(n){return n.slice(0,10)}function Ei(n){const e=n.trim();return/^\d{4}-\d{2}-\d{2}$/.test(e)?`${e}T00:00:00Z`:/[zZ]|[+-]\d{2}:?\d{2}$/.test(e)?e:`${e.replace(" ","T")}Z`}function Os(n){return new Date(`${uf(n)}T00:00:00Z`)}function Qo(n,e){const t=Os(n);return t.setUTCDate(t.getUTCDate()+e),Mi(t)}function uS(n){return Math.round((Os(n.to).getTime()-Os(n.from).getTime())/864e5)+1}function dS(n){if(n.from.includes("T")||n.to.includes("T")){const a=Date.parse(Ei(n.from)),f=Date.parse(Ei(n.to))-a;return{from:new Date(a-f).toISOString().slice(0,19),to:new Date(a).toISOString().slice(0,19)}}const e=uS(n),t=Qo(n.from,-1);return{from:Qo(t,-(e-1)),to:t}}function Pm(n){if(n.includes("T")){const f=new Date(Ei(n)),h=f.getUTCFullYear()-1,m=f.getUTCMonth(),g=new Date(Date.UTC(h,m+1,0)).getUTCDate();return new Date(Date.UTC(h,m,Math.min(f.getUTCDate(),g),f.getUTCHours(),f.getUTCMinutes(),f.getUTCSeconds())).toISOString().slice(0,19)}const e=Os(n),t=e.getUTCFullYear()-1,i=e.getUTCMonth(),a=e.getUTCDate(),c=new Date(Date.UTC(t,i+1,0)).getUTCDate();return Mi(new Date(Date.UTC(t,i,Math.min(a,c))))}function fS(n){return{from:Pm(n.from),to:Pm(n.to)}}function hS(n,e){const t=n.trim(),i=t.slice(0,10);if(e!=="second"&&e!=="minute"&&e!=="hour")return i||n;const a=t.slice(10).match(/(\d{2}):(\d{2})(?::(\d{2}))?/);if(!a)return i||n;const c=e==="second"&&a[3]?`${a[1]}:${a[2]}:${a[3]}`:`${a[1]}:${a[2]}`;return`${i} ${c}`}const pS=[{key:"7d",label:"Last 7 days",days:7},{key:"28d",label:"Last 28 days",days:28},{key:"90d",label:"Last 90 days",days:90},{key:"180d",label:"Last 180 days",days:180},{key:"365d",label:"Last 12 months",days:365}];function mS(n,e=new Date){const t=Mi(e);return{from:Qo(t,-(n-1)),to:t}}function yS(n,e){return e.from.includes("T")||e.to.includes("T")?[`${n} >= cast('${e.from}' as timestamp)`,`${n} < cast('${e.to}' as timestamp)`]:[`${n} >= cast('${e.from}' as date)`,`${n} < cast('${Qo(e.to,1)}' as date)`]}function zm(n,e,t){if(t==="second"||t==="minute"||t==="hour"){const f=t==="second"?1e3:t==="minute"?6e4:36e5;return Math.round((Date.parse(Ei(e))-Date.parse(Ei(n)))/f)}const i=Os(n),a=Os(e),c=(a.getUTCFullYear()-i.getUTCFullYear())*12+(a.getUTCMonth()-i.getUTCMonth());switch(t){case"week":return Math.round((a.getTime()-i.getTime())/(7*864e5));case"month":return c;case"quarter":return Math.round(c/3);case"year":return a.getUTCFullYear()-i.getUTCFullYear();default:return Math.round((a.getTime()-i.getTime())/864e5)}}function hd(n,e){return new Date(Date.parse(Ei(n))+e).toISOString().slice(0,19)}function gS(n,e){const t=uf(n),i=Os(t);switch(e){case"second":return hd(n,1e3);case"minute":return hd(n,6e4);case"hour":return hd(n,36e5);case"day":return t;case"week":return Qo(n,6);case"month":return Mi(new Date(Date.UTC(i.getUTCFullYear(),i.getUTCMonth()+1,0)));case"quarter":{const a=Math.floor(i.getUTCMonth()/3)*3+3;return Mi(new Date(Date.UTC(i.getUTCFullYear(),a,0)))}case"year":return Mi(new Date(Date.UTC(i.getUTCFullYear(),12,0)));default:return n}}function df(n){return n.mode==="contains"?!n.pattern:n.values.length===0}function ff(n){return Object.fromEntries(n.map(e=>[e.ref,e.type]))}function pc(n){return ff(n.models.flatMap(e=>e.dimensions))}function Vm(n,e,t){if((e==="numeric"||e==="number")&&n.trim()!==""&&Number.isFinite(Number(n)))return n;if(e==="boolean"){const i=n.toLowerCase();if(i==="true"||i==="false")return i}return Qn(n,t)}function vS(n){return n.replaceAll("\\","\\\\").replaceAll("%","\\%").replaceAll("_","\\_")}function Cv(n,e,t){const i=Qn(`%${vS(e)}%`,t);return`CAST(${n} AS VARCHAR) ILIKE ${i}${t==="clickhouse"?"":" ESCAPE '\\'"}`}function xS(n,e,t,i){const a=e.mode==="exclude",c=e.values.includes(er),f=e.values.filter(m=>m!==er);let h=null;if(f.length===1)h=`${n} ${a?"!=":"="} ${Vm(f[0],t,i)}`;else if(f.length>1){const m=f.map(g=>Vm(g,t,i)).join(", ");h=`${n} ${a?"NOT IN":"IN"} (${m})`}if(!a){const m=[];return h&&m.push(h),c&&m.push(`${n} IS NULL`),m.length===0?null:m.length===1?m[0]:`(${m.join(" OR ")})`}if(c){const m=[];return h&&m.push(h),m.push(`${n} IS NOT NULL`),m.length===1?m[0]:`(${m.join(" AND ")})`}return h?`(${h} OR ${n} IS NULL)`:null}function Fv(n,e={}){var i;const t=[];for(const[a,c]of Object.entries(n)){if(a===e.excludeDim||df(c))continue;const f=(i=e.types)==null?void 0:i[a];if(c.mode==="contains"){t.push(Cv(a,c.pattern??"",e.dialect));continue}const h=xS(a,c,f,e.dialect);h&&t.push(h)}return t}function Ts(n,e={}){const t=Fv(n,{types:e.types,excludeDim:e.excludeDim,dialect:e.dialect});return e.timeRef&&e.range&&t.push(...yS(e.timeRef,e.range)),t}function pd(n,e,t,i){return{metrics:n,filters:e,...t!=null&&t.length?{segments:t}:{},...i!=null?{usePreaggregations:i}:{}}}const bS={second:2e3,minute:2e3,hour:9600,day:4e3,week:800,month:240,quarter:120,year:60};function Wm(n,e,t,i,a,c,f=!1){const h=`${e}__${t}`,m=t==="second"||t==="minute",g=m&&!f;return{metrics:n,dimensions:[h],filters:i,...a!=null&&a.length?{segments:a}:{},...c!=null?{usePreaggregations:c}:{},orderBy:[`${h} ${g?"DESC":"ASC"}`],...!m||g?{limit:bS[t]??2e3}:{}}}function Hm(n,e,t,i=6,a,c){return{metrics:[n],dimensions:[e],filters:t,...a!=null&&a.length?{segments:a}:{},...c!=null?{usePreaggregations:c}:{},orderBy:[`${n} DESC`],limit:i}}function wS(n,e,t=50,i,a){return{dimensions:[n],filters:e,...i!=null&&i.length?{segments:i}:{},...a!=null?{usePreaggregations:a}:{},orderBy:[`${n} ASC`],limit:t}}function SS(n,e,t,i,a=500){return{metrics:n,dimensions:e,filters:t,orderBy:i,limit:a}}function _S(n,e,t=50,i,a){return{dimensions:n.dimensions,metrics:n.metrics,filters:e,...i!=null&&i.length?{segments:i}:{},...a!=null?{usePreaggregations:a}:{},ungrouped:!0,limit:t}}function NS(n,e){const t=n??[];return t.includes(e)?t.filter(i=>i!==e):[...t,e]}function ml(n,e,t){const i={...n};return df(t)?delete i[e]:i[e]=t,i}function jS(n,e){switch(e.type){case"hydrate":return e.state;case"setView":return{...n,view:e.view};case"setDashboardTab":return{...n,view:"explore",dashboardTab:e.tab,model:e.model,selectedMetric:e.metric,grain:e.grain,filters:{},dateRange:void 0,pivotDims:[],pivotMetrics:[]};case"setModel":return{...n,model:e.model,selectedMetric:e.metric,grain:e.grain,filters:{},pivotDims:[],pivotMetrics:[]};case"setMetric":return{...n,selectedMetric:e.metric};case"toggleFilter":{const t=n.filters[e.dim],i=e.mode??(t&&t.mode!=="contains"?t.mode:"include"),a=t&&t.mode===i?t.values:[],c=NS(a,e.value);return{...n,filters:ml(n.filters,e.dim,{mode:i,values:c})}}case"setFilterMode":{const t=n.filters[e.dim],i={mode:e.mode,values:(t==null?void 0:t.values)??[],pattern:t==null?void 0:t.pattern};return{...n,filters:ml(n.filters,e.dim,i)}}case"setFilterPattern":{const t=n.filters[e.dim],i={mode:"contains",values:(t==null?void 0:t.values)??[],pattern:e.pattern};return{...n,filters:ml(n.filters,e.dim,i)}}case"removeFilterValue":{const t=n.filters[e.dim];if(!t)return n;const i=t.values.filter(a=>a!==e.value);return{...n,filters:ml(n.filters,e.dim,{...t,values:i})}}case"removeFilterDim":{const t={...n.filters};return delete t[e.dim],{...n,filters:t}}case"clearFilters":return{...n,filters:{}};case"setGrain":return{...n,grain:e.grain};case"setTimezone":return{...n,timezone:e.timezone};case"setDateRange":return{...n,dateRange:e.range};case"setContextColumn":return{...n,contextColumn:e.column};case"setComparison":return{...n,comparison:e.comparison,comparisonRange:e.comparison==="custom"?e.range:void 0};case"setPivotDims":return{...n,pivotDims:e.dims};case"setPivotMetrics":return{...n,pivotMetrics:e.metrics};case"reset":return{...e.initial,view:n.view};default:return n}}function kS(n){return n.models.find(e=>e.timeDimension)??n.models[0]}function Ov(n,e){var t,i;return((t=n==null?void 0:n.metrics[0])==null?void 0:t.ref)??(n?(i=Di(e,n.name)[0])==null?void 0:i.ref:void 0)??""}function Tv(n,e,t){const i=Fs(n,e,t),a=(i==null?void 0:i.model)??kS(n),c=(i==null?void 0:i.selectedMetric)??Ov(a,n);return{view:i?"explore":"home",dashboardTab:i==null?void 0:i.id,model:(a==null?void 0:a.name)??"",selectedMetric:c,filters:{},grain:(i==null?void 0:i.grain)??(a==null?void 0:a.defaultGrain)??"month",timezone:"UTC",dateRange:void 0,contextColumn:"none",comparison:"previous",comparisonRange:void 0,pivotDims:[],pivotMetrics:[]}}function IS(n,e,t){const i=new URLSearchParams(t),a=i.get("metric"),c=i.get("grain"),f=a===n.selectedMetric&&e.metrics.some(m=>m.ref===a),h=c===n.grain;return{...n,view:"explore",dashboardTab:e.id,model:e.model.name,selectedMetric:f?n.selectedMetric:e.selectedMetric,grain:h?n.grain:e.grain}}const MS=["home","explore","pivot"],DS=new Set(Ld),CS=new Set(["none","pctTotal","delta","deltaPct"]),FS=new Set(["off","previous","year","custom"]),OS="none",TS="previous",AS="UTC";function BS(n){return n!=null&&/^[A-Za-z][A-Za-z0-9/_+-]{0,63}$/.test(n)}function md(n){if(n)try{return JSON.parse(n)}catch{return}}function oc(n){return Array.isArray(n)&&n.every(e=>typeof e=="string")}function yl(n){return n!=null&&/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2})?$/.test(n)&&!Number.isNaN(Date.parse(n))}const ES=new Set(["include","exclude","contains"]);function RS(n){if(oc(n))return{mode:"include",values:n};if(typeof n!="object"||n===null||Array.isArray(n))return null;const e=n;if(!ES.has(e.mode))return null;const t=e.mode,i=oc(e.values)?e.values:[],a=typeof e.pattern=="string"?e.pattern:void 0,c={mode:t,values:i,pattern:a};return df(c)?null:c}function LS(n){if(typeof n!="object"||n===null||Array.isArray(n))return null;const e={};for(const[t,i]of Object.entries(n)){const a=RS(i);a&&(e[t]=a)}return e}function US(n){const e={};for(const[t,i]of Object.entries(n))e[t]=i.mode==="include"?i.values:i;return e}function $S(n){const e=new URLSearchParams;return e.set("view",n.view),n.dashboardTab&&e.set("tab",n.dashboardTab),n.model&&e.set("model",n.model),n.selectedMetric&&e.set("metric",n.selectedMetric),n.grain&&e.set("grain",n.grain),n.timezone&&n.timezone!==AS&&e.set("tz",n.timezone),n.dateRange&&(e.set("from",n.dateRange.from),e.set("to",n.dateRange.to)),n.contextColumn!==OS&&e.set("ctx",n.contextColumn),n.comparison!==TS&&e.set("cmp",n.comparison),n.comparison==="custom"&&n.comparisonRange&&(e.set("cfrom",n.comparisonRange.from),e.set("cto",n.comparisonRange.to)),Object.keys(n.filters).length&&e.set("filters",JSON.stringify(US(n.filters))),n.pivotDims.length&&e.set("pdims",JSON.stringify(n.pivotDims)),n.pivotMetrics.length&&e.set("pmetrics",JSON.stringify(n.pivotMetrics)),e.toString()}function PS(n,e){const t=new URLSearchParams(n),i={...e},a=t.get("view");a&&MS.includes(a)&&(i.view=a);const c=t.get("tab");c&&(i.dashboardTab=c);const f=t.get("model");f&&(i.model=f);const h=t.get("metric");h&&(i.selectedMetric=h);const m=t.get("grain");m&&DS.has(m)&&(i.grain=m);const g=t.get("tz");BS(g)&&(i.timezone=g);const v=t.get("from"),x=t.get("to");yl(v)&&yl(x)&&Date.parse(v)<=Date.parse(x)&&(i.dateRange={from:v,to:x});const b=t.get("ctx");b&&CS.has(b)&&(i.contextColumn=b);const w=t.get("cmp");w&&FS.has(w)&&(i.comparison=w);const _=t.get("cfrom"),C=t.get("cto");i.comparison==="custom"&&yl(_)&&yl(C)&&Date.parse(_)<=Date.parse(C)&&(i.comparisonRange={from:_,to:C});const T=LS(md(t.get("filters")));T&&(i.filters=T);const V=md(t.get("pdims"));oc(V)&&(i.pivotDims=V);const $=md(t.get("pmetrics"));return oc($)&&(i.pivotMetrics=$),i}const Av=I.createContext(null);function Gm(n){const e=$S(n);return e?`?${e}`:""}function Ym(n,e,t,i){const a=PS(n,i),c=Fs(e,t,a.dashboardTab);return c?IS(a,c,n):a}const Qm=n=>n.startsWith("?")?n.slice(1):n;function zS({catalog:n,backend:e,dashboard:t,initialSearch:i,onSearchChange:a,children:c}){const f=I.useMemo(()=>Tv(n,t),[n,t]),[h,m]=I.useReducer(jS,void 0,()=>{const b=i??(typeof window>"u"?"":window.location.search);return Ym(b,n,t,f)}),g=I.useRef(i);I.useEffect(()=>{i===void 0||i===g.current||(g.current=i,Qm(i)!==Qm(Gm(h))&&m({type:"hydrate",state:Ym(i,n,t,f)}))},[i,h,n,t,f]);const v=I.useRef(a);v.current=a,I.useEffect(()=>{const b=Gm(h),w=v.current;if(w){w(b);return}typeof window>"u"||window.history.replaceState(null,"",`${window.location.pathname}${b}`)},[h]);const x=I.useMemo(()=>({state:h,dispatch:m,catalog:n,backend:e,initial:f,dashboard:t}),[h,n,e,f,t]);return u.jsx(Av.Provider,{value:x,children:c})}function ls(){const n=I.useContext(Av);if(!n)throw new Error("useExplorer must be used within ExplorerProvider");return n}const Ms={active:0,listeners:new Set};function Bv(){for(const n of Ms.listeners)n()}function VS(){Ms.active+=1,Bv()}function WS(){Ms.active=Math.max(0,Ms.active-1),Bv()}function Ev(){return I.useSyncExternalStore(n=>(Ms.listeners.add(n),()=>Ms.listeners.delete(n)),()=>Ms.active>0,()=>!1)}const HS=80;function Bn(n,e){const[t,i]=I.useState({loading:!1}),a=I.useRef(0),c=e?JSON.stringify(e):null;return I.useEffect(()=>{if(!e){i({loading:!1});return}const f=++a.current;i(m=>({result:m.result,resultKey:m.resultKey,loading:!0}));const h=setTimeout(()=>{VS(),n.runQuery(e).then(m=>{f===a.current&&i({result:m,resultKey:c??void 0,loading:!1})}).catch(m=>{f===a.current&&i({loading:!1,error:m instanceof Error?m.message:String(m)})}).finally(()=>WS())},HS);return()=>clearTimeout(h)},[c,n]),{...t,queryKey:c??void 0}}const GS=[{mode:"include",label:"Include"},{mode:"exclude",label:"Exclude"},{mode:"contains",label:"Contains"}],YS=50,Km=200;function Jm(n,e){const[t,i]=I.useState(n);return I.useEffect(()=>{const a=setTimeout(()=>i(n),e);return()=>clearTimeout(a)},[n,e]),t}function Rv({dim:n,model:e,onClose:t}){var H,N;const{state:i,dispatch:a,backend:c,catalog:f,dashboard:h}=ls(),m=I.useMemo(()=>Fs(f,h,i.dashboardTab),[f,h,i.dashboardTab]),g=i.filters[n.ref],[v,x]=I.useState((g==null?void 0:g.mode)??"include"),b=I.useMemo(()=>new Set((g==null?void 0:g.mode)!=="contains"?(g==null?void 0:g.values)??[]:[]),[g]),w=I.useRef(null),_=I.useRef(null),C=I.useId(),[T,V]=I.useState(""),$=Jm(T,Km),R=(g==null?void 0:g.mode)==="contains"?g.pattern??"":"",[O,E]=I.useState(R),D=Jm(O,Km);I.useEffect(()=>{var te;const F=document.activeElement;return(te=_.current)==null||te.focus(),()=>{var he;return(he=F==null?void 0:F.focus)==null?void 0:he.call(F)}},[]),I.useEffect(()=>{function F(he){he.key==="Escape"&&(he.stopPropagation(),t())}function te(he){w.current&&!w.current.contains(he.target)&&t()}return document.addEventListener("keydown",F,!0),document.addEventListener("mousedown",te,!0),()=>{document.removeEventListener("keydown",F,!0),document.removeEventListener("mousedown",te,!0)}},[t]),I.useEffect(()=>{v==="contains"&&D!==R&&a({type:"setFilterPattern",dim:n.ref,pattern:D})},[D,v,n.ref,a]);const L=((H=m==null?void 0:m.timeDimension)==null?void 0:H.ref)??((N=e.timeDimension)==null?void 0:N.ref),G=I.useMemo(()=>pc(f),[f]),W=I.useMemo(()=>{const F=[...(m==null?void 0:m.filters)??[],...Ts(i.filters,{timeRef:L,range:i.dateRange,excludeDim:n.ref,types:G,dialect:f.dialect})];return $.trim()&&F.push(Cv(n.ref,$.trim(),f.dialect)),F},[m,i.filters,L,i.dateRange,n.ref,$,G,f.dialect]),Y=v!=="contains",{result:P,loading:ee,error:X}=Bn(c,Y?wS(n.ref,W,YS,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations):null),oe=Sr(n.ref),ae=I.useMemo(()=>P?P.rows.map(F=>{const te=F[oe];return te==null?er:String(te)}):[],[P,oe]),se=!!P&&P.rows.length>0&&!P.columns.includes(oe),ne=Y&&(ee||se);function A(F){x(F),g&&a({type:"setFilterMode",dim:n.ref,mode:F}),F==="contains"&&E(R)}function Q(F){var pe;if(F.key!=="Tab")return;const te=(pe=w.current)==null?void 0:pe.querySelectorAll('button, input, [href], select, textarea, [tabindex]:not([tabindex="-1"])');if(!te||te.length===0)return;const he=te[0],re=te[te.length-1];F.shiftKey&&document.activeElement===he?(F.preventDefault(),re.focus()):!F.shiftKey&&document.activeElement===re&&(F.preventDefault(),he.focus())}return u.jsxs("div",{ref:w,role:"dialog","aria-modal":"true","aria-labelledby":C,onKeyDown:Q,className:"absolute left-0 z-50 mt-1 w-64 border border-line bg-surface p-2 text-2xs shadow-lg",children:[u.jsxs("div",{id:C,className:"mb-2 flex items-baseline justify-between gap-2",children:[u.jsx("span",{className:"truncate font-semibold text-ink",children:n.label}),u.jsx("button",{type:"button","aria-label":"Close filter editor",onClick:t,className:"grid size-4 place-items-center rounded-full bg-surface-soft text-faint hover:bg-line hover:text-ink",children:"×"})]}),u.jsx("div",{role:"group","aria-label":"Filter mode",className:"mb-2 grid grid-cols-3 gap-px border border-line bg-line",children:GS.map(({mode:F,label:te})=>u.jsx("button",{type:"button","aria-pressed":v===F,onClick:()=>A(F),className:`px-1.5 py-1 text-center ${v===F?"bg-accent-soft font-medium text-accent":"bg-surface text-muted hover:bg-surface-soft"}`,children:te},F))}),v==="contains"?u.jsx("input",{ref:_,type:"text","aria-label":`${n.label} contains`,placeholder:"Substring…",value:O,onChange:F=>E(F.target.value),className:"w-full border border-line bg-surface px-1.5 py-1 text-2xs text-ink placeholder:text-faint"}):u.jsxs(u.Fragment,{children:[u.jsx("input",{ref:_,type:"text","aria-label":`Search ${n.label} values`,placeholder:"Search values…",value:T,onChange:F=>V(F.target.value),className:"w-full border border-line bg-surface px-1.5 py-1 text-2xs text-ink placeholder:text-faint"}),u.jsx("div",{className:"mt-2 max-h-56 overflow-y-auto",role:"group","aria-label":`${n.label} values`,children:X?u.jsx("p",{className:"px-1 py-2 text-danger",children:X}):ne?u.jsx("div",{className:"space-y-1.5 p-1",children:[0,1,2,3,4].map(F=>u.jsx("div",{className:"skeleton h-4 w-full"},F))}):ae.length===0?u.jsx("p",{className:"px-1 py-2 text-faint",children:"No values"}):ae.map(F=>{const te=b.has(F);return u.jsxs("label",{className:"flex cursor-pointer items-center gap-2 px-1 py-1 hover:bg-surface-soft",children:[u.jsx("input",{type:"checkbox",checked:te,onChange:()=>a({type:"toggleFilter",dim:n.ref,value:F,mode:v}),className:"size-3 accent-[var(--accent)]"}),u.jsx("span",{className:"min-w-0 truncate text-ink",children:rs(F)})]},F)})})]}),u.jsxs("div",{className:"mt-2 flex items-center justify-between border-t border-line pt-2",children:[u.jsx("button",{type:"button",onClick:()=>a({type:"removeFilterDim",dim:n.ref}),className:"text-muted underline-offset-2 hover:text-ink hover:underline",children:"Clear"}),u.jsx("button",{type:"button",onClick:t,className:"border border-line px-2 py-1 text-muted hover:bg-surface-soft",children:"Done"})]})]})}function QS({model:n}){const e=n.dimensions.filter(m=>m.type!=="time"),[t,i]=I.useState(!1),[a,c]=I.useState(null),f=I.useRef(null);I.useEffect(()=>{if(!t)return;function m(v){v.key==="Escape"&&h()}function g(v){a||f.current&&!f.current.contains(v.target)&&h()}return document.addEventListener("keydown",m,!0),document.addEventListener("mousedown",g,!0),()=>{document.removeEventListener("keydown",m,!0),document.removeEventListener("mousedown",g,!0)}},[t,a]);function h(){i(!1),c(null)}return e.length===0?null:u.jsxs("span",{ref:f,className:"relative inline-flex",children:[u.jsx("button",{type:"button","aria-haspopup":"dialog","aria-expanded":t,onClick:()=>t?h():i(!0),className:"inline-flex h-7 shrink-0 items-center rounded-full border border-dashed border-line px-3 text-xs text-muted hover:border-faint hover:text-ink",children:"+ Filter"}),t&&!a?u.jsx("div",{role:"menu","aria-label":"Add a filter for a dimension",className:"absolute left-0 z-50 mt-1 max-h-64 w-48 overflow-y-auto rounded-xl border border-line bg-surface p-1.5 text-2xs shadow-[var(--shadow)]",children:e.map(m=>u.jsx("button",{type:"button",role:"menuitem",onClick:()=>c(m),className:"block w-full truncate px-1.5 py-1 text-left text-muted hover:bg-surface-soft hover:text-ink",children:m.label},m.ref))}):null,t&&a?u.jsx(Rv,{dim:a,model:n,onClose:h}):null]})}function yd(n,e){return n.includes(e)?n.filter(t=>t!==e):[...n,e]}function qm({metric:n,selected:e,multiple:t,onSelect:i}){return u.jsxs("button",{type:"button","data-catalog-metric":n.ref,"data-selected":e||void 0,"aria-pressed":e,title:n.description,onClick:i,className:"flex w-full items-center justify-between gap-2 border-l-2 px-3 py-1 text-left text-xs hover:bg-surface-soft data-[selected=true]:border-l-accent data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent border-l-transparent text-muted",children:[u.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[t?u.jsx("span",{"aria-hidden":"true",className:"w-3 shrink-0 text-center text-accent",children:e?"✓":""}):null,u.jsx("span",{className:"truncate",children:n.label})]}),n.agg?u.jsx("span",{className:"shrink-0 text-2xs text-faint",children:n.agg}):null]})}function KS({dimension:n,selected:e,onSelect:t}){return u.jsxs("button",{type:"button","data-catalog-dimension":n.ref,"data-selected":e||void 0,"aria-pressed":e,title:n.description,onClick:t,className:"flex w-full items-center justify-between gap-2 border-l-2 border-l-transparent px-3 py-1 text-left text-xs text-muted hover:bg-surface-soft data-[selected=true]:border-l-accent data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent",children:[u.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[u.jsx("span",{"aria-hidden":"true",className:"w-3 shrink-0 text-center",children:e?"✓":""}),u.jsx("span",{className:"truncate",children:n.label})]}),u.jsx("span",{className:"shrink-0 text-2xs text-faint",children:n.type==="time"?"time":""})]})}function JS(){const{state:n,dispatch:e,catalog:t}=ls(),i=t.models.find(h=>h.name===n.model),a=Di(t,n.model),c=n.view==="pivot",f=n.pivotMetrics.length?n.pivotMetrics:n.selectedMetric?[n.selectedMetric]:[];return u.jsxs("nav",{"aria-label":"Semantic layer catalog",className:"flex flex-col gap-4 py-3 text-sm",children:[u.jsxs("section",{className:"px-3",children:[u.jsx("h2",{className:"mb-1 text-xs font-medium text-muted",children:"Model"}),u.jsx("select",{"aria-label":"Model",value:n.model,onChange:h=>{var v,x;const m=t.models.find(b=>b.name===h.target.value),g=((v=m==null?void 0:m.metrics[0])==null?void 0:v.ref)??((x=Di(t,h.target.value)[0])==null?void 0:x.ref)??"";e({type:"setModel",model:h.target.value,metric:g,grain:(m==null?void 0:m.defaultGrain)??"month"})},className:"w-full border border-line bg-surface px-2 py-1 text-xs text-ink",children:t.models.map(h=>u.jsx("option",{value:h.name,children:h.label},h.name))})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-1 px-3 text-xs font-medium text-muted",children:"Metrics"}),u.jsx("div",{children:((i==null?void 0:i.metrics)??[]).map(h=>u.jsx(qm,{metric:h,selected:c?f.includes(h.ref):n.selectedMetric===h.ref,multiple:c,onSelect:()=>e(c?{type:"setPivotMetrics",metrics:yd(f,h.ref)}:{type:"setMetric",metric:h.ref})},h.ref))}),a.length?u.jsxs(u.Fragment,{children:[u.jsx("h3",{className:"mb-1 mt-3 px-3 text-xs font-medium text-muted",children:"Shared metrics"}),u.jsx("div",{children:a.map(h=>u.jsx(qm,{metric:h,selected:c?f.includes(h.ref):n.selectedMetric===h.ref,multiple:c,onSelect:()=>e(c?{type:"setPivotMetrics",metrics:yd(f,h.ref)}:{type:"setMetric",metric:h.ref})},h.ref))})]}):null]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-1 px-3 text-xs font-medium text-muted",children:"Dimensions"}),c?u.jsx("div",{children:((i==null?void 0:i.dimensions)??[]).map(h=>u.jsx(KS,{dimension:h,selected:n.pivotDims.includes(h.ref),onSelect:()=>e({type:"setPivotDims",dims:yd(n.pivotDims,h.ref)})},h.ref))}):u.jsx("ul",{className:"px-3 text-xs text-muted",children:((i==null?void 0:i.dimensions)??[]).map(h=>u.jsxs("li",{className:"flex items-center justify-between gap-2 py-0.5",title:h.description,children:[u.jsx("span",{className:"truncate",children:h.label}),u.jsx("span",{className:"shrink-0 text-2xs text-faint",children:h.type==="time"?"time":""})]},h.ref))})]})]})}class qS extends I.Component{constructor(){super(...arguments);Mn(this,"state",{})}static getDerivedStateFromError(t){return{error:t}}render(){return this.state.error?u.jsx("div",{className:"p-4",children:u.jsxs("div",{className:"border border-danger/40 bg-surface p-4",children:[u.jsx("p",{className:"text-sm font-semibold text-danger",children:"Something went wrong rendering this view."}),u.jsx("p",{className:"mt-1 break-words text-xs text-muted",children:this.state.error.message}),u.jsxs("div",{className:"mt-3 flex gap-2",children:[u.jsx("button",{type:"button",onClick:()=>this.setState({error:void 0}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Retry"}),u.jsx("button",{type:"button",onClick:()=>window.location.reload(),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Reload"})]})]})}):this.props.children}}const ZS=[{key:"off",label:"Off"},{key:"previous",label:"Previous period"},{key:"year",label:"Previous year"},{key:"custom",label:"Custom range"}];function Lv({range:n,disabled:e,onChange:t,comparison:i,comparisonRange:a,onComparisonChange:c}){const f=I.useRef(null),[h,m]=I.useState((n==null?void 0:n.from)??""),[g,v]=I.useState((n==null?void 0:n.to)??""),[x,b]=I.useState((a==null?void 0:a.from)??""),[w,_]=I.useState((a==null?void 0:a.to)??"");function C(){f.current&&(f.current.open=!1)}function T(O){t(O),C()}function V(O){O==="custom"?c("custom",x&&w?{from:x,to:w}:void 0):c(O)}const $=n?`${n.from} → ${n.to}`:"All time",R=!n;return u.jsxs("details",{ref:f,className:"relative text-xs",onToggle:O=>{e&&(O.currentTarget.open=!1)},children:[u.jsxs("summary",{"aria-disabled":e||void 0,tabIndex:e?-1:void 0,onClick:O=>e&&O.preventDefault(),onKeyDown:O=>{e&&(O.key==="Enter"||O.key===" ")&&O.preventDefault()},className:`flex h-7 cursor-pointer items-center gap-1.5 rounded-full border border-line bg-surface px-3 text-ink ${e?"cursor-not-allowed opacity-50":""}`,children:[u.jsx("span",{className:"text-faint",children:"Range"}),u.jsx("span",{className:"tnum",children:$}),u.jsx("span",{"aria-hidden":"true",className:"text-faint",children:"▾"})]}),u.jsxs("div",{className:"absolute right-0 z-50 mt-1 w-64 rounded-xl border border-line bg-surface p-1.5 shadow-[var(--shadow)]",children:[u.jsx("button",{type:"button",onClick:()=>T(void 0),className:"w-full rounded-lg px-2.5 py-1.5 text-left text-xs text-muted hover:bg-surface-soft hover:text-ink",children:"All time"}),u.jsx("div",{className:"grid grid-cols-2",children:pS.map(O=>u.jsx("button",{type:"button",onClick:()=>T(mS(O.days)),className:"rounded-lg px-2.5 py-1.5 text-left text-xs text-muted hover:bg-surface-soft hover:text-ink",children:O.label},O.key))}),u.jsxs("div",{className:"mt-2 px-1 pb-1",children:[u.jsxs("div",{className:"flex items-center gap-1.5",children:[u.jsx("input",{type:"date","aria-label":"From date",value:h,onChange:O=>m(O.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"}),u.jsx("span",{className:"text-faint",children:"→"}),u.jsx("input",{type:"date","aria-label":"To date",value:g,onChange:O=>v(O.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"})]}),u.jsx("button",{type:"button",disabled:!h||!g,onClick:()=>T({from:h,to:g}),className:"mt-1.5 inline-flex h-7 w-full items-center justify-center rounded-full border border-accent bg-accent-soft text-xs font-medium text-accent hover:bg-accent hover:text-surface disabled:pointer-events-none disabled:opacity-50",children:"Apply custom range"})]}),u.jsxs("div",{className:"mt-1 px-1 pb-1","data-testid":"comparison-picker",children:[u.jsx("p",{className:"mb-1 px-1.5 text-2xs text-faint",children:"Compare to"}),u.jsx("div",{className:`grid grid-cols-2 ${R?"opacity-50":""}`,children:ZS.map(O=>u.jsx("button",{type:"button",disabled:R,"data-comparison":O.key,"data-active":i===O.key||void 0,onClick:()=>V(O.key),className:"rounded-lg px-2.5 py-1.5 text-left text-xs text-muted hover:bg-surface-soft hover:text-ink data-[active=true]:bg-accent-soft data-[active=true]:text-accent",children:O.label},O.key))}),i==="custom"&&!R?u.jsxs("div",{className:"mt-1.5",children:[u.jsxs("div",{className:"flex items-center gap-1.5",children:[u.jsx("input",{type:"date","aria-label":"Comparison from date",value:x,onChange:O=>b(O.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"}),u.jsx("span",{className:"text-faint",children:"→"}),u.jsx("input",{type:"date","aria-label":"Comparison to date",value:w,onChange:O=>_(O.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"})]}),u.jsx("button",{type:"button",disabled:!x||!w,onClick:()=>c("custom",{from:x,to:w}),className:"mt-1.5 inline-flex h-7 w-full items-center justify-center rounded-full border border-accent bg-accent-soft text-xs font-medium text-accent hover:bg-accent hover:text-surface disabled:pointer-events-none disabled:opacity-50",children:"Apply comparison"})]}):null]})]})]})}function Ud(n){const[e,t]=I.useState(!1);if(!("dim"in n))return u.jsxs("span",{"data-dimension":n.dimension,"data-value":n.value,className:"inline-flex max-w-full items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 text-2xs leading-4 text-muted",children:[u.jsxs("span",{className:"truncate",children:[u.jsxs("span",{className:"text-faint",children:[n.dimensionLabel??n.dimension,":"]})," ",n.value]}),n.onRemove?u.jsx("button",{type:"button","aria-label":`Remove filter ${n.value}`,onClick:n.onRemove,className:"-mr-0.5 px-0.5 text-faint hover:text-ink",children:"×"}):null]});const{dim:i,model:a,filter:c,onRemove:f}=n;return u.jsxs("span",{className:"relative inline-flex max-w-full items-center","data-dimension":i.ref,"data-mode":c.mode,children:[u.jsxs("span",{className:"inline-flex max-w-full items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 text-2xs leading-4 text-muted",children:[u.jsxs("button",{type:"button","aria-label":`Edit filter ${i.label}`,"aria-haspopup":"dialog","aria-expanded":e,onClick:()=>t(h=>!h),className:"min-w-0 truncate text-left hover:text-ink",children:[u.jsx("span",{className:"text-faint",children:i.label})," ",bb(c)]}),u.jsx("button",{type:"button","aria-label":`Remove filter ${i.label}`,onClick:f,className:"grid size-3.5 shrink-0 place-items-center rounded-full bg-surface-soft text-faint hover:bg-line hover:text-ink",children:"×"})]}),e?u.jsx(Rv,{dim:i,model:a,onClose:()=>t(!1)}):null]})}function $d({grain:n,options:e,disabled:t,onChange:i}){return u.jsxs("label",{className:"flex items-center gap-1.5 text-xs text-faint",children:[u.jsx("span",{className:"hidden sm:inline",children:"Grain"}),u.jsx("select",{"aria-label":"Time grain",value:n,disabled:t,onChange:a=>i(a.target.value),className:"h-7 rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50",children:e.map(a=>u.jsx("option",{value:a,children:Le(a)},a))})]})}const XS=["UTC","America/Los_Angeles","America/Denver","America/Chicago","America/New_York","America/Sao_Paulo","Europe/London","Europe/Berlin","Europe/Paris","Europe/Moscow","Asia/Dubai","Asia/Kolkata","Asia/Singapore","Asia/Shanghai","Asia/Tokyo","Australia/Sydney"];let gl=null;function Zm(){if(gl)return gl;const n=typeof Intl.supportedValuesOf=="function"?Intl.supportedValuesOf("timeZone"):[];return gl=[...new Set(["UTC",...n])].sort(),gl}function e_(n){if(!n)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:n}),!0}catch{return!1}}function t_(n,e=new Date){var t;try{const c=(((t=new Intl.DateTimeFormat("en-US",{timeZone:n,timeZoneName:"shortOffset"}).formatToParts(e).find(g=>g.type==="timeZoneName"))==null?void 0:t.value)??"").match(/([+-])(\d{1,2})(?::(\d{2}))?/);if(!c)return n==="UTC"?"+00:00":"";const f=c[1],h=c[2].padStart(2,"0"),m=c[3]??"00";return`${f}${h}:${m}`}catch{return""}}const Xm="__search__";function n_({timezone:n,disabled:e,onChange:t}){const i=I.useId(),[a,c]=I.useState(!1),[f,h]=I.useState(""),m=I.useMemo(()=>{const b=new Set(XS);return n&&b.add(n),[...b]},[n]),g=I.useMemo(()=>a?Zm():[],[a]);function v(b){const w=b.trim();e_(w)&&(t(w),c(!1),h(""))}if(a)return u.jsxs("label",{className:"flex items-center gap-1.5 text-2xs text-faint",children:[u.jsx("span",{className:"hidden sm:inline",children:"Zone"}),u.jsx("input",{type:"text",list:i,autoFocus:!0,"aria-label":"Search timezone",placeholder:"Region/City…",value:f,disabled:e,onChange:b=>{h(b.target.value),Zm().includes(b.target.value)&&v(b.target.value)},onKeyDown:b=>{b.key==="Enter"?v(f):b.key==="Escape"&&(c(!1),h(""))},onBlur:()=>{c(!1),h("")},className:"h-7 w-36 rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50"}),u.jsx("datalist",{id:i,children:g.map(b=>u.jsx("option",{value:b},b))})]});const x=t_(n);return u.jsxs("label",{className:"flex items-center gap-1.5 text-2xs text-faint",children:[u.jsx("span",{className:"hidden sm:inline",children:"Zone"}),u.jsxs("select",{"aria-label":"Timezone",value:n,disabled:e,onChange:b=>{b.target.value===Xm?c(!0):t(b.target.value)},className:"h-7 max-w-[11rem] rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50",children:[m.map(b=>u.jsxs("option",{value:b,children:[b,b==="UTC"?"":x&&b===n?` (${x})`:""]},b)),u.jsx("option",{value:Xm,children:"Search…"})]})]})}function r_(n,e,t){if(t==="count")return n.length;const i=n.map(c=>typeof c[e]=="number"?c[e]:Number(c[e])).filter(Number.isFinite);if(i.length===0)return Number.NaN;if(t==="min")return Math.min(...i);if(t==="max")return Math.max(...i);const a=i.reduce((c,f)=>c+f,0);return t==="avg"?a/i.length:a}const s_={sum:"Σ",avg:"avg",min:"min",max:"max",count:"n"};function Ui({columns:n,rows:e,loading:t,sortKey:i,sortDir:a,onSort:c,renderCell:f,pageSize:h=50,searchable:m,totals:g,stickyHeader:v=!0}){const[x,b]=I.useState(0),[w,_]=I.useState(""),C=I.useMemo(()=>{const D=w.trim().toLowerCase();return!m||!D?e:e.filter(L=>n.some(G=>String(L[G.key]??"").toLowerCase().includes(D)))},[e,n,w,m]),{paginate:T,pageCount:V,safePage:$,start:R,visibleRows:O}=yb(C,x,h);I.useEffect(()=>{b(0)},[e,h,i,a,w]);const E=g&&n.some(D=>g[D.key]);return u.jsxs("div",{children:[m?u.jsxs("div",{className:"mb-2 flex items-center justify-end gap-2",children:[w?u.jsxs("span",{className:"whitespace-nowrap text-2xs text-faint tnum",children:[C.length.toLocaleString()," of ",e.length.toLocaleString()]}):null,u.jsx("input",{type:"search","aria-label":"Search rows",placeholder:"Search…",value:w,onChange:D=>_(D.target.value),className:"h-7 w-full max-w-64 rounded-full border border-line bg-surface px-2.5 text-xs text-ink placeholder:text-faint"})]}):null,u.jsx("div",{className:"overflow-auto border border-line bg-surface",children:u.jsxs("table",{className:"w-max min-w-full border-collapse text-xs","data-testid":"pivot-table",children:[u.jsx("thead",{children:u.jsx("tr",{className:"bg-surface-soft",children:n.map(D=>{const L=i===D.key;return u.jsx("th",{className:`max-w-80 whitespace-nowrap border-b border-line bg-surface-soft px-3 py-1.5 font-semibold text-faint ${D.numeric?"min-w-32 text-right":"min-w-40 text-left"} ${v?"sticky top-0 z-10":""}`,children:D.sortable&&c?u.jsxs("button",{type:"button",onClick:()=>c(D.key),"aria-label":`Sort by ${D.label}${L?`, currently ${a==="asc"?"ascending":"descending"}`:""}`,className:`table-sort inline-flex max-w-full items-center gap-1 whitespace-nowrap hover:text-ink ${L?"text-ink":""}`,children:[u.jsx("span",{className:"truncate",children:D.label}),u.jsx("span",{"aria-hidden":"true",className:"text-[9px]",children:L?a==="asc"?"▲":"▼":"↕"})]}):u.jsx("span",{className:"block truncate",title:D.label,children:D.label})},D.key)})})}),u.jsx("tbody",{children:t&&C.length===0?u.jsx("tr",{children:u.jsx("td",{colSpan:n.length,className:"px-3 py-6 text-center text-faint",children:"Loading…"})}):C.length===0?u.jsx("tr",{children:u.jsx("td",{colSpan:n.length,className:"px-3 py-6 text-center text-faint",children:w?"No matching rows":"No rows"})}):O.map((D,L)=>u.jsx("tr",{className:"hover:bg-surface-soft",children:n.map(G=>{const W=f(G,D[G.key]);return u.jsx("td",{className:`max-w-80 whitespace-nowrap border-b border-line px-3 py-1.5 text-muted ${G.numeric?"min-w-32 text-right font-mono tnum text-ink":"min-w-40"}`,children:u.jsx("span",{className:"block max-w-80 truncate",title:W,children:W})},G.key)})},R+L))}),E&&C.length>0?u.jsx("tfoot",{children:u.jsx("tr",{className:"bg-surface-soft","data-testid":"table-totals",children:n.map(D=>{const L=g==null?void 0:g[D.key];if(!L)return u.jsx("td",{className:"border-t border-line px-3 py-1.5"},D.key);const G=r_(C,D.key,L),W=L==="count"?G.toLocaleString():Number.isFinite(G)?f(D,G):"—";return u.jsxs("td",{"data-total":L,className:`whitespace-nowrap border-t border-line px-3 py-1.5 font-mono tnum font-medium text-ink ${D.numeric?"text-right":"text-left"}`,children:[u.jsx("span",{"aria-hidden":"true",className:"mr-1 text-2xs text-faint",children:s_[L]}),W]},D.key)})})}):null]})}),T?u.jsxs("div",{"data-testid":"pivot-table-pager",className:"mt-1.5 flex items-center justify-between gap-3 text-2xs text-faint",children:[u.jsxs("span",{className:"tnum",children:[R+1,"–",Math.min(R+h,C.length)," of ",C.length.toLocaleString(),t?" · Updating…":""]}),u.jsxs("div",{className:"flex gap-1",children:[u.jsx("button",{type:"button",disabled:$===0,onClick:()=>b(D=>Math.max(0,D-1)),className:"table-pager-button px-2 py-1 text-muted hover:text-ink disabled:cursor-not-allowed disabled:opacity-40",children:"Prev"}),u.jsx("button",{type:"button",disabled:$>=V-1,onClick:()=>b(D=>Math.min(V-1,D+1)),className:"table-pager-button px-2 py-1 text-muted hover:text-ink disabled:cursor-not-allowed disabled:opacity-40",children:"Next"})]})]}):null]})}function i_(n,e){const t=e.filter(i=>n.some(a=>a.ref===i));return t.length?t:n.slice(0,6).map(i=>i.ref)}function o_(){var $,R;const[n,e]=I.useState(!1),{state:t,catalog:i,backend:a,dashboard:c}=ls(),f=i.models.find(O=>O.name===t.model),h=I.useMemo(()=>Fs(i,c,t.dashboardTab),[i,c,t.dashboardTab]),m=(h==null?void 0:h.dimensions)??(f==null?void 0:f.dimensions)??[],g=i_(m,t.pivotDims),v=(($=h==null?void 0:h.timeDimension)==null?void 0:$.ref)??((R=f==null?void 0:f.timeDimension)==null?void 0:R.ref),x=I.useMemo(()=>pc(i),[i]),b=I.useMemo(()=>[...(h==null?void 0:h.filters)??[],...Ts(t.filters,{timeRef:v,range:t.dateRange,types:x,dialect:i.dialect})],[h,t.filters,v,t.dateRange,x,i.dialect]),w=n&&f?_S({dimensions:g,metrics:[]},b,50,h==null?void 0:h.segments,h==null?void 0:h.usePreaggregations):null,{result:_,loading:C,error:T}=Bn(a,w),V=[...g.map(O=>{var E;return{key:Sr(O),label:((E=m.find(D=>D.ref===O))==null?void 0:E.label)??Le(O)}})];return u.jsxs("section",{"data-testid":"row-preview-drawer","data-open":n||void 0,className:"absolute inset-x-0 bottom-0 z-30 border-t border-line bg-surface shadow-[0_-8px_24px_rgba(0,0,0,0.16)]",children:[u.jsxs("button",{type:"button","aria-expanded":n,onClick:()=>e(O=>!O),className:"flex h-8 w-full items-center justify-between px-3 text-left text-xs font-medium text-muted hover:bg-surface-soft hover:text-ink",children:[u.jsx("span",{children:"Rows preview"}),u.jsx("span",{"aria-hidden":"true",children:n?"▼":"▲"})]}),n?u.jsx("div",{className:"max-h-[45vh] overflow-auto border-t border-line",children:T?u.jsx("p",{role:"alert",className:"p-3 text-xs text-danger",children:T}):V.length===0?u.jsx("p",{className:"p-3 text-xs text-faint",children:"No preview fields are available."}):u.jsx(Ui,{columns:V,rows:(_==null?void 0:_.rows)??[],loading:C,pageSize:10,renderCell:(O,E)=>E==null||E===""?"—":String(E)})}):null]})}function hf({tone:n,title:e,message:t}){const i=n==="danger";return u.jsx("div",{className:`grid min-h-[200px] place-items-center border bg-surface p-6 text-center ${i?"border-danger/40":"border-line"}`,"data-state":n,role:i?"alert":"status","aria-live":i?"assertive":"polite",children:u.jsxs("div",{className:"max-w-md",children:[n==="loading"?u.jsx("span",{"aria-hidden":"true",className:"motion-safe:animate-pulse inline-block size-2 rounded-full bg-accent"}):null,e?u.jsx("h3",{className:`text-sm font-semibold ${i?"text-danger":"text-ink"}`,children:e}):null,u.jsx("p",{className:`mt-1 text-xs ${i?"text-danger":"text-muted"}`,children:t})]})})}function mc({title:n="Loading",message:e="Loading metrics…"}){return u.jsx(hf,{tone:"loading",title:n,message:e})}function Xn({title:n="No results",message:e}){return u.jsx(hf,{tone:"muted",title:n,message:e})}function $i({title:n="Query failed",message:e}){return u.jsx(hf,{tone:"danger",title:n,message:e})}function gd({status:n}){const e=n==="ok"?"bg-success":n==="loading"?"bg-faint animate-pulse":"bg-line";return u.jsx("span",{"aria-hidden":"true",className:`inline-block size-2 rounded-full ${e}`})}const Uv="sidemantic-theme";function pf(){var e;const n=localStorage.getItem(Uv);return n==="light"||n==="dark"?n:(e=window.matchMedia)!=null&&e.call(window,"(prefers-color-scheme: dark)").matches?"dark":"light"}function $v(n){document.documentElement.dataset.theme=n}function a_(){$v(pf())}function l_(){const n=pf()==="dark"?"light":"dark";return localStorage.setItem(Uv,n),$v(n),n}function Ko(){const[n,e]=I.useState(pf());return u.jsx("button",{type:"button","aria-label":n==="dark"?"Switch to light theme":"Switch to dark theme",title:n==="dark"?"Light theme":"Dark theme",onClick:()=>e(l_()),className:"grid size-7 place-items-center border border-line bg-surface text-faint hover:border-faint hover:text-ink",children:n==="dark"?u.jsxs("svg",{viewBox:"0 0 24 24",className:"size-3.5",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[u.jsx("circle",{cx:"12",cy:"12",r:"4"}),u.jsx("path",{d:"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"})]}):u.jsx("svg",{viewBox:"0 0 24 24",className:"size-3.5",fill:"none",stroke:"currentColor",strokeWidth:"2",children:u.jsx("path",{d:"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z"})})})}const Oo=[{key:"explore",label:"Explore"},{key:"pivot",label:"Pivot"}];function Pv({view:n,onChange:e}){const t=I.useRef(null);function i(a){const c=Math.max(0,Oo.findIndex(h=>h.key===n)),f=Oo[(c+a+Oo.length)%Oo.length];e(f.key),window.requestAnimationFrame(()=>{var h,m;return(m=(h=t.current)==null?void 0:h.querySelector(`[data-view="${f.key}"]`))==null?void 0:m.focus()})}return u.jsx("div",{ref:t,role:"tablist","aria-label":"View",className:"inline-flex items-center gap-0.5 rounded-full border border-line bg-surface p-px",children:Oo.map(a=>u.jsx("button",{role:"tab",type:"button","aria-selected":n===a.key,tabIndex:n===a.key?0:-1,"data-view":a.key,"data-selected":n===a.key||void 0,onClick:()=>e(a.key),onKeyDown:c=>{c.key==="ArrowLeft"?(c.preventDefault(),i(-1)):c.key==="ArrowRight"&&(c.preventDefault(),i(1))},className:"inline-flex h-6 items-center rounded-full px-2.5 text-xs font-medium text-muted hover:bg-surface-soft hover:text-ink data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent",children:a.label},a.key))})}const zv="dashboard_filters",Vv="dashboard_ranges",Wv="dashboard_filter_sources",Hv="dashboard_range_sources",Gv="dashboard_chart_filters",Yv="dashboard_chart_ranges";function c_(n,e){if(n==="/explore")return!0;const t=new URLSearchParams(e).get("view");return t==="explore"||t==="pivot"}function mf(n,e){var i,a;if(!e||!(n.query.dimensions??[]).includes(e))return!1;const t=(i=n.interactions)==null?void 0:i.select;return t===!0?!0:t?!((a=t.fields)!=null&&a.length)||t.fields.includes(e):!1}function u_(n){return(n.query.dimensions??[]).find(e=>mf(n,e))}function d_(n,e){var i,a;if(!e||!(n.query.dimensions??[]).includes(e))return!1;const t=(i=n.interactions)==null?void 0:i.brush;return t===!0?!0:!t||t.channel&&t.channel!=="x"?!1:!((a=t.fields)!=null&&a.length)||t.fields.includes(e)}function ac(n){return n==null?er:String(n)}function f_(n){let e=n.trim().replaceAll(/[^A-Za-z0-9_]/g,"_").replaceAll(/^_+|_+$/g,"")||"field";return/^\d/.test(e)&&(e=`field_${e}`),e}function xr(n,e){const t=Sr(n),i=f_(n);return i!==t&&e.includes(i)?i:e.includes(t)?t:e.find(a=>a.endsWith(t))??t}function h_(n){var t;const e=(t=n.encoding)==null?void 0:t.y;return Array.isArray(e)&&e.length?e:typeof e=="string"?[e]:n.query.metrics.slice(0,1)}function p_(n,e,t,i,a){return Object.fromEntries([[e,t],...i.map((c,f)=>[c,a[f]])].filter(c=>typeof c[1]=="string"&&mf(n,c[0])))}function m_(n,e,t){return[e,...t].some(i=>mf(n,i))}const y_=new Set(["second","minute","hour","day","week","month","quarter","year"]);function Ds(n){const e=n.lastIndexOf("__");if(e<0)return null;const t=n.slice(e+2);return y_.has(t)?{baseDimension:n.slice(0,e),grain:t}:null}function Qv(n,e){var c,f;if(n.type&&n.type!=="auto")return n.type;const t=((c=n.encoding)==null?void 0:c.x)??((f=n.query.dimensions)==null?void 0:f[0])??"",i=Ds(t);return(e[t]??(i?e[i.baseDimension]:void 0))==="time"?"line":"bar"}function Kv(n,e){const t=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?$/.test(n)?`${n}Z`:n,i=new Date(t);return Number.isFinite(i.getTime())?(e==="second"?i.setUTCSeconds(i.getUTCSeconds()+1):e==="minute"?i.setUTCMinutes(i.getUTCMinutes()+1):e==="hour"?i.setUTCHours(i.getUTCHours()+1):e==="day"?i.setUTCDate(i.getUTCDate()+1):e==="week"?i.setUTCDate(i.getUTCDate()+7):e==="month"?i.setUTCMonth(i.getUTCMonth()+1):e==="quarter"?i.setUTCMonth(i.getUTCMonth()+3):e==="year"&&i.setUTCFullYear(i.getUTCFullYear()+1),/^\d{4}-\d{2}-\d{2}$/.test(n)?i.toISOString().slice(0,10):i.toISOString()):null}function Jv(n,e,t){const i=Ds(n);if(i){const a=Kv(e.to,i.grain);return a?`${i.baseDimension} >= ${Qn(e.from,t)} AND ${i.baseDimension} < ${Qn(a,t)}`:`${i.baseDimension} >= ${Qn(e.from,t)} AND ${i.baseDimension} <= ${Qn(e.to,t)}`}return`${n} >= ${Qn(e.from,t)} AND ${n} <= ${Qn(e.to,t)}`}function g_(n,e,t,i){const a=Ds(n);return a?e===er?[`${a.baseDimension} IS NULL`]:[Jv(n,{from:e,to:e},i)]:Fv({[n]:{mode:"include",values:[e]}},{types:t,dialect:i})}function lc(n,e){const t=n.tabs.find(i=>i.charts.includes(e));return`${(t==null?void 0:t.id)??"dashboard"}:${e.id}`}function yf(n,e,t){var f,h,m,g,v;const i=((h=(f=n.defaults)==null?void 0:f.interactions)==null?void 0:h.scope)??"dashboard";if(i==="dashboard")return t;if(i==="chart"){const x=lc(n,e);return{filters:{...Object.fromEntries(Object.entries(t.filters).filter(([b])=>t.filterSources[b]===x)),...((m=t.chartFilters)==null?void 0:m[x])??{}},ranges:{...Object.fromEntries(Object.entries(t.ranges).filter(([b])=>t.rangeSources[b]===x)),...((g=t.chartRanges)==null?void 0:g[x])??{}}}}const a=((v=n.tabs.find(x=>x.charts.includes(e)))==null?void 0:v.charts)??[e],c=new Set(a.flatMap(x=>x.query.dimensions??[]));return{filters:Object.fromEntries(Object.entries(t.filters).filter(([x])=>c.has(x))),ranges:Object.fromEntries(Object.entries(t.ranges).filter(([x])=>c.has(x)))}}function v_(n,e,t,i,a={},c={filterSources:{},rangeSources:{}},f){var w,_,C,T,V,$;const h=yf(n,e,{filters:t,ranges:a,...c}),m=((w=e.encoding)==null?void 0:w.x)??((_=e.query.dimensions)==null?void 0:_[0])??"",g=e.query.order_by??e.query.orderBy,v=m&&["line","area"].includes(Qv(e,i))?[`${m} ASC`]:void 0,x={metrics:e.query.metrics,dimensions:e.query.dimensions,filters:[...e.query.filters??[],...Object.entries(h.filters).flatMap(([R,O])=>g_(R,O,i,f)),...Object.entries(h.ranges).map(([R,O])=>Jv(R,O,f))],segments:e.query.segments,orderBy:g??v,limit:e.query.limit??500},b=e.query.use_preaggregations??e.query.usePreaggregations??((T=(C=n.defaults)==null?void 0:C.query)==null?void 0:T.use_preaggregations)??(($=(V=n.defaults)==null?void 0:V.query)==null?void 0:$.usePreaggregations);return b!==void 0&&(x.usePreaggregations=b),x}function ey(n){const e=/^(\d{4}-\d{2}-\d{2})/.exec(n);return(e==null?void 0:e[1])??null}function ty(n,e){const t=ey(e.from);if(!t)return null;const i=Ds(n);if(!i){const f=ey(e.to);return f?{from:t,to:f}:null}const a=Kv(e.to,i.grain);if(!a)return null;const c=new Date(a);return c.setUTCMilliseconds(c.getUTCMilliseconds()-1),{from:t,to:c.toISOString().slice(0,10)}}function x_(n,e,t,i={},a){var O,E,D;const c=(O=e.encoding)==null?void 0:O.y,f=(Array.isArray(c)?c[0]:c)??e.query.metrics[0]??"",h=e.query.dimensions??[],m=a==null?void 0:a.graphMetrics.find(L=>L.ref===f),g=f.includes(".")?f.split(".")[0]:((E=h[0])==null?void 0:E.split(".")[0])??(m==null?void 0:m.ownerModel)??(m==null?void 0:m.model)??"",v=yf(n,e,t),x=Object.entries(v.filters).flatMap(([L,G])=>{const W=Ds(L);return W?[{dimension:L,value:G,baseDimension:W.baseDimension}]:[]}),b=Object.fromEntries(Object.entries(v.filters).flatMap(([L,G])=>{const W=Ds(L);return W?G===er?[[W.baseDimension,[G]]]:[]:[[L,[G]]]})),w=new URLSearchParams({view:"explore",model:g,metric:f});Object.keys(b).length&&w.set("filters",JSON.stringify(b));const _=((D=e.encoding)==null?void 0:D.x)??h[0],C=x.find(({baseDimension:L,value:G})=>G!==er&&(!g||L.startsWith(`${g}.`))),T=Object.keys(v.ranges),V=[_,...T].find((L,G,W)=>{if(!L||W.indexOf(L)!==G||!v.ranges[L])return!1;const Y=Ds(L);return((i[L]??(Y?i[Y.baseDimension]:void 0))==="time"||!!Y)&&(!g||L.startsWith(`${g}.`))}),$=V?v.ranges[V]:void 0,R=C?ty(C.dimension,{from:C.value,to:C.value}):V&&$?ty(V,$):null;return R&&(w.set("from",R.from),w.set("to",R.to)),`/explore?${w}`}function b_(n,e,t,i){const a=new Map;for(const c of n){const f=Number(c[t]);if(!Number.isFinite(f))continue;const h=i.map(b=>ac(c[b])),m=JSON.stringify(h),g=h.length?h.map(rs).join(" · "):"Current",v=a.get(m)??{label:g,filterValues:h,data:[]},x=ac(c[e]);v.data.push({label:rs(x),filterValue:x,value:f}),a.set(m,v)}return[...a.values()]}function w_(n,e,t,i){const a=[],c=new Set,f=new Map;for(const h of n){if(h[e]==null)continue;const m=String(h[e]),g=Number(h[t]);if(!Number.isFinite(g))continue;c.has(m)||(c.add(m),a.push(m));const v=i.map(_=>ac(h[_])),x=JSON.stringify(v),b=v.length?v.map(rs).join(" · "):"Current",w=f.get(x)??{label:b,values:new Map};w.values.set(m,g),f.set(x,w)}return[...f.values()].map(h=>({label:h.label,points:a.map(m=>({x:m,y:h.values.get(m)??Number.NaN}))}))}function gf(n,e){if(typeof n!="object"||n===null||Array.isArray(n))return{};const t={};for(const[i,a]of Object.entries(n))e.has(i)&&typeof a=="string"&&(t[i]=a);return t}function vf(n,e){if(typeof n!="object"||n===null||Array.isArray(n))return{};const t={};for(const[i,a]of Object.entries(n)){if(!e.has(i)||typeof a!="object"||a===null||Array.isArray(a))continue;const c=a;typeof c.from=="string"&&typeof c.to=="string"&&(t[i]={from:c.from,to:c.to})}return t}function cc(n,e){return typeof n!="object"||n===null||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).filter(t=>e.has(t[0])&&typeof t[1]=="string"))}function qv(n,e){return typeof n!="object"||n===null||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).flatMap(([t,i])=>{const a=e.get(t);if(!a)return[];const c=gf(i,a);return Object.keys(c).length?[[t,c]]:[]}))}function Zv(n,e){return typeof n!="object"||n===null||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).flatMap(([t,i])=>{const a=e.get(t);if(!a)return[];const c=vf(i,a);return Object.keys(c).length?[[t,c]]:[]}))}function Xv(n){return new Set(n.tabs.flatMap(e=>e.charts.flatMap(t=>t.query.dimensions??[])))}function e0(n){return new Map(n.tabs.flatMap(e=>e.charts.map(t=>[lc(n,t),new Set(t.query.dimensions??[])])))}function S_(n,e){var _;const t=new URLSearchParams(n),i=((_=e.tabs[0])==null?void 0:_.id)??"",a=t.get("tab"),c=e.tabs.some(C=>C.id===a)?a??i:i;let f,h,m,g,v,x;try{f=JSON.parse(t.get(zv)??"{}")}catch{f={}}try{h=JSON.parse(t.get(Vv)??"{}")}catch{h={}}try{m=JSON.parse(t.get(Wv)??"{}")}catch{m={}}try{g=JSON.parse(t.get(Hv)??"{}")}catch{g={}}try{v=JSON.parse(t.get(Gv)??"{}")}catch{v={}}try{x=JSON.parse(t.get(Yv)??"{}")}catch{x={}}const b=Xv(e),w=e0(e);return{tab:c,filters:gf(f,b),ranges:vf(h,b),filterSources:cc(m,b),rangeSources:cc(g,b),chartFilters:qv(v,w),chartRanges:Zv(x,w)}}function __(n,e){var c;const t=new URLSearchParams;n.tab&&n.tab!==((c=e.tabs[0])==null?void 0:c.id)&&t.set("tab",n.tab),Object.keys(n.filters).length&&t.set(zv,JSON.stringify(n.filters)),Object.keys(n.ranges).length&&t.set(Vv,JSON.stringify(n.ranges));const i=Object.fromEntries(Object.entries(n.filterSources).filter(([f])=>f in n.filters)),a=Object.fromEntries(Object.entries(n.rangeSources).filter(([f])=>f in n.ranges));return Object.keys(i).length&&t.set(Wv,JSON.stringify(i)),Object.keys(a).length&&t.set(Hv,JSON.stringify(a)),Object.keys(n.chartFilters??{}).length&&t.set(Gv,JSON.stringify(n.chartFilters)),Object.keys(n.chartRanges??{}).length&&t.set(Yv,JSON.stringify(n.chartRanges)),t.toString()}function t0(n){return`sidemantic-dashboard-views:${`${n.schema??"sidemantic.dashboard.v1"}:${n.title}`}`}function N_(n){try{const e=JSON.parse(localStorage.getItem(t0(n))??"[]");if(!Array.isArray(e))return[];const t=Xv(n);return e.flatMap(i=>{var m;if(typeof i!="object"||i===null||Array.isArray(i))return[];const a=i;if(typeof a.name!="string"||!a.name.trim())return[];if(typeof a.state!="object"||a.state===null||Array.isArray(a.state))return[];const c=a.state,f=n.tabs.some(g=>g.id===c.tab)?String(c.tab):((m=n.tabs[0])==null?void 0:m.id)??"",h=e0(n);return[{name:a.name,state:{tab:f,filters:gf(c.filters,t),ranges:vf(c.ranges,t),filterSources:cc(c.filterSources,t),rangeSources:cc(c.rangeSources,t),chartFilters:qv(c.chartFilters,h),chartRanges:Zv(c.chartRanges,h)}}]})}catch{return[]}}function j_(n,e){try{return localStorage.setItem(t0(n),JSON.stringify(e)),!0}catch{return!1}}function ny(n){if(n==null)return"";let e=String(n);return typeof n!="number"&&typeof n!="bigint"&&/^[\s\u0000-\u001f]*[=+@-]/.test(e)&&(e=`'${e}`),/[",\r\n]/.test(e)?`"${e.replaceAll('"','""')}"`:e}function k_(n,e){return[n.map(ny).join(","),...e.map(t=>n.map(i=>ny(t[i])).join(","))].join(`\r +`)}function I_(n){var e;return((e=n.label)==null?void 0:e.trim())||n.id}function vd(n,e){return`${n} ${e}${n===1?"":"s"}`}function M_(){const{catalog:n,dispatch:e}=ls(),t=i=>{const a=n.models.find(h=>h.name===i),c=Ov(a,n),f=(a==null?void 0:a.defaultGrain)??"month";e({type:"setModel",model:i,metric:c,grain:f}),e({type:"setView",view:"explore"})};return u.jsxs("div",{className:"mx-auto w-full max-w-5xl p-6",children:[u.jsxs("div",{className:"mb-4",children:[u.jsx("h1",{className:"text-base font-semibold text-ink",children:"Explore"}),u.jsxs("p",{className:"text-2xs text-muted",children:[vd(n.models.length,"model")," · pick one to explore"]})]}),u.jsx("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3",children:n.models.map(i=>u.jsxs("button",{type:"button","data-testid":"explore-card","data-model":i.name,onClick:()=>t(i.name),className:"flex min-h-32 flex-col gap-2 rounded-xl border border-line bg-surface p-4 text-left shadow-[var(--shadow-sm)] transition-colors hover:border-line-strong",children:[u.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[u.jsx("span",{className:"truncate text-sm font-medium text-ink",children:i.label}),i.timeDimension?u.jsx("span",{className:"shrink-0 text-2xs text-faint",children:"time series"}):null]}),i.description?u.jsx("p",{className:"line-clamp-2 text-2xs text-muted",children:i.description}):null,u.jsx("div",{className:"mt-auto flex flex-wrap gap-1 pt-1",children:i.metrics.slice(0,3).map(a=>u.jsx("span",{className:"rounded-full bg-surface-soft px-2 py-0.5 text-2xs text-muted",children:a.label},a.ref))}),u.jsxs("div",{className:"text-2xs text-faint",children:[vd(i.metrics.length,"metric")," · ",vd(i.dimensions.length,"dimension")]})]},i.name))})]})}const D_="600px";function C_(n){for(let e=n.parentElement;e;e=e.parentElement){const t=getComputedStyle(e).overflowY;if(t==="auto"||t==="scroll")return e}return null}function F_(n,e,t=D_){if(typeof IntersectionObserver>"u")return e(),()=>{};const i=new IntersectionObserver(a=>{a.some(c=>c.isIntersecting)&&(i.disconnect(),e())},{root:C_(n),rootMargin:t});return i.observe(n),()=>i.disconnect()}const O_={positive:"text-success",negative:"text-danger",neutral:"text-faint"};function n0({dimension:n,title:e,metricLabel:t,rows:i,selectedValues:a=[],loading:c,formatMetric:f,onToggle:h,contextColumn:m="none",contextOptions:g,onContextColumn:v,collapsedLimit:x=6,expanded:b=!1,onExpandedChange:w,containerRef:_}){const C=new Set(a),T=b?i:i.slice(0,x),V=Math.max(1,...T.map(E=>Math.abs(E.metric))),$=b||i.length>x,R=m!=="none",O=R?"grid-cols-[minmax(0,1fr)_auto_auto]":"grid-cols-[minmax(0,1fr)_auto]";return u.jsxs("section",{ref:_,"data-testid":"dimension-leaderboard","data-dimension":n,"data-expanded":b||void 0,"aria-label":`${e}, ranked by ${t}`,className:"flex min-h-40 flex-col border-b border-r border-line bg-surface data-[expanded=true]:col-span-full",children:[u.jsxs("header",{className:"flex items-center justify-between gap-3 px-3 pb-2 pt-2.5",children:[u.jsxs("div",{className:"flex min-w-0 items-baseline gap-2",children:[u.jsx("h3",{className:"truncate text-sm font-semibold text-ink",children:e}),u.jsxs("p",{className:"sr-only",children:["Ranked by ",t]})]}),g&&v?u.jsx("div",{role:"group","aria-label":"Context column","data-testid":"leaderboard-context-toggle",className:"flex shrink-0 overflow-hidden border border-line text-2xs",children:g.map(E=>u.jsx("button",{type:"button",title:E.title,"aria-pressed":m===E.key,"data-context":E.key,"data-active":m===E.key||void 0,onClick:()=>v(E.key),className:"border-l border-line px-1.5 py-0.5 font-mono text-faint first:border-l-0 hover:bg-surface-soft data-[active=true]:bg-accent-soft data-[active=true]:text-accent",children:E.label},E.key))}):null]}),u.jsx("div",{"data-testid":"leaderboard-rows",children:c&&i.length===0?u.jsx("div",{className:"space-y-2 p-3",children:[0,1,2,3].map(E=>u.jsx("div",{className:"skeleton h-5 w-full"},E))}):i.length===0?u.jsx("p",{className:"px-3 py-4 text-xs text-faint",children:"No values"}):T.map(E=>{var W,Y,P;const D=E.metric<0?"negative":"positive",L=C.has(E.value),G=`${Math.round(Math.abs(E.metric)/V*100)}%`;return u.jsxs("button",{type:"button","data-dimension":n,"data-value":E.value,"data-selected":L||void 0,"data-tone":D,onClick:()=>h==null?void 0:h(E.value),"aria-pressed":L,className:`leaderboard-row relative grid w-full ${O} items-center gap-3 overflow-hidden border-0 bg-transparent px-3 py-1 text-left text-xs text-ink data-[selected=true]:bg-chart-primary-selected`,children:[u.jsx("span",{"aria-hidden":"true",className:`absolute inset-y-0 left-0 ${D==="negative"?"bg-danger-soft":"bg-chart-primary-soft"}`,style:{width:G}}),u.jsx("span",{className:"relative min-w-0 truncate text-muted",children:rs(E.value)}),u.jsx("strong",{className:"relative tnum font-semibold text-ink",children:f(E.metric)}),R?u.jsx("span",{"data-testid":"leaderboard-context","data-tone":((W=E.context)==null?void 0:W.tone)??"neutral",className:`relative w-14 text-right font-mono tnum text-2xs ${O_[((Y=E.context)==null?void 0:Y.tone)??"neutral"]}`,children:((P=E.context)==null?void 0:P.label)??"—"}):null]},`${n}:${E.value}`)})}),$&&!c?u.jsx("button",{type:"button","data-action":b?"leaderboard-back":"leaderboard-expand","aria-expanded":b,onClick:()=>w==null?void 0:w(!b),className:"leaderboard-expand border-0 border-t border-line bg-transparent px-3 py-1 text-left text-xs font-normal text-faint hover:text-accent",children:b?"← All dimensions":`Expand table (${i.length})`}):null]})}const T_=[{key:"none",label:"—",title:"No context column"},{key:"pctTotal",label:"%",title:"Share of total"},{key:"delta",label:"Δ",title:"Absolute change vs comparison period"},{key:"deltaPct",label:"Δ%",title:"Percent change vs comparison period"}],A_=[],B_=[];function E_({dim:n,model:e,timeDimensionRef:t,rankMetric:i,contextColumn:a,metricTotal:c,comparisonRange:f,baseFilters:h=A_,baseSegments:m=B_,usePreaggregations:g,limit:v=6,expanded:x=!1,onExpandedChange:b}){var he;const{state:w,dispatch:_,backend:C,catalog:T}=ls(),V=I.useRef(null),[$,R]=I.useState(!1);I.useEffect(()=>{if(!($||!V.current))return F_(V.current,()=>R(!0))},[$]);const O=t??((he=e.timeDimension)==null?void 0:he.ref),E=I.useMemo(()=>pc(T),[T]),D=I.useMemo(()=>[...h,...Ts(w.filters,{timeRef:O,range:w.dateRange,excludeDim:n.ref,types:E,dialect:T.dialect})],[h,w.filters,O,w.dateRange,n.ref,E,T.dialect]),{result:L,loading:G,error:W}=Bn(C,$?Hm(i.ref,n.ref,D,v,m,g):null),Y=w.filters[n.ref],P=(Y==null?void 0:Y.mode)==="include"?Y.values:void 0,ee=[i.ref,n.ref],X=Fn(n.ref,ee),oe=a==="delta"||a==="deltaPct",ae=I.useMemo(()=>{if(!L||!L.columns.includes(X))return null;const re=[];let pe=!1;for(const Fe of L.rows){const Be=Fe[X];Be==null?pe=!0:re.push(String(Be))}const Ce=[];return re.length&&Ce.push(`CAST(${n.ref} AS VARCHAR) IN (${re.map(Fe=>Qn(Fe,T.dialect)).join(", ")})`),pe&&Ce.push(`${n.ref} IS NULL`),Ce.length?Ce.length===1?Ce[0]:`(${Ce.join(" OR ")})`:null},[L,X,n.ref,T.dialect]),se=I.useMemo(()=>oe&&f&&O&&ae?[...h,...Ts(w.filters,{timeRef:O,range:f,excludeDim:n.ref,types:E,dialect:T.dialect}),ae]:null,[oe,f,O,w.filters,n.ref,E,T.dialect,ae,h]),ne=Bn(C,se?Hm(i.ref,n.ref,se,v,m,g):null),A=Fn(i.ref,ee),Q=!!L&&L.rows.length>0&&!L.columns.includes(A),H=I.useMemo(()=>{const re=new Map;if(!ne.result||!ne.result.columns.includes(A))return re;for(const pe of ne.result.rows){const Ce=pe[X],Fe=Ce==null?er:String(Ce);re.set(Fe,Number(pe[A]))}return re},[ne.result,X,A]),N={format:i.format,type:i.type};function F(re,pe){switch(a){case"pctTotal":return c===void 0?void 0:gb(pe,c);case"delta":return vb(pe,H.get(re),N);case"deltaPct":return xb(pe,H.get(re));default:return}}const te=L&&!Q?L.rows.map(re=>{const pe=re[X],Ce=pe==null?er:String(pe),Fe=Number(re[A]??0);return{value:Ce,metric:Fe,context:F(Ce,Fe)}}):[];return W?u.jsx($i,{title:n.label,message:W}):u.jsx(n0,{dimension:n.ref,title:n.label,metricLabel:i.label,rows:te,containerRef:V,loading:!$||G||Q,selectedValues:P,formatMetric:re=>Gt(re,N),onToggle:re=>_({type:"toggleFilter",dim:n.ref,value:re}),contextColumn:a,contextOptions:T_,onContextColumn:re=>_({type:"setContextColumn",column:re}),collapsedLimit:v,expanded:x,onExpandedChange:b})}function Dr(){const[n,e]=I.useState(null);return{tip:n,handlers:i=>({onMouseEnter:a=>e({content:i,x:a.clientX,y:a.clientY}),onMouseMove:a=>e({content:i,x:a.clientX,y:a.clientY}),onMouseLeave:()=>e(null)})}}function rr({tip:n,position:e="fixed",offset:t=12,className:i,style:a}){return n?u.jsx("div",{role:"tooltip",style:{position:e,left:n.x+t,top:n.y+t,pointerEvents:"none",zIndex:50,...a},className:i||"rounded-lg border border-line bg-surface px-2.5 py-1.5 text-xs text-ink shadow-[var(--shadow)]",children:n.content}):null}function os({title:n,rows:e}){return u.jsxs("div",{className:"min-w-28",children:[n?u.jsx("div",{className:"mb-0.5 font-mono text-faint",children:n}):null,e.map((t,i)=>u.jsxs("div",{className:"flex items-center justify-between gap-3",children:[u.jsxs("span",{className:"flex items-center gap-1 text-muted",children:[t.swatch?u.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-sm",style:{background:t.swatch}}):null,t.label]}),u.jsx("span",{className:"font-mono tnum font-medium text-ink",children:t.value})]},i))]})}function r0({values:n,labels:e,height:t=44,ariaLabel:i,formatValue:a=h=>h.toLocaleString(void 0,{maximumFractionDigits:2}),onHover:c,onBrush:f}){const h=I.useRef(null),m=I.useId(),g=I.useRef(null),v=I.useRef(null),[x,b]=I.useState(200),[w,_]=I.useState(null),[C,T]=I.useState(null),[V,$]=I.useState(null);I.useEffect(()=>{const H=h.current;if(!H||typeof ResizeObserver>"u")return;const N=new ResizeObserver(F=>{for(const te of F)b(Math.max(40,te.contentRect.width))});return N.observe(H),()=>N.disconnect()},[]);const R=n.map((H,N)=>({index:N,value:H})).filter(H=>Number.isFinite(H.value));if(R.length<2)return u.jsx("svg",{ref:g,role:"img","aria-label":i||"No trend data",className:"h-11 w-full",viewBox:`0 0 ${x} ${t}`});const O=3,E=Math.min(...R.map(H=>H.value)),L=Math.max(...R.map(H=>H.value))-E||1,G=R.map((H,N)=>({...H,x:O+N/(R.length-1)*(x-O*2),y:O+(1-(H.value-E)/L)*(t-O*2)})),W=G.map(({x:H,y:N})=>`${H.toFixed(1)},${N.toFixed(1)}`).join(" L "),Y=`M ${G[0].x.toFixed(1)},${t-O} L ${W} L ${G.at(-1).x.toFixed(1)},${t-O} Z`,P=G.at(-1),ee=i||`Trend of ${R.length} points, latest ${a(P.value)}`;function X(H){var F;const N=(F=g.current)==null?void 0:F.getBoundingClientRect();return N?Math.max(O,Math.min(x-O,(H.clientX-N.left)/N.width*x)):O}function oe(H){return Math.max(0,Math.min(G.length-1,Math.round((H-O)/(x-O*2)*(G.length-1))))}function ae(H){const N=X(H),F=oe(N),te=G[F];_(F),$({content:`${e!=null&&e[te.index]?`${e[te.index]}: `:""}${a(te.value)}`,x:H.clientX,y:H.clientY}),c==null||c({index:te.index,label:e==null?void 0:e[te.index],value:te.value}),v.current!==null&&T({a:v.current,b:N})}function se(H){if(!f||!(e!=null&&e.length))return;H.currentTarget.setPointerCapture(H.pointerId);const N=X(H);v.current=N,T({a:N,b:N})}function ne(H){if(v.current===null||!f||!(e!=null&&e.length))return;H.currentTarget.hasPointerCapture(H.pointerId)&&H.currentTarget.releasePointerCapture(H.pointerId);const N=X(H);if(Math.abs(N-v.current)>6){const F=G[oe(Math.min(v.current,N))],te=G[oe(Math.max(v.current,N))];f({from:e[F.index],to:e[te.index]})}v.current=null,T(null)}function A(){_(null),$(null),c==null||c(null),v.current===null&&T(null)}const Q=w===null?null:G[w];return u.jsxs("span",{ref:h,className:"relative block w-full",children:[u.jsxs("svg",{ref:g,role:"img","aria-label":ee,className:`h-11 w-full overflow-hidden text-chart-primary ${f?"touch-none select-none":""}`,viewBox:`0 0 ${x} ${t}`,preserveAspectRatio:"none",onPointerMove:ae,onPointerDown:se,onPointerUp:ne,onPointerCancel:A,onPointerLeave:A,onDoubleClick:()=>f==null?void 0:f(null),children:[u.jsx("defs",{children:u.jsxs("linearGradient",{id:m,x1:"0",y1:"0",x2:"0",y2:"1",children:[u.jsx("stop",{offset:"0%",stopColor:"currentColor",stopOpacity:.16}),u.jsx("stop",{offset:"100%",stopColor:"currentColor",stopOpacity:0})]})}),u.jsx("path",{d:Y,fill:`url(#${m})`}),u.jsx("path",{d:`M ${W}`,fill:"none",stroke:"currentColor",strokeWidth:1.5,vectorEffect:"non-scaling-stroke"}),C?u.jsx("rect",{x:Math.min(C.a,C.b),y:0,width:Math.abs(C.b-C.a),height:t,fill:"currentColor",opacity:.12}):null,Q?u.jsxs(u.Fragment,{children:[u.jsx("line",{x1:Q.x,x2:Q.x,y1:0,y2:t,stroke:"currentColor",strokeWidth:1,opacity:.45}),u.jsx("circle",{cx:Q.x,cy:Q.y,r:2.5,fill:"currentColor"})]}):u.jsx("circle",{cx:P.x,cy:P.y,r:2.25,fill:"currentColor"})]}),u.jsx(rr,{tip:V})]})}const R_={positive:"text-success",negative:"text-danger",neutral:"text-faint"},L_={positive:"▲",negative:"▼",neutral:"·"};function Nr({metric:n,label:e,value:t,valueText:i,format:a,delta:c,comparison:f,sparkValues:h=[],sparkLabels:m,selected:g,loading:v,onSelect:x,onSparkHover:b,onSparkBrush:w}){const[_,C]=I.useState(null),T=u.jsxs(u.Fragment,{children:[u.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[u.jsx("span",{className:"truncate text-xs font-medium text-muted",children:e}),_!=null&&_.label?u.jsx("span",{className:"shrink-0 font-mono text-2xs text-faint",children:_.label}):null]}),u.jsx("div",{className:"font-mono tnum text-[19px] font-semibold leading-tight tracking-tight text-ink",children:v?u.jsx("span",{className:"skeleton inline-block h-6 w-24 align-middle"}):_?pt(_.value,a):i??pt(t,a)}),c||f?u.jsxs("div",{className:"flex items-baseline gap-1 text-2xs",children:[c?u.jsxs("span",{"data-tone":c.tone,className:`font-mono tnum font-medium ${R_[c.tone]}`,children:[u.jsx("span",{"aria-hidden":"true",className:"mr-0.5 text-[8px]",children:L_[c.tone]}),c.label]}):null,f?u.jsx("span",{className:"truncate text-faint",children:f}):null]}):null]}),V="group flex w-full flex-col gap-1.5 overflow-hidden rounded-xl border border-line bg-surface px-3.5 pt-3 text-left shadow-[var(--shadow-sm)] transition-colors hover:border-line-strong data-[selected=true]:border-accent",$=u.jsx("div",{className:"-mx-3.5 mt-auto",children:u.jsx(r0,{values:h,labels:m,onHover:R=>{C(R),b==null||b(R)},onBrush:w,formatValue:R=>pt(R,a)})});return x?u.jsxs("article",{"data-metric":n,"data-selected":g||void 0,className:V,children:[u.jsx("button",{type:"button","data-metric":n,"aria-pressed":!!g,onClick:()=>x(n),className:"-m-1 flex flex-col gap-1 border-0 bg-transparent p-1 text-left transition hover:opacity-75",children:T}),$]}):u.jsxs("article",{"data-metric":n,"data-selected":g||void 0,className:V,children:[T,$]})}const vl=280,Xt={top:14,right:18,bottom:26,left:60},ry=["var(--accent)","var(--danger)","#0f9f8f","#d98921","#a66dd4","#3b82c4"];function xd(n){return ry[n%ry.length]}function sy(n,e,t){return Math.min(Math.max(n,e),t)}function ea({points:n,seriesLabel:e="Current",additionalSeries:t=[],comparison:i,formatValue:a,formatAxis:c=a,formatLabel:f=v=>v,comparisonLabel:h="Previous",ariaLabel:m,onBrush:g}){var us;const v=I.useRef(null),x=I.useRef(null),b=I.useRef(!1),w=I.useRef(null),[_,C]=I.useState(820),[T,V]=I.useState(null),[$,R]=I.useState(null);I.useEffect(()=>{const ce=v.current;if(!ce)return;const Te=new ResizeObserver(st=>{for(const Ct of st)C(Math.max(320,Ct.contentRect.width))});return Te.observe(ce),()=>Te.disconnect()},[]);const O=n.length,E=[{label:e,points:n},...t],D=[...E.flatMap(ce=>ce.points),...i??[]].map(ce=>ce.y).filter(Number.isFinite),L=O<2||D.length===0,G=L?0:Math.min(0,...D),W=L?1:Math.max(...D),Y=W-G||1,P=_-Xt.left-Xt.right,ee=vl-Xt.top-Xt.bottom,X=ce=>Xt.left+(O<=1?0:ce/(O-1)*P),oe=ce=>Xt.top+(1-(ce-G)/Y)*ee,ae=ce=>sy(Math.round((ce-Xt.left)/P*(O-1)),0,O-1),se=ce=>{const Te=[];let st=[];return ce.forEach((Ct,Un)=>{Number.isFinite(Ct.y)?st.push(`${X(Un).toFixed(1)},${oe(Ct.y).toFixed(1)}`):st.length&&(Te.push(st.join(" L ")),st=[])}),st.length&&Te.push(st.join(" L ")),Te.map(Ct=>`M ${Ct}`).join(" ")},ne=L||n.some(ce=>!Number.isFinite(ce.y))?"":`M ${X(0).toFixed(1)},${oe(G).toFixed(1)} L ${n.map((ce,Te)=>`${X(Te).toFixed(1)},${oe(ce.y).toFixed(1)}`).join(" L ")} L ${X(O-1).toFixed(1)},${oe(G).toFixed(1)} Z`;function A(ce){var st;const Te=(st=x.current)==null?void 0:st.getBoundingClientRect();return Te?ce.clientX-Te.left:0}function Q(ce){if(L)return;const Te=A(ce);V(ae(Te)),b.current&&w.current&&(w.current={a:w.current.a,b:Te},R({...w.current}))}function H(ce){if(L||!g)return;ce.currentTarget.setPointerCapture(ce.pointerId),b.current=!0;const Te=A(ce);w.current={a:Te,b:Te},R({...w.current})}function N(ce){ce.currentTarget.hasPointerCapture(ce.pointerId)&&ce.currentTarget.releasePointerCapture(ce.pointerId);const Te=w.current;if(b.current&&Te&&g){const st=ae(Math.min(Te.a,Te.b)),Ct=ae(Math.max(Te.a,Te.b));Ct>st&&g({from:n[st].x,to:n[Ct].x})}b.current=!1,w.current=null,R(null)}function F(){V(null),b.current=!1,w.current=null,R(null)}const te=Math.max(1,Math.ceil(O/8)),he=[W,G+Y*.66,G+Y*.33,G],re=T!=null&&T>=0&&T{const st=ce.points[re];return st&&Number.isFinite(st.y)?[{...ce,point:st,index:Te}]:[]}),dt=re!=null?(i==null?void 0:i[re])??null:null,St=dt&&Number.isFinite(dt.y)?dt:null,Es=re!=null?sy(X(re),80,_-80):0,Et=Ce&&St&&St.y!==0?(Ce.y-St.y)/Math.abs(St.y)*100:null,sr=m??(L?"Time series chart: not enough data to plot.":`Time series chart, ${O} points from ${f(n[0].x)} to ${f(n[O-1].x)}.`);return u.jsxs("div",{className:"relative text-chart-primary",children:[u.jsxs("div",{className:"flex flex-wrap items-center justify-end gap-x-3 gap-y-0.5 px-3 pt-2 text-2xs text-faint",children:[E.map((ce,Te)=>u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx("span",{className:"inline-block h-0.5 w-3",style:{backgroundColor:xd(Te)}})," ",ce.label]},`${ce.label}-${Te}`)),i!=null&&i.length?u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx("span",{className:"inline-block h-0 w-3 border-t border-dashed border-faint"})," ",h]}):null]}),u.jsx("div",{ref:v,className:"w-full",children:L?u.jsx("div",{className:"grid h-[280px] place-items-center text-xs text-faint",children:"Not enough data to chart."}):u.jsxs("svg",{ref:x,width:_,height:vl,role:"img","aria-label":sr,className:"block touch-none select-none",onPointerMove:Q,onPointerDown:H,onPointerUp:N,onPointerLeave:F,onPointerCancel:F,onDoubleClick:()=>g==null?void 0:g(null),children:[u.jsx("defs",{children:u.jsxs("linearGradient",{id:"ts-fill",x1:"0",y1:"0",x2:"0",y2:"1",children:[u.jsx("stop",{offset:"0%",stopColor:"currentColor",stopOpacity:.18}),u.jsx("stop",{offset:"100%",stopColor:"currentColor",stopOpacity:0})]})}),he.map((ce,Te)=>u.jsxs("g",{children:[u.jsx("line",{x1:Xt.left,x2:_-Xt.right,y1:oe(ce),y2:oe(ce),className:"stroke-line"}),u.jsx("text",{x:Xt.left-8,y:oe(ce)+3,textAnchor:"end",className:"fill-faint font-mono text-[10px]",children:c(ce)})]},Te)),i&&i.length>=2?u.jsx("path",{d:se(i),fill:"none",className:"stroke-faint",strokeWidth:1.25,strokeDasharray:"4 3"}):null,ne?u.jsx("path",{d:ne,fill:"url(#ts-fill)"}):null,E.map((ce,Te)=>u.jsx("path",{d:se(ce.points),fill:"none",stroke:xd(Te),strokeWidth:1.75},`${ce.label}-${Te}`)),$?u.jsx("rect",{x:Math.min($.a,$.b),y:Xt.top,width:Math.abs($.b-$.a),height:ee,className:"fill-chart-primary",opacity:.12}):null,re!=null&&Be.length?u.jsxs("g",{children:[u.jsx("line",{x1:X(re),x2:X(re),y1:Xt.top,y2:vl-Xt.bottom,className:"stroke-faint",strokeDasharray:"3 3"}),St?u.jsx("circle",{cx:X(re),cy:oe(St.y),r:3,className:"fill-faint"}):null,Be.map(ce=>u.jsx("circle",{cx:X(re),cy:oe(ce.point.y),r:3.5,fill:xd(ce.index)},`${ce.label}-${ce.index}`))]}):null,n.map((ce,Te)=>Te%te===0||Te===O-1?u.jsx("text",{x:X(Te),y:vl-8,textAnchor:"middle",className:"fill-faint font-mono text-[10px]",children:f(ce.x)},ce.x):null)]})}),Be.length&&Fe?u.jsxs("div",{className:"pointer-events-none absolute top-8 z-20 -translate-x-1/2 whitespace-nowrap border border-line bg-surface px-2 py-1.5 text-2xs shadow-[var(--shadow)]",style:{left:Es},children:[u.jsx("div",{className:"mb-0.5 font-mono text-faint",children:f(Fe)}),Be.map(ce=>u.jsxs("div",{className:"flex items-center justify-between gap-3",children:[u.jsx("span",{className:"text-muted",children:ce.label}),u.jsx("span",{className:"font-mono tnum font-medium text-ink",children:a(ce.point.y)})]},`${ce.label}-${ce.index}`)),St?u.jsxs("div",{className:"flex items-center justify-between gap-3",children:[u.jsx("span",{className:"text-muted",children:h}),u.jsx("span",{className:"font-mono tnum text-muted",children:a(St.y)})]}):null,Et!=null?u.jsxs("div",{className:`mt-0.5 text-right font-mono ${Et>0?"text-success":Et<0?"text-danger":"text-faint"}`,children:[Et.toLocaleString(void 0,{maximumFractionDigits:1,signDisplay:"exceptZero"}),"%"]}):null]}):null]})}const U_={positive:"text-success",negative:"text-danger",neutral:"text-faint"};function $_({metric:n,points:e,comparisonPoints:t,total:i,prevTotal:a,hasTime:c,loading:f,activeRange:h,comparisonLabel:m="Prev period",formatLabel:g,onBrush:v}){const x={format:n.format,type:n.type},b=a!==void 0?Sy(i,a):null,w=`${n.label} over time. Total ${pt(i,x)}${b?`, ${b.label} versus the ${m.toLowerCase()}`:""}.`;return u.jsxs("section",{className:"flex flex-col gap-2",children:[u.jsxs("header",{className:"flex flex-wrap items-baseline gap-x-3 gap-y-0.5 px-0.5",children:[u.jsx("h2",{className:"text-xs font-medium text-muted",children:n.label}),u.jsx("span",{className:"font-mono tnum text-xl font-semibold text-ink",children:pt(i,x)}),b?u.jsxs("span",{className:`text-xs ${U_[b.tone]}`,children:[b.label," vs ",m.toLowerCase()]}):null,c?null:u.jsx("span",{className:"text-2xs text-faint",children:"No time dimension"}),h?u.jsx("button",{type:"button",onClick:()=>v(null),className:"ml-auto inline-flex h-7 items-center rounded-full border border-line bg-surface px-3 text-xs text-muted hover:border-line-strong hover:text-ink",children:"Reset zoom"}):null]}),c?f&&e.length<2?u.jsx("div",{className:"skeleton h-[280px] w-full"}):u.jsx(ea,{points:e,comparison:t,formatValue:_=>pt(_,x),formatAxis:_=>Gt(_,x),formatLabel:g,comparisonLabel:m,ariaLabel:w,onBrush:v}):null]})}const P_=new Set(["and","as","asc","by","case","cast","count","date_trunc","desc","else","end","from","group","in","is","join","left","limit","not","null","on","or","order","over","partition","select","sum","then","when","where","with"]);function z_(n){const e=[];let t=0;for(;ta).map(([a,c])=>`-- ${a} +${c}`).join(` + +`),i=z_(t||"No queries yet.");return u.jsxs("details",{className:"border border-line bg-surface",children:[u.jsx("summary",{className:"cursor-pointer px-3 py-2 text-xs font-medium text-muted",children:"Generated SQL"}),Object.keys(e).length>0?u.jsx("div",{"data-testid":"query-inputs",className:"grid gap-px border-t border-line bg-line sm:grid-cols-2",children:Object.entries(e).map(([a,c])=>c?u.jsxs("section",{className:"min-w-0 bg-surface px-3 py-2 text-2xs",children:[u.jsx("h3",{className:"mb-1 font-semibold text-ink",children:a}),[["Metrics",c.metrics],["Dimensions",c.dimensions],["Filters",c.filters]].map(([f,h])=>h!=null&&h.length?u.jsxs("p",{className:"truncate text-muted",title:h.join(", "),children:[u.jsxs("strong",{className:"font-medium text-faint",children:[f,":"]})," ",h.join(", ")]},f):null)]},a):null)}):null,u.jsx("pre",{"data-testid":"query-debug",className:"max-h-72 overflow-auto whitespace-pre-wrap border-t border-line px-3 py-2 font-mono text-2xs text-muted",children:i.map((a,c)=>iy[a.kind]?u.jsx("span",{className:iy[a.kind],"data-token":a.kind,children:a.value},c):a.value)})]})}function V_(n){return{format:n==null?void 0:n.format,type:n==null?void 0:n.type}}const W_=new Set(["cohort","conversion","retention"]);function bd(n){return!n.type||!W_.has(n.type)}function H_(n,e){return!!(n&&n===e)}function G_(n,e){return n&&e.some(t=>t.ref===n)?n:null}function oy(n,e){return[...n].sort((t,i)=>String(t[e]??"").localeCompare(String(i[e]??"")))}function Y_(n,e){return{from:e==="second"||e==="minute"||e==="hour"?n.from.replace(" ","T"):uf(n.from),to:gS(n.to,e)}}function Q_(){var Un,ir,Rs,Pi,zi,Vi,Wi,Ls,ds,Hi,Cr,Fr,ta;const{state:n,dispatch:e,catalog:t,backend:i,dashboard:a}=ls(),[c,f]=I.useState(null),h=t.models.find(ye=>ye.name===n.model),m=I.useMemo(()=>Fs(t,a,n.dashboardTab),[t,a,n.dashboardTab]);I.useEffect(()=>{f(null)},[n.dashboardTab,n.model]);const g=(m==null?void 0:m.metrics)??(h==null?void 0:h.metrics)??[],v=g.filter(bd),x=new Set(g.map(ye=>ye.ref)),b=Di(t,n.model).filter(ye=>!m||x.has(ye.ref)),w=((Un=m==null?void 0:m.timeDimension)==null?void 0:Un.ref)??((ir=h==null?void 0:h.timeDimension)==null?void 0:ir.ref),_=g.find(ye=>ye.ref===n.selectedMetric)??b.find(ye=>ye.ref===n.selectedMetric)??g[0],C=_&&!bd(_)?_:void 0,T=!!_&&v.some(ye=>ye.ref===_.ref),V=I.useMemo(()=>{const ye=v.map(vt=>vt.ref);return _&&bd(_)&&!T?[...ye,_.ref]:ye},[v,_,T]),$=I.useMemo(()=>pc(t),[t]),R=I.useMemo(()=>[...(m==null?void 0:m.filters)??[],...Ts(n.filters,{timeRef:w,range:n.dateRange,types:$,dialect:t.dialect})],[m,n.filters,w,n.dateRange,$,t.dialect]),O=I.useMemo(()=>n.comparison==="off"||!n.dateRange?null:n.comparison==="year"?fS(n.dateRange):n.comparison==="custom"?n.comparisonRange??null:dS(n.dateRange),[n.comparison,n.dateRange,n.comparisonRange]),E=I.useMemo(()=>O&&w?[...(m==null?void 0:m.filters)??[],...Ts(n.filters,{timeRef:w,range:O,types:$,dialect:t.dialect})]:null,[m,n.filters,w,O,$,t.dialect]),D=n.timezone,L=ye=>ye?{...ye,timezone:D}:null,G=Bn(i,!C&&V.length?L(pd(V,R,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations)):null),W=Bn(i,!C&&V.length&&w?L(Wm(V,w,n.grain,R,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations,!!n.dateRange)):null),Y=Bn(i,!C&&V.length&&E?L(pd(V,E,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations)):null),P=Bn(i,C?L(pd([C.ref],R,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations)):null),ee=Bn(i,!C&&_&&w&&E?L(Wm([_.ref],w,n.grain,E,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations,!0)):null),X=G.error??W.error??Y.error??ee.error??P.error;if(!h)return u.jsx("div",{className:"p-4",children:u.jsx(Xn,{message:"No model available in this semantic layer."})});const oe=((m==null?void 0:m.dimensions)??h.dimensions).filter(ye=>ye.type!=="time"),ae=G_(c,oe),se=n.comparison==="year"?"Prev year":n.comparison==="custom"?"Comparison":"Prev period",ne=w?`${w}__${n.grain}`:"",A=ne?[...V,ne]:V,Q=_&&ne?[_.ref,ne]:[],H=v[0]?Fn(v[0].ref,V):_?Fn(_.ref,V):null,N=ye=>!ye||!H||ye.columns.includes(H),F=N(G.result)?(Rs=G.result)==null?void 0:Rs.rows[0]:void 0,te=N(Y.result)?(Pi=Y.result)==null?void 0:Pi.rows[0]:void 0,he=N(W.result)?((zi=W.result)==null?void 0:zi.rows)??[]:[],re=_?Fn(_.ref,V):"",pe=_?Fn(_.ref,A):"",Ce=_?Fn(_.ref,Q):"",Fe=ne?Fn(ne,A):"",Be=ne?Fn(ne,Q):"",dt=Fe?oy(he,Fe):he,St=F&&re?Number(F[re]):NaN,Es=te&&re?Number(te[re]):void 0,Et=pe?dt.map(ye=>({x:String(ye[Fe]??""),y:Number(ye[pe])})):[],sr=Be?oy(((Vi=ee.result)==null?void 0:Vi.rows)??[],Be):[],us=Ce&&Et.length>0&&sr.length>0?(()=>{const ye=String(sr[0][Be]??""),vt=Et[0].x,Us=new Map;for(const rn of sr)Us.set(zm(ye,String(rn[Be]??""),n.grain),Number(rn[Ce]));return Et.map(rn=>({x:rn.x,y:Us.get(zm(vt,rn.x,n.grain))??NaN}))})():[],ce=H_(P.resultKey,P.queryKey),Te=ce?((Wi=P.result)==null?void 0:Wi.rows)??[]:[],st=(ce?((Ls=P.result)==null?void 0:Ls.columns)??[]:[]).map(ye=>({key:ye,label:Le(ye),numeric:Te.some(vt=>typeof vt[ye]=="number")}));function Ct(ye){e(ye?{type:"setDateRange",range:Y_(ye,n.grain)}:{type:"setDateRange",range:void 0})}return u.jsxs("div",{className:"flex flex-col gap-4 p-4",children:[X?u.jsx($i,{message:X}):null,C?null:u.jsx("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-3 lg:grid-cols-4 xl:grid-cols-6","data-testid":"metric-totals",children:v.length===0?u.jsx("div",{className:"col-span-full",children:u.jsx(Xn,{message:"This model has no metrics."})}):v.map(ye=>{const vt=Fn(ye.ref,V),Us=Fn(ye.ref,A),rn=F?Number(F[vt]):NaN,$s=te?Number(te[vt]):void 0,Gi=dt.map(fs=>Number(fs[Us])).filter(Number.isFinite);return u.jsx(Nr,{metric:ye.ref,label:ye.label,valueText:pt(rn,V_(ye)),delta:$s!==void 0?Sy(rn,$s):null,sparkValues:Gi,selected:n.selectedMetric===ye.ref,loading:G.loading&&!F,onSelect:fs=>e({type:"setMetric",metric:fs})},ye.ref)})}),C?u.jsxs("section",{className:"flex flex-col gap-2","data-testid":"single-metric-result",children:[u.jsxs("div",{children:[u.jsx("h2",{className:"text-sm font-semibold text-ink",children:C.label}),C.description?u.jsx("p",{className:"mt-0.5 text-xs text-muted",children:C.description}):null]}),P.error?null:ce?u.jsx(Ui,{columns:st,rows:Te,searchable:!0,renderCell:(ye,vt)=>vt==null||vt===""?"—":String(vt)}):u.jsx(mc,{message:`Loading ${C.label}…`})]}):_?u.jsx($_,{metric:_,points:Et,comparisonPoints:O?us:void 0,total:St,prevTotal:O?Es:void 0,hasTime:!!w,loading:W.loading,activeRange:n.dateRange,comparisonLabel:se,formatLabel:ye=>hS(ye,n.grain),onBrush:Ct}):null,C?null:u.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(220px,1fr))] gap-0 border-l border-t border-line",children:_&&oe.length?oe.filter(ye=>ae===null||ae===ye.ref).map(ye=>u.jsx(E_,{dim:ye,model:h,timeDimensionRef:w,rankMetric:_,contextColumn:n.contextColumn,metricTotal:Number.isFinite(St)?St:void 0,comparisonRange:O??void 0,baseFilters:m==null?void 0:m.filters,baseSegments:m==null?void 0:m.segments,usePreaggregations:m==null?void 0:m.usePreaggregations,expanded:ae===ye.ref,onExpandedChange:vt=>f(vt?ye.ref:null)},ye.ref)):u.jsx(Xn,{message:"No categorical dimensions to break down."})}),u.jsx(yc,{queries:{Totals:(ds=G.result)==null?void 0:ds.sql,Series:(Hi=W.result)==null?void 0:Hi.sql,Comparison:(Cr=Y.result)==null?void 0:Cr.sql,"Prev series":(Fr=ee.result)==null?void 0:Fr.sql,"Focused metric":(ta=P.result)==null?void 0:ta.sql}})]})}function K_(){var oe,ae;const{state:n,catalog:e,backend:t}=ls(),i=e.models.find(se=>se.name===n.model),a=(i==null?void 0:i.dimensions)??[],c=Di(e,n.model),f=I.useMemo(()=>[...(i==null?void 0:i.metrics)??[],...c],[i,c]),h=(oe=i==null?void 0:i.timeDimension)==null?void 0:oe.ref,m=se=>a.some(ne=>ne.ref===se),g=se=>f.some(ne=>ne.ref===se),v=n.pivotDims.filter(m),x=n.pivotMetrics.filter(g),b=g(n.selectedMetric)?n.selectedMetric:(ae=i==null?void 0:i.metrics[0])==null?void 0:ae.ref,w=x.length?x:b?[b]:[],[_,C]=I.useState(null),T=I.useMemo(()=>ff(a),[a]),V=I.useMemo(()=>Ts(n.filters,{timeRef:h,range:n.dateRange,types:T,dialect:e.dialect}),[n.filters,h,n.dateRange,T,e.dialect]),$=_??(w[0]?{ref:w[0],dir:"desc"}:null),R=$?[`${$.ref} ${$.dir.toUpperCase()}`]:void 0,O=w.length||v.length?SS(w,v,V,R,500):null,E=O?{...O,timezone:n.timezone}:null,{result:D,loading:L,error:G}=Bn(t,E),W=I.useMemo(()=>new Map(f.map(se=>[se.ref,se])),[f]),Y=I.useMemo(()=>{const se=new Map;for(const ne of[...v,...w])se.set(Sr(ne),ne);return se},[v,w]),P=[...v.map(se=>{var ne;return{key:Sr(se),label:((ne=a.find(A=>A.ref===se))==null?void 0:ne.label)??Le(se),numeric:!1}}),...w.map(se=>{var ne;return{key:Sr(se),label:((ne=W.get(se))==null?void 0:ne.label)??Le(se),numeric:!0,sortable:!0}})];function ee(se){const ne=Y.get(se);ne&&C(A=>A&&A.ref===ne?{ref:ne,dir:A.dir==="desc"?"asc":"desc"}:{ref:ne,dir:"desc"})}function X(se,ne){if(se.numeric){const A=W.get(Y.get(se.key)??"");return pt(ne,{format:A==null?void 0:A.format,type:A==null?void 0:A.type})}return ne==null||ne===""?"—":String(ne)}return i?u.jsxs("div",{className:"flex flex-col gap-4 p-4",children:[G?u.jsx($i,{message:G}):P.length===0?u.jsx(Xn,{title:"Nothing selected",message:"Pick at least one metric or dimension above."}):u.jsx(Ui,{columns:P,rows:(D==null?void 0:D.rows)??[],loading:L,sortKey:$?Sr($.ref):void 0,sortDir:$==null?void 0:$.dir,onSort:ee,renderCell:X}),u.jsx(yc,{queries:{Pivot:D==null?void 0:D.sql}})]}):u.jsx("div",{className:"p-4",children:u.jsx(Xn,{message:"No model available."})})}const Dn={top:12,right:14,bottom:26,left:44};function J_(n,e,t=4){if(!(e>n))return[n];const i=(e-n)/(t-1);return Array.from({length:t},(a,c)=>n+i*c)}function s0({data:n,height:e=200,ariaLabel:t,selectedLabel:i,onSelect:a}){const c=I.useRef(null),[f,h]=I.useState(640),{tip:m,handlers:g}=Dr();I.useEffect(()=>{const D=c.current;if(!D||typeof ResizeObserver>"u")return;const L=new ResizeObserver(G=>{for(const W of G)h(Math.max(160,W.contentRect.width))});return L.observe(D),()=>L.disconnect()},[]);const v=n.map(D=>Number.isFinite(D.value)?D.value:0),x=Math.min(0,...v),b=Math.max(0,...v),w=b-x||1,_=f-Dn.left-Dn.right,C=e-Dn.top-Dn.bottom,T=D=>Dn.top+(1-(D-x)/w)*C,V=T(0),$=_/Math.max(n.length,1),R=Math.max(8,Math.min(48,$*.62)),O=J_(x,b,4),E=t||`Bar chart, ${n.length} categories, up to ${Gt(b)}`;return u.jsxs(u.Fragment,{children:[u.jsxs("svg",{ref:c,role:"img","aria-label":E,className:"h-[200px] w-full overflow-hidden",viewBox:`0 0 ${f} ${e}`,children:[O.map((D,L)=>{const G=T(D);return u.jsxs("g",{children:[u.jsx("line",{x1:Dn.left,x2:f-Dn.right,y1:G,y2:G,className:"stroke-line"}),u.jsx("text",{x:Dn.left-6,y:G+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Gt(D)})]},L)}),u.jsx("line",{x1:Dn.left,x2:f-Dn.right,y1:V,y2:V,className:"stroke-line"}),n.map((D,L)=>{const G=D.filterValue??D.label,W=v[L]??0,Y=T(W),P=Math.abs(Y-V),ee=Dn.left+$*L+($-R)/2,X=Math.min(Y,V);return u.jsxs("g",{role:a?"button":void 0,tabIndex:a?0:void 0,"aria-label":a?`Filter to ${D.label}`:void 0,"aria-pressed":a?i===G:void 0,onClick:a?()=>a(G):void 0,onKeyDown:a?oe=>{(oe.key==="Enter"||oe.key===" ")&&a(G)}:void 0,className:a?"cursor-pointer":void 0,children:[u.jsx("rect",{x:ee,y:X,width:R,height:P,"data-label":D.label,"data-value":W,"data-tone":W<0?"negative":"positive",className:i===G?"fill-accent":W<0?"fill-danger":"fill-chart-primary",...g(`${D.label}: ${pt(W)}`)}),u.jsx("text",{x:ee+R/2,y:e-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:D.label.slice(0,8)})]},`${G}-${L}`)})]}),u.jsx(rr,{tip:m})]})}const wd=7;function vn(n){return`var(--viz-${(n%wd+wd)%wd+1})`}function As(n,e,t=4){if(!(e>n))return[n];const i=(e-n)/(t-1);return Array.from({length:t},(a,c)=>n+i*c)}function cs(n,e,t){if(!n||typeof ResizeObserver>"u")return()=>{};const i=new ResizeObserver(a=>{for(const c of a)t(Math.max(e,c.contentRect.width))});return i.observe(n),()=>i.disconnect()}const Vt={top:12,right:14,bottom:30,left:48};function i0({points:n,height:e=240,xLabel:t,yLabel:i,formatX:a=Gt,formatY:c=Gt,ariaLabel:f}){const h=I.useRef(null),[m,g]=I.useState(640),{tip:v,handlers:x}=Dr();I.useEffect(()=>cs(h.current,200,g),[]);const b=n.filter(P=>Number.isFinite(P.x)&&Number.isFinite(P.y));if(b.length===0)return u.jsx("div",{className:"grid h-[240px] place-items-center text-xs text-faint",children:"No points to chart."});const w=[...new Set(b.map(P=>P.series??""))],_=b.map(P=>P.x),C=b.map(P=>P.y),T=Math.min(..._),V=Math.max(..._),$=Math.min(...C),R=Math.max(...C),O=V-T||1,E=R-$||1,D=m-Vt.left-Vt.right,L=e-Vt.top-Vt.bottom,G=P=>Vt.left+(P-T)/O*D,W=P=>Vt.top+(1-(P-$)/E)*L,Y=f||`Scatter plot, ${b.length} points${t&&i?` of ${i} by ${t}`:""}`;return u.jsxs(u.Fragment,{children:[w.length>1?u.jsx("div",{className:"mb-1 flex flex-wrap items-center gap-3 text-2xs text-faint",children:w.map((P,ee)=>u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-full",style:{background:vn(ee)}}),P||"(default)"]},P||"(default)"))}):null,u.jsxs("svg",{ref:h,role:"img","aria-label":Y,className:"w-full overflow-hidden",style:{height:e},viewBox:`0 0 ${m} ${e}`,children:[As($,R,4).map((P,ee)=>{const X=W(P);return u.jsxs("g",{children:[u.jsx("line",{x1:Vt.left,x2:m-Vt.right,y1:X,y2:X,className:"stroke-line"}),u.jsx("text",{x:Vt.left-6,y:X+3,textAnchor:"end",className:"fill-faint text-[10px]",children:c(P)})]},`y${ee}`)}),As(T,V,5).map((P,ee)=>{const X=G(P);return u.jsxs("g",{children:[u.jsx("line",{x1:X,x2:X,y1:Vt.top,y2:e-Vt.bottom,className:"stroke-line"}),u.jsx("text",{x:X,y:e-14,textAnchor:"middle",className:"fill-faint text-[10px]",children:a(P)})]},`x${ee}`)}),t?u.jsx("text",{x:Vt.left+D/2,y:e-2,textAnchor:"middle",className:"fill-muted text-[10px]",children:t}):null,i?u.jsx("text",{x:10,y:Vt.top+L/2,textAnchor:"middle",transform:`rotate(-90 10 ${Vt.top+L/2})`,className:"fill-muted text-[10px]",children:i}):null,b.map((P,ee)=>u.jsx("circle",{cx:G(P.x),cy:W(P.y),r:3.5,fill:vn(w.indexOf(P.series??"")),fillOpacity:.75,"data-x":P.x,"data-y":P.y,"data-label":P.label,...x(u.jsx(os,{title:P.label??P.series,rows:[{label:t??"x",value:a(P.x)},{label:i??"y",value:c(P.y)}]}))},ee))]}),u.jsx(rr,{tip:v})]})}function q_(){const n=Ev();return u.jsx("span",{className:"text-2xs text-faint",children:n?"Querying…":"Live data"})}function Sd(n,e){for(const i of n.models){const a=i.metrics.find(c=>c.ref===e);if(a)return{format:a.format,type:a.type}}const t=n.graphMetrics.find(i=>i.ref===e);return{format:t==null?void 0:t.format,type:t==null?void 0:t.type}}function Z_(n){return ff(n.models.flatMap(e=>e.dimensions))}function X_(n){var t;const e=(t=n.encoding)==null?void 0:t.y;return(Array.isArray(e)?e[0]:e)??n.query.metrics[0]??""}function e2({chart:n,columns:e,rows:t}){const i=k_(e,t);return u.jsx("a",{href:`data:text/csv;charset=utf-8,${encodeURIComponent(i)}`,download:`${n.id}.csv`,className:"border border-line px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Export CSV"})}function t2({chart:n,columns:e,rows:t,loading:i,onDrill:a}){const c=e.map(g=>({key:g,label:Le(g),numeric:n.query.metrics.some(v=>xr(v,e)===g)})),f=u_(n),h=f?xr(f,e):void 0,m=!!f;return u.jsxs("div",{className:"border-t border-line bg-surface-soft p-3","data-testid":`chart-details-${n.id}`,children:[u.jsxs("div",{className:"mb-2 flex items-center justify-between gap-2",children:[u.jsx("span",{className:"text-2xs font-semibold uppercase tracking-wide text-faint",children:"Drill details"}),m&&f&&h?u.jsxs("span",{className:"text-2xs text-faint",children:["Choose a ",Le(f)," value to filter every chart."]}):null]}),u.jsx(Ui,{columns:c,rows:t,loading:i,pageSize:20,renderCell:(g,v)=>String(v??"—")}),m&&f&&h&&t.length?u.jsx("div",{className:"mt-2 flex flex-wrap gap-1","aria-label":`Drill by ${Le(f)}`,children:t.slice(0,12).map((g,v)=>{const x=ac(g[h]);return u.jsxs("button",{type:"button",onClick:()=>a(f,x),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-accent hover:text-ink",children:["Filter to ",rs(x)]},`${String(x)}-${v}`)})}):null]})}function n2({document:n,chart:e,catalog:t,backend:i,state:a,setFilters:c,setRange:f}){var P,ee,X,oe,ae,se,ne;const[h,m]=I.useState(!1),g=I.useMemo(()=>Z_(t),[t]),v=I.useMemo(()=>v_(n,e,a.filters,g,a.ranges,a,t.dialect),[e,n,a,g,t.dialect]),x=Bn(i,v),b=((P=x.result)==null?void 0:P.rows)??[],w=((ee=x.result)==null?void 0:ee.columns)??[],_=e.query.dimensions??[],C=((X=e.encoding)==null?void 0:X.x)??_[0]??"",T=h_(e),V=T[0]??X_(e),$=xr(C,w),R=yf(n,e,a),O=Qv(e,g),E=d_(e,C),D=((oe=e.title)==null?void 0:oe.trim())||Le(e.id),L=[(ae=e.encoding)==null?void 0:ae.color,..._.filter(A=>A!==C)].filter((A,Q,H)=>!!A&&H.indexOf(A)===Q),G=m_(e,C,L),W=L.map(A=>xr(A,w));let Y;if(x.loading&&!x.result)Y=u.jsx(mc,{title:`Loading ${D}`});else if(x.error)Y=u.jsx($i,{title:`Could not load ${D}`,message:x.error});else if(!b.length)Y=u.jsx(Xn,{title:D,message:"The query returned no rows."});else if(_.length)if(O==="scatter"||O==="point"){const A=(se=e.encoding)!=null&&se.color?xr(e.encoding.color,w):W[0];Y=u.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(260px,1fr))] gap-3",children:T.map(Q=>{const H=xr(Q,w),N=b.map(F=>({x:Number(F[$]),y:Number(F[H]),label:String(F[$]??""),series:A?String(F[A]??""):void 0}));return u.jsxs("div",{className:"min-w-0",children:[T.length>1?u.jsx("h3",{className:"mb-1 text-2xs font-semibold text-muted",children:Le(Q)}):null,u.jsx(i0,{points:N,xLabel:Le(C),yLabel:Le(Q),formatY:F=>pt(F,Sd(t,Q)),ariaLabel:`${D}, ${Le(Q)} by ${Le(C)}, ${N.length} points`})]},Q)})})}else O==="line"||O==="area"?Y=u.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(260px,1fr))] gap-3",children:T.map(A=>{const Q=w_(b,$,xr(A,w),W),H=Q[0]??{label:"Current",points:[]},N=Sd(t,A);return u.jsxs("div",{className:"min-w-0",children:[T.length>1?u.jsx("h3",{className:"mb-1 text-2xs font-semibold text-muted",children:Le(A)}):null,u.jsx(ea,{points:H.points,seriesLabel:H.label,additionalSeries:Q.slice(1),formatValue:F=>pt(F,N),ariaLabel:`${D}, ${Le(A)}, ${Q.length} series and ${H.points.length} buckets`,onBrush:E?F=>f(C,F):void 0})]},A)})}):Y=u.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(260px,1fr))] gap-3",children:T.map(A=>{const Q=xr(A,w),H=b_(b,$,Q,W);return H.map((N,F)=>{const te=N.data.slice(0,30),he=T.length>1||H.length>1,re=[T.length>1?Le(A):"",H.length>1?N.label:""].filter(Boolean).join(" · ");return u.jsxs("div",{className:"min-w-0",children:[he?u.jsx("h3",{className:"mb-1 text-2xs font-semibold text-muted",children:re}):null,u.jsx(s0,{data:te,ariaLabel:`${D}, ${re||Le(A)}, ${te.length} categories`,selectedLabel:R.filters[C],onSelect:G?pe=>{c(p_(e,C,pe,L,N.filterValues)),m(!0)}:void 0})]},`${A}-${N.label}-${F}`)})})});else{const A=b[0];Y=u.jsx("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2",children:e.query.metrics.map(Q=>u.jsx(Nr,{metric:Q,label:Le(Q),value:A[xr(Q,w)],format:Sd(t,Q)},Q))})}return u.jsxs("article",{className:"min-w-0 overflow-hidden border border-line bg-surface","data-testid":"dashboard-chart","data-chart-id":e.id,children:[u.jsxs("header",{className:"flex min-h-12 flex-wrap items-center justify-between gap-2 border-b border-line px-3 py-2",children:[u.jsxs("div",{className:"min-w-0",children:[u.jsx("h2",{className:"truncate text-sm font-semibold text-ink",children:D}),u.jsxs("p",{className:"text-2xs text-faint",children:[Le(V),C?` by ${Le(C)}`:""]})]}),u.jsxs("div",{className:"flex flex-wrap gap-1",children:[u.jsx("button",{type:"button","aria-expanded":h,onClick:()=>m(A=>!A),className:"border border-line px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:h?"Hide details":"Drill details"}),u.jsx("a",{href:x_(n,e,a,g,t),className:"border border-line px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Explore from here"}),u.jsx(e2,{chart:e,columns:w,rows:b})]})]}),u.jsx("div",{className:"min-h-64 overflow-hidden p-3",children:Y}),h?u.jsx(t2,{chart:e,columns:w,rows:b,loading:x.loading,onDrill:(A,Q)=>c({[A]:Q})}):null,(ne=x.result)!=null&&ne.sql?u.jsx("div",{className:"border-t border-line px-3 py-2",children:u.jsx(yc,{queries:{Query:x.result.sql}})}):null]})}function r2({document:n,state:e,onLoad:t}){const[i,a]=I.useState(""),[c,f]=I.useState(()=>N_(n)),[h,m]=I.useState(!1);function g(v){f(v),m(!j_(n,v))}return u.jsxs("details",{className:"relative",children:[u.jsx("summary",{className:"cursor-pointer list-none border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Saved views"}),u.jsxs("div",{className:"absolute right-0 z-50 mt-1 w-72 border border-line bg-surface p-3 shadow-[var(--shadow)]",children:[u.jsx("p",{className:"mb-2 text-2xs text-faint",children:"Stored only in this browser. Nothing is written to the server."}),u.jsxs("div",{className:"flex gap-1",children:[u.jsx("input",{value:i,onChange:v=>a(v.target.value),placeholder:"View name","aria-label":"Saved view name",className:"min-w-0 flex-1 border border-line bg-bg px-2 py-1 text-xs text-ink"}),u.jsx("button",{type:"button",disabled:!i.trim(),onClick:()=>{const v=[...c.filter(x=>x.name!==i.trim()),{name:i.trim(),state:e}];g(v),a("")},className:"border border-line px-2 py-1 text-2xs text-muted hover:text-ink disabled:opacity-40",children:"Save"})]}),h?u.jsx("p",{role:"alert",className:"mt-2 text-2xs text-danger",children:"Browser storage is unavailable."}):null,u.jsx("div",{className:"mt-2 flex flex-col gap-1",children:c.length?c.map(v=>u.jsxs("div",{className:"flex items-center justify-between gap-2 border-t border-line pt-1",children:[u.jsx("button",{type:"button",onClick:()=>t(v.state),className:"min-w-0 flex-1 truncate text-left text-xs text-muted hover:text-ink",children:v.name}),u.jsx("button",{type:"button","aria-label":`Delete saved view ${v.name}`,onClick:()=>g(c.filter(x=>x.name!==v.name)),className:"text-2xs text-faint hover:text-danger",children:"Delete"})]},v.name)):u.jsx("span",{className:"text-2xs text-faint",children:"No local views yet."})})]})]})}function s2(){const[n,e]=I.useState(!1);return u.jsx("button",{type:"button",title:"Copies the active tab, filters, and brushed ranges. Data is queried live; local saved views are not shared.",onClick:async()=>{await navigator.clipboard.writeText(window.location.href),e(!0),window.setTimeout(()=>e(!1),1200)},className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:n?"Share URL copied":"Copy share URL"})}function i2({document:n,catalog:e,backend:t}){const[i,a]=I.useState(()=>S_(window.location.search,n)),c=n.tabs.find(b=>b.id===i.tab)??n.tabs[0];I.useEffect(()=>{window.document.title=n.title},[n.title]),I.useEffect(()=>{const b=__(i,n);window.history.replaceState(null,"",`${window.location.pathname}${b?`?${b}`:""}`)},[n,i]);function f(b,w){var C,T;const _=lc(n,b);if((((T=(C=n.defaults)==null?void 0:C.interactions)==null?void 0:T.scope)??"dashboard")==="chart"){a(V=>{var $;return{...V,chartFilters:{...V.chartFilters??{},[_]:{...(($=V.chartFilters)==null?void 0:$[_])??{},...w}}}});return}a(V=>({...V,filters:{...V.filters,...w},filterSources:{...V.filterSources,...Object.fromEntries(Object.keys(w).map($=>[$,_]))}}))}function h(b,w,_){var T,V;const C=lc(n,b);if((((V=(T=n.defaults)==null?void 0:T.interactions)==null?void 0:V.scope)??"dashboard")==="chart"){a($=>{const R={...$.chartRanges??{}},O={...R[C]??{}};return _?O[w]=_:delete O[w],Object.keys(O).length?R[C]=O:delete R[C],{...$,chartRanges:R}});return}a($=>{const R={...$.ranges},O={...$.rangeSources};return _?(R[w]=_,O[w]=C):(delete R[w],delete O[w]),{...$,ranges:R,rangeSources:O}})}const m=u.jsxs(u.Fragment,{children:[u.jsx(r2,{document:n,state:i,onLoad:a}),u.jsx(s2,{}),u.jsx(Ko,{}),u.jsx(q_,{})]}),g=Object.entries(i.chartFilters??{}).flatMap(([b,w])=>Object.entries(w).map(([_,C])=>({source:b,dimension:_,value:C}))),v=Object.entries(i.chartRanges??{}).flatMap(([b,w])=>Object.entries(w).map(([_,C])=>({source:b,dimension:_,range:C}))),x=Object.entries(i.filters).length||Object.entries(i.ranges).length||g.length||v.length?u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"shrink-0 text-2xs font-semibold uppercase tracking-wide text-faint",children:"Filters"}),Object.entries(i.filters).map(([b,w])=>u.jsxs("button",{type:"button","aria-label":`Remove filter ${Le(b)} ${w}`,onClick:()=>a(_=>{const C={..._.filters},T={..._.filterSources};return delete C[b],delete T[b],{..._,filters:C,filterSources:T}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Le(b)," = ",w," ×"]},b)),Object.entries(i.ranges).map(([b,w])=>u.jsxs("button",{type:"button","aria-label":`Remove range ${Le(b)} ${w.from} to ${w.to}`,onClick:()=>a(_=>{const C={..._.ranges},T={..._.rangeSources};return delete C[b],delete T[b],{..._,ranges:C,rangeSources:T}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Le(b),": ",w.from,"–",w.to," ×"]},`range-${b}`)),g.map(({source:b,dimension:w,value:_})=>u.jsxs("button",{type:"button","aria-label":`Remove filter ${Le(w)} ${_} from ${b}`,onClick:()=>a(C=>{const T={...C.chartFilters??{}},V={...T[b]??{}};return delete V[w],Object.keys(V).length?T[b]=V:delete T[b],{...C,chartFilters:T}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Le(w)," = ",_," · ",b," ×"]},`chart-filter-${b}-${w}`)),v.map(({source:b,dimension:w,range:_})=>u.jsxs("button",{type:"button","aria-label":`Remove range ${Le(w)} ${_.from} to ${_.to} from ${b}`,onClick:()=>a(C=>{const T={...C.chartRanges??{}},V={...T[b]??{}};return delete V[w],Object.keys(V).length?T[b]=V:delete T[b],{...C,chartRanges:T}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Le(w),": ",_.from,"–",_.to," · ",b," ×"]},`chart-range-${b}-${w}`)),u.jsx("button",{type:"button",onClick:()=>a(b=>({...b,filters:{},ranges:{},filterSources:{},rangeSources:{},chartFilters:{},chartRanges:{}})),className:"text-2xs text-muted hover:text-ink",children:"Clear all"})]}):void 0;return u.jsx(Dv,{brand:u.jsxs("div",{className:"min-w-0",children:[u.jsx("h1",{className:"truncate text-sm font-semibold text-ink",children:n.title}),u.jsx("p",{className:"text-2xs text-faint",children:"Declarative dashboard"})]}),toolbar:m,filters:x,rail:null,showRail:!1,children:u.jsxs("div",{"data-testid":"dashboard-document",className:"flex min-h-full flex-col",children:[u.jsx("nav",{className:"flex shrink-0 gap-1 overflow-x-auto border-b border-line bg-surface px-3 pt-2","aria-label":"Dashboard tabs",children:n.tabs.map(b=>u.jsx("button",{type:"button",role:"tab","aria-selected":b.id===(c==null?void 0:c.id),"data-tab-id":b.id,onClick:()=>a(w=>{var _,C;return w.tab===b.id?w:(((C=(_=n.defaults)==null?void 0:_.interactions)==null?void 0:C.scope)??"dashboard")==="dashboard"?{...w,tab:b.id}:{...w,tab:b.id,filters:{},ranges:{},filterSources:{},rangeSources:{},chartFilters:{},chartRanges:{}}}),className:"border border-b-0 border-line px-3 py-2 text-xs text-muted aria-selected:border-accent aria-selected:bg-bg aria-selected:text-ink",children:I_(b)},b.id))}),c?u.jsx("section",{className:"grid min-w-0 grid-cols-1 gap-3 p-3 xl:grid-cols-2","data-testid":"dashboard-chart-grid","data-tab-id":c.id,children:c.charts.map(b=>u.jsx(n2,{document:n,chart:b,catalog:e,backend:t,state:i,setFilters:w=>f(b,w),setRange:(w,_)=>h(b,w,_)},b.id))}):u.jsx(Xn,{title:"No dashboard tabs",message:"This dashboard document has no tabs to render."})]})})}function ay(){const n=Ev();return u.jsxs("span",{role:"status","aria-live":"polite","aria-atomic":"true",className:"flex items-center gap-1.5 text-2xs text-faint",title:n?"Updating data":"Data is up to date",children:[n?u.jsx("svg",{"aria-hidden":"true",viewBox:"0 0 24 24",className:"spinner size-3.5 text-accent",fill:"none",stroke:"currentColor",strokeWidth:"3",children:u.jsx("path",{d:"M12 3a9 9 0 1 0 9 9",strokeLinecap:"round"})}):u.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-full bg-accent"}),u.jsx("span",{className:"sr-only",children:n?"Updating data":"Data is up to date"})]})}function o2(){const[n,e]=I.useState(!1);return u.jsx("button",{type:"button",onClick:async()=>{await navigator.clipboard.writeText(window.location.href),e(!0),window.setTimeout(()=>e(!1),1200)},className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:n?"Copied":"Copy link"})}function xl({children:n}){return u.jsx("div",{className:"grid h-screen place-items-center bg-bg p-6",children:n})}function a2({backend:n,onAuthenticated:e}){const[t,i]=I.useState(""),[a,c]=I.useState(null),[f,h]=I.useState(!1);return u.jsxs("div",{className:"w-full max-w-sm border border-line bg-surface p-6 shadow-sm",children:[u.jsx("h1",{className:"text-base font-semibold text-ink",children:"Connect to Sidemantic"}),u.jsx("p",{className:"mt-2 text-xs leading-5 text-muted",children:"Enter the API bearer once. It is exchanged for a short-lived, HttpOnly browser session where supported, and is never placed in the URL or browser storage."}),u.jsxs("form",{className:"mt-5 space-y-3",onSubmit:async m=>{m.preventDefault(),h(!0),c(null);try{await n.createBrowserSession(t),i(""),e()}catch(g){c(g instanceof Error?g.message:String(g))}finally{h(!1)}},children:[u.jsx("label",{className:"block text-xs font-medium text-ink",htmlFor:"api-token",children:"API bearer token"}),u.jsx("input",{id:"api-token",type:"password",autoComplete:"off",required:!0,value:t,onChange:m=>i(m.target.value),className:"w-full border border-line bg-bg px-3 py-2 text-sm text-ink outline-none focus:border-accent"}),a?u.jsx("p",{className:"text-xs text-red-700",children:a}):null,u.jsx("button",{type:"submit",disabled:f||!t,className:"w-full bg-accent px-3 py-2 text-xs font-semibold text-white disabled:opacity-50",children:f?"Connecting…":"Connect"})]})]})}function l2(){const{state:n,dispatch:e,catalog:t,initial:i,dashboard:a}=ls(),c=!!a,f=n.view==="home"&&!c,h=t.models.find(R=>R.name===n.model),m=I.useMemo(()=>Fs(t,a,n.dashboardTab),[t,a,n.dashboardTab]),g=I.useMemo(()=>a?Tv(t,a,n.dashboardTab):i,[t,a,i,n.dashboardTab]),v=n.dateRange!=null||Object.keys(n.filters).length>0,x=(m==null?void 0:m.timeDimension)??(h==null?void 0:h.timeDimension),b=!!x,w=cS(x==null?void 0:x.supportedGranularities,n.grain),_=I.useMemo(()=>{const R=new Map;for(const O of t.models)for(const E of O.dimensions)R.set(E.ref,{dim:E,model:O});return R},[t]),C=Object.entries(n.filters).flatMap(([R,O])=>{const E=_.get(R);return E?[u.jsx(Ud,{dim:E.dim,model:E.model,filter:O,onRemove:()=>e({type:"removeFilterDim",dim:R})},R)]:[]}),T=u.jsx(sS,{dashboardTitle:a==null?void 0:a.title,modelLabel:!f&&!c?h==null?void 0:h.label:void 0,onHome:()=>e({type:"setView",view:"home"})}),V=f?u.jsxs(u.Fragment,{children:[u.jsx(Ko,{}),u.jsx(ay,{})]}):u.jsxs(u.Fragment,{children:[a?u.jsx("div",{className:"flex items-center border border-line bg-surface",role:"tablist","aria-label":"Dashboard tabs",children:a.tabs.map(R=>{const O=R.id===n.dashboardTab;return u.jsx("button",{type:"button",role:"tab","aria-selected":O,className:`px-2 py-1 text-2xs ${O?"bg-accent text-white":"text-muted hover:text-ink"}`,onClick:()=>{const E=Fs(t,a,R.id);E&&e({type:"setDashboardTab",tab:E.id,model:E.model.name,metric:E.selectedMetric,grain:E.grain})},children:R.label??R.id},R.id)})}):u.jsx(Pv,{view:n.view,onChange:R=>e({type:"setView",view:R})}),u.jsx(Lv,{range:n.dateRange,disabled:!b,onChange:R=>e({type:"setDateRange",range:R}),comparison:n.comparison,comparisonRange:n.comparisonRange,onComparisonChange:(R,O)=>e({type:"setComparison",comparison:R,range:O})}),u.jsx($d,{grain:n.grain,options:w,disabled:!b,onChange:R=>e({type:"setGrain",grain:R})}),u.jsx(n_,{timezone:n.timezone,disabled:!b,onChange:R=>e({type:"setTimezone",timezone:R})}),v?u.jsx("button",{type:"button",onClick:()=>e({type:"reset",initial:g}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Reset"}):null,u.jsx(o2,{}),u.jsx(Ko,{}),u.jsx(ay,{})]}),$=u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"shrink-0 text-xs font-medium text-muted",children:"Filters"}),C.length?C:u.jsx("span",{className:"text-2xs text-faint",children:"None"}),h?u.jsx(QS,{model:h}):null,C.length?u.jsx("button",{type:"button",onClick:()=>e({type:"clearFilters"}),className:"shrink-0 text-2xs text-muted underline-offset-2 hover:text-ink hover:underline",children:"Clear"}):null]});return u.jsx(Dv,{brand:T,toolbar:V,filters:f?void 0:$,rail:u.jsx(JS,{}),showRail:!f&&!c,openRailRequest:n.view==="pivot",drawer:f?void 0:u.jsx(o_,{}),children:u.jsxs(qS,{children:[n.view==="home"?u.jsx(M_,{}):null,n.view==="explore"?u.jsx(Q_,{}):null,n.view==="pivot"?u.jsx(K_,{}):null]},n.view)})}function c2(){const[n,e]=I.useState(!1),t=I.useMemo(()=>new rS({transport:"json",onUnauthorized:()=>e(!0)}),[]),[i,a]=I.useState(null),[c,f]=I.useState(null),[h,m]=I.useState(0),g=c_(window.location.pathname,window.location.search);return I.useEffect(()=>{let v=!0;return Promise.all([t.getCatalog(),g?Promise.resolve(null):t.getDashboard()]).then(([x,b])=>v&&a({catalog:x,dashboard:b})).catch(x=>v&&f(x instanceof Error?x.message:String(x))),()=>{v=!1}},[t,g,h]),n?u.jsx(xl,{children:u.jsx(a2,{backend:t,onAuthenticated:()=>{e(!1),f(null),m(v=>v+1)}})}):c?u.jsx(xl,{children:u.jsx($i,{title:"Could not load semantic layer",message:c})}):i?i.catalog.models.length?i.dashboard?u.jsx(i2,{document:i.dashboard,catalog:i.catalog,backend:t}):u.jsx(zS,{catalog:i.catalog,backend:t,children:u.jsx(l2,{})}):u.jsx(xl,{children:u.jsx(Xn,{title:"Empty semantic layer",message:"No models were found."})}):u.jsx(xl,{children:u.jsx(mc,{title:"Loading semantic layer",message:"Reading models and metrics…"})})}const en={top:14,right:48,bottom:26,left:48};function u2({data:n,barLabel:e="Bars",lineLabel:t="Line",height:i=220,formatBar:a=pt,formatLine:c=pt,ariaLabel:f}){const h=I.useRef(null),[m,g]=I.useState(640),{tip:v,handlers:x}=Dr();if(I.useEffect(()=>cs(h.current,240,g),[]),n.length===0)return u.jsx("div",{className:"grid h-[220px] place-items-center text-xs text-faint",children:"No data to chart."});const b=n.map(ae=>Number.isFinite(ae.bar)?ae.bar:0),w=n.map(ae=>Number.isFinite(ae.line)?ae.line:0),_=Math.min(0,...b),C=Math.max(0,...b),T=C-_||1,V=Math.min(...w),$=Math.max(...w),R=$-V||1,O=m-en.left-en.right,E=i-en.top-en.bottom,D=ae=>en.top+(1-(ae-_)/T)*E,L=ae=>en.top+(1-(ae-V)/R)*E,G=O/n.length,W=Math.max(8,Math.min(48,G*.55)),Y=ae=>en.left+G*ae+G/2,P=D(0),ee=n.map((ae,se)=>`${Y(se).toFixed(1)},${L(w[se]).toFixed(1)}`).join(" L "),X=vn(1),oe=f||`Combo chart, ${n.length} categories: ${e} bars with a ${t} line`;return u.jsxs(u.Fragment,{children:[u.jsxs("div",{className:"mb-1 flex items-center gap-3 text-2xs text-faint",children:[u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx("span",{"aria-hidden":"true",className:"inline-block h-2 w-3 bg-chart-primary"})," ",e]}),u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx("span",{"aria-hidden":"true",className:"inline-block h-0.5 w-3",style:{background:X}})," ",t]})]}),u.jsxs("svg",{ref:h,role:"img","aria-label":oe,className:"w-full overflow-hidden",style:{height:i},viewBox:`0 0 ${m} ${i}`,children:[As(_,C,4).map((ae,se)=>{const ne=D(ae);return u.jsxs("g",{children:[u.jsx("line",{x1:en.left,x2:m-en.right,y1:ne,y2:ne,className:"stroke-line"}),u.jsx("text",{x:en.left-6,y:ne+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Gt(ae)})]},se)}),As(V,$,4).map((ae,se)=>u.jsx("text",{x:m-en.right+6,y:L(ae)+3,textAnchor:"start",className:"text-[10px]",fill:X,children:c(ae)},se)),u.jsx("line",{x1:en.left,x2:m-en.right,y1:P,y2:P,className:"stroke-line"}),n.map((ae,se)=>{const ne=b[se],A=D(ne);return u.jsxs("g",{children:[u.jsx("rect",{x:Y(se)-W/2,y:Math.min(A,P),width:W,height:Math.abs(A-P),"data-label":ae.label,"data-bar":ne,"data-line":w[se],className:ne<0?"fill-danger":"fill-chart-primary",...x(u.jsx(os,{title:ae.label,rows:[{label:e,value:a(ne),swatch:"var(--chart-primary)"},{label:t,value:c(w[se]),swatch:X}]}))}),u.jsx("text",{x:Y(se),y:i-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:ae.label.slice(0,8)})]},ae.label)}),u.jsx("path",{d:`M ${ee}`,fill:"none",stroke:X,strokeWidth:1.75}),n.map((ae,se)=>u.jsx("circle",{cx:Y(se),cy:L(w[se]),r:3,fill:X,...x(u.jsx(os,{title:ae.label,rows:[{label:e,value:a(b[se]),swatch:"var(--chart-primary)"},{label:t,value:c(w[se]),swatch:X}]}))},ae.label))]}),u.jsx(rr,{tip:v})]})}const d2={primary:"border-accent bg-accent-soft font-medium text-accent hover:bg-accent hover:text-surface",secondary:"border-line bg-surface text-ink hover:bg-surface-soft",ghost:"border-transparent bg-transparent text-muted hover:bg-surface-soft hover:text-ink",danger:"border-danger bg-danger-soft font-medium text-danger hover:bg-danger hover:text-surface"};function To({variant:n="secondary",size:e="md",type:t="button",className:i,...a}){const c=e==="sm"?"h-6 px-2.5 text-2xs":"h-7 px-3 text-xs";return u.jsx("button",{type:t,"data-variant":n,className:`inline-flex items-center justify-center rounded-full border ${c} ${d2[n]} disabled:pointer-events-none disabled:opacity-50 ${i??""}`,...a})}function f2(n,e){const t=e.trim().toLowerCase();return t?n.filter(i=>i.value.toLowerCase().includes(t)||(i.label??"").toLowerCase().includes(t)):n}function ly(n){const{options:e,placeholder:t="Search…",ariaLabel:i,disabled:a,maxVisible:c=50}=n,f=I.useId(),h=I.useRef(null),[m,g]=I.useState(!1),[v,x]=I.useState(""),[b,w]=I.useState(0),_=I.useMemo(()=>f2(e,v).slice(0,c),[e,v,c]),C=n.multiple?n.values:n.value!=null?[n.value]:[],T=new Set(C),V=D=>{var L;return((L=e.find(G=>G.value===D))==null?void 0:L.label)??D};I.useEffect(()=>{if(!m)return;function D(L){h.current&&!h.current.contains(L.target)&&g(!1)}return document.addEventListener("mousedown",D,!0),()=>document.removeEventListener("mousedown",D,!0)},[m]);function $(D){if(D){if(n.multiple){const L=T.has(D.value)?n.values.filter(G=>G!==D.value):[...n.values,D.value];n.onChange(L);return}n.onChange(D.value),x(""),g(!1)}}function R(){n.multiple?n.onChange([]):n.onChange(null),x("")}function O(D){D.key==="ArrowDown"?(D.preventDefault(),g(!0),w(L=>Math.min(L+1,_.length-1))):D.key==="ArrowUp"?(D.preventDefault(),w(L=>Math.max(L-1,0))):D.key==="Enter"?(D.preventDefault(),m&&$(_[b])):D.key==="Escape"?g(!1):D.key==="Backspace"&&n.multiple&&!v&&n.values.length&&n.onChange(n.values.slice(0,-1))}const E=!n.multiple&&n.value!=null?V(n.value):t;return u.jsxs("div",{ref:h,className:"relative inline-flex min-w-40 flex-wrap items-center gap-1 text-xs",children:[n.multiple?n.values.map(D=>u.jsxs("span",{"data-chip":D,className:"inline-flex items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 leading-4 text-muted",children:[u.jsx("span",{className:"max-w-32 truncate",children:V(D)}),u.jsx("button",{type:"button","aria-label":`Remove ${V(D)}`,disabled:a,onClick:()=>n.onChange(n.values.filter(L=>L!==D)),className:"text-faint hover:text-ink",children:"×"})]},D)):null,u.jsxs("span",{className:"relative min-w-28 flex-1",children:[u.jsx("input",{type:"text",role:"combobox","aria-expanded":m,"aria-controls":f,"aria-autocomplete":"list","aria-activedescendant":m&&_[b]?`${f}-${b}`:void 0,"aria-label":i,disabled:a,placeholder:E,value:v,onChange:D=>{x(D.target.value),w(0),g(!0)},onFocus:()=>g(!0),onKeyDown:O,className:"h-7 w-full rounded-full border border-line bg-surface px-3 text-ink placeholder:text-faint disabled:opacity-50"}),C.length>0?u.jsx("button",{type:"button","aria-label":"Clear selection",disabled:a,onClick:R,className:"absolute right-1 top-1/2 -translate-y-1/2 px-1 text-faint hover:text-ink",children:"×"}):null]}),m?u.jsxs("ul",{id:f,role:"listbox","aria-multiselectable":n.multiple||void 0,className:"absolute left-0 top-full z-50 mt-1 max-h-56 w-full min-w-40 overflow-y-auto rounded-xl border border-line bg-surface p-1.5 shadow-[var(--shadow)]",children:[_.length===0?u.jsx("li",{className:"px-1.5 py-1 text-faint",children:"No matches"}):null,_.map((D,L)=>u.jsxs("li",{id:`${f}-${L}`,role:"option","aria-selected":T.has(D.value),"data-active":L===b||void 0,onMouseEnter:()=>w(L),onMouseDown:G=>{G.preventDefault(),$(D)},className:"cursor-pointer truncate rounded-md px-2 py-1 text-muted data-[active=true]:bg-surface-soft data-[active=true]:text-ink",children:[D.label??D.value,T.has(D.value)?u.jsx("span",{className:"float-right text-accent",children:"✓"}):null]},D.value))]}):null]})}function h2({title:n,eyebrow:e="Sidemantic",status:t,toolbar:i,children:a}){return u.jsxs("main",{className:"mx-auto max-w-6xl px-4 py-5 text-ink sm:px-6",children:[u.jsxs("header",{className:"flex flex-wrap items-end justify-between gap-4 border-b border-line pb-4",children:[u.jsxs("div",{children:[u.jsx("p",{className:"text-xs font-medium text-faint",children:e}),u.jsx("h1",{className:"mt-1 text-2xl font-semibold text-ink",children:n})]}),t?u.jsx("div",{className:"text-sm text-muted",children:t}):null]}),i?u.jsx("section",{className:"flex flex-wrap gap-2 py-3",children:i}):null,u.jsx("section",{className:"grid gap-4 py-4",children:a})]})}const p2=["Su","Mo","Tu","We","Th","Fr","Sa"],cy=["January","February","March","April","May","June","July","August","September","October","November","December"];function o0(n,e,t){return`${String(n).padStart(4,"0")}-${String(e+1).padStart(2,"0")}-${String(t).padStart(2,"0")}`}function m2(n,e){const t=new Date(Date.UTC(n,e,1)),i=new Date(t);i.setUTCDate(1-t.getUTCDay());const a=[],c=new Date(i);do{const f=[];for(let h=0;h<7;h+=1)f.push({iso:o0(c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()),day:c.getUTCDate(),inMonth:c.getUTCMonth()===e}),c.setUTCDate(c.getUTCDate()+1);a.push(f)}while(c.getUTCMonth()===e);return a}function _d(){const n=new Date;return o0(n.getFullYear(),n.getMonth(),n.getDate())}function uy(n){var O;const{inline:e,ariaLabel:t,disabled:i}=n,a=n.mode==="range",c=a?((O=n.value)==null?void 0:O.from)??null:n.value,[f,h]=I.useState(()=>Number((c??_d()).slice(0,4))),[m,g]=I.useState(()=>Number((c??_d()).slice(5,7))-1),[v,x]=I.useState(null),b=I.useRef(null);function w(E){const D=new Date(Date.UTC(f,m+E,1));h(D.getUTCFullYear()),g(D.getUTCMonth())}function _(E){if(!a){n.onChange(E),b.current&&(b.current.open=!1);return}if(!v){x(E);return}const[D,L]=v<=E?[v,E]:[E,v];n.onChange({from:D,to:L}),x(null),b.current&&(b.current.open=!1)}function C(E){return a?v?E===v:n.value!=null&&E>=n.value.from&&E<=n.value.to:E===n.value}function T(E){return a?v?E===v:n.value!=null&&(E===n.value.from||E===n.value.to):E===n.value}const V=_d(),$=u.jsxs("div",{className:"w-56 select-none rounded-xl border border-line bg-surface p-2.5 text-2xs","aria-label":t??"Calendar",children:[u.jsxs("div",{className:"mb-1 flex items-center justify-between",children:[u.jsx("button",{type:"button","aria-label":"Previous month",onClick:()=>w(-1),className:"px-1.5 py-0.5 text-muted hover:bg-surface-soft hover:text-ink",children:"‹"}),u.jsxs("span",{className:"font-medium text-ink",children:[cy[m]," ",f]}),u.jsx("button",{type:"button","aria-label":"Next month",onClick:()=>w(1),className:"px-1.5 py-0.5 text-muted hover:bg-surface-soft hover:text-ink",children:"›"})]}),u.jsx("div",{className:"grid grid-cols-7 text-center text-faint",children:p2.map(E=>u.jsx("span",{className:"py-0.5",children:E},E))}),u.jsx("div",{role:"grid","aria-label":`${cy[m]} ${f}`,children:m2(f,m).map((E,D)=>u.jsx("div",{role:"row",className:"grid grid-cols-7",children:E.map(L=>u.jsx("button",{type:"button",role:"gridcell","aria-selected":C(L.iso),"data-date":L.iso,onClick:()=>_(L.iso),className:`py-1 text-center tnum ${T(L.iso)?"bg-accent text-surface":C(L.iso)?"bg-accent-soft text-accent":L.inMonth?"text-ink hover:bg-surface-soft":"text-faint hover:bg-surface-soft"} ${L.iso===V?"underline underline-offset-2":""}`,children:L.day},L.iso))},D))}),a&&v?u.jsxs("p",{className:"mt-1 text-faint",children:["Start ",v," — pick an end date."]}):null,n.value!=null?u.jsx("button",{type:"button",onClick:()=>n.onChange(null),className:"mt-1 w-full rounded-lg border border-line px-2 py-1 text-left text-muted hover:bg-surface-soft",children:"Clear"}):null]});if(e)return $;const R=a?n.value?`${n.value.from} → ${n.value.to}`:"Any dates":n.value??"Any date";return u.jsxs("details",{ref:b,className:"relative inline-block text-xs",children:[u.jsxs("summary",{className:`flex cursor-pointer items-center h-7 gap-1.5 rounded-full border border-line bg-surface px-3 text-ink ${i?"pointer-events-none opacity-50":""}`,children:[u.jsx("span",{className:"text-faint",children:t??"Date"}),u.jsx("span",{className:"tnum",children:R}),u.jsx("span",{"aria-hidden":"true",className:"text-faint",children:"▾"})]}),u.jsx("div",{className:"absolute left-0 z-50 mt-1 shadow-[var(--shadow)]",children:$})]})}function y2({result:n,pageSize:e=10}){const t=(n==null?void 0:n.columns)??[];return u.jsx(Ui,{columns:t.map(i=>({key:i,label:Le(i),numeric:n==null?void 0:n.sample_rows.some(a=>typeof a[i]=="number")})),rows:(n==null?void 0:n.sample_rows)??[],pageSize:e,renderCell:(i,a)=>pt(a)})}function g2({data:n,height:e=200,ariaLabel:t}){return u.jsx("div",{style:{minHeight:e},children:u.jsx(ea,{points:n.map(({label:i,value:a})=>({x:i,y:a})),formatValue:i=>pt(i),ariaLabel:t})})}const a0=Math.PI*2;function v2(n){const e=n.map((a,c)=>({...a,colorIndex:c})).filter(a=>Number.isFinite(a.value)&&a.value>0),t=e.reduce((a,c)=>a+c.value,0);if(t<=0)return[];let i=-Math.PI/2;return e.map(a=>{const c=a.value/t,f=i;return i+=c*a0,{label:a.label,value:a.value,share:c,startAngle:f,endAngle:i,colorIndex:a.colorIndex}})}function x2(n,e,t,i,a,c){const f=Math.min(c-a,a0-1e-4),h=a+f,m=f>Math.PI?1:0,g=n+i*Math.cos(a),v=e+i*Math.sin(a),x=n+i*Math.cos(h),b=e+i*Math.sin(h),w=n+t*Math.cos(h),_=e+t*Math.sin(h),C=n+t*Math.cos(a),T=e+t*Math.sin(a);return[`M ${g.toFixed(2)} ${v.toFixed(2)}`,`A ${i} ${i} 0 ${m} 1 ${x.toFixed(2)} ${b.toFixed(2)}`,`L ${w.toFixed(2)} ${_.toFixed(2)}`,`A ${t} ${t} 0 ${m} 0 ${C.toFixed(2)} ${T.toFixed(2)}`,"Z"].join(" ")}function b2({data:n,height:e=200,centerLabel:t="Total",format:i=pt,ariaLabel:a}){const c=I.useRef(null),[f,h]=I.useState(360),{tip:m,handlers:g}=Dr();I.useEffect(()=>cs(c.current,220,h),[]);const v=v2(n),x=v.reduce(($,R)=>$+R.value,0),b=Math.min(e,f*.55),w=b/2,_=e/2,C=b/2-6,T=Math.max(C*.62,C-34),V=a||`Donut chart, ${v.length} segments totaling ${Gt(x)}`;return v.length===0?u.jsx("div",{className:"grid h-[200px] place-items-center text-xs text-faint",children:"No positive values to chart."}):u.jsxs("div",{ref:c,className:"flex w-full items-center gap-4",style:{height:e},children:[u.jsxs("svg",{role:"img","aria-label":V,width:b,height:e,className:"shrink-0 overflow-hidden",children:[v.map($=>u.jsx("path",{d:x2(w,_,T,C,$.startAngle,$.endAngle),fill:vn($.colorIndex),stroke:"var(--surface)",strokeWidth:1,"data-label":$.label,"data-value":$.value,...g(u.jsx(os,{title:$.label,rows:[{label:"Value",value:i($.value),swatch:vn($.colorIndex)},{label:"Share",value:`${($.share*100).toFixed(1)}%`}]}))},$.label)),u.jsx("text",{x:w,y:_-4,textAnchor:"middle",className:"fill-ink font-mono tnum text-sm font-medium",children:Gt(x)}),u.jsx("text",{x:w,y:_+12,textAnchor:"middle",className:"fill-faint text-[10px]",children:t})]}),u.jsx("ul",{className:"min-w-0 flex-1 space-y-1 text-2xs",children:v.map($=>u.jsxs("li",{className:"flex items-center gap-2","data-label":$.label,children:[u.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 shrink-0",style:{background:vn($.colorIndex)}}),u.jsx("span",{className:"truncate text-muted",children:$.label}),u.jsx("span",{className:"ml-auto font-mono tnum text-ink",children:i($.value)}),u.jsxs("span",{className:"w-10 text-right font-mono tnum text-faint",children:[($.share*100).toFixed(1),"%"]})]},$.label))}),u.jsx(rr,{tip:m})]})}const pr={top:8,right:8,bottom:26,left:76};function dy(n,e,t){if(t!=null&&t.length)return t;const i=[];for(const a of n)i.includes(a[e])||i.push(a[e]);return i}function w2({cells:n,xLabels:e,yLabels:t,height:i=240,format:a=pt,ariaLabel:c}){const f=I.useRef(null),[h,m]=I.useState(640),{tip:g,handlers:v}=Dr();I.useEffect(()=>cs(f.current,240,m),[]);const x=dy(n,"x",e),b=dy(n,"y",t);if(x.length===0||b.length===0)return u.jsx("div",{className:"grid h-[240px] place-items-center text-xs text-faint",children:"No cells to chart."});const w=new Map(n.map(D=>[`${D.x}\0${D.y}`,D.value])),_=n.map(D=>Math.abs(D.value)).filter(Number.isFinite),C=Math.max(..._,0)||1,T=h-pr.left-pr.right,V=i-pr.top-pr.bottom,$=T/x.length,R=V/b.length,O=Math.max(1,Math.ceil(x.length/Math.max(1,Math.floor(T/56)))),E=c||`Heatmap, ${x.length} by ${b.length} cells`;return u.jsxs(u.Fragment,{children:[u.jsxs("svg",{ref:f,role:"img","aria-label":E,className:"w-full overflow-hidden",style:{height:i},viewBox:`0 0 ${h} ${i}`,children:[b.map((D,L)=>u.jsx("text",{x:pr.left-6,y:pr.top+L*R+R/2+3,textAnchor:"end",className:"fill-muted text-[10px]",children:D.slice(0,12)},D)),x.map((D,L)=>L%O===0?u.jsx("text",{x:pr.left+L*$+$/2,y:i-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:D.slice(0,8)},D):null),b.map((D,L)=>x.map((G,W)=>{const Y=w.get(`${G}\0${D}`),P=Y!=null&&Number.isFinite(Y),ee=P?.06+.94*(Math.abs(Y)/C):0;return u.jsx("rect",{x:pr.left+W*$+.5,y:pr.top+L*R+.5,width:Math.max(1,$-1),height:Math.max(1,R-1),"data-x":G,"data-y":D,"data-value":P?Y:void 0,className:P&&Y<0?"fill-danger":"fill-chart-primary",fillOpacity:P?ee:.03,...v(u.jsx(os,{title:`${D} / ${G}`,rows:[{label:"Value",value:P?a(Y):"no data"}]}))},`${G}\0${D}`)}))]}),u.jsx(rr,{tip:g})]})}function S2(n,e){const t=n.filter(Number.isFinite);if(t.length===0)return[];const i=Math.min(...t),a=Math.max(...t),c=Math.max(1,Math.floor(e??Math.min(40,Math.ceil(Math.log2(t.length)+1))));if(i===a)return[{x0:i,x1:a,count:t.length}];const f=(a-i)/c,h=Array.from({length:c},(m,g)=>({x0:i+g*f,x1:i+(g+1)*f,count:0}));for(const m of t){const g=Math.min(c-1,Math.floor((m-i)/f));h[g].count+=1}return h}const Cn={top:12,right:14,bottom:26,left:44};function _2({values:n,bins:e,height:t=200,format:i=Gt,ariaLabel:a}){const c=I.useRef(null),[f,h]=I.useState(640),{tip:m,handlers:g}=Dr();I.useEffect(()=>cs(c.current,160,h),[]);const v=S2(n,e);if(v.length===0)return u.jsx("div",{className:"grid h-[200px] place-items-center text-xs text-faint",children:"No numeric values to chart."});const x=Math.max(...v.map(R=>R.count),1),b=f-Cn.left-Cn.right,w=t-Cn.top-Cn.bottom,_=R=>Cn.top+(1-R/x)*w,C=b/v.length,T=As(0,x,4),V=Math.max(1,Math.ceil(v.length/6)),$=a||`Histogram, ${v.length} bins from ${i(v[0].x0)} to ${i(v[v.length-1].x1)}`;return u.jsxs(u.Fragment,{children:[u.jsxs("svg",{ref:c,role:"img","aria-label":$,className:"w-full overflow-hidden",style:{height:t},viewBox:`0 0 ${f} ${t}`,children:[T.map((R,O)=>{const E=_(R);return u.jsxs("g",{children:[u.jsx("line",{x1:Cn.left,x2:f-Cn.right,y1:E,y2:E,className:"stroke-line"}),u.jsx("text",{x:Cn.left-6,y:E+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Gt(R)})]},O)}),v.map((R,O)=>{const E=Cn.left+C*O,D=_(R.count);return u.jsx("rect",{x:E+.5,y:D,width:Math.max(1,C-1),height:Cn.top+w-D,"data-x0":R.x0,"data-x1":R.x1,"data-count":R.count,className:"fill-chart-primary",...g(u.jsx(os,{title:`${i(R.x0)} – ${i(R.x1)}`,rows:[{label:"Count",value:R.count.toLocaleString()}]}))},O)}),v.map((R,O)=>O%V===0?u.jsx("text",{x:Cn.left+C*O,y:t-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:i(R.x0)},O):null)]}),u.jsx(rr,{tip:m})]})}function N2(n){let e=2166136261;for(let t=0;t>>0}function j2(n){let e=n||1;return()=>{e|=0,e=e+1831565813|0;let t=Math.imul(e^e>>>15,1|e);return t=t+Math.imul(t^t>>>7,61|t)^t,((t^t>>>14)>>>0)/4294967296}}function k2(n,e,{width:t=640,height:i=320,iterations:a=150}={}){if(n.length===0)return[];const c=j2(N2(n.map(G=>G.id).join("\0"))),f=new Map(n.map((G,W)=>[G.id,W])),h=n.map(()=>c()*t),m=n.map(()=>c()*i),g=n.map(()=>0),v=n.map(()=>0),x=n.map(()=>0),b=[];for(const G of e){const W=f.get(G.source),Y=f.get(G.target);W==null||Y==null||W===Y||(b.push([W,Y]),x[W]+=1,x[Y]+=1)}const w=t*i,_=Math.sqrt(w/n.length);let C=Math.max(t,i)/8;const T=C/(a+1);for(let G=0;G({...G,x:V+(h[W]-$)/D*(t-V*2),y:V+(m[W]-O)/L*(i-V*2),degree:x[W]}))}function I2({nodes:n,links:e,height:t=320,ariaLabel:i}){const a=I.useRef(null),[c,f]=I.useState(640),{tip:h,handlers:m}=Dr();I.useEffect(()=>cs(a.current,240,f),[]);const g=I.useMemo(()=>k2(n,e,{width:c,height:t}),[n,e,c,t]),v=I.useMemo(()=>new Map(g.map(_=>[_.id,_])),[g]),x=I.useMemo(()=>[...new Set(n.map(_=>_.group??""))],[n]),b=Math.max(...e.map(_=>_.weight??1),1);if(g.length===0)return u.jsx("div",{className:"grid h-[320px] place-items-center text-xs text-faint",children:"No nodes to chart."});const w=i||`Network graph, ${n.length} nodes and ${e.length} links`;return u.jsxs(u.Fragment,{children:[x.length>1?u.jsx("div",{className:"mb-1 flex flex-wrap items-center gap-3 text-2xs text-faint",children:x.map((_,C)=>u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-full",style:{background:vn(C)}}),_||"(default)"]},_||"(default)"))}):null,u.jsxs("svg",{ref:a,role:"img","aria-label":w,className:"w-full overflow-hidden",style:{height:t},viewBox:`0 0 ${c} ${t}`,children:[e.map((_,C)=>{const T=v.get(_.source),V=v.get(_.target);return!T||!V?null:u.jsx("line",{x1:T.x,y1:T.y,x2:V.x,y2:V.y,className:"stroke-line",strokeWidth:.75+2.25*((_.weight??1)/b),"data-source":_.source,"data-target":_.target},C)}),g.map(_=>{const C=5+Math.min(9,_.degree*1.5);return u.jsxs("g",{children:[u.jsx("circle",{cx:_.x,cy:_.y,r:C,fill:vn(x.indexOf(_.group??"")),stroke:"var(--surface)",strokeWidth:1.5,"data-id":_.id,"data-degree":_.degree,...m(u.jsx(os,{title:_.label??_.id,rows:[{label:"Connections",value:String(_.degree)},..._.group?[{label:"Group",value:_.group,swatch:vn(x.indexOf(_.group))}]:[]]}))}),u.jsx("text",{x:_.x,y:_.y-C-4,textAnchor:"middle",className:"pointer-events-none fill-muted text-[10px]",children:(_.label??_.id).slice(0,14)})]},_.id)})]}),u.jsx(rr,{tip:h})]})}function Dl({value:n,options:e,onChange:t,label:i,ariaLabel:a,placeholder:c,disabled:f}){return u.jsxs("label",{className:"flex items-center gap-1.5 text-xs text-faint",children:[i?u.jsx("span",{className:"hidden sm:inline",children:i}):null,u.jsxs("select",{"aria-label":a??i,value:n,disabled:f,onChange:h=>t(h.target.value),className:"h-7 rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50",children:[c?u.jsx("option",{value:"",disabled:!0,children:c}):null,e.map(h=>u.jsx("option",{value:h.value,children:h.label??h.value},h.value))]})]})}const dn={top:12,right:14,bottom:26,left:48};function M2(n,e,t){return Math.min(Math.max(n,e),t)}function D2({labels:n,series:e,height:t=240,format:i=pt,formatLabel:a=f=>f,ariaLabel:c}){const f=I.useRef(null),[h,m]=I.useState(640),[g,v]=I.useState(null);I.useEffect(()=>cs(f.current,240,m),[]);const x=n.length;if(x<2||e.length===0)return u.jsx("div",{className:"grid h-[240px] place-items-center text-xs text-faint",children:"Not enough data to chart."});const b=e.map(W=>({name:W.name,values:n.map((Y,P)=>{const ee=W.values[P];return Number.isFinite(ee)&&ee>0?ee:0})})),w=[];let _=n.map(()=>0);for(const W of b){const Y=W.values.map((P,ee)=>_[ee]+P);w.push(Y),_=Y}const C=Math.max(..._,1),T=h-dn.left-dn.right,V=t-dn.top-dn.bottom,$=W=>dn.left+W/(x-1)*T,R=W=>dn.top+(1-W/C)*V,O=Math.max(1,Math.ceil(x/8)),E=c||`Stacked area chart, ${e.length} series over ${x} points`;function D(W){const Y=w[W],P=W===0?n.map(()=>0):w[W-1],ee=Y.map((oe,ae)=>`${$(ae).toFixed(1)},${R(oe).toFixed(1)}`).join(" L "),X=[...P.keys()].reverse().map(oe=>`${$(oe).toFixed(1)},${R(P[oe]).toFixed(1)}`).join(" L ");return`M ${ee} L ${X} Z`}function L(W){const Y=W.currentTarget.getBoundingClientRect(),P=(W.clientX-Y.left)/Y.width*h,ee=Math.round((P-dn.left)/T*(x-1));v(ee>=0&&eeu.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx("span",{"aria-hidden":"true",className:"inline-block size-2",style:{background:vn(Y)}}),W.name]},W.name))}),u.jsxs("svg",{role:"img","aria-label":E,className:"w-full overflow-hidden",style:{height:t},viewBox:`0 0 ${h} ${t}`,onMouseMove:L,onMouseLeave:()=>v(null),children:[As(0,C,4).map((W,Y)=>{const P=R(W);return u.jsxs("g",{children:[u.jsx("line",{x1:dn.left,x2:h-dn.right,y1:P,y2:P,className:"stroke-line"}),u.jsx("text",{x:dn.left-6,y:P+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Gt(W)})]},Y)}),b.map((W,Y)=>u.jsx("path",{d:D(Y),fill:vn(Y),fillOpacity:.8,"data-series":W.name},W.name)),g!=null?u.jsx("line",{x1:$(g),x2:$(g),y1:dn.top,y2:t-dn.bottom,className:"stroke-faint",strokeDasharray:"3 3"}):null,n.map((W,Y)=>Y%O===0||Y===x-1?u.jsx("text",{x:$(Y),y:t-8,textAnchor:"middle",className:"fill-faint font-mono text-[10px]",children:a(W)},W):null)]}),g!=null?u.jsxs("div",{className:"pointer-events-none absolute top-8 z-20 -translate-x-1/2 whitespace-nowrap border border-line bg-surface px-2 py-1.5 text-2xs shadow-[var(--shadow)]",style:{left:G},children:[u.jsx("div",{className:"mb-0.5 font-mono text-faint",children:a(n[g])}),b.map((W,Y)=>u.jsxs("div",{className:"flex items-center justify-between gap-3",children:[u.jsxs("span",{className:"flex items-center gap-1 text-muted",children:[u.jsx("span",{"aria-hidden":"true",className:"inline-block size-2",style:{background:vn(Y)}}),W.name]}),u.jsx("span",{className:"font-mono tnum text-ink",children:i(W.values[g])})]},W.name))]}):null]})}function C2({checked:n,onChange:e,label:t,ariaLabel:i,disabled:a}){return u.jsxs("label",{className:`flex items-center gap-1.5 text-xs ${a?"opacity-50":""}`,children:[u.jsx("button",{type:"button",role:"switch","aria-checked":n,"aria-label":i??t,disabled:a,onClick:()=>e(!n),"data-checked":n||void 0,className:`relative h-4 w-7 shrink-0 rounded-full border transition-colors ${n?"border-accent bg-accent":"border-line bg-surface-soft"}`,children:u.jsx("span",{"aria-hidden":"true",className:`absolute top-1/2 size-3 -translate-y-1/2 rounded-full bg-surface shadow transition-[left] ${n?"left-[14px]":"left-[2px]"}`})}),t?u.jsx("span",{className:"text-muted",children:t}):null]})}function F2({tabs:n,active:e,onChange:t,ariaLabel:i="Tabs"}){return u.jsx("div",{role:"tablist","aria-label":i,className:"inline-flex items-center gap-0.5 rounded-full border border-line bg-surface p-px",children:n.map(a=>u.jsx("button",{role:"tab",type:"button","aria-selected":e===a.key,"data-tab":a.key,"data-selected":e===a.key||void 0,onClick:()=>t(a.key),className:"inline-flex h-6 items-center rounded-full px-2.5 text-xs font-medium text-muted hover:bg-surface-soft hover:text-ink data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent",children:a.label},a.key))})}function O2({content:n,children:e,className:t}){const{tip:i,handlers:a}=Dr();return u.jsxs(u.Fragment,{children:[u.jsx("span",{className:t??"inline-flex",...a(n),children:e}),u.jsx(rr,{tip:i})]})}function T2(n){let e=0;return n.map(t=>{const i=Number.isFinite(t.value)?t.value:0;if(t.isTotal)return e=i,{...t,value:i,start:0,end:i};const a=e;return e+=i,{...t,value:i,start:a,end:e}})}const fn={top:12,right:14,bottom:26,left:48};function A2({data:n,height:e=220,format:t=pt,ariaLabel:i}){const a=I.useRef(null),[c,f]=I.useState(640),{tip:h,handlers:m}=Dr();I.useEffect(()=>cs(a.current,200,f),[]);const g=T2(n);if(g.length===0)return u.jsx("div",{className:"grid h-[220px] place-items-center text-xs text-faint",children:"No steps to chart."});const v=g.flatMap(E=>[E.start,E.end]),x=Math.min(0,...v),b=Math.max(0,...v),w=b-x||1,_=c-fn.left-fn.right,C=e-fn.top-fn.bottom,T=E=>fn.top+(1-(E-x)/w)*C,V=_/g.length,$=Math.max(10,Math.min(56,V*.62)),R=As(x,b,4),O=i||`Waterfall chart, ${g.length} steps ending at ${t(g[g.length-1].end)}`;return u.jsxs(u.Fragment,{children:[u.jsxs("svg",{ref:a,role:"img","aria-label":O,className:"w-full overflow-hidden",style:{height:e},viewBox:`0 0 ${c} ${e}`,children:[R.map((E,D)=>{const L=T(E);return u.jsxs("g",{children:[u.jsx("line",{x1:fn.left,x2:c-fn.right,y1:L,y2:L,className:"stroke-line"}),u.jsx("text",{x:fn.left-6,y:L+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Gt(E)})]},D)}),u.jsx("line",{x1:fn.left,x2:c-fn.right,y1:T(0),y2:T(0),className:"stroke-faint"}),g.map((E,D)=>{const L=fn.left+V*D+(V-$)/2,G=T(E.start),W=T(E.end),Y=E.isTotal?"total":E.value<0?"negative":"positive",P=E.isTotal?"fill-faint":E.value<0?"fill-danger":"fill-chart-primary",ee=g[D+1];return u.jsxs("g",{children:[u.jsx("rect",{x:L,y:Math.min(G,W),width:$,height:Math.max(1,Math.abs(W-G)),"data-label":E.label,"data-value":E.value,"data-tone":Y,className:P,...m(u.jsx(os,{title:E.label,rows:E.isTotal?[{label:"Total",value:t(E.end)}]:[{label:"Change",value:t(E.value)},{label:"Running",value:t(E.end)}]}))}),ee?u.jsx("line",{x1:L+$,x2:fn.left+V*(D+1)+(V-$)/2,y1:W,y2:W,className:"stroke-faint",strokeDasharray:"3 3"}):null,u.jsx("text",{x:L+$/2,y:e-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:E.label.slice(0,9)})]},`${E.label}-${D}`)})]}),u.jsx(rr,{tip:h})]})}function fy(n){return n==null?"∅":String(n)}function B2(n){const e=typeof n=="number"?n:Number(n);return Number.isFinite(e)?e:Number.NaN}function E2(n,e){const t=[],i=[],a=new Map;for(const c of n){const f=fy(c[e.x]),h=fy(c[e.series]);t.includes(f)||t.push(f),i.includes(h)||i.push(h),a.set(`${h}\0${f}`,B2(c[e.y]))}return{labels:t,series:i.map(c=>({name:c,values:t.map(f=>a.get(`${c}\0${f}`)??0)}))}}const R2=[{dimension:"orders.region",title:"Customer Region",rows:[["East",83262],["South",80579],["West",71561],["North",52889]].map(([n,e])=>({value:String(n),metric:Number(e)}))},{dimension:"orders.status",title:"Order Status",rows:[["completed",170379],["cancelled",64637],["pending",53275]].map(([n,e])=>({value:String(n),metric:Number(e)}))},{dimension:"products.category",title:"Product Category",rows:[["Electronics",202015],["Furniture",83848],["Office Supplies",2428]].map(([n,e])=>({value:String(n),metric:Number(e)}))},{dimension:"customers.name",title:"Top Customers",rows:[["Bob Smith",46690],["Carol Davis",42227],["Henry Taylor",41633],["Grace Lee",41035],["Frank Brown",33890],["David Wilson",29928],["Alice Johnson",27114],["Emma Martinez",24802]].map(([n,e])=>({value:String(n),metric:Number(e)}))}],L2=[{key:"region",label:"Region",sortable:!0},{key:"revenue",label:"Revenue",numeric:!0,sortable:!0},{key:"orders",label:"Orders",numeric:!0,sortable:!0}],hy=Array.from({length:17},(n,e)=>({region:["East","South","West","North"][e%4],revenue:91e3-e*2875,orders:420-e*11})),xf=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug"],U2=xf.flatMap((n,e)=>[{month:n,plan:"Basic",revenue:120+e*26},{month:n,plan:"Pro",revenue:60+e*24},{month:n,plan:"Enterprise",revenue:e<2?0:10+e*12}]),$2=Array.from({length:48},(n,e)=>({x:e+1,y:(e+1)*1.6+Math.sin(e*78.233)*43758.5453%18,label:`Account ${e+1}`,series:e%2?"Returning":"New"})),P2=Array.from({length:400},(n,e)=>Math.abs(Math.sin(e*12.9898)*43758.5453%1)*100),z2=["East","South","West","North"].flatMap((n,e)=>xf.map((t,i)=>({x:t,y:n,value:(e+1)*(i+1)*7-(i%4===3?80:0)}))),py=[{value:"orders.revenue",label:"Revenue"},{value:"orders.count",label:"Order count"},{value:"customers.count",label:"Customer count"},{value:"orders.margin",label:"Gross margin"}];function V2(){const[n,e]=I.useState("orders.revenue"),[t,i]=I.useState({}),[a,c]=I.useState(null),[f,h]=I.useState({"orders.region":["East","West"],"orders.status":["completed"]}),[m,g]=I.useState({from:"2025-01-01",to:"2025-06-30"}),[v,x]=I.useState("month"),[b,w]=I.useState("explore"),[_,C]=I.useState("previous"),[T,V]=I.useState("orders.revenue"),[$,R]=I.useState(["orders.revenue","orders.count"]),[O,E]=I.useState("apple"),[D,L]=I.useState(!0),[G,W]=I.useState("explore"),[Y,P]=I.useState("2025-06-15"),[ee,X]=I.useState({from:"2025-06-01",to:"2025-06-21"}),oe=I.useMemo(()=>E2(U2,{x:"month",y:"revenue",series:"plan"}),[]),[ae,se]=I.useState({key:"revenue",dir:"desc"}),ne=I.useMemo(()=>[...hy].sort((A,Q)=>{const H=A[ae.key],N=Q[ae.key],F=typeof H=="number"&&typeof N=="number"?H-N:String(H).localeCompare(String(N));return ae.dir==="asc"?F:-F}),[ae]);return u.jsxs("main",{className:"min-h-screen bg-bg text-ink",children:[u.jsxs("header",{className:"sticky top-0 z-20 flex items-center justify-between border-b border-line bg-surface px-4 py-3",children:[u.jsxs("div",{children:[u.jsx("h1",{className:"text-sm font-semibold",children:"Sidemantic component gallery"}),u.jsxs("p",{className:"text-2xs text-faint",children:["Canonical React primitives · ",u.jsx("a",{className:"text-accent hover:underline",href:"/typography",children:"typography workbench →"})]})]}),u.jsx(Ko,{})]}),u.jsxs("div",{className:"space-y-8 p-4",children:[u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Metric cards"}),u.jsxs("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-3",children:[u.jsx(Nr,{metric:"orders.revenue",label:"Revenue",value:288291,format:{format:"currency"},selected:n==="orders.revenue",sparkValues:[31,42,38,55,60,74],onSelect:e}),u.jsx(Nr,{metric:"orders.count",label:"Order Count",value:447,selected:n==="orders.count",sparkValues:[21,34,28,41,44,51],onSelect:e}),u.jsx(Nr,{metric:"orders.margin",label:"Gross Margin",value:.324,format:{format:"percent"},delta:{label:"+1.1pt",tone:"positive"},comparison:"vs previous month",sparkValues:[24,26,29,27,31,32],selected:n==="orders.margin",onSelect:e})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Leaderboard cards"}),u.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(220px,1fr))] gap-0 border-l border-t border-line",children:R2.filter(A=>a===null||a===A.dimension).map(A=>u.jsx(n0,{dimension:A.dimension,title:A.title,metricLabel:"Total Revenue",rows:A.rows,selectedValues:t[A.dimension],formatMetric:Q=>pt(Q,{format:"currency"}),onToggle:Q=>i(H=>{const N=H[A.dimension]??[];return{...H,[A.dimension]:N.includes(Q)?N.filter(F=>F!==Q):[...N,Q]}}),expanded:a===A.dimension,onExpandedChange:Q=>c(Q?A.dimension:null)},A.dimension))})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Filters and controls"}),u.jsxs("div",{className:"space-y-3",children:[u.jsxs("div",{"data-testid":"gallery-filter-pills",className:"flex min-h-8 flex-wrap items-center gap-2",children:[Object.entries(f).flatMap(([A,Q])=>Q.map(H=>u.jsx(Ud,{dimension:A,value:H,onRemove:()=>h(N=>({...N,[A]:N[A].filter(F=>F!==H)}))},`${A}:${H}`))),Object.values(f).every(A=>A.length===0)?u.jsx("span",{className:"text-2xs text-faint",children:"No active filters"}):null]}),u.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[u.jsx(Lv,{range:m,onChange:g,comparison:_,onComparisonChange:C}),u.jsx($d,{grain:v,options:["day","week","month","quarter","year"],onChange:x}),u.jsx(Pv,{view:b,onChange:w}),u.jsxs("span",{className:"inline-flex items-center gap-1.5 text-2xs text-muted",children:[u.jsx(gd,{status:"ok"})," Ready"]}),u.jsxs("span",{className:"inline-flex items-center gap-1.5 text-2xs text-muted",children:[u.jsx(gd,{status:"loading"})," Updating"]}),u.jsx("button",{type:"button",onClick:()=>h({"orders.region":["East","West"],"orders.status":["completed"]}),className:"inline-flex h-7 items-center rounded-full border border-line px-3 text-xs text-muted hover:bg-surface-soft",children:"Reset filters"})]})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Charts"}),u.jsxs("div",{className:"grid gap-3 xl:grid-cols-2",children:[u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Sparkline"}),u.jsx(r0,{values:[31,42,38,55,60,74,69,83],labels:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug"],ariaLabel:"Eight month revenue trend"})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Column chart"}),u.jsx(s0,{data:[{label:"East",value:83},{label:"South",value:81},{label:"West",value:72},{label:"Returns",value:-18}]})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Line chart compatibility export"}),u.jsx(g2,{data:[{label:"Jan",value:31},{label:"Feb",value:42},{label:"Mar",value:38},{label:"Apr",value:55},{label:"May",value:60}]})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Interactive time series"}),u.jsx(ea,{points:[31,42,38,55,60,74].map((A,Q)=>({x:`2025-0${Q+1}-01`,y:A})),comparison:[27,35,33,48,52,61].map((A,Q)=>({x:`2024-0${Q+1}-01`,y:A})),formatValue:A=>`$${A.toLocaleString()}k`})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Donut"}),u.jsx(b2,{data:[{label:"iOS",value:4200},{label:"Android",value:3100},{label:"Web",value:1900},{label:"Other",value:400}]})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Stacked area (long rows via rowsToSeries)"}),u.jsx(D2,{labels:oe.labels,series:oe.series,height:200})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Bar + line combo (dual axis)"}),u.jsx(u2,{data:xf.map((A,Q)=>({label:A,bar:200+Q*42,line:.02+Q*.004})),barLabel:"Revenue",lineLabel:"Conversion",formatLine:A=>`${(A*100).toFixed(1)}%`,height:200})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Histogram"}),u.jsx(_2,{values:P2,bins:20})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Scatter"}),u.jsx(i0,{points:$2,xLabel:"Sessions",yLabel:"Orders",height:200})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Heatmap"}),u.jsx(w2,{cells:z2,height:200})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Waterfall"}),u.jsx(A2,{data:[{label:"Gross",value:1e3,isTotal:!0},{label:"Refunds",value:-140},{label:"Discounts",value:-90},{label:"Upsells",value:130},{label:"Net",value:900,isTotal:!0}],height:200})]}),u.jsxs("article",{className:"min-w-0 xl:col-span-2",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Network"}),u.jsx(I2,{nodes:[{id:"orders",group:"fact"},{id:"payments",group:"fact"},{id:"customers",group:"dimension"},{id:"products",group:"dimension"},{id:"regions",group:"dimension"}],links:[{source:"orders",target:"customers",weight:3},{source:"orders",target:"products",weight:2},{source:"orders",target:"regions"},{source:"payments",target:"orders",weight:2},{source:"payments",target:"customers"}],height:260})]})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Inputs"}),u.jsxs("div",{className:"space-y-3",children:[u.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[u.jsx(To,{variant:"primary",children:"Primary"}),u.jsx(To,{children:"Secondary"}),u.jsx(To,{variant:"ghost",children:"Ghost"}),u.jsx(To,{variant:"danger",children:"Danger"}),u.jsx(To,{size:"sm",children:"Small"}),u.jsx(Dl,{label:"Fruit",value:O,onChange:E,options:[{value:"apple",label:"Apple"},{value:"banana",label:"Banana"},{value:"cherry",label:"Cherry"}]}),u.jsx(C2,{checked:D,onChange:L,label:"Compact rows"}),u.jsx(F2,{tabs:[{key:"explore",label:"Explore"},{key:"pivot",label:"Pivot"},{key:"sql",label:"SQL"}],active:G,onChange:W}),u.jsx(O2,{content:"Revenue in USD, net of refunds",children:u.jsx("span",{className:"cursor-help text-2xs text-muted underline decoration-dotted",children:"What is revenue?"})})]}),u.jsxs("div",{className:"flex flex-wrap items-start gap-3",children:[u.jsx(ly,{value:T,onChange:V,options:py,ariaLabel:"Metric"}),u.jsx(ly,{multiple:!0,values:$,onChange:R,options:py,ariaLabel:"Metrics"}),u.jsx(uy,{mode:"single",value:Y,onChange:P,ariaLabel:"Date"}),u.jsx(uy,{mode:"range",value:ee,onChange:X,ariaLabel:"Range"})]})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Analytical table"}),u.jsx(Ui,{columns:L2,rows:ne,pageSize:6,sortKey:ae.key,sortDir:ae.dir,onSort:A=>se(Q=>({key:A,dir:Q.key===A&&Q.dir==="desc"?"asc":"desc"})),renderCell:(A,Q)=>A.numeric?Number(Q).toLocaleString():String(Q),searchable:!0,totals:{region:"count",revenue:"sum",orders:"sum"}}),u.jsxs("div",{className:"mt-3",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold text-muted",children:"Distribution-friendly data preview"}),u.jsx(y2,{result:{columns:["region","revenue","orders"],sample_rows:hy.slice(0,8)},pageSize:4})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Query inspection"}),u.jsx(yc,{inputs:{Revenue:{metrics:["orders.revenue"],dimensions:["orders.region"],filters:["orders.status = 'completed'"]}},queries:{Revenue:`SELECT orders.region, SUM(orders.revenue) AS revenue +FROM orders +WHERE orders.status = 'completed' +GROUP BY orders.region +ORDER BY revenue DESC`}})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"States"}),u.jsxs("div",{className:"grid gap-2 lg:grid-cols-3",children:[u.jsx(mc,{message:"Loading metric results…"}),u.jsx(Xn,{message:"No matching rows."}),u.jsx($i,{message:"The query could not be completed."})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Dashboard shell"}),u.jsx("div",{children:u.jsx(h2,{eyebrow:"Embedded shell example",title:"Revenue overview",status:u.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[u.jsx(gd,{status:"ok"})," Connected"]}),toolbar:u.jsxs(u.Fragment,{children:[u.jsx(Ud,{dimension:"orders.region",value:"East"}),u.jsx($d,{grain:v,options:["day","month","quarter"],onChange:x})]}),children:u.jsxs("div",{className:"grid gap-2 sm:grid-cols-2",children:[u.jsx(Nr,{metric:"orders.revenue",label:"Revenue",value:288291,format:{format:"currency"},sparkValues:[31,42,38,55,60]}),u.jsx(Xn,{title:"Optional panel",message:"Shell content is composed from the same primitives."})]})})})]})]})]})}function ns(n){return`https://api.fontshare.com/v2/css?f[]=${n}&display=swap`}const my=[{value:"system",label:"System (SF Pro)",stack:"system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif"},{value:"geist",label:"Geist",gf:"Geist:wght@400;500;600",stack:"'Geist', system-ui, sans-serif"},{value:"inter",label:"Inter",gf:"Inter:wght@400;500;600",stack:"'Inter', system-ui, sans-serif"},{value:"instrument",label:"Instrument Sans",gf:"Instrument+Sans:wght@400;500;600",stack:"'Instrument Sans', system-ui, sans-serif"},{value:"plex",label:"IBM Plex Sans",gf:"IBM+Plex+Sans:wght@400;500;600",stack:"'IBM Plex Sans', system-ui, sans-serif"},{value:"schibsted",label:"Schibsted Grotesk",gf:"Schibsted+Grotesk:wght@400;500;600",stack:"'Schibsted Grotesk', system-ui, sans-serif"},{value:"figtree",label:"Figtree",gf:"Figtree:wght@400;500;600",stack:"'Figtree', system-ui, sans-serif"},{value:"manrope",label:"Manrope",gf:"Manrope:wght@400;500;600",stack:"'Manrope', system-ui, sans-serif"},{value:"publicsans",label:"Public Sans",gf:"Public+Sans:wght@400;500;600",stack:"'Public Sans', system-ui, sans-serif"},{value:"spacegrotesk",label:"Space Grotesk",gf:"Space+Grotesk:wght@400;500;600",stack:"'Space Grotesk', system-ui, sans-serif"},{value:"satoshi",label:"Satoshi ✦",url:ns("satoshi@400,500,700"),stack:"'Satoshi', system-ui, sans-serif"},{value:"generalsans",label:"General Sans ✦",url:ns("general-sans@400,500,600"),stack:"'General Sans', system-ui, sans-serif"},{value:"switzer",label:"Switzer ✦",url:ns("switzer@400,500,600"),stack:"'Switzer', system-ui, sans-serif"},{value:"cabinet",label:"Cabinet Grotesk ✦",url:ns("cabinet-grotesk@400,500,700"),stack:"'Cabinet Grotesk', system-ui, sans-serif"},{value:"bricolage",label:"Bricolage Grotesque ✦",gf:"Bricolage+Grotesque:wght@400;500;600",stack:"'Bricolage Grotesque', system-ui, sans-serif"},{value:"familjen",label:"Familjen Grotesk ✦",gf:"Familjen+Grotesk:wght@400;500;600",stack:"'Familjen Grotesk', system-ui, sans-serif"},{value:"hanken",label:"Hanken Grotesk ✦",gf:"Hanken+Grotesk:wght@400;500;600",stack:"'Hanken Grotesk', system-ui, sans-serif"},{value:"reddit",label:"Reddit Sans ✦",gf:"Reddit+Sans:wght@400;500;600",stack:"'Reddit Sans', system-ui, sans-serif"},{value:"chivo",label:"Chivo ✦",gf:"Chivo:wght@400;500;600",stack:"'Chivo', system-ui, sans-serif"},{value:"hostgrotesk",label:"Host Grotesk ✦",gf:"Host+Grotesk:wght@400;500;600",stack:"'Host Grotesk', system-ui, sans-serif"},{value:"sora",label:"Sora ✦",gf:"Sora:wght@400;500;600",stack:"'Sora', system-ui, sans-serif"}],yy=[{value:"system",label:"System (SF Mono)",stack:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},{value:"geistmono",label:"Geist Mono",gf:"Geist+Mono:wght@400;500",stack:"'Geist Mono', ui-monospace, monospace"},{value:"jetbrains",label:"JetBrains Mono",gf:"JetBrains+Mono:wght@400;500",stack:"'JetBrains Mono', ui-monospace, monospace"},{value:"plexmono",label:"IBM Plex Mono",gf:"IBM+Plex+Mono:wght@400;500",stack:"'IBM Plex Mono', ui-monospace, monospace"},{value:"firacode",label:"Fira Code",gf:"Fira+Code:wght@400;500",stack:"'Fira Code', ui-monospace, monospace"},{value:"splinemono",label:"Spline Sans Mono",gf:"Spline+Sans+Mono:wght@400;500",stack:"'Spline Sans Mono', ui-monospace, monospace"},{value:"dmmono",label:"DM Mono",gf:"DM+Mono:wght@400;500",stack:"'DM Mono', ui-monospace, monospace"},{value:"martianmono",label:"Martian Mono ✦",gf:"Martian+Mono:wght@400;500",stack:"'Martian Mono', ui-monospace, monospace"},{value:"fragment",label:"Fragment Mono ✦",gf:"Fragment+Mono",stack:"'Fragment Mono', ui-monospace, monospace"},{value:"redhatmono",label:"Red Hat Mono ✦",gf:"Red+Hat+Mono:wght@400;500",stack:"'Red Hat Mono', ui-monospace, monospace"},{value:"chivomono",label:"Chivo Mono ✦",gf:"Chivo+Mono:wght@400;500",stack:"'Chivo Mono', ui-monospace, monospace"},{value:"azeret",label:"Azeret Mono ✦",gf:"Azeret+Mono:wght@400;500",stack:"'Azeret Mono', ui-monospace, monospace"},{value:"spacemono",label:"Space Mono ✦",gf:"Space+Mono:wght@400;700",stack:"'Space Mono', ui-monospace, monospace"}],gy=[{value:"sans",label:"Same as sans",stack:""},{value:"newsreader",label:"Newsreader (serif)",gf:"Newsreader:opsz,wght@6..72,400..700",stack:"'Newsreader', Georgia, serif"},{value:"sourceserif",label:"Source Serif 4",gf:"Source+Serif+4:opsz,wght@8..60,400..700",stack:"'Source Serif 4', Georgia, serif"},{value:"fraunces",label:"Fraunces",gf:"Fraunces:opsz,wght@9..144,400..700",stack:"'Fraunces', Georgia, serif"},{value:"instrumentserif",label:"Instrument Serif",gf:"Instrument+Serif",stack:"'Instrument Serif', Georgia, serif"},{value:"spacegrotesk",label:"Space Grotesk",gf:"Space+Grotesk:wght@400;500;600",stack:"'Space Grotesk', system-ui, sans-serif"},{value:"clash",label:"Clash Display ✦",url:ns("clash-display@400,500,600"),stack:"'Clash Display', system-ui, sans-serif"},{value:"cabinetdisplay",label:"Cabinet Grotesk ✦",url:ns("cabinet-grotesk@500,700,800"),stack:"'Cabinet Grotesk', system-ui, sans-serif"},{value:"sentient",label:"Sentient (serif) ✦",url:ns("sentient@400,500,700"),stack:"'Sentient', Georgia, serif"},{value:"gambetta",label:"Gambetta (serif) ✦",url:ns("gambetta@400,500,700"),stack:"'Gambetta', Georgia, serif"},{value:"bricolagedisplay",label:"Bricolage Grotesque ✦",gf:"Bricolage+Grotesque:opsz,wght@12..96,400..700",stack:"'Bricolage Grotesque', system-ui, sans-serif"},{value:"youngserif",label:"Young Serif ✦",gf:"Young+Serif",stack:"'Young Serif', Georgia, serif"},{value:"unbounded",label:"Unbounded ✦",gf:"Unbounded:wght@400;500;600",stack:"'Unbounded', system-ui, sans-serif"}],W2=[{label:"Geist / Geist Mono",sans:"geist",mono:"geistmono",display:"sans"},{label:"Inter / JetBrains",sans:"inter",mono:"jetbrains",display:"sans"},{label:"IBM Plex",sans:"plex",mono:"plexmono",display:"sans"},{label:"Instrument / Spline",sans:"instrument",mono:"splinemono",display:"sans"},{label:"Schibsted / Fira",sans:"schibsted",mono:"firacode",display:"sans"},{label:"Editorial: Geist + Newsreader",sans:"geist",mono:"geistmono",display:"newsreader"},{label:"Satoshi / Martian ✦",sans:"satoshi",mono:"martianmono",display:"sans"},{label:"General Sans / Fragment ✦",sans:"generalsans",mono:"fragment",display:"sans"},{label:"Switzer + Clash headings ✦",sans:"switzer",mono:"redhatmono",display:"clash"},{label:"Cabinet + Gambetta ✦",sans:"cabinet",mono:"chivomono",display:"gambetta"},{label:"Bricolage all the way ✦",sans:"bricolage",mono:"spacemono",display:"bricolagedisplay"}],vy=new Set;function Nd(n){if(!n)return;const e=n.url??(n.gf?`https://fonts.googleapis.com/css2?family=${n.gf}&display=swap`:void 0);if(!e||vy.has(e))return;vy.add(e);const t=document.createElement("link");t.rel="stylesheet",t.href=e,document.head.appendChild(t)}function jd(n,e){return n.find(t=>t.value===e)??n[0]}const H2=[{px:"8",cls:"text-[8px]",usage:"MetricCard delta arrow glyph",sample:"▲"},{px:"9",cls:"text-[9px]",usage:"DataTable sort direction glyph",sample:"▲▼"},{px:"10",cls:"text-[10px]",usage:"Chart axis labels (all 9 charts)",sample:"Jan Feb Mar 12.4k 18.2k"},{px:"11",cls:"text-2xs",usage:"Captions, chips, table body, helper text (58 uses)",sample:"Canonical React primitives · updated 2h ago"},{px:"12",cls:"text-xs",usage:"Controls, labels, leaderboard rows — the workhorse (70 uses)",sample:"Revenue by region, last 28 days"},{px:"13",cls:"text-sm",usage:"Section titles, panel headers (9 uses); also the body default",sample:"Customer Region"},{px:"14",cls:"text-base",usage:"Explore index page title (1 use)",sample:"Explore"},{px:"19",cls:"text-[19px]",usage:"MetricCard value",sample:"$288,291"},{px:"20",cls:"text-xl",usage:"MetricTimeSeries headline total",sample:"$1,282,392"},{px:"24",cls:"text-2xl",usage:"DashboardShell page title",sample:"Revenue overview"}],G2=[{name:"A — Current",note:"11 / 12 / 13 base. Dense, reads small on 27″ displays.",caption:11,label:12,body:13,section:13,value:19,headline:20,title:24},{name:"B — One up",note:"12 / 13 / 14 base. Same hierarchy, comfortably legible.",caption:12,label:13,body:14,section:14,value:22,headline:24,title:28},{name:"C — Quiet UI, loud numbers",note:"Keeps the dense chrome, doubles down on data: bigger values and titles.",caption:11,label:12,body:13,section:13,value:24,headline:28,title:30}],Y2=[31,42,38,55,60,74],Q2=Array.from({length:12},(n,e)=>({x:`2025-${String(e+1).padStart(2,"0")}-01`,y:96e3+e*14e3+e%3*9e3})),K2=`select region, sum(revenue) as revenue +from orders +where created_at >= date '2025-01-01' +group by all +order by revenue desc`;function xy({family:n,size:e}){return u.jsxs("div",{className:"flex flex-wrap items-baseline gap-x-6 gap-y-1",style:{fontFamily:n},children:[u.jsx("span",{className:`${e} font-normal`,children:"Regular 400 — Revenue by payment method"}),u.jsx("span",{className:`${e} font-medium`,children:"Medium 500 — Revenue by payment method"}),u.jsx("span",{className:`${e} font-semibold`,children:"Semibold 600 — Revenue by payment method"})]})}function J2(){const[n,e]=I.useState("geist"),[t,i]=I.useState("geistmono"),[a,c]=I.useState("sans"),f=jd(my,n),h=jd(yy,t),m=jd(gy,a),g=m.stack||f.stack;I.useEffect(()=>{Nd(f),Nd(h),Nd(m)},[f,h,m]);const v={"--font-sans":f.stack,"--font-mono":h.stack,"--font-display":g,fontFamily:"var(--font-sans)"};return u.jsxs("main",{className:"min-h-screen bg-bg text-ink",children:[u.jsxs("header",{className:"sticky top-0 z-20 flex items-center justify-between gap-3 border-b border-line bg-surface px-4 py-3",children:[u.jsxs("div",{children:[u.jsx("h1",{className:"text-sm font-semibold",children:"Typography workbench"}),u.jsxs("p",{className:"text-2xs text-faint",children:["Pick faces, judge them on real components · ",u.jsx("a",{className:"text-accent hover:underline",href:"/components",children:"component gallery →"})]})]}),u.jsx(Ko,{})]}),u.jsxs("div",{className:"space-y-10 p-4",children:[u.jsx("section",{children:u.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[u.jsx(Dl,{label:"Sans",value:n,options:my.map(({value:x,label:b})=>({value:x,label:b})),onChange:e}),u.jsx(Dl,{label:"Mono",value:t,options:yy.map(({value:x,label:b})=>({value:x,label:b})),onChange:i}),u.jsx(Dl,{label:"Headings",value:a,options:gy.map(({value:x,label:b})=>({value:x,label:b})),onChange:c}),u.jsx("div",{className:"flex flex-wrap items-center gap-1.5",children:W2.map(x=>{const b=x.sans===n&&x.mono===t&&x.display===a;return u.jsx("button",{type:"button","data-selected":b||void 0,onClick:()=>{e(x.sans),i(x.mono),c(x.display)},className:`inline-flex h-7 items-center rounded-full border px-3 text-xs transition-colors ${b?"border-accent text-accent":"border-line bg-surface text-muted hover:border-line-strong"}`,children:x.label},x.label)})})]})}),u.jsxs("div",{style:v,className:"space-y-10",children:[u.jsxs("section",{children:[u.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"In context"}),u.jsxs("div",{className:"space-y-6",children:[u.jsxs("div",{children:[u.jsx("p",{className:"text-2xs text-faint",children:"Acme Analytics · production"}),u.jsx("h1",{className:"mt-1 text-2xl font-semibold text-ink",children:"Revenue overview"}),u.jsx("div",{className:"text-sm text-muted",children:"Updated 2 minutes ago · 448,214 rows scanned"})]}),u.jsxs("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-3",children:[u.jsx(Nr,{metric:"t.revenue",label:"Revenue",value:288291,format:{format:"currency"},delta:{label:"+12.4%",tone:"positive"},comparison:"vs previous month",sparkValues:Y2,selected:!0,onSelect:()=>{}}),u.jsx(Nr,{metric:"t.orders",label:"Order Count",value:447,delta:{label:"-2.1%",tone:"negative"},comparison:"vs previous month",sparkValues:[21,34,28,41,44,38],onSelect:()=>{}}),u.jsx(Nr,{metric:"t.margin",label:"Gross Margin",value:.324,format:{format:"percent"},delta:{label:"+1.1pt",tone:"positive"},comparison:"vs previous month",sparkValues:[24,26,29,27,31,32],onSelect:()=>{}})]}),u.jsx(ea,{points:Q2,formatValue:x=>`$${Math.round(x).toLocaleString("en-US")}`,formatAxis:x=>`$${Math.round(x/1e3)}k`,formatLabel:x=>x.slice(0,7),ariaLabel:"Twelve month revenue trend"}),u.jsxs("div",{className:"max-w-xl",children:[u.jsx("h3",{className:"text-sm font-semibold text-ink",children:"How the comparison works"}),u.jsx("p",{className:"mt-1 text-xs leading-5 text-muted",children:"The overlay shifts the previous period onto the current axis so both lines share a scale. Deltas are computed on the visible range only — zooming recomputes them. Hover any point for the exact pair of values; the quiet gray line is always the older period."})]}),u.jsx("pre",{className:"overflow-x-auto font-mono text-xs leading-5 text-muted",children:K2})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Numerals — mono, tabular"}),u.jsxs("div",{className:"flex flex-wrap gap-12",children:[u.jsx("div",{className:"font-mono tnum text-sm text-ink",children:["$1,204,918.24","$984,003.10","$88,214.00","$1,111,111.11"].map(x=>u.jsx("div",{className:"text-right",children:x},x))}),u.jsx("div",{className:"font-mono tnum text-sm text-ink",children:["2025-06-30 23:59:59","2025-07-01 00:00:00","2025-12-31 08:15:42"].map(x=>u.jsx("div",{children:x},x))}),u.jsxs("div",{className:"font-mono text-sm text-ink",children:["0O · 1lI · 5S · 8B · ","->"," ","=>"," ","!="," ",">="]})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Weights in use — 400 / 500 / 600 (no bold anywhere)"}),u.jsxs("div",{className:"space-y-2 text-ink",children:[u.jsx(xy,{family:"var(--font-sans)",size:"text-sm"}),u.jsx(xy,{family:"var(--font-sans)",size:"text-xs"}),u.jsx("div",{className:"text-xl font-semibold",style:{fontFamily:"var(--font-display)"},children:"Display 600 — Quarterly revenue, all regions"})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Current ramp — every size in the app and where it appears"}),u.jsx("div",{className:"space-y-1.5",children:H2.map(x=>u.jsxs("div",{className:"grid grid-cols-[3rem_7rem_1fr_1.2fr] items-baseline gap-3",children:[u.jsxs("span",{className:"font-mono tnum text-2xs text-faint",children:[x.px,"px"]}),u.jsx("span",{className:"font-mono text-2xs text-faint",children:x.cls}),u.jsx("span",{className:"truncate text-ink",style:{fontSize:`${x.px}px`,lineHeight:1.3},children:x.sample}),u.jsx("span",{className:"text-2xs text-faint",children:x.usage})]},x.px))})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Size ramp candidates"}),u.jsx("div",{className:"grid grid-cols-1 gap-8 lg:grid-cols-3",children:G2.map(x=>u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"text-sm font-semibold text-ink",children:x.name}),u.jsx("p",{className:"mt-0.5 text-2xs text-faint",children:x.note}),u.jsxs("div",{className:"mt-3 space-y-2",children:[u.jsxs("div",{className:"text-faint",style:{fontSize:x.caption,lineHeight:1.3},children:["Caption ",x.caption,"px · vs previous month"]}),u.jsxs("div",{className:"text-muted",style:{fontSize:x.label,lineHeight:1.35},children:["Label ",x.label,"px · Revenue by region"]}),u.jsxs("div",{className:"text-ink",style:{fontSize:x.body,lineHeight:1.45},children:["Body ",x.body,"px · The overlay shifts the previous period onto the current axis so both lines share a scale."]}),u.jsxs("div",{className:"font-semibold text-ink",style:{fontSize:x.section,lineHeight:1.35},children:["Section title ",x.section,"px"]}),u.jsx("div",{className:"font-mono tnum font-semibold text-ink",style:{fontSize:x.value,lineHeight:1.15},children:"$288,291"}),u.jsx("div",{className:"font-mono tnum font-semibold text-ink",style:{fontSize:x.headline,lineHeight:1.15},children:"$1,282,392"}),u.jsx("div",{className:"font-semibold text-ink",style:{fontFamily:"var(--font-display)",fontSize:x.title,lineHeight:1.2,letterSpacing:"-0.025em"},children:"Revenue overview"})]})]},x.name))})]})]})]})]})}a_();const l0=document.getElementById("root");if(!l0)throw new Error("Missing #root element");hb.createRoot(l0).render(u.jsx(I.StrictMode,{children:window.location.pathname==="/components"?u.jsx(V2,{}):window.location.pathname==="/typography"?u.jsx(J2,{}):u.jsx(c2,{})})); diff --git a/sidemantic-rs/ui/assets/index-DZEAtY5b.js b/sidemantic-rs/ui/assets/index-DZEAtY5b.js deleted file mode 100644 index 08bdb420a..000000000 --- a/sidemantic-rs/ui/assets/index-DZEAtY5b.js +++ /dev/null @@ -1,55 +0,0 @@ -var rb=Object.defineProperty;var sb=(n,e,t)=>e in n?rb(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var Mn=(n,e,t)=>sb(n,typeof e!="symbol"?e+"":e,t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))i(a);new MutationObserver(a=>{for(const u of a)if(u.type==="childList")for(const f of u.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&i(f)}).observe(document,{childList:!0,subtree:!0});function t(a){const u={};return a.integrity&&(u.integrity=a.integrity),a.referrerPolicy&&(u.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?u.credentials="include":a.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function i(a){if(a.ep)return;a.ep=!0;const u=t(a);fetch(a.href,u)}})();var td={exports:{}},Co={},nd={exports:{}},Ee={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var rm;function ib(){if(rm)return Ee;rm=1;var n=Symbol.for("react.element"),e=Symbol.for("react.portal"),t=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),u=Symbol.for("react.provider"),f=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),v=Symbol.for("react.lazy"),x=Symbol.iterator;function b(N){return N===null||typeof N!="object"?null:(N=x&&N[x]||N["@@iterator"],typeof N=="function"?N:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_=Object.assign,C={};function A(N,F,ee){this.props=N,this.context=F,this.refs=C,this.updater=ee||w}A.prototype.isReactComponent={},A.prototype.setState=function(N,F){if(typeof N!="object"&&typeof N!="function"&&N!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,N,F,"setState")},A.prototype.forceUpdate=function(N){this.updater.enqueueForceUpdate(this,N,"forceUpdate")};function V(){}V.prototype=A.prototype;function $(N,F,ee){this.props=N,this.context=F,this.refs=C,this.updater=ee||w}var R=$.prototype=new V;R.constructor=$,_(R,A.prototype),R.isPureReactComponent=!0;var O=Array.isArray,E=Object.prototype.hasOwnProperty,D={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};function G(N,F,ee){var he,re={},pe=null,Ce=null;if(F!=null)for(he in F.ref!==void 0&&(Ce=F.ref),F.key!==void 0&&(pe=""+F.key),F)E.call(F,he)&&!L.hasOwnProperty(he)&&(re[he]=F[he]);var Te=arguments.length-2;if(Te===1)re.children=ee;else if(1>>1,F=T[N];if(0>>1;Na(re,H))pea(Ce,re)?(T[N]=Ce,T[pe]=H,N=pe):(T[N]=re,T[he]=H,N=he);else if(pea(Ce,H))T[N]=Ce,T[pe]=H,N=pe;else break e}}return Q}function a(T,Q){var H=T.sortIndex-Q.sortIndex;return H!==0?H:T.id-Q.id}if(typeof performance=="object"&&typeof performance.now=="function"){var u=performance;n.unstable_now=function(){return u.now()}}else{var f=Date,h=f.now();n.unstable_now=function(){return f.now()-h}}var m=[],g=[],v=1,x=null,b=3,w=!1,_=!1,C=!1,A=typeof setTimeout=="function"?setTimeout:null,V=typeof clearTimeout=="function"?clearTimeout:null,$=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function R(T){for(var Q=t(g);Q!==null;){if(Q.callback===null)i(g);else if(Q.startTime<=T)i(g),Q.sortIndex=Q.expirationTime,e(m,Q);else break;Q=t(g)}}function O(T){if(C=!1,R(T),!_)if(t(m)!==null)_=!0,se(E);else{var Q=t(g);Q!==null&&ne(O,Q.startTime-T)}}function E(T,Q){_=!1,C&&(C=!1,V(G),G=-1),w=!0;var H=b;try{for(R(Q),x=t(m);x!==null&&(!(x.expirationTime>Q)||T&&!P());){var N=x.callback;if(typeof N=="function"){x.callback=null,b=x.priorityLevel;var F=N(x.expirationTime<=Q);Q=n.unstable_now(),typeof F=="function"?x.callback=F:x===t(m)&&i(m),R(Q)}else i(m);x=t(m)}if(x!==null)var ee=!0;else{var he=t(g);he!==null&&ne(O,he.startTime-Q),ee=!1}return ee}finally{x=null,b=H,w=!1}}var D=!1,L=null,G=-1,W=5,Y=-1;function P(){return!(n.unstable_now()-YT||125N?(T.sortIndex=H,e(g,T),t(m)===null&&T===t(g)&&(C?(V(G),G=-1):C=!0,ne(O,H-N))):(T.sortIndex=F,e(m,T),_||w||(_=!0,se(E))),T},n.unstable_shouldYield=P,n.unstable_wrapCallback=function(T){var Q=b;return function(){var H=b;b=Q;try{return T.apply(this,arguments)}finally{b=H}}}})(id)),id}var lm;function ub(){return lm||(lm=1,sd.exports=lb()),sd.exports}/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var um;function cb(){if(um)return zt;um=1;var n=Pd(),e=ub();function t(r){for(var s="https://reactjs.org/docs/error-decoder.html?invariant="+r,o=1;o"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),m=Object.prototype.hasOwnProperty,g=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,v={},x={};function b(r){return m.call(x,r)?!0:m.call(v,r)?!1:g.test(r)?x[r]=!0:(v[r]=!0,!1)}function w(r,s,o,l){if(o!==null&&o.type===0)return!1;switch(typeof s){case"function":case"symbol":return!0;case"boolean":return l?!1:o!==null?!o.acceptsBooleans:(r=r.toLowerCase().slice(0,5),r!=="data-"&&r!=="aria-");default:return!1}}function _(r,s,o,l){if(s===null||typeof s>"u"||w(r,s,o,l))return!0;if(l)return!1;if(o!==null)switch(o.type){case 3:return!s;case 4:return s===!1;case 5:return isNaN(s);case 6:return isNaN(s)||1>s}return!1}function C(r,s,o,l,d,p,y){this.acceptsBooleans=s===2||s===3||s===4,this.attributeName=l,this.attributeNamespace=d,this.mustUseProperty=o,this.propertyName=r,this.type=s,this.sanitizeURL=p,this.removeEmptyString=y}var A={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(r){A[r]=new C(r,0,!1,r,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(r){var s=r[0];A[s]=new C(s,1,!1,r[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(r){A[r]=new C(r,2,!1,r.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(r){A[r]=new C(r,2,!1,r,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(r){A[r]=new C(r,3,!1,r.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(r){A[r]=new C(r,3,!0,r,null,!1,!1)}),["capture","download"].forEach(function(r){A[r]=new C(r,4,!1,r,null,!1,!1)}),["cols","rows","size","span"].forEach(function(r){A[r]=new C(r,6,!1,r,null,!1,!1)}),["rowSpan","start"].forEach(function(r){A[r]=new C(r,5,!1,r.toLowerCase(),null,!1,!1)});var V=/[\-:]([a-z])/g;function $(r){return r[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(r){var s=r.replace(V,$);A[s]=new C(s,1,!1,r,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(r){var s=r.replace(V,$);A[s]=new C(s,1,!1,r,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(r){var s=r.replace(V,$);A[s]=new C(s,1,!1,r,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(r){A[r]=new C(r,1,!1,r.toLowerCase(),null,!1,!1)}),A.xlinkHref=new C("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(r){A[r]=new C(r,1,!1,r.toLowerCase(),null,!0,!0)});function R(r,s,o,l){var d=A.hasOwnProperty(s)?A[s]:null;(d!==null?d.type!==0:l||!(2S||d[y]!==p[S]){var j=` -`+d[y].replace(" at new "," at ");return r.displayName&&j.includes("")&&(j=j.replace("",r.displayName)),j}while(1<=y&&0<=S);break}}}finally{ee=!1,Error.prepareStackTrace=o}return(r=r?r.displayName||r.name:"")?F(r):""}function re(r){switch(r.tag){case 5:return F(r.type);case 16:return F("Lazy");case 13:return F("Suspense");case 19:return F("SuspenseList");case 0:case 2:case 15:return r=he(r.type,!1),r;case 11:return r=he(r.type.render,!1),r;case 1:return r=he(r.type,!0),r;default:return""}}function pe(r){if(r==null)return null;if(typeof r=="function")return r.displayName||r.name||null;if(typeof r=="string")return r;switch(r){case L:return"Fragment";case D:return"Portal";case W:return"Profiler";case G:return"StrictMode";case X:return"Suspense";case oe:return"SuspenseList"}if(typeof r=="object")switch(r.$$typeof){case P:return(r.displayName||"Context")+".Consumer";case Y:return(r._context.displayName||"Context")+".Provider";case te:var s=r.render;return r=r.displayName,r||(r=s.displayName||s.name||"",r=r!==""?"ForwardRef("+r+")":"ForwardRef"),r;case ae:return s=r.displayName||null,s!==null?s:pe(r.type)||"Memo";case se:s=r._payload,r=r._init;try{return pe(r(s))}catch{}}return null}function Ce(r){var s=r.type;switch(r.tag){case 24:return"Cache";case 9:return(s.displayName||"Context")+".Consumer";case 10:return(s._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return r=s.render,r=r.displayName||r.name||"",s.displayName||(r!==""?"ForwardRef("+r+")":"ForwardRef");case 7:return"Fragment";case 5:return s;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return pe(s);case 8:return s===G?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof s=="function")return s.displayName||s.name||null;if(typeof s=="string")return s}return null}function Te(r){switch(typeof r){case"boolean":case"number":case"string":case"undefined":return r;case"object":return r;default:return""}}function Be(r){var s=r.type;return(r=r.nodeName)&&r.toLowerCase()==="input"&&(s==="checkbox"||s==="radio")}function dt(r){var s=Be(r)?"checked":"value",o=Object.getOwnPropertyDescriptor(r.constructor.prototype,s),l=""+r[s];if(!r.hasOwnProperty(s)&&typeof o<"u"&&typeof o.get=="function"&&typeof o.set=="function"){var d=o.get,p=o.set;return Object.defineProperty(r,s,{configurable:!0,get:function(){return d.call(this)},set:function(y){l=""+y,p.call(this,y)}}),Object.defineProperty(r,s,{enumerable:o.enumerable}),{getValue:function(){return l},setValue:function(y){l=""+y},stopTracking:function(){r._valueTracker=null,delete r[s]}}}}function St(r){r._valueTracker||(r._valueTracker=dt(r))}function Es(r){if(!r)return!1;var s=r._valueTracker;if(!s)return!0;var o=s.getValue(),l="";return r&&(l=Be(r)?r.checked?"true":"false":r.value),r=l,r!==o?(s.setValue(r),!0):!1}function Et(r){if(r=r||(typeof document<"u"?document:void 0),typeof r>"u")return null;try{return r.activeElement||r.body}catch{return r.body}}function sr(r,s){var o=s.checked;return H({},s,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:o??r._wrapperState.initialChecked})}function cs(r,s){var o=s.defaultValue==null?"":s.defaultValue,l=s.checked!=null?s.checked:s.defaultChecked;o=Te(s.value!=null?s.value:o),r._wrapperState={initialChecked:l,initialValue:o,controlled:s.type==="checkbox"||s.type==="radio"?s.checked!=null:s.value!=null}}function ue(r,s){s=s.checked,s!=null&&R(r,"checked",s,!1)}function Oe(r,s){ue(r,s);var o=Te(s.value),l=s.type;if(o!=null)l==="number"?(o===0&&r.value===""||r.value!=o)&&(r.value=""+o):r.value!==""+o&&(r.value=""+o);else if(l==="submit"||l==="reset"){r.removeAttribute("value");return}s.hasOwnProperty("value")?Ct(r,s.type,o):s.hasOwnProperty("defaultValue")&&Ct(r,s.type,Te(s.defaultValue)),s.checked==null&&s.defaultChecked!=null&&(r.defaultChecked=!!s.defaultChecked)}function st(r,s,o){if(s.hasOwnProperty("value")||s.hasOwnProperty("defaultValue")){var l=s.type;if(!(l!=="submit"&&l!=="reset"||s.value!==void 0&&s.value!==null))return;s=""+r._wrapperState.initialValue,o||s===r.value||(r.value=s),r.defaultValue=s}o=r.name,o!==""&&(r.name=""),r.defaultChecked=!!r._wrapperState.initialChecked,o!==""&&(r.name=o)}function Ct(r,s,o){(s!=="number"||Et(r.ownerDocument)!==r)&&(o==null?r.defaultValue=""+r._wrapperState.initialValue:r.defaultValue!==""+o&&(r.defaultValue=""+o))}var $n=Array.isArray;function ir(r,s,o,l){if(r=r.options,s){s={};for(var d=0;d"+s.valueOf().toString()+"",s=ds.firstChild;r.firstChild;)r.removeChild(r.firstChild);for(;s.firstChild;)r.appendChild(s.firstChild)}});function Cr(r,s){if(s){var o=r.firstChild;if(o&&o===r.lastChild&&o.nodeType===3){o.nodeValue=s;return}}r.textContent=s}var Fr={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ta=["Webkit","ms","Moz","O"];Object.keys(Fr).forEach(function(r){ta.forEach(function(s){s=s+r.charAt(0).toUpperCase()+r.substring(1),Fr[s]=Fr[r]})});function ye(r,s,o){return s==null||typeof s=="boolean"||s===""?"":o||typeof s!="number"||s===0||Fr.hasOwnProperty(r)&&Fr[r]?(""+s).trim():s+"px"}function vt(r,s){r=r.style;for(var o in s)if(s.hasOwnProperty(o)){var l=o.indexOf("--")===0,d=ye(o,s[o],l);o==="float"&&(o="cssFloat"),l?r.setProperty(o,d):r[o]=d}}var Us=H({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function rn(r,s){if(s){if(Us[r]&&(s.children!=null||s.dangerouslySetInnerHTML!=null))throw Error(t(137,r));if(s.dangerouslySetInnerHTML!=null){if(s.children!=null)throw Error(t(60));if(typeof s.dangerouslySetInnerHTML!="object"||!("__html"in s.dangerouslySetInnerHTML))throw Error(t(61))}if(s.style!=null&&typeof s.style!="object")throw Error(t(62))}}function $s(r,s){if(r.indexOf("-")===-1)return typeof s.is=="string";switch(r){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Gi=null;function fs(r){return r=r.target||r.srcElement||window,r.correspondingUseElement&&(r=r.correspondingUseElement),r.nodeType===3?r.parentNode:r}var gu=null,Ps=null,zs=null;function bf(r){if(r=mo(r)){if(typeof gu!="function")throw Error(t(280));var s=r.stateNode;s&&(s=Na(s),gu(r.stateNode,r.type,s))}}function wf(r){Ps?zs?zs.push(r):zs=[r]:Ps=r}function Sf(){if(Ps){var r=Ps,s=zs;if(zs=Ps=null,bf(r),s)for(r=0;r>>=0,r===0?32:31-(x0(r)/b0|0)|0}var oa=64,aa=4194304;function Ji(r){switch(r&-r){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return r&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return r&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return r}}function la(r,s){var o=r.pendingLanes;if(o===0)return 0;var l=0,d=r.suspendedLanes,p=r.pingedLanes,y=o&268435455;if(y!==0){var S=y&~d;S!==0?l=Ji(S):(p&=y,p!==0&&(l=Ji(p)))}else y=o&~d,y!==0?l=Ji(y):p!==0&&(l=Ji(p));if(l===0)return 0;if(s!==0&&s!==l&&(s&d)===0&&(d=l&-l,p=s&-s,d>=p||d===16&&(p&4194240)!==0))return s;if((l&4)!==0&&(l|=o&16),s=r.entangledLanes,s!==0)for(r=r.entanglements,s&=l;0o;o++)s.push(r);return s}function qi(r,s,o){r.pendingLanes|=s,s!==536870912&&(r.suspendedLanes=0,r.pingedLanes=0),r=r.eventTimes,s=31-wn(s),r[s]=o}function N0(r,s){var o=r.pendingLanes&~s;r.pendingLanes=s,r.suspendedLanes=0,r.pingedLanes=0,r.expiredLanes&=s,r.mutableReadLanes&=s,r.entangledLanes&=s,s=r.entanglements;var l=r.eventTimes;for(r=r.expirationTimes;0=io),Jf=" ",qf=!1;function Zf(r,s){switch(r){case"keyup":return Z0.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Xf(r){return r=r.detail,typeof r=="object"&&"data"in r?r.data:null}var Hs=!1;function ex(r,s){switch(r){case"compositionend":return Xf(s);case"keypress":return s.which!==32?null:(qf=!0,Jf);case"textInput":return r=s.data,r===Jf&&qf?null:r;default:return null}}function tx(r,s){if(Hs)return r==="compositionend"||!Bu&&Zf(r,s)?(r=Wf(),ha=Du=Er=null,Hs=!1,r):null;switch(r){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1=s)return{node:o,offset:s-r};r=l}e:{for(;o;){if(o.nextSibling){o=o.nextSibling;break e}o=o.parentNode}o=void 0}o=oh(o)}}function lh(r,s){return r&&s?r===s?!0:r&&r.nodeType===3?!1:s&&s.nodeType===3?lh(r,s.parentNode):"contains"in r?r.contains(s):r.compareDocumentPosition?!!(r.compareDocumentPosition(s)&16):!1:!1}function uh(){for(var r=window,s=Et();s instanceof r.HTMLIFrameElement;){try{var o=typeof s.contentWindow.location.href=="string"}catch{o=!1}if(o)r=s.contentWindow;else break;s=Et(r.document)}return s}function Lu(r){var s=r&&r.nodeName&&r.nodeName.toLowerCase();return s&&(s==="input"&&(r.type==="text"||r.type==="search"||r.type==="tel"||r.type==="url"||r.type==="password")||s==="textarea"||r.contentEditable==="true")}function cx(r){var s=uh(),o=r.focusedElem,l=r.selectionRange;if(s!==o&&o&&o.ownerDocument&&lh(o.ownerDocument.documentElement,o)){if(l!==null&&Lu(o)){if(s=l.start,r=l.end,r===void 0&&(r=s),"selectionStart"in o)o.selectionStart=s,o.selectionEnd=Math.min(r,o.value.length);else if(r=(s=o.ownerDocument||document)&&s.defaultView||window,r.getSelection){r=r.getSelection();var d=o.textContent.length,p=Math.min(l.start,d);l=l.end===void 0?p:Math.min(l.end,d),!r.extend&&p>l&&(d=l,l=p,p=d),d=ah(o,p);var y=ah(o,l);d&&y&&(r.rangeCount!==1||r.anchorNode!==d.node||r.anchorOffset!==d.offset||r.focusNode!==y.node||r.focusOffset!==y.offset)&&(s=s.createRange(),s.setStart(d.node,d.offset),r.removeAllRanges(),p>l?(r.addRange(s),r.extend(y.node,y.offset)):(s.setEnd(y.node,y.offset),r.addRange(s)))}}for(s=[],r=o;r=r.parentNode;)r.nodeType===1&&s.push({element:r,left:r.scrollLeft,top:r.scrollTop});for(typeof o.focus=="function"&&o.focus(),o=0;o=document.documentMode,Gs=null,Uu=null,uo=null,$u=!1;function ch(r,s,o){var l=o.window===o?o.document:o.nodeType===9?o:o.ownerDocument;$u||Gs==null||Gs!==Et(l)||(l=Gs,"selectionStart"in l&&Lu(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),uo&&lo(uo,l)||(uo=l,l=wa(Uu,"onSelect"),0qs||(r.current=Zu[qs],Zu[qs]=null,qs--)}function qe(r,s){qs++,Zu[qs]=r.current,r.current=s}var $r={},jt=Ur($r),Rt=Ur(!1),ms=$r;function Zs(r,s){var o=r.type.contextTypes;if(!o)return $r;var l=r.stateNode;if(l&&l.__reactInternalMemoizedUnmaskedChildContext===s)return l.__reactInternalMemoizedMaskedChildContext;var d={},p;for(p in o)d[p]=s[p];return l&&(r=r.stateNode,r.__reactInternalMemoizedUnmaskedChildContext=s,r.__reactInternalMemoizedMaskedChildContext=d),d}function Lt(r){return r=r.childContextTypes,r!=null}function ja(){et(Rt),et(jt)}function jh(r,s,o){if(jt.current!==$r)throw Error(t(168));qe(jt,s),qe(Rt,o)}function kh(r,s,o){var l=r.stateNode;if(s=s.childContextTypes,typeof l.getChildContext!="function")return o;l=l.getChildContext();for(var d in l)if(!(d in s))throw Error(t(108,Ce(r)||"Unknown",d));return H({},o,l)}function ka(r){return r=(r=r.stateNode)&&r.__reactInternalMemoizedMergedChildContext||$r,ms=jt.current,qe(jt,r),qe(Rt,Rt.current),!0}function Ih(r,s,o){var l=r.stateNode;if(!l)throw Error(t(169));o?(r=kh(r,s,ms),l.__reactInternalMemoizedMergedChildContext=r,et(Rt),et(jt),qe(jt,r)):et(Rt),qe(Rt,o)}var ar=null,Ia=!1,Xu=!1;function Mh(r){ar===null?ar=[r]:ar.push(r)}function Sx(r){Ia=!0,Mh(r)}function Pr(){if(!Xu&&ar!==null){Xu=!0;var r=0,s=Ge;try{var o=ar;for(Ge=1;r>=y,d-=y,lr=1<<32-wn(s)+d|o<Me?(wt=ve,ve=null):wt=ve.sibling;var ze=K(B,ve,U[Me],Z);if(ze===null){ve===null&&(ve=wt);break}r&&ve&&ze.alternate===null&&s(B,ve),k=p(ze,k,Me),ge===null?fe=ze:ge.sibling=ze,ge=ze,ve=wt}if(Me===U.length)return o(B,ve),rt&&gs(B,Me),fe;if(ve===null){for(;MeMe?(wt=ve,ve=null):wt=ve.sibling;var Jr=K(B,ve,ze.value,Z);if(Jr===null){ve===null&&(ve=wt);break}r&&ve&&Jr.alternate===null&&s(B,ve),k=p(Jr,k,Me),ge===null?fe=Jr:ge.sibling=Jr,ge=Jr,ve=wt}if(ze.done)return o(B,ve),rt&&gs(B,Me),fe;if(ve===null){for(;!ze.done;Me++,ze=U.next())ze=q(B,ze.value,Z),ze!==null&&(k=p(ze,k,Me),ge===null?fe=ze:ge.sibling=ze,ge=ze);return rt&&gs(B,Me),fe}for(ve=l(B,ve);!ze.done;Me++,ze=U.next())ze=ie(ve,B,Me,ze.value,Z),ze!==null&&(r&&ze.alternate!==null&&ve.delete(ze.key===null?Me:ze.key),k=p(ze,k,Me),ge===null?fe=ze:ge.sibling=ze,ge=ze);return r&&ve.forEach(function(nb){return s(B,nb)}),rt&&gs(B,Me),fe}function ct(B,k,U,Z){if(typeof U=="object"&&U!==null&&U.type===L&&U.key===null&&(U=U.props.children),typeof U=="object"&&U!==null){switch(U.$$typeof){case E:e:{for(var fe=U.key,ge=k;ge!==null;){if(ge.key===fe){if(fe=U.type,fe===L){if(ge.tag===7){o(B,ge.sibling),k=d(ge,U.props.children),k.return=B,B=k;break e}}else if(ge.elementType===fe||typeof fe=="object"&&fe!==null&&fe.$$typeof===se&&Ah(fe)===ge.type){o(B,ge.sibling),k=d(ge,U.props),k.ref=yo(B,ge,U),k.return=B,B=k;break e}o(B,ge);break}else s(B,ge);ge=ge.sibling}U.type===L?(k=js(U.props.children,B.mode,Z,U.key),k.return=B,B=k):(Z=tl(U.type,U.key,U.props,null,B.mode,Z),Z.ref=yo(B,k,U),Z.return=B,B=Z)}return y(B);case D:e:{for(ge=U.key;k!==null;){if(k.key===ge)if(k.tag===4&&k.stateNode.containerInfo===U.containerInfo&&k.stateNode.implementation===U.implementation){o(B,k.sibling),k=d(k,U.children||[]),k.return=B,B=k;break e}else{o(B,k);break}else s(B,k);k=k.sibling}k=Jc(U,B.mode,Z),k.return=B,B=k}return y(B);case se:return ge=U._init,ct(B,k,ge(U._payload),Z)}if($n(U))return ce(B,k,U,Z);if(Q(U))return de(B,k,U,Z);Fa(B,U)}return typeof U=="string"&&U!==""||typeof U=="number"?(U=""+U,k!==null&&k.tag===6?(o(B,k.sibling),k=d(k,U),k.return=B,B=k):(o(B,k),k=Kc(U,B.mode,Z),k.return=B,B=k),y(B)):o(B,k)}return ct}var ni=Bh(!0),Eh=Bh(!1),Oa=Ur(null),Ta=null,ri=null,ic=null;function oc(){ic=ri=Ta=null}function ac(r){var s=Oa.current;et(Oa),r._currentValue=s}function lc(r,s,o){for(;r!==null;){var l=r.alternate;if((r.childLanes&s)!==s?(r.childLanes|=s,l!==null&&(l.childLanes|=s)):l!==null&&(l.childLanes&s)!==s&&(l.childLanes|=s),r===o)break;r=r.return}}function si(r,s){Ta=r,ic=ri=null,r=r.dependencies,r!==null&&r.firstContext!==null&&((r.lanes&s)!==0&&(Ut=!0),r.firstContext=null)}function an(r){var s=r._currentValue;if(ic!==r)if(r={context:r,memoizedValue:s,next:null},ri===null){if(Ta===null)throw Error(t(308));ri=r,Ta.dependencies={lanes:0,firstContext:r}}else ri=ri.next=r;return s}var vs=null;function uc(r){vs===null?vs=[r]:vs.push(r)}function Rh(r,s,o,l){var d=s.interleaved;return d===null?(o.next=o,uc(s)):(o.next=d.next,d.next=o),s.interleaved=o,cr(r,l)}function cr(r,s){r.lanes|=s;var o=r.alternate;for(o!==null&&(o.lanes|=s),o=r,r=r.return;r!==null;)r.childLanes|=s,o=r.alternate,o!==null&&(o.childLanes|=s),o=r,r=r.return;return o.tag===3?o.stateNode:null}var zr=!1;function cc(r){r.updateQueue={baseState:r.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Lh(r,s){r=r.updateQueue,s.updateQueue===r&&(s.updateQueue={baseState:r.baseState,firstBaseUpdate:r.firstBaseUpdate,lastBaseUpdate:r.lastBaseUpdate,shared:r.shared,effects:r.effects})}function dr(r,s){return{eventTime:r,lane:s,tag:0,payload:null,callback:null,next:null}}function Vr(r,s,o){var l=r.updateQueue;if(l===null)return null;if(l=l.shared,(Pe&2)!==0){var d=l.pending;return d===null?s.next=s:(s.next=d.next,d.next=s),l.pending=s,cr(r,o)}return d=l.interleaved,d===null?(s.next=s,uc(l)):(s.next=d.next,d.next=s),l.interleaved=s,cr(r,o)}function Aa(r,s,o){if(s=s.updateQueue,s!==null&&(s=s.shared,(o&4194240)!==0)){var l=s.lanes;l&=r.pendingLanes,o|=l,s.lanes=o,Nu(r,o)}}function Uh(r,s){var o=r.updateQueue,l=r.alternate;if(l!==null&&(l=l.updateQueue,o===l)){var d=null,p=null;if(o=o.firstBaseUpdate,o!==null){do{var y={eventTime:o.eventTime,lane:o.lane,tag:o.tag,payload:o.payload,callback:o.callback,next:null};p===null?d=p=y:p=p.next=y,o=o.next}while(o!==null);p===null?d=p=s:p=p.next=s}else d=p=s;o={baseState:l.baseState,firstBaseUpdate:d,lastBaseUpdate:p,shared:l.shared,effects:l.effects},r.updateQueue=o;return}r=o.lastBaseUpdate,r===null?o.firstBaseUpdate=s:r.next=s,o.lastBaseUpdate=s}function Ba(r,s,o,l){var d=r.updateQueue;zr=!1;var p=d.firstBaseUpdate,y=d.lastBaseUpdate,S=d.shared.pending;if(S!==null){d.shared.pending=null;var j=S,z=j.next;j.next=null,y===null?p=z:y.next=z,y=j;var J=r.alternate;J!==null&&(J=J.updateQueue,S=J.lastBaseUpdate,S!==y&&(S===null?J.firstBaseUpdate=z:S.next=z,J.lastBaseUpdate=j))}if(p!==null){var q=d.baseState;y=0,J=z=j=null,S=p;do{var K=S.lane,ie=S.eventTime;if((l&K)===K){J!==null&&(J=J.next={eventTime:ie,lane:0,tag:S.tag,payload:S.payload,callback:S.callback,next:null});e:{var ce=r,de=S;switch(K=s,ie=o,de.tag){case 1:if(ce=de.payload,typeof ce=="function"){q=ce.call(ie,q,K);break e}q=ce;break e;case 3:ce.flags=ce.flags&-65537|128;case 0:if(ce=de.payload,K=typeof ce=="function"?ce.call(ie,q,K):ce,K==null)break e;q=H({},q,K);break e;case 2:zr=!0}}S.callback!==null&&S.lane!==0&&(r.flags|=64,K=d.effects,K===null?d.effects=[S]:K.push(S))}else ie={eventTime:ie,lane:K,tag:S.tag,payload:S.payload,callback:S.callback,next:null},J===null?(z=J=ie,j=q):J=J.next=ie,y|=K;if(S=S.next,S===null){if(S=d.shared.pending,S===null)break;K=S,S=K.next,K.next=null,d.lastBaseUpdate=K,d.shared.pending=null}}while(!0);if(J===null&&(j=q),d.baseState=j,d.firstBaseUpdate=z,d.lastBaseUpdate=J,s=d.shared.interleaved,s!==null){d=s;do y|=d.lane,d=d.next;while(d!==s)}else p===null&&(d.shared.lanes=0);ws|=y,r.lanes=y,r.memoizedState=q}}function $h(r,s,o){if(r=s.effects,s.effects=null,r!==null)for(s=0;so?o:4,r(!0);var l=mc.transition;mc.transition={};try{r(!1),s()}finally{Ge=o,mc.transition=l}}function ip(){return ln().memoizedState}function kx(r,s,o){var l=Yr(r);if(o={lane:l,action:o,hasEagerState:!1,eagerState:null,next:null},op(r))ap(s,o);else if(o=Rh(r,s,o,l),o!==null){var d=Ot();In(o,r,l,d),lp(o,s,l)}}function Ix(r,s,o){var l=Yr(r),d={lane:l,action:o,hasEagerState:!1,eagerState:null,next:null};if(op(r))ap(s,d);else{var p=r.alternate;if(r.lanes===0&&(p===null||p.lanes===0)&&(p=s.lastRenderedReducer,p!==null))try{var y=s.lastRenderedState,S=p(y,o);if(d.hasEagerState=!0,d.eagerState=S,Sn(S,y)){var j=s.interleaved;j===null?(d.next=d,uc(s)):(d.next=j.next,j.next=d),s.interleaved=d;return}}catch{}finally{}o=Rh(r,s,d,l),o!==null&&(d=Ot(),In(o,r,l,d),lp(o,s,l))}}function op(r){var s=r.alternate;return r===ot||s!==null&&s===ot}function ap(r,s){bo=La=!0;var o=r.pending;o===null?s.next=s:(s.next=o.next,o.next=s),r.pending=s}function lp(r,s,o){if((o&4194240)!==0){var l=s.lanes;l&=r.pendingLanes,o|=l,s.lanes=o,Nu(r,o)}}var Pa={readContext:an,useCallback:kt,useContext:kt,useEffect:kt,useImperativeHandle:kt,useInsertionEffect:kt,useLayoutEffect:kt,useMemo:kt,useReducer:kt,useRef:kt,useState:kt,useDebugValue:kt,useDeferredValue:kt,useTransition:kt,useMutableSource:kt,useSyncExternalStore:kt,useId:kt,unstable_isNewReconciler:!1},Mx={readContext:an,useCallback:function(r,s){return Wn().memoizedState=[r,s===void 0?null:s],r},useContext:an,useEffect:qh,useImperativeHandle:function(r,s,o){return o=o!=null?o.concat([r]):null,Ua(4194308,4,ep.bind(null,s,r),o)},useLayoutEffect:function(r,s){return Ua(4194308,4,r,s)},useInsertionEffect:function(r,s){return Ua(4,2,r,s)},useMemo:function(r,s){var o=Wn();return s=s===void 0?null:s,r=r(),o.memoizedState=[r,s],r},useReducer:function(r,s,o){var l=Wn();return s=o!==void 0?o(s):s,l.memoizedState=l.baseState=s,r={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:r,lastRenderedState:s},l.queue=r,r=r.dispatch=kx.bind(null,ot,r),[l.memoizedState,r]},useRef:function(r){var s=Wn();return r={current:r},s.memoizedState=r},useState:Kh,useDebugValue:Sc,useDeferredValue:function(r){return Wn().memoizedState=r},useTransition:function(){var r=Kh(!1),s=r[0];return r=jx.bind(null,r[1]),Wn().memoizedState=r,[s,r]},useMutableSource:function(){},useSyncExternalStore:function(r,s,o){var l=ot,d=Wn();if(rt){if(o===void 0)throw Error(t(407));o=o()}else{if(o=s(),bt===null)throw Error(t(349));(bs&30)!==0||Wh(l,s,o)}d.memoizedState=o;var p={value:o,getSnapshot:s};return d.queue=p,qh(Gh.bind(null,l,p,r),[r]),l.flags|=2048,_o(9,Hh.bind(null,l,p,o,s),void 0,null),o},useId:function(){var r=Wn(),s=bt.identifierPrefix;if(rt){var o=ur,l=lr;o=(l&~(1<<32-wn(l)-1)).toString(32)+o,s=":"+s+"R"+o,o=wo++,0<\/script>",r=r.removeChild(r.firstChild)):typeof l.is=="string"?r=y.createElement(o,{is:l.is}):(r=y.createElement(o),o==="select"&&(y=r,l.multiple?y.multiple=!0:l.size&&(y.size=l.size))):r=y.createElementNS(r,o),r[zn]=s,r[po]=l,Mp(r,s,!1,!1),s.stateNode=r;e:{switch(y=$s(o,l),o){case"dialog":Xe("cancel",r),Xe("close",r),d=l;break;case"iframe":case"object":case"embed":Xe("load",r),d=l;break;case"video":case"audio":for(d=0;dui&&(s.flags|=128,l=!0,No(p,!1),s.lanes=4194304)}else{if(!l)if(r=Ea(y),r!==null){if(s.flags|=128,l=!0,o=r.updateQueue,o!==null&&(s.updateQueue=o,s.flags|=4),No(p,!0),p.tail===null&&p.tailMode==="hidden"&&!y.alternate&&!rt)return It(s),null}else 2*ut()-p.renderingStartTime>ui&&o!==1073741824&&(s.flags|=128,l=!0,No(p,!1),s.lanes=4194304);p.isBackwards?(y.sibling=s.child,s.child=y):(o=p.last,o!==null?o.sibling=y:s.child=y,p.last=y)}return p.tail!==null?(s=p.tail,p.rendering=s,p.tail=s.sibling,p.renderingStartTime=ut(),s.sibling=null,o=it.current,qe(it,l?o&1|2:o&1),s):(It(s),null);case 22:case 23:return Gc(),l=s.memoizedState!==null,r!==null&&r.memoizedState!==null!==l&&(s.flags|=8192),l&&(s.mode&1)!==0?(Zt&1073741824)!==0&&(It(s),s.subtreeFlags&6&&(s.flags|=8192)):It(s),null;case 24:return null;case 25:return null}throw Error(t(156,s.tag))}function Ex(r,s){switch(tc(s),s.tag){case 1:return Lt(s.type)&&ja(),r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 3:return ii(),et(Rt),et(jt),pc(),r=s.flags,(r&65536)!==0&&(r&128)===0?(s.flags=r&-65537|128,s):null;case 5:return fc(s),null;case 13:if(et(it),r=s.memoizedState,r!==null&&r.dehydrated!==null){if(s.alternate===null)throw Error(t(340));ti()}return r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 19:return et(it),null;case 4:return ii(),null;case 10:return ac(s.type._context),null;case 22:case 23:return Gc(),null;case 24:return null;default:return null}}var Ha=!1,Mt=!1,Rx=typeof WeakSet=="function"?WeakSet:Set,le=null;function ai(r,s){var o=r.ref;if(o!==null)if(typeof o=="function")try{o(null)}catch(l){lt(r,s,l)}else o.current=null}function Ac(r,s,o){try{o()}catch(l){lt(r,s,l)}}var Fp=!1;function Lx(r,s){if(Gu=da,r=uh(),Lu(r)){if("selectionStart"in r)var o={start:r.selectionStart,end:r.selectionEnd};else e:{o=(o=r.ownerDocument)&&o.defaultView||window;var l=o.getSelection&&o.getSelection();if(l&&l.rangeCount!==0){o=l.anchorNode;var d=l.anchorOffset,p=l.focusNode;l=l.focusOffset;try{o.nodeType,p.nodeType}catch{o=null;break e}var y=0,S=-1,j=-1,z=0,J=0,q=r,K=null;t:for(;;){for(var ie;q!==o||d!==0&&q.nodeType!==3||(S=y+d),q!==p||l!==0&&q.nodeType!==3||(j=y+l),q.nodeType===3&&(y+=q.nodeValue.length),(ie=q.firstChild)!==null;)K=q,q=ie;for(;;){if(q===r)break t;if(K===o&&++z===d&&(S=y),K===p&&++J===l&&(j=y),(ie=q.nextSibling)!==null)break;q=K,K=q.parentNode}q=ie}o=S===-1||j===-1?null:{start:S,end:j}}else o=null}o=o||{start:0,end:0}}else o=null;for(Yu={focusedElem:r,selectionRange:o},da=!1,le=s;le!==null;)if(s=le,r=s.child,(s.subtreeFlags&1028)!==0&&r!==null)r.return=s,le=r;else for(;le!==null;){s=le;try{var ce=s.alternate;if((s.flags&1024)!==0)switch(s.tag){case 0:case 11:case 15:break;case 1:if(ce!==null){var de=ce.memoizedProps,ct=ce.memoizedState,B=s.stateNode,k=B.getSnapshotBeforeUpdate(s.elementType===s.type?de:Nn(s.type,de),ct);B.__reactInternalSnapshotBeforeUpdate=k}break;case 3:var U=s.stateNode.containerInfo;U.nodeType===1?U.textContent="":U.nodeType===9&&U.documentElement&&U.removeChild(U.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(t(163))}}catch(Z){lt(s,s.return,Z)}if(r=s.sibling,r!==null){r.return=s.return,le=r;break}le=s.return}return ce=Fp,Fp=!1,ce}function jo(r,s,o){var l=s.updateQueue;if(l=l!==null?l.lastEffect:null,l!==null){var d=l=l.next;do{if((d.tag&r)===r){var p=d.destroy;d.destroy=void 0,p!==void 0&&Ac(s,o,p)}d=d.next}while(d!==l)}}function Ga(r,s){if(s=s.updateQueue,s=s!==null?s.lastEffect:null,s!==null){var o=s=s.next;do{if((o.tag&r)===r){var l=o.create;o.destroy=l()}o=o.next}while(o!==s)}}function Bc(r){var s=r.ref;if(s!==null){var o=r.stateNode;switch(r.tag){case 5:r=o;break;default:r=o}typeof s=="function"?s(r):s.current=r}}function Op(r){var s=r.alternate;s!==null&&(r.alternate=null,Op(s)),r.child=null,r.deletions=null,r.sibling=null,r.tag===5&&(s=r.stateNode,s!==null&&(delete s[zn],delete s[po],delete s[qu],delete s[bx],delete s[wx])),r.stateNode=null,r.return=null,r.dependencies=null,r.memoizedProps=null,r.memoizedState=null,r.pendingProps=null,r.stateNode=null,r.updateQueue=null}function Tp(r){return r.tag===5||r.tag===3||r.tag===4}function Ap(r){e:for(;;){for(;r.sibling===null;){if(r.return===null||Tp(r.return))return null;r=r.return}for(r.sibling.return=r.return,r=r.sibling;r.tag!==5&&r.tag!==6&&r.tag!==18;){if(r.flags&2||r.child===null||r.tag===4)continue e;r.child.return=r,r=r.child}if(!(r.flags&2))return r.stateNode}}function Ec(r,s,o){var l=r.tag;if(l===5||l===6)r=r.stateNode,s?o.nodeType===8?o.parentNode.insertBefore(r,s):o.insertBefore(r,s):(o.nodeType===8?(s=o.parentNode,s.insertBefore(r,o)):(s=o,s.appendChild(r)),o=o._reactRootContainer,o!=null||s.onclick!==null||(s.onclick=_a));else if(l!==4&&(r=r.child,r!==null))for(Ec(r,s,o),r=r.sibling;r!==null;)Ec(r,s,o),r=r.sibling}function Rc(r,s,o){var l=r.tag;if(l===5||l===6)r=r.stateNode,s?o.insertBefore(r,s):o.appendChild(r);else if(l!==4&&(r=r.child,r!==null))for(Rc(r,s,o),r=r.sibling;r!==null;)Rc(r,s,o),r=r.sibling}var _t=null,jn=!1;function Wr(r,s,o){for(o=o.child;o!==null;)Bp(r,s,o),o=o.sibling}function Bp(r,s,o){if(Pn&&typeof Pn.onCommitFiberUnmount=="function")try{Pn.onCommitFiberUnmount(ia,o)}catch{}switch(o.tag){case 5:Mt||ai(o,s);case 6:var l=_t,d=jn;_t=null,Wr(r,s,o),_t=l,jn=d,_t!==null&&(jn?(r=_t,o=o.stateNode,r.nodeType===8?r.parentNode.removeChild(o):r.removeChild(o)):_t.removeChild(o.stateNode));break;case 18:_t!==null&&(jn?(r=_t,o=o.stateNode,r.nodeType===8?Ju(r.parentNode,o):r.nodeType===1&&Ju(r,o),no(r)):Ju(_t,o.stateNode));break;case 4:l=_t,d=jn,_t=o.stateNode.containerInfo,jn=!0,Wr(r,s,o),_t=l,jn=d;break;case 0:case 11:case 14:case 15:if(!Mt&&(l=o.updateQueue,l!==null&&(l=l.lastEffect,l!==null))){d=l=l.next;do{var p=d,y=p.destroy;p=p.tag,y!==void 0&&((p&2)!==0||(p&4)!==0)&&Ac(o,s,y),d=d.next}while(d!==l)}Wr(r,s,o);break;case 1:if(!Mt&&(ai(o,s),l=o.stateNode,typeof l.componentWillUnmount=="function"))try{l.props=o.memoizedProps,l.state=o.memoizedState,l.componentWillUnmount()}catch(S){lt(o,s,S)}Wr(r,s,o);break;case 21:Wr(r,s,o);break;case 22:o.mode&1?(Mt=(l=Mt)||o.memoizedState!==null,Wr(r,s,o),Mt=l):Wr(r,s,o);break;default:Wr(r,s,o)}}function Ep(r){var s=r.updateQueue;if(s!==null){r.updateQueue=null;var o=r.stateNode;o===null&&(o=r.stateNode=new Rx),s.forEach(function(l){var d=Yx.bind(null,r,l);o.has(l)||(o.add(l),l.then(d,d))})}}function kn(r,s){var o=s.deletions;if(o!==null)for(var l=0;ld&&(d=y),l&=~p}if(l=d,l=ut()-l,l=(120>l?120:480>l?480:1080>l?1080:1920>l?1920:3e3>l?3e3:4320>l?4320:1960*$x(l/1960))-l,10r?16:r,Gr===null)var l=!1;else{if(r=Gr,Gr=null,qa=0,(Pe&6)!==0)throw Error(t(331));var d=Pe;for(Pe|=4,le=r.current;le!==null;){var p=le,y=p.child;if((le.flags&16)!==0){var S=p.deletions;if(S!==null){for(var j=0;jut()-$c?_s(r,0):Uc|=o),Pt(r,s)}function Kp(r,s){s===0&&((r.mode&1)===0?s=1:(s=aa,aa<<=1,(aa&130023424)===0&&(aa=4194304)));var o=Ot();r=cr(r,s),r!==null&&(qi(r,s,o),Pt(r,o))}function Gx(r){var s=r.memoizedState,o=0;s!==null&&(o=s.retryLane),Kp(r,o)}function Yx(r,s){var o=0;switch(r.tag){case 13:var l=r.stateNode,d=r.memoizedState;d!==null&&(o=d.retryLane);break;case 19:l=r.stateNode;break;default:throw Error(t(314))}l!==null&&l.delete(s),Kp(r,o)}var Jp;Jp=function(r,s,o){if(r!==null)if(r.memoizedProps!==s.pendingProps||Rt.current)Ut=!0;else{if((r.lanes&o)===0&&(s.flags&128)===0)return Ut=!1,Ax(r,s,o);Ut=(r.flags&131072)!==0}else Ut=!1,rt&&(s.flags&1048576)!==0&&Dh(s,Da,s.index);switch(s.lanes=0,s.tag){case 2:var l=s.type;Wa(r,s),r=s.pendingProps;var d=Zs(s,jt.current);si(s,o),d=gc(null,s,l,r,d,o);var p=vc();return s.flags|=1,typeof d=="object"&&d!==null&&typeof d.render=="function"&&d.$$typeof===void 0?(s.tag=1,s.memoizedState=null,s.updateQueue=null,Lt(l)?(p=!0,ka(s)):p=!1,s.memoizedState=d.state!==null&&d.state!==void 0?d.state:null,cc(s),d.updater=za,s.stateNode=d,d._reactInternals=s,Nc(s,l,r,o),s=Mc(null,s,l,!0,p,o)):(s.tag=0,rt&&p&&ec(s),Ft(null,s,d,o),s=s.child),s;case 16:l=s.elementType;e:{switch(Wa(r,s),r=s.pendingProps,d=l._init,l=d(l._payload),s.type=l,d=s.tag=Kx(l),r=Nn(l,r),d){case 0:s=Ic(null,s,l,r,o);break e;case 1:s=Sp(null,s,l,r,o);break e;case 11:s=gp(null,s,l,r,o);break e;case 14:s=vp(null,s,l,Nn(l.type,r),o);break e}throw Error(t(306,l,""))}return s;case 0:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),Ic(r,s,l,d,o);case 1:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),Sp(r,s,l,d,o);case 3:e:{if(_p(s),r===null)throw Error(t(387));l=s.pendingProps,p=s.memoizedState,d=p.element,Lh(r,s),Ba(s,l,null,o);var y=s.memoizedState;if(l=y.element,p.isDehydrated)if(p={element:l,isDehydrated:!1,cache:y.cache,pendingSuspenseBoundaries:y.pendingSuspenseBoundaries,transitions:y.transitions},s.updateQueue.baseState=p,s.memoizedState=p,s.flags&256){d=oi(Error(t(423)),s),s=Np(r,s,l,o,d);break e}else if(l!==d){d=oi(Error(t(424)),s),s=Np(r,s,l,o,d);break e}else for(qt=Lr(s.stateNode.containerInfo.firstChild),Jt=s,rt=!0,_n=null,o=Eh(s,null,l,o),s.child=o;o;)o.flags=o.flags&-3|4096,o=o.sibling;else{if(ti(),l===d){s=fr(r,s,o);break e}Ft(r,s,l,o)}s=s.child}return s;case 5:return Ph(s),r===null&&rc(s),l=s.type,d=s.pendingProps,p=r!==null?r.memoizedProps:null,y=d.children,Qu(l,d)?y=null:p!==null&&Qu(l,p)&&(s.flags|=32),wp(r,s),Ft(r,s,y,o),s.child;case 6:return r===null&&rc(s),null;case 13:return jp(r,s,o);case 4:return dc(s,s.stateNode.containerInfo),l=s.pendingProps,r===null?s.child=ni(s,null,l,o):Ft(r,s,l,o),s.child;case 11:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),gp(r,s,l,d,o);case 7:return Ft(r,s,s.pendingProps,o),s.child;case 8:return Ft(r,s,s.pendingProps.children,o),s.child;case 12:return Ft(r,s,s.pendingProps.children,o),s.child;case 10:e:{if(l=s.type._context,d=s.pendingProps,p=s.memoizedProps,y=d.value,qe(Oa,l._currentValue),l._currentValue=y,p!==null)if(Sn(p.value,y)){if(p.children===d.children&&!Rt.current){s=fr(r,s,o);break e}}else for(p=s.child,p!==null&&(p.return=s);p!==null;){var S=p.dependencies;if(S!==null){y=p.child;for(var j=S.firstContext;j!==null;){if(j.context===l){if(p.tag===1){j=dr(-1,o&-o),j.tag=2;var z=p.updateQueue;if(z!==null){z=z.shared;var J=z.pending;J===null?j.next=j:(j.next=J.next,J.next=j),z.pending=j}}p.lanes|=o,j=p.alternate,j!==null&&(j.lanes|=o),lc(p.return,o,s),S.lanes|=o;break}j=j.next}}else if(p.tag===10)y=p.type===s.type?null:p.child;else if(p.tag===18){if(y=p.return,y===null)throw Error(t(341));y.lanes|=o,S=y.alternate,S!==null&&(S.lanes|=o),lc(y,o,s),y=p.sibling}else y=p.child;if(y!==null)y.return=p;else for(y=p;y!==null;){if(y===s){y=null;break}if(p=y.sibling,p!==null){p.return=y.return,y=p;break}y=y.return}p=y}Ft(r,s,d.children,o),s=s.child}return s;case 9:return d=s.type,l=s.pendingProps.children,si(s,o),d=an(d),l=l(d),s.flags|=1,Ft(r,s,l,o),s.child;case 14:return l=s.type,d=Nn(l,s.pendingProps),d=Nn(l.type,d),vp(r,s,l,d,o);case 15:return xp(r,s,s.type,s.pendingProps,o);case 17:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),Wa(r,s),s.tag=1,Lt(l)?(r=!0,ka(s)):r=!1,si(s,o),cp(s,l,d),Nc(s,l,d,o),Mc(null,s,l,!0,r,o);case 19:return Ip(r,s,o);case 22:return bp(r,s,o)}throw Error(t(156,s.tag))};function qp(r,s){return Cf(r,s)}function Qx(r,s,o,l){this.tag=r,this.key=o,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=s,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=l,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function cn(r,s,o,l){return new Qx(r,s,o,l)}function Qc(r){return r=r.prototype,!(!r||!r.isReactComponent)}function Kx(r){if(typeof r=="function")return Qc(r)?1:0;if(r!=null){if(r=r.$$typeof,r===te)return 11;if(r===ae)return 14}return 2}function Kr(r,s){var o=r.alternate;return o===null?(o=cn(r.tag,s,r.key,r.mode),o.elementType=r.elementType,o.type=r.type,o.stateNode=r.stateNode,o.alternate=r,r.alternate=o):(o.pendingProps=s,o.type=r.type,o.flags=0,o.subtreeFlags=0,o.deletions=null),o.flags=r.flags&14680064,o.childLanes=r.childLanes,o.lanes=r.lanes,o.child=r.child,o.memoizedProps=r.memoizedProps,o.memoizedState=r.memoizedState,o.updateQueue=r.updateQueue,s=r.dependencies,o.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext},o.sibling=r.sibling,o.index=r.index,o.ref=r.ref,o}function tl(r,s,o,l,d,p){var y=2;if(l=r,typeof r=="function")Qc(r)&&(y=1);else if(typeof r=="string")y=5;else e:switch(r){case L:return js(o.children,d,p,s);case G:y=8,d|=8;break;case W:return r=cn(12,o,s,d|2),r.elementType=W,r.lanes=p,r;case X:return r=cn(13,o,s,d),r.elementType=X,r.lanes=p,r;case oe:return r=cn(19,o,s,d),r.elementType=oe,r.lanes=p,r;case ne:return nl(o,d,p,s);default:if(typeof r=="object"&&r!==null)switch(r.$$typeof){case Y:y=10;break e;case P:y=9;break e;case te:y=11;break e;case ae:y=14;break e;case se:y=16,l=null;break e}throw Error(t(130,r==null?r:typeof r,""))}return s=cn(y,o,s,d),s.elementType=r,s.type=l,s.lanes=p,s}function js(r,s,o,l){return r=cn(7,r,l,s),r.lanes=o,r}function nl(r,s,o,l){return r=cn(22,r,l,s),r.elementType=ne,r.lanes=o,r.stateNode={isHidden:!1},r}function Kc(r,s,o){return r=cn(6,r,null,s),r.lanes=o,r}function Jc(r,s,o){return s=cn(4,r.children!==null?r.children:[],r.key,s),s.lanes=o,s.stateNode={containerInfo:r.containerInfo,pendingChildren:null,implementation:r.implementation},s}function Jx(r,s,o,l,d){this.tag=s,this.containerInfo=r,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=_u(0),this.expirationTimes=_u(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=_u(0),this.identifierPrefix=l,this.onRecoverableError=d,this.mutableSourceEagerHydrationData=null}function qc(r,s,o,l,d,p,y,S,j){return r=new Jx(r,s,o,S,j),s===1?(s=1,p===!0&&(s|=8)):s=0,p=cn(3,null,null,s),r.current=p,p.stateNode=r,p.memoizedState={element:l,isDehydrated:o,cache:null,transitions:null,pendingSuspenseBoundaries:null},cc(p),r}function qx(r,s,o){var l=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}return n(),rd.exports=cb(),rd.exports}var dm;function fb(){if(dm)return ul;dm=1;var n=db();return ul.createRoot=n.createRoot,ul.hydrateRoot=n.hydrateRoot,ul}var hb=fb();function Sr(n){return n.split(".").at(-1)||n}function Fn(n,e){const t=Sr(n);if(e.filter(a=>Sr(a)===t).length<2)return t;const i=n.indexOf(".");return i>0?`${n.slice(0,i)}_${t}`:t}const er="\0__null__";function pb(n){return String(n||"").replaceAll("_"," ").replaceAll("."," ").replace(/\b\w/g,e=>e.toUpperCase()).trim()}function by(n,e={}){if(n==null||n==="")return"—";const t=typeof n=="number"?n:Number(n);if(!Number.isFinite(t))return String(n);const i=String(e.format||"").toLowerCase();if(e.style==="percent"||i.includes("%")||i.includes("percent")||i.includes("pct")||e.type==="ratio")return(e.style==="percent"?t:Math.abs(t)<=1?t*100:t).toLocaleString(void 0,{maximumFractionDigits:e.maximumFractionDigits??1,style:e.style==="percent"?"percent":"decimal"})+(e.style==="percent"?"":"%");const u=e.style==="currency"||e.currency||i.includes("$")||i.includes("usd")||i.includes("currency")||i.includes("dollar");return t.toLocaleString(void 0,{currency:u?e.currency||"USD":void 0,maximumFractionDigits:e.maximumFractionDigits??2,notation:e.compact?"compact":"standard",style:u?"currency":"decimal"})}function mb(n,e={}){return by(n,{...e,compact:!0,maximumFractionDigits:e.maximumFractionDigits??1})}function yb(n,e,t){const i=t>0&&n.length>t,a=i?Math.ceil(n.length/t):1,u=Math.max(0,Math.min(e,a-1)),f=i?u*t:0;return{paginate:i,pageCount:a,safePage:u,start:f,visibleRows:i?n.slice(f,f+t):n}}function rs(n){return n===er||n===""?"—":n}function Le(n){return pb(n)}function pt(n,e={}){return by(n,e)}function Gt(n,e={}){return mb(n,e)}function wy(n){return!Number.isFinite(n)||n===0?"neutral":n>0?"positive":"negative"}function gb(n,e){return!Number.isFinite(n)||!Number.isFinite(e)||e<=0?{label:"—",tone:"neutral"}:{label:`${(n/e*100).toLocaleString(void 0,{maximumFractionDigits:1})}%`,tone:"neutral"}}function vb(n,e,t={}){if(e==null||!Number.isFinite(e)||!Number.isFinite(n))return{label:"—",tone:"neutral"};const i=n-e;return{label:`${i>0?"+":i<0?"−":""}${Gt(Math.abs(i),t)}`,tone:wy(i)}}function xb(n,e){if(e==null||!Number.isFinite(e)||e===0||!Number.isFinite(n))return{label:"—",tone:"neutral"};const t=(n-e)/Math.abs(e);return{label:`${(t*100).toLocaleString(void 0,{maximumFractionDigits:1,signDisplay:"exceptZero"})}%`,tone:wy(t)}}function Sy(n,e){if(e==null||!Number.isFinite(e)||e===0||!Number.isFinite(n))return null;const t=(n-e)/Math.abs(e),i=(t*100).toLocaleString(void 0,{maximumFractionDigits:1,signDisplay:"exceptZero"}),a=t>0?"positive":t<0?"negative":"neutral";return{label:`${i}%`,tone:a}}function Tn(n){return`'${n.replaceAll("'","''")}'`}function bb(n){if(n.mode==="contains")return`contains ${Tn(n.pattern??"")}`;const{values:e}=n,t=n.mode==="exclude"?"is not":"is";return e.length===0?t:e.length===1?`${t} ${rs(e[0])}`:e.length<=2?`${t} ${e.map(rs).join(", ")}`:`${t} ${e.length} values`}const od=n=>n.public!==!1,_y=/(^|_)(date|time|day|month|week|year|quarter|created|updated|timestamp|_at|_on)($|_)/i;function Ny(n,e){if(e){const t=n.find(i=>i.name===e);if(t)return t}return n.find(t=>t.type==="time")??n.find(t=>_y.test(t.name))}function wb(n,e){var f;const t=new Set;if(!n)return t;const i=new Set(e.map(h=>h.name)),a=n.match(/[A-Za-z_][A-Za-z0-9_]*\.[A-Za-z_][A-Za-z0-9_]*/g)??[];for(const h of a){const[m]=h.split(".");i.has(m)&&t.add(m)}if(t.size)return t;const u=(f=n.match(/^[A-Za-z_][A-Za-z0-9_]*$/))==null?void 0:f[0];if(!u)return t;for(const h of e)h.metrics.some(m=>m.name===u)&&t.add(h.name);return t}function jy(n,e){const t=new Set;for(const i of[n.base_metric,n.numerator,n.denominator,n.sql])for(const a of wb(i,e))t.add(a);return t.size===1?[...t][0]:void 0}function Sb(n){const e=(n.models??[]).map(i=>{const a=(i.dimensions??[]).filter(od).map(h=>({ref:`${i.name}.${h.name}`,name:h.name,model:i.name,label:h.label||Le(h.name),description:h.description,type:h.type||"categorical",granularity:h.granularity,supportedGranularities:h.supported_granularities,format:h.format})),u=(i.metrics??[]).filter(od).map(h=>({ref:`${i.name}.${h.name}`,name:h.name,model:i.name,label:h.label||Le(h.name),description:h.description,agg:h.agg,type:h.type,format:h.format})),f=Ny(a,i.default_time_dimension);return{name:i.name,label:Le(i.name),description:i.description,table:i.table,dimensions:a,metrics:u,timeDimension:f,defaultGrain:i.default_grain||(f==null?void 0:f.granularity)||"day"}}),t=(n.metrics??[]).filter(od).map(i=>({ref:i.name,name:i.name,ownerModel:jy(i,e),baseMetric:i.base_metric,label:i.label||Le(i.name),description:i.description,type:i.type,format:i.format}));return{models:e,graphMetrics:t,dialect:n.dialect}}function _b(n){const e=n??{},t=(e.models??[]).map(a=>{const u=(a.dimensions??[]).map(m=>({ref:`${a.name}.${m}`,name:m,model:a.name,label:Le(m),type:_y.test(m)?"time":"categorical"})),f=(a.metrics??[]).map(m=>({ref:`${a.name}.${m}`,name:m,model:a.name,label:Le(m)})),h=Ny(u);return{name:a.name,label:Le(a.name),table:a.table,dimensions:u,metrics:f,timeDimension:h,defaultGrain:(h==null?void 0:h.granularity)||"day"}}),i=(e.graph_metrics??[]).map(a=>({ref:a.name,name:a.name,ownerModel:jy(a,t),baseMetric:a.base_metric,label:Le(a.name),type:a.type,description:a.description}));return{models:t,graphMetrics:i,joinablePairs:e.joinable_pairs??[]}}function Nb(n,e){return{...n,joinablePairs:(e??{}).joinable_pairs??n.joinablePairs??[]}}function Di(n,e){const t=new Set;for(const i of n.joinablePairs??[])i.from===e&&t.add(i.to),i.to===e&&t.add(i.from);return n.graphMetrics.filter(i=>i.ownerModel?i.ownerModel===e||t.has(i.ownerModel):!0)}function Fe(n,e,t,i){function a(u){return u instanceof t?u:new t(function(f){f(u)})}return new(t||(t=Promise))(function(u,f){function h(v){try{g(i.next(v))}catch(x){f(x)}}function m(v){try{g(i.throw(v))}catch(x){f(x)}}function g(v){v.done?u(v.value):a(v.value).then(h,m)}g((i=i.apply(n,e||[])).next())})}function fm(n){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&n[e],i=0;if(t)return t.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Ae(n){return this instanceof Ae?(this.v=n,this):new Ae(n)}function Zn(n,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=t.apply(n,e||[]),a,u=[];return a=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),h("next"),h("throw"),h("return",f),a[Symbol.asyncIterator]=function(){return this},a;function f(w){return function(_){return Promise.resolve(_).then(w,x)}}function h(w,_){i[w]&&(a[w]=function(C){return new Promise(function(A,V){u.push([w,C,A,V])>1||m(w,C)})},_&&(a[w]=_(a[w])))}function m(w,_){try{g(i[w](_))}catch(C){b(u[0][3],C)}}function g(w){w.value instanceof Ae?Promise.resolve(w.value.v).then(v,x):b(u[0][2],w)}function v(w){m("next",w)}function x(w){m("throw",w)}function b(w,_){w(_),u.shift(),u.length&&m(u[0][0],u[0][1])}}function bl(n){var e,t;return e={},i("next"),i("throw",function(a){throw a}),i("return"),e[Symbol.iterator]=function(){return this},e;function i(a,u){e[a]=n[a]?function(f){return(t=!t)?{value:Ae(n[a](f)),done:!1}:u?u(f):f}:u}}function _i(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=n[Symbol.asyncIterator],t;return e?e.call(n):(n=typeof fm=="function"?fm(n):n[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(u){t[u]=n[u]&&function(f){return new Promise(function(h,m){f=n[u](f),a(h,m,f.done,f.value)})}}function a(u,f,h,m){Promise.resolve(m).then(function(g){u({value:g,done:h})},f)}}const jb=new TextDecoder("utf-8"),kd=n=>jb.decode(n),kb=new TextEncoder,zd=n=>kb.encode(n),Ib=n=>typeof n=="number",Mb=n=>typeof n=="boolean",Tt=n=>typeof n=="function",Rn=n=>n!=null&&Object(n)===n,Vo=n=>Rn(n)&&Tt(n.then),cu=n=>Rn(n)&&Tt(n[Symbol.iterator]),Vd=n=>Rn(n)&&Tt(n[Symbol.asyncIterator]),Id=n=>Rn(n)&&Rn(n.schema),ky=n=>Rn(n)&&"done"in n&&"value"in n,Iy=n=>Rn(n)&&Tt(n.stat)&&Ib(n.fd),My=n=>Rn(n)&&Wd(n.body),Dy=n=>"_getDOMStream"in n&&"_getNodeStream"in n,Wd=n=>Rn(n)&&Tt(n.cancel)&&Tt(n.getReader)&&!Dy(n),Cy=n=>Rn(n)&&Tt(n.read)&&Tt(n.pipe)&&Mb(n.readable)&&!Dy(n),Db=n=>Rn(n)&&Tt(n.clear)&&Tt(n.bytes)&&Tt(n.position)&&Tt(n.setPosition)&&Tt(n.capacity)&&Tt(n.getBufferIdentifier)&&Tt(n.createLong),Hd=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:ArrayBuffer;function Cb(n){const e=n[0]?[n[0]]:[];let t,i,a,u;for(let f,h,m=0,g=0,v=n.length;++mv+x.byteLength,0);let a,u,f,h=0,m=-1;const g=Math.min(e||Number.POSITIVE_INFINITY,i);for(const v=t.length;++mKe(Int32Array,n),pm=n=>Ke(BigInt64Array,n),$e=n=>Ke(Uint8Array,n),Md=n=>(n.next(),n);function*Fb(n,e){const t=function*(a){yield a},i=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof Hd?t(e):cu(e)?e:t(e);return yield*Md((function*(a){let u=null;do u=a.next(yield Ke(n,u));while(!u.done)})(i[Symbol.iterator]())),new n}const Ob=n=>Fb(Uint8Array,n);function Fy(n,e){return Zn(this,arguments,function*(){if(Vo(e))return yield Ae(yield Ae(yield*bl(_i(Fy(n,yield Ae(e))))));const i=function(f){return Zn(this,arguments,function*(){yield yield Ae(yield Ae(f))})},a=function(f){return Zn(this,arguments,function*(){yield Ae(yield*bl(_i(Md((function*(h){let m=null;do m=h.next(yield m==null?void 0:m.value);while(!m.done)})(f[Symbol.iterator]())))))})},u=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof Hd?i(e):cu(e)?a(e):Vd(e)?e:i(e);return yield Ae(yield*bl(_i(Md((function(f){return Zn(this,arguments,function*(){let h=null;do h=yield Ae(f.next(yield yield Ae(Ke(n,h))));while(!h.done)})})(u[Symbol.asyncIterator]()))))),yield Ae(new n)})}const Tb=n=>Fy(Uint8Array,n);function Ab(n,e){let t=0;const i=n.length;if(i!==e.length)return!1;if(i>0)do if(n[t]!==e[t])return!1;while(++t(n.next(),n);function*Bb(n){let e,t=!1,i=[],a,u,f,h=0;function m(){return u==="peek"?tr(i,f)[0]:([a,i,h]=tr(i,f),a)}({cmd:u,size:f}=(yield null)||{cmd:"read",size:0});const g=Ob(n)[Symbol.iterator]();try{do if({done:e,value:a}=Number.isNaN(f-h)?g.next():g.next(f-h),!e&&a.byteLength>0&&(i.push(a),h+=a.byteLength),e||f<=h)do({cmd:u,size:f}=yield m());while(f0&&(a.push(u),m+=u.byteLength),t||h<=m)do({cmd:f,size:h}=yield yield Ae(g()));while(h0&&(a.push($e(u)),m+=u.byteLength),t||h<=m)do({cmd:f,size:h}=yield yield Ae(g()));while(h{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(e){return Fe(this,void 0,void 0,function*(){const{reader:t,source:i}=this;t&&(yield t.cancel(e).catch(()=>{})),i&&i.locked&&this.releaseLock()})}read(e){return Fe(this,void 0,void 0,function*(){if(e===0)return{done:this.reader==null,value:new Uint8Array(0)};const t=yield this.reader.read();return!t.done&&(t.value=$e(t)),t})}}const ad=(n,e)=>{const t=a=>i([e,a]);let i;return[e,t,new Promise(a=>(i=a)&&n.once(e,t))]};function Ub(n){return Zn(this,arguments,function*(){const t=[];let i="error",a=!1,u=null,f,h,m=0,g=[],v;function x(){return f==="peek"?tr(g,h)[0]:([v,g,m]=tr(g,h),v)}if({cmd:f,size:h}=(yield yield Ae(null))||{cmd:"read",size:0},n.isTTY)return yield yield Ae(new Uint8Array(0)),yield Ae(null);try{t[0]=ad(n,"end"),t[1]=ad(n,"error");do{if(t[2]=ad(n,"readable"),[i,u]=yield Ae(Promise.race(t.map(w=>w[2]))),i==="error")break;if((a=i==="end")||(Number.isFinite(h-m)?(v=$e(n.read(h-m)),v.byteLength0&&(g.push(v),m+=v.byteLength)),a||h<=m)do({cmd:f,size:h}=yield yield Ae(x()));while(h{for(const[V,$]of w)n.off(V,$);try{const V=n.destroy;V&&V.call(n,_),_=void 0}catch(V){_=V||_}finally{_!=null?A(_):C()}})}})}var ht;(function(n){n[n.V1=0]="V1",n[n.V2=1]="V2",n[n.V3=2]="V3",n[n.V4=3]="V4",n[n.V5=4]="V5"})(ht||(ht={}));var Yt;(function(n){n[n.Sparse=0]="Sparse",n[n.Dense=1]="Dense"})(Yt||(Yt={}));var Dt;(function(n){n[n.HALF=0]="HALF",n[n.SINGLE=1]="SINGLE",n[n.DOUBLE=2]="DOUBLE"})(Dt||(Dt={}));var xn;(function(n){n[n.DAY=0]="DAY",n[n.MILLISECOND=1]="MILLISECOND"})(xn||(xn={}));var _e;(function(n){n[n.SECOND=0]="SECOND",n[n.MILLISECOND=1]="MILLISECOND",n[n.MICROSECOND=2]="MICROSECOND",n[n.NANOSECOND=3]="NANOSECOND"})(_e||(_e={}));var nr;(function(n){n[n.YEAR_MONTH=0]="YEAR_MONTH",n[n.DAY_TIME=1]="DAY_TIME",n[n.MONTH_DAY_NANO=2]="MONTH_DAY_NANO"})(nr||(nr={}));const ld=2,Kn=4,br=4,He=4,es=new Int32Array(2),mm=new Float32Array(es.buffer),ym=new Float64Array(es.buffer),dl=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var Dd;(function(n){n[n.UTF8_BYTES=1]="UTF8_BYTES",n[n.UTF16_STRING=2]="UTF16_STRING"})(Dd||(Dd={}));let Ci=class Oy{constructor(e){this.bytes_=e,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(e){return new Oy(new Uint8Array(e))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(e){this.position_=e}capacity(){return this.bytes_.length}readInt8(e){return this.readUint8(e)<<24>>24}readUint8(e){return this.bytes_[e]}readInt16(e){return this.readUint16(e)<<16>>16}readUint16(e){return this.bytes_[e]|this.bytes_[e+1]<<8}readInt32(e){return this.bytes_[e]|this.bytes_[e+1]<<8|this.bytes_[e+2]<<16|this.bytes_[e+3]<<24}readUint32(e){return this.readInt32(e)>>>0}readInt64(e){return BigInt.asIntN(64,BigInt(this.readUint32(e))+(BigInt(this.readUint32(e+4))<>8}writeUint16(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8}writeInt32(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24}writeUint32(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24}writeInt64(e,t){this.writeInt32(e,Number(BigInt.asIntN(32,t))),this.writeInt32(e+4,Number(BigInt.asIntN(32,t>>BigInt(32))))}writeUint64(e,t){this.writeUint32(e,Number(BigInt.asUintN(32,t))),this.writeUint32(e+4,Number(BigInt.asUintN(32,t>>BigInt(32))))}writeFloat32(e,t){mm[0]=t,this.writeInt32(e,es[0])}writeFloat64(e,t){ym[0]=t,this.writeInt32(e,es[dl?0:1]),this.writeInt32(e+4,es[dl?1:0])}getBufferIdentifier(){if(this.bytes_.lengththis.minalign&&(this.minalign=e);const i=~(this.bb.capacity()-this.space+t)+1&e-1;for(;this.space=0&&this.vtable[t]==0;t--);const i=t+1;for(;t>=0;t--)this.addInt16(this.vtable[t]!=0?e-this.vtable[t]:0);const a=2;this.addInt16(e-this.object_start);const u=(i+a)*ld;this.addInt16(u);let f=0;const h=this.space;e:for(t=0;t=0;f--)this.writeInt8(u.charCodeAt(f))}this.prep(this.minalign,Kn+a),this.addOffset(e),a&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(e,t){this.finish(e,t,!0)}requiredField(e,t){const i=this.bb.capacity()-e,a=i-this.bb.readInt32(i);if(!(t=0;i--)e.addInt32(t[i]);return e.endVector()}static startTypeIdsVector(e,t){e.startVector(4,t,4)}static endUnion(e){return e.endObject()}static createUnion(e,t,i){return Ht.startUnion(e),Ht.addMode(e,t),Ht.addTypeIds(e,i),Ht.endUnion(e)}}let _m=class $o{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsUtf8(e,t){return(t||new $o).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsUtf8(e,t){return e.setPosition(e.position()+He),(t||new $o).__init(e.readInt32(e.position())+e.position(),e)}static startUtf8(e){e.startObject(0)}static endUtf8(e){return e.endObject()}static createUtf8(e){return $o.startUtf8(e),$o.endUtf8(e)}};var Ze;(function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.FloatingPoint=3]="FloatingPoint",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct_=13]="Struct_",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Duration=18]="Duration",n[n.LargeBinary=19]="LargeBinary",n[n.LargeUtf8=20]="LargeUtf8",n[n.LargeList=21]="LargeList",n[n.RunEndEncoded=22]="RunEndEncoded"})(Ze||(Ze={}));let hn=class kl{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsField(e,t){return(t||new kl).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsField(e,t){return e.setPosition(e.position()+He),(t||new kl).__init(e.readInt32(e.position())+e.position(),e)}name(e){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__string(this.bb_pos+t,e):null}nullable(){const e=this.bb.__offset(this.bb_pos,6);return e?!!this.bb.readInt8(this.bb_pos+e):!1}typeType(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readUint8(this.bb_pos+e):Ze.NONE}type(e){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__union(e,this.bb_pos+t):null}dictionary(e){const t=this.bb.__offset(this.bb_pos,12);return t?(e||new wr).__init(this.bb.__indirect(this.bb_pos+t),this.bb):null}children(e,t){const i=this.bb.__offset(this.bb_pos,14);return i?(t||new kl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}childrenLength(){const e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,16);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__vector_len(this.bb_pos+e):0}static startField(e){e.startObject(7)}static addName(e,t){e.addFieldOffset(0,t,0)}static addNullable(e,t){e.addFieldInt8(1,+t,0)}static addTypeType(e,t){e.addFieldInt8(2,t,Ze.NONE)}static addType(e,t){e.addFieldOffset(3,t,0)}static addDictionary(e,t){e.addFieldOffset(4,t,0)}static addChildren(e,t){e.addFieldOffset(5,t,0)}static createChildrenVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startChildrenVector(e,t){e.startVector(4,t,4)}static addCustomMetadata(e,t){e.addFieldOffset(6,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endField(e){return e.endObject()}},Yn=class mr{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsSchema(e,t){return(t||new mr).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsSchema(e,t){return e.setPosition(e.position()+He),(t||new mr).__init(e.readInt32(e.position())+e.position(),e)}endianness(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Fi.Little}fields(e,t){const i=this.bb.__offset(this.bb_pos,6);return i?(t||new hn).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}fieldsLength(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,8);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}features(e){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt64(this.bb.__vector(this.bb_pos+t)+e*8):BigInt(0)}featuresLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}static startSchema(e){e.startObject(4)}static addEndianness(e,t){e.addFieldInt16(0,t,Fi.Little)}static addFields(e,t){e.addFieldOffset(1,t,0)}static createFieldsVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startFieldsVector(e,t){e.startVector(4,t,4)}static addCustomMetadata(e,t){e.addFieldOffset(2,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static addFeatures(e,t){e.addFieldOffset(3,t,0)}static createFeaturesVector(e,t){e.startVector(8,t.length,8);for(let i=t.length-1;i>=0;i--)e.addInt64(t[i]);return e.endVector()}static startFeaturesVector(e,t){e.startVector(8,t,8)}static endSchema(e){return e.endObject()}static finishSchemaBuffer(e,t){e.finish(t)}static finishSizePrefixedSchemaBuffer(e,t){e.finish(t,void 0,!0)}static createSchema(e,t,i,a,u){return mr.startSchema(e),mr.addEndianness(e,t),mr.addFields(e,i),mr.addCustomMetadata(e,a),mr.addFeatures(e,u),mr.endSchema(e)}};var Ve;(function(n){n[n.NONE=0]="NONE",n[n.Schema=1]="Schema",n[n.DictionaryBatch=2]="DictionaryBatch",n[n.RecordBatch=3]="RecordBatch",n[n.Tensor=4]="Tensor",n[n.SparseTensor=5]="SparseTensor"})(Ve||(Ve={}));var M;(function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.Float=3]="Float",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct=13]="Struct",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Duration=18]="Duration",n[n.LargeBinary=19]="LargeBinary",n[n.LargeUtf8=20]="LargeUtf8",n[n.Dictionary=-1]="Dictionary",n[n.Int8=-2]="Int8",n[n.Int16=-3]="Int16",n[n.Int32=-4]="Int32",n[n.Int64=-5]="Int64",n[n.Uint8=-6]="Uint8",n[n.Uint16=-7]="Uint16",n[n.Uint32=-8]="Uint32",n[n.Uint64=-9]="Uint64",n[n.Float16=-10]="Float16",n[n.Float32=-11]="Float32",n[n.Float64=-12]="Float64",n[n.DateDay=-13]="DateDay",n[n.DateMillisecond=-14]="DateMillisecond",n[n.TimestampSecond=-15]="TimestampSecond",n[n.TimestampMillisecond=-16]="TimestampMillisecond",n[n.TimestampMicrosecond=-17]="TimestampMicrosecond",n[n.TimestampNanosecond=-18]="TimestampNanosecond",n[n.TimeSecond=-19]="TimeSecond",n[n.TimeMillisecond=-20]="TimeMillisecond",n[n.TimeMicrosecond=-21]="TimeMicrosecond",n[n.TimeNanosecond=-22]="TimeNanosecond",n[n.DenseUnion=-23]="DenseUnion",n[n.SparseUnion=-24]="SparseUnion",n[n.IntervalDayTime=-25]="IntervalDayTime",n[n.IntervalYearMonth=-26]="IntervalYearMonth",n[n.DurationSecond=-27]="DurationSecond",n[n.DurationMillisecond=-28]="DurationMillisecond",n[n.DurationMicrosecond=-29]="DurationMicrosecond",n[n.DurationNanosecond=-30]="DurationNanosecond"})(M||(M={}));var gr;(function(n){n[n.OFFSET=0]="OFFSET",n[n.DATA=1]="DATA",n[n.VALIDITY=2]="VALIDITY",n[n.TYPE=3]="TYPE"})(gr||(gr={}));const $b=void 0;function Wo(n){if(n===null)return"null";if(n===$b)return"undefined";switch(typeof n){case"number":return`${n}`;case"bigint":return`${n}`;case"string":return`"${n}"`}return typeof n[Symbol.toPrimitive]=="function"?n[Symbol.toPrimitive]("string"):ArrayBuffer.isView(n)?n instanceof BigInt64Array||n instanceof BigUint64Array?`[${[...n].map(e=>Wo(e))}]`:`[${n}]`:ArrayBuffer.isView(n)?`[${n}]`:JSON.stringify(n,(e,t)=>typeof t=="bigint"?`${t}`:t)}function tt(n){if(typeof n=="bigint"&&(nNumber.MAX_SAFE_INTEGER))throw new TypeError(`${n} is not safe to convert to a number.`);return Number(n)}function Ry(n,e){return tt(n/e)+tt(n%e)/tt(e)}const Pb=Symbol.for("isArrowBigNum");function Un(n,...e){return e.length===0?Object.setPrototypeOf(Ke(this.TypedArray,n),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(n,...e),this.constructor.prototype)}Un.prototype[Pb]=!0;Un.prototype.toJSON=function(){return`"${Go(this)}"`};Un.prototype.valueOf=function(n){return Ly(this,n)};Un.prototype.toString=function(){return Go(this)};Un.prototype[Symbol.toPrimitive]=function(n="default"){switch(n){case"number":return Ly(this);case"string":return Go(this);case"default":return Wb(this)}return Go(this)};function Ni(...n){return Un.apply(this,n)}function ji(...n){return Un.apply(this,n)}function Ho(...n){return Un.apply(this,n)}Object.setPrototypeOf(Ni.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(ji.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(Ho.prototype,Object.create(Uint32Array.prototype));Object.assign(Ni.prototype,Un.prototype,{constructor:Ni,signed:!0,TypedArray:Int32Array,BigIntArray:BigInt64Array});Object.assign(ji.prototype,Un.prototype,{constructor:ji,signed:!1,TypedArray:Uint32Array,BigIntArray:BigUint64Array});Object.assign(Ho.prototype,Un.prototype,{constructor:Ho,signed:!0,TypedArray:Uint32Array,BigIntArray:BigUint64Array});const zb=BigInt(4294967296)*BigInt(4294967296),Vb=zb-BigInt(1);function Ly(n,e){const{buffer:t,byteOffset:i,byteLength:a,signed:u}=n,f=new BigUint64Array(t,i,a/8),h=u&&f.at(-1)&BigInt(1)<=0)return ud(n);e=e.slice();let i=1;for(let u=0;u(n.children=null,n.ArrayType=Array,n.OffsetArrayType=Int32Array,n[Symbol.toStringTag]="DataType"))(me.prototype);class ss extends me{constructor(){super(M.Null)}toString(){return"Null"}}$y=Symbol.toStringTag;ss[$y]=(n=>n[Symbol.toStringTag]="Null")(ss.prototype);class Cs extends me{constructor(e,t){super(M.Int),this.isSigned=e,this.bitWidth=t}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?BigInt64Array:BigUint64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}Py=Symbol.toStringTag;Cs[Py]=(n=>(n.isSigned=null,n.bitWidth=null,n[Symbol.toStringTag]="Int"))(Cs.prototype);class Yo extends Cs{constructor(){super(!0,32)}get ArrayType(){return Int32Array}}Object.defineProperty(Yo.prototype,"ArrayType",{value:Int32Array});class Tl extends me{constructor(e){super(M.Float),this.precision=e}get ArrayType(){switch(this.precision){case Dt.HALF:return Uint16Array;case Dt.SINGLE:return Float32Array;case Dt.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}}zy=Symbol.toStringTag;Tl[zy]=(n=>(n.precision=null,n[Symbol.toStringTag]="Float"))(Tl.prototype);class Al extends me{constructor(){super(M.Binary)}toString(){return"Binary"}}Vy=Symbol.toStringTag;Al[Vy]=(n=>(n.ArrayType=Uint8Array,n[Symbol.toStringTag]="Binary"))(Al.prototype);class Bl extends me{constructor(){super(M.LargeBinary)}toString(){return"LargeBinary"}}Wy=Symbol.toStringTag;Bl[Wy]=(n=>(n.ArrayType=Uint8Array,n.OffsetArrayType=BigInt64Array,n[Symbol.toStringTag]="LargeBinary"))(Bl.prototype);class El extends me{constructor(){super(M.Utf8)}toString(){return"Utf8"}}Hy=Symbol.toStringTag;El[Hy]=(n=>(n.ArrayType=Uint8Array,n[Symbol.toStringTag]="Utf8"))(El.prototype);class Rl extends me{constructor(){super(M.LargeUtf8)}toString(){return"LargeUtf8"}}Gy=Symbol.toStringTag;Rl[Gy]=(n=>(n.ArrayType=Uint8Array,n.OffsetArrayType=BigInt64Array,n[Symbol.toStringTag]="LargeUtf8"))(Rl.prototype);class Ll extends me{constructor(){super(M.Bool)}toString(){return"Bool"}}Yy=Symbol.toStringTag;Ll[Yy]=(n=>(n.ArrayType=Uint8Array,n[Symbol.toStringTag]="Bool"))(Ll.prototype);class Ul extends me{constructor(e,t,i=128){super(M.Decimal),this.scale=e,this.precision=t,this.bitWidth=i}toString(){return`Decimal[${this.precision}e${this.scale>0?"+":""}${this.scale}]`}}Qy=Symbol.toStringTag;Ul[Qy]=(n=>(n.scale=null,n.precision=null,n.ArrayType=Uint32Array,n[Symbol.toStringTag]="Decimal"))(Ul.prototype);class $l extends me{constructor(e){super(M.Date),this.unit=e}toString(){return`Date${(this.unit+1)*32}<${xn[this.unit]}>`}get ArrayType(){return this.unit===xn.DAY?Int32Array:BigInt64Array}}Ky=Symbol.toStringTag;$l[Ky]=(n=>(n.unit=null,n[Symbol.toStringTag]="Date"))($l.prototype);class Pl extends me{constructor(e,t){super(M.Time),this.unit=e,this.bitWidth=t}toString(){return`Time${this.bitWidth}<${_e[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return BigInt64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}}Jy=Symbol.toStringTag;Pl[Jy]=(n=>(n.unit=null,n.bitWidth=null,n[Symbol.toStringTag]="Time"))(Pl.prototype);class zl extends me{constructor(e,t){super(M.Timestamp),this.unit=e,this.timezone=t}toString(){return`Timestamp<${_e[this.unit]}${this.timezone?`, ${this.timezone}`:""}>`}}qy=Symbol.toStringTag;zl[qy]=(n=>(n.unit=null,n.timezone=null,n.ArrayType=BigInt64Array,n[Symbol.toStringTag]="Timestamp"))(zl.prototype);class Vl extends me{constructor(e){super(M.Interval),this.unit=e}toString(){return`Interval<${nr[this.unit]}>`}}Zy=Symbol.toStringTag;Vl[Zy]=(n=>(n.unit=null,n.ArrayType=Int32Array,n[Symbol.toStringTag]="Interval"))(Vl.prototype);class Wl extends me{constructor(e){super(M.Duration),this.unit=e}toString(){return`Duration<${_e[this.unit]}>`}}Xy=Symbol.toStringTag;Wl[Xy]=(n=>(n.unit=null,n.ArrayType=BigInt64Array,n[Symbol.toStringTag]="Duration"))(Wl.prototype);class Hl extends me{constructor(e){super(M.List),this.children=[e]}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}}eg=Symbol.toStringTag;Hl[eg]=(n=>(n.children=null,n[Symbol.toStringTag]="List"))(Hl.prototype);class At extends me{constructor(e){super(M.Struct),this.children=e}toString(){return`Struct<{${this.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}tg=Symbol.toStringTag;At[tg]=(n=>(n.children=null,n[Symbol.toStringTag]="Struct"))(At.prototype);class Gl extends me{constructor(e,t,i){super(M.Union),this.mode=e,this.children=i,this.typeIds=t=Int32Array.from(t),this.typeIdToChildIndex=t.reduce((a,u,f)=>(a[u]=f)&&a||a,Object.create(null))}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(e=>`${e.type}`).join(" | ")}>`}}ng=Symbol.toStringTag;Gl[ng]=(n=>(n.mode=null,n.typeIds=null,n.children=null,n.typeIdToChildIndex=null,n.ArrayType=Int8Array,n[Symbol.toStringTag]="Union"))(Gl.prototype);class Yl extends me{constructor(e){super(M.FixedSizeBinary),this.byteWidth=e}toString(){return`FixedSizeBinary[${this.byteWidth}]`}}rg=Symbol.toStringTag;Yl[rg]=(n=>(n.byteWidth=null,n.ArrayType=Uint8Array,n[Symbol.toStringTag]="FixedSizeBinary"))(Yl.prototype);class Ql extends me{constructor(e,t){super(M.FixedSizeList),this.listSize=e,this.children=[t]}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}sg=Symbol.toStringTag;Ql[sg]=(n=>(n.children=null,n.listSize=null,n[Symbol.toStringTag]="FixedSizeList"))(Ql.prototype);class Kl extends me{constructor(e,t=!1){var i,a,u;if(super(M.Map),this.children=[e],this.keysSorted=t,e&&(e.name="entries",!((i=e==null?void 0:e.type)===null||i===void 0)&&i.children)){const f=(a=e==null?void 0:e.type)===null||a===void 0?void 0:a.children[0];f&&(f.name="key");const h=(u=e==null?void 0:e.type)===null||u===void 0?void 0:u.children[1];h&&(h.name="value")}}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}ig=Symbol.toStringTag;Kl[ig]=(n=>(n.children=null,n.keysSorted=null,n[Symbol.toStringTag]="Map_"))(Kl.prototype);const Hb=(n=>()=>++n)(-1);class Oi extends me{constructor(e,t,i,a){super(M.Dictionary),this.indices=t,this.dictionary=e,this.isOrdered=a||!1,this.id=i==null?Hb():tt(i)}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}}og=Symbol.toStringTag;Oi[og]=(n=>(n.id=null,n.indices=null,n.isOrdered=null,n.dictionary=null,n[Symbol.toStringTag]="Dictionary"))(Oi.prototype);function vr(n){const e=n;switch(n.typeId){case M.Decimal:return n.bitWidth/32;case M.Interval:return 1+e.unit;case M.FixedSizeList:return e.listSize;case M.FixedSizeBinary:return e.byteWidth;default:return 1}}class Ue{visitMany(e,...t){return e.map((i,a)=>this.visit(i,...t.map(u=>u[a])))}visit(...e){return this.getVisitFn(e[0],!1).apply(this,e)}getVisitFn(e,t=!0){return Gb(this,e,t)}getVisitFnByTypeId(e,t=!0){return xi(this,e,t)}visitNull(e,...t){return null}visitBool(e,...t){return null}visitInt(e,...t){return null}visitFloat(e,...t){return null}visitUtf8(e,...t){return null}visitLargeUtf8(e,...t){return null}visitBinary(e,...t){return null}visitLargeBinary(e,...t){return null}visitFixedSizeBinary(e,...t){return null}visitDate(e,...t){return null}visitTimestamp(e,...t){return null}visitTime(e,...t){return null}visitDecimal(e,...t){return null}visitList(e,...t){return null}visitStruct(e,...t){return null}visitUnion(e,...t){return null}visitDictionary(e,...t){return null}visitInterval(e,...t){return null}visitDuration(e,...t){return null}visitFixedSizeList(e,...t){return null}visitMap(e,...t){return null}}function Gb(n,e,t=!0){return typeof e=="number"?xi(n,e,t):typeof e=="string"&&e in M?xi(n,M[e],t):e&&e instanceof me?xi(n,Nm(e),t):e!=null&&e.type&&e.type instanceof me?xi(n,Nm(e.type),t):xi(n,M.NONE,t)}function xi(n,e,t=!0){let i=null;switch(e){case M.Null:i=n.visitNull;break;case M.Bool:i=n.visitBool;break;case M.Int:i=n.visitInt;break;case M.Int8:i=n.visitInt8||n.visitInt;break;case M.Int16:i=n.visitInt16||n.visitInt;break;case M.Int32:i=n.visitInt32||n.visitInt;break;case M.Int64:i=n.visitInt64||n.visitInt;break;case M.Uint8:i=n.visitUint8||n.visitInt;break;case M.Uint16:i=n.visitUint16||n.visitInt;break;case M.Uint32:i=n.visitUint32||n.visitInt;break;case M.Uint64:i=n.visitUint64||n.visitInt;break;case M.Float:i=n.visitFloat;break;case M.Float16:i=n.visitFloat16||n.visitFloat;break;case M.Float32:i=n.visitFloat32||n.visitFloat;break;case M.Float64:i=n.visitFloat64||n.visitFloat;break;case M.Utf8:i=n.visitUtf8;break;case M.LargeUtf8:i=n.visitLargeUtf8;break;case M.Binary:i=n.visitBinary;break;case M.LargeBinary:i=n.visitLargeBinary;break;case M.FixedSizeBinary:i=n.visitFixedSizeBinary;break;case M.Date:i=n.visitDate;break;case M.DateDay:i=n.visitDateDay||n.visitDate;break;case M.DateMillisecond:i=n.visitDateMillisecond||n.visitDate;break;case M.Timestamp:i=n.visitTimestamp;break;case M.TimestampSecond:i=n.visitTimestampSecond||n.visitTimestamp;break;case M.TimestampMillisecond:i=n.visitTimestampMillisecond||n.visitTimestamp;break;case M.TimestampMicrosecond:i=n.visitTimestampMicrosecond||n.visitTimestamp;break;case M.TimestampNanosecond:i=n.visitTimestampNanosecond||n.visitTimestamp;break;case M.Time:i=n.visitTime;break;case M.TimeSecond:i=n.visitTimeSecond||n.visitTime;break;case M.TimeMillisecond:i=n.visitTimeMillisecond||n.visitTime;break;case M.TimeMicrosecond:i=n.visitTimeMicrosecond||n.visitTime;break;case M.TimeNanosecond:i=n.visitTimeNanosecond||n.visitTime;break;case M.Decimal:i=n.visitDecimal;break;case M.List:i=n.visitList;break;case M.Struct:i=n.visitStruct;break;case M.Union:i=n.visitUnion;break;case M.DenseUnion:i=n.visitDenseUnion||n.visitUnion;break;case M.SparseUnion:i=n.visitSparseUnion||n.visitUnion;break;case M.Dictionary:i=n.visitDictionary;break;case M.Interval:i=n.visitInterval;break;case M.IntervalDayTime:i=n.visitIntervalDayTime||n.visitInterval;break;case M.IntervalYearMonth:i=n.visitIntervalYearMonth||n.visitInterval;break;case M.Duration:i=n.visitDuration;break;case M.DurationSecond:i=n.visitDurationSecond||n.visitDuration;break;case M.DurationMillisecond:i=n.visitDurationMillisecond||n.visitDuration;break;case M.DurationMicrosecond:i=n.visitDurationMicrosecond||n.visitDuration;break;case M.DurationNanosecond:i=n.visitDurationNanosecond||n.visitDuration;break;case M.FixedSizeList:i=n.visitFixedSizeList;break;case M.Map:i=n.visitMap;break}if(typeof i=="function")return i;if(!t)return()=>null;throw new Error(`Unrecognized type '${M[e]}'`)}function Nm(n){switch(n.typeId){case M.Null:return M.Null;case M.Int:{const{bitWidth:e,isSigned:t}=n;switch(e){case 8:return t?M.Int8:M.Uint8;case 16:return t?M.Int16:M.Uint16;case 32:return t?M.Int32:M.Uint32;case 64:return t?M.Int64:M.Uint64}return M.Int}case M.Float:switch(n.precision){case Dt.HALF:return M.Float16;case Dt.SINGLE:return M.Float32;case Dt.DOUBLE:return M.Float64}return M.Float;case M.Binary:return M.Binary;case M.LargeBinary:return M.LargeBinary;case M.Utf8:return M.Utf8;case M.LargeUtf8:return M.LargeUtf8;case M.Bool:return M.Bool;case M.Decimal:return M.Decimal;case M.Time:switch(n.unit){case _e.SECOND:return M.TimeSecond;case _e.MILLISECOND:return M.TimeMillisecond;case _e.MICROSECOND:return M.TimeMicrosecond;case _e.NANOSECOND:return M.TimeNanosecond}return M.Time;case M.Timestamp:switch(n.unit){case _e.SECOND:return M.TimestampSecond;case _e.MILLISECOND:return M.TimestampMillisecond;case _e.MICROSECOND:return M.TimestampMicrosecond;case _e.NANOSECOND:return M.TimestampNanosecond}return M.Timestamp;case M.Date:switch(n.unit){case xn.DAY:return M.DateDay;case xn.MILLISECOND:return M.DateMillisecond}return M.Date;case M.Interval:switch(n.unit){case nr.DAY_TIME:return M.IntervalDayTime;case nr.YEAR_MONTH:return M.IntervalYearMonth}return M.Interval;case M.Duration:switch(n.unit){case _e.SECOND:return M.DurationSecond;case _e.MILLISECOND:return M.DurationMillisecond;case _e.MICROSECOND:return M.DurationMicrosecond;case _e.NANOSECOND:return M.DurationNanosecond}return M.Duration;case M.Map:return M.Map;case M.List:return M.List;case M.Struct:return M.Struct;case M.Union:switch(n.mode){case Yt.Dense:return M.DenseUnion;case Yt.Sparse:return M.SparseUnion}return M.Union;case M.FixedSizeBinary:return M.FixedSizeBinary;case M.FixedSizeList:return M.FixedSizeList;case M.Dictionary:return M.Dictionary}throw new Error(`Unrecognized type '${M[n.typeId]}'`)}Ue.prototype.visitInt8=null;Ue.prototype.visitInt16=null;Ue.prototype.visitInt32=null;Ue.prototype.visitInt64=null;Ue.prototype.visitUint8=null;Ue.prototype.visitUint16=null;Ue.prototype.visitUint32=null;Ue.prototype.visitUint64=null;Ue.prototype.visitFloat16=null;Ue.prototype.visitFloat32=null;Ue.prototype.visitFloat64=null;Ue.prototype.visitDateDay=null;Ue.prototype.visitDateMillisecond=null;Ue.prototype.visitTimestampSecond=null;Ue.prototype.visitTimestampMillisecond=null;Ue.prototype.visitTimestampMicrosecond=null;Ue.prototype.visitTimestampNanosecond=null;Ue.prototype.visitTimeSecond=null;Ue.prototype.visitTimeMillisecond=null;Ue.prototype.visitTimeMicrosecond=null;Ue.prototype.visitTimeNanosecond=null;Ue.prototype.visitDenseUnion=null;Ue.prototype.visitSparseUnion=null;Ue.prototype.visitIntervalDayTime=null;Ue.prototype.visitIntervalYearMonth=null;Ue.prototype.visitDuration=null;Ue.prototype.visitDurationSecond=null;Ue.prototype.visitDurationMillisecond=null;Ue.prototype.visitDurationMicrosecond=null;Ue.prototype.visitDurationNanosecond=null;const ag=new Float64Array(1),di=new Uint32Array(ag.buffer);function lg(n){const e=(n&31744)>>10,t=(n&1023)/1024,i=Math.pow(-1,(n&32768)>>15);switch(e){case 31:return i*(t?Number.NaN:1/0);case 0:return i*(t?6103515625e-14*t:0)}return i*Math.pow(2,e-15)*(1+t)}function Yb(n){if(n!==n)return 32256;ag[0]=n;const e=(di[1]&2147483648)>>16&65535;let t=di[1]&2146435072,i=0;return t>=1089470464?di[0]>0?t=31744:(t=(t&2080374784)>>16,i=(di[1]&1048575)>>10):t<=1056964608?(i=1048576+(di[1]&1048575),i=1048576+(i<<(t>>20)-998)>>21,t=0):(t=t-1056964608>>10,i=(di[1]&1048575)+512>>10),e|t|i&65535}class Ne extends Ue{}function Ie(n){return(e,t,i)=>{if(e.setValid(t,i!=null))return n(e,t,i)}}const Qb=(n,e,t)=>{n[e]=Math.floor(t/864e5)},ug=(n,e,t,i)=>{if(t+1{const a=n+t;i?e[a>>3]|=1<>3]&=~(1<{n[e]=t},Yd=({values:n},e,t)=>{n[e]=t},cg=({values:n},e,t)=>{n[e]=Yb(t)},Jb=(n,e,t)=>{switch(n.type.precision){case Dt.HALF:return cg(n,e,t);case Dt.SINGLE:case Dt.DOUBLE:return Yd(n,e,t)}},dg=({values:n},e,t)=>{Qb(n,e,t.valueOf())},fg=({values:n},e,t)=>{n[e]=BigInt(t)},qb=({stride:n,values:e},t,i)=>{e.set(i.subarray(0,n),n*t)},hg=({values:n,valueOffsets:e},t,i)=>ug(n,e,t,i),pg=({values:n,valueOffsets:e},t,i)=>ug(n,e,t,zd(i)),Zb=(n,e,t)=>{n.type.unit===xn.DAY?dg(n,e,t):fg(n,e,t)},mg=({values:n},e,t)=>{n[e]=BigInt(t/1e3)},yg=({values:n},e,t)=>{n[e]=BigInt(t)},gg=({values:n},e,t)=>{n[e]=BigInt(t*1e3)},vg=({values:n},e,t)=>{n[e]=BigInt(t*1e6)},Xb=(n,e,t)=>{switch(n.type.unit){case _e.SECOND:return mg(n,e,t);case _e.MILLISECOND:return yg(n,e,t);case _e.MICROSECOND:return gg(n,e,t);case _e.NANOSECOND:return vg(n,e,t)}},xg=({values:n},e,t)=>{n[e]=t},bg=({values:n},e,t)=>{n[e]=t},wg=({values:n},e,t)=>{n[e]=t},Sg=({values:n},e,t)=>{n[e]=t},ew=(n,e,t)=>{switch(n.type.unit){case _e.SECOND:return xg(n,e,t);case _e.MILLISECOND:return bg(n,e,t);case _e.MICROSECOND:return wg(n,e,t);case _e.NANOSECOND:return Sg(n,e,t)}},tw=({values:n,stride:e},t,i)=>{n.set(i.subarray(0,e),e*t)},nw=(n,e,t)=>{const i=n.children[0],a=n.valueOffsets,u=bn.getVisitFn(i);if(Array.isArray(t))for(let f=-1,h=a[e],m=a[e+1];h{const i=n.children[0],{valueOffsets:a}=n,u=bn.getVisitFn(i);let{[e]:f,[e+1]:h}=a;const m=t instanceof Map?t.entries():Object.entries(t);for(const g of m)if(u(i,f,g),++f>=h)break},sw=(n,e)=>(t,i,a,u)=>i&&t(i,n,e[u]),iw=(n,e)=>(t,i,a,u)=>i&&t(i,n,e.get(u)),ow=(n,e)=>(t,i,a,u)=>i&&t(i,n,e.get(a.name)),aw=(n,e)=>(t,i,a,u)=>i&&t(i,n,e[a.name]),lw=(n,e,t)=>{const i=n.type.children.map(u=>bn.getVisitFn(u.type)),a=t instanceof Map?ow(e,t):t instanceof Je?iw(e,t):Array.isArray(t)?sw(e,t):aw(e,t);n.type.children.forEach((u,f)=>a(i[f],n.children[f],u,f))},uw=(n,e,t)=>{n.type.mode===Yt.Dense?_g(n,e,t):Ng(n,e,t)},_g=(n,e,t)=>{const i=n.type.typeIdToChildIndex[n.typeIds[e]],a=n.children[i];bn.visit(a,n.valueOffsets[e],t)},Ng=(n,e,t)=>{const i=n.type.typeIdToChildIndex[n.typeIds[e]],a=n.children[i];bn.visit(a,e,t)},cw=(n,e,t)=>{var i;(i=n.dictionary)===null||i===void 0||i.set(n.values[e],t)},dw=(n,e,t)=>{n.type.unit===nr.DAY_TIME?jg(n,e,t):kg(n,e,t)},jg=({values:n},e,t)=>{n.set(t.subarray(0,2),2*e)},kg=({values:n},e,t)=>{n[e]=t[0]*12+t[1]%12},Ig=({values:n},e,t)=>{n[e]=t},Mg=({values:n},e,t)=>{n[e]=t},Dg=({values:n},e,t)=>{n[e]=t},Cg=({values:n},e,t)=>{n[e]=t},fw=(n,e,t)=>{switch(n.type.unit){case _e.SECOND:return Ig(n,e,t);case _e.MILLISECOND:return Mg(n,e,t);case _e.MICROSECOND:return Dg(n,e,t);case _e.NANOSECOND:return Cg(n,e,t)}},hw=(n,e,t)=>{const{stride:i}=n,a=n.children[0],u=bn.getVisitFn(a);if(Array.isArray(t))for(let f=-1,h=e*i;++f`${Wo(e)}: ${Wo(t)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}[Symbol.iterator](){return new pw(this[On],this[ki])}}class pw{constructor(e,t){this.childIndex=0,this.children=e.children,this.rowIndex=t,this.childFields=e.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){const e=this.childIndex;return et.name)}has(e,t){return e[On].type.children.findIndex(i=>i.name===t)!==-1}getOwnPropertyDescriptor(e,t){if(e[On].type.children.findIndex(i=>i.name===t)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,t){if(Reflect.has(e,t))return e[t];const i=e[On].type.children.findIndex(a=>a.name===t);if(i!==-1){const a=Qt.visit(e[On].children[i],e[ki]);return Reflect.set(e,t,a),a}}set(e,t,i){const a=e[On].type.children.findIndex(u=>u.name===t);return a!==-1?(bn.visit(e[On].children[a],e[ki],i),Reflect.set(e,t,i)):Reflect.has(e,t)||typeof t=="symbol"?Reflect.set(e,t,i):!1}}class xe extends Ue{}function je(n){return(e,t)=>e.getValid(t)?n(e,t):null}const yw=(n,e)=>864e5*n[e],gw=(n,e)=>null,Fg=(n,e,t)=>{if(t+1>=e.length)return null;const i=tt(e[t]),a=tt(e[t+1]);return n.subarray(i,a)},vw=({offset:n,values:e},t)=>{const i=n+t;return(e[i>>3]&1<yw(n,e),Tg=({values:n},e)=>tt(n[e]),as=({stride:n,values:e},t)=>e[n*t],xw=({stride:n,values:e},t)=>lg(e[n*t]),Ag=({values:n},e)=>n[e],bw=({stride:n,values:e},t)=>e.subarray(n*t,n*(t+1)),Bg=({values:n,valueOffsets:e},t)=>Fg(n,e,t),Eg=({values:n,valueOffsets:e},t)=>{const i=Fg(n,e,t);return i!==null?kd(i):null},ww=({values:n},e)=>n[e],Sw=({type:n,values:e},t)=>n.precision!==Dt.HALF?e[t]:lg(e[t]),_w=(n,e)=>n.type.unit===xn.DAY?Og(n,e):Tg(n,e),Rg=({values:n},e)=>1e3*tt(n[e]),Lg=({values:n},e)=>tt(n[e]),Ug=({values:n},e)=>Ry(n[e],BigInt(1e3)),$g=({values:n},e)=>Ry(n[e],BigInt(1e6)),Nw=(n,e)=>{switch(n.type.unit){case _e.SECOND:return Rg(n,e);case _e.MILLISECOND:return Lg(n,e);case _e.MICROSECOND:return Ug(n,e);case _e.NANOSECOND:return $g(n,e)}},Pg=({values:n},e)=>n[e],zg=({values:n},e)=>n[e],Vg=({values:n},e)=>n[e],Wg=({values:n},e)=>n[e],jw=(n,e)=>{switch(n.type.unit){case _e.SECOND:return Pg(n,e);case _e.MILLISECOND:return zg(n,e);case _e.MICROSECOND:return Vg(n,e);case _e.NANOSECOND:return Wg(n,e)}},kw=({values:n,stride:e},t)=>Gd.decimal(n.subarray(e*t,e*(t+1))),Iw=(n,e)=>{const{valueOffsets:t,stride:i,children:a}=n,{[e*i]:u,[e*i+1]:f}=t,m=a[0].slice(u,f-u);return new Je([m])},Mw=(n,e)=>{const{valueOffsets:t,children:i}=n,{[e]:a,[e+1]:u}=t,f=i[0];return new Kd(f.slice(a,u-a))},Dw=(n,e)=>new Qd(n,e),Cw=(n,e)=>n.type.mode===Yt.Dense?Hg(n,e):Gg(n,e),Hg=(n,e)=>{const t=n.type.typeIdToChildIndex[n.typeIds[e]],i=n.children[t];return Qt.visit(i,n.valueOffsets[e])},Gg=(n,e)=>{const t=n.type.typeIdToChildIndex[n.typeIds[e]],i=n.children[t];return Qt.visit(i,e)},Fw=(n,e)=>{var t;return(t=n.dictionary)===null||t===void 0?void 0:t.get(n.values[e])},Ow=(n,e)=>n.type.unit===nr.DAY_TIME?Yg(n,e):Qg(n,e),Yg=({values:n},e)=>n.subarray(2*e,2*(e+1)),Qg=({values:n},e)=>{const t=n[e],i=new Int32Array(2);return i[0]=Math.trunc(t/12),i[1]=Math.trunc(t%12),i},Kg=({values:n},e)=>n[e],Jg=({values:n},e)=>n[e],qg=({values:n},e)=>n[e],Zg=({values:n},e)=>n[e],Tw=(n,e)=>{switch(n.type.unit){case _e.SECOND:return Kg(n,e);case _e.MILLISECOND:return Jg(n,e);case _e.MICROSECOND:return qg(n,e);case _e.NANOSECOND:return Zg(n,e)}},Aw=(n,e)=>{const{stride:t,children:i}=n,u=i[0].slice(e*t,t);return new Je([u])};xe.prototype.visitNull=je(gw);xe.prototype.visitBool=je(vw);xe.prototype.visitInt=je(ww);xe.prototype.visitInt8=je(as);xe.prototype.visitInt16=je(as);xe.prototype.visitInt32=je(as);xe.prototype.visitInt64=je(Ag);xe.prototype.visitUint8=je(as);xe.prototype.visitUint16=je(as);xe.prototype.visitUint32=je(as);xe.prototype.visitUint64=je(Ag);xe.prototype.visitFloat=je(Sw);xe.prototype.visitFloat16=je(xw);xe.prototype.visitFloat32=je(as);xe.prototype.visitFloat64=je(as);xe.prototype.visitUtf8=je(Eg);xe.prototype.visitLargeUtf8=je(Eg);xe.prototype.visitBinary=je(Bg);xe.prototype.visitLargeBinary=je(Bg);xe.prototype.visitFixedSizeBinary=je(bw);xe.prototype.visitDate=je(_w);xe.prototype.visitDateDay=je(Og);xe.prototype.visitDateMillisecond=je(Tg);xe.prototype.visitTimestamp=je(Nw);xe.prototype.visitTimestampSecond=je(Rg);xe.prototype.visitTimestampMillisecond=je(Lg);xe.prototype.visitTimestampMicrosecond=je(Ug);xe.prototype.visitTimestampNanosecond=je($g);xe.prototype.visitTime=je(jw);xe.prototype.visitTimeSecond=je(Pg);xe.prototype.visitTimeMillisecond=je(zg);xe.prototype.visitTimeMicrosecond=je(Vg);xe.prototype.visitTimeNanosecond=je(Wg);xe.prototype.visitDecimal=je(kw);xe.prototype.visitList=je(Iw);xe.prototype.visitStruct=je(Dw);xe.prototype.visitUnion=je(Cw);xe.prototype.visitDenseUnion=je(Hg);xe.prototype.visitSparseUnion=je(Gg);xe.prototype.visitDictionary=je(Fw);xe.prototype.visitInterval=je(Ow);xe.prototype.visitIntervalDayTime=je(Yg);xe.prototype.visitIntervalYearMonth=je(Qg);xe.prototype.visitDuration=je(Tw);xe.prototype.visitDurationSecond=je(Kg);xe.prototype.visitDurationMillisecond=je(Jg);xe.prototype.visitDurationMicrosecond=je(qg);xe.prototype.visitDurationNanosecond=je(Zg);xe.prototype.visitFixedSizeList=je(Aw);xe.prototype.visitMap=je(Mw);const Qt=new xe,bi=Symbol.for("keys"),Ii=Symbol.for("vals"),wi=Symbol.for("kKeysAsStrings"),Od=Symbol.for("_kKeysAsStrings");class Kd{constructor(e){return this[bi]=new Je([e.children[0]]).memoize(),this[Ii]=e.children[1],new Proxy(this,new Ew)}get[wi](){return this[Od]||(this[Od]=Array.from(this[bi].toArray(),String))}[Symbol.iterator](){return new Bw(this[bi],this[Ii])}get size(){return this[bi].length}toArray(){return Object.values(this.toJSON())}toJSON(){const e=this[bi],t=this[Ii],i={};for(let a=-1,u=e.length;++a`${Wo(e)}: ${Wo(t)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}}class Bw{constructor(e,t){this.keys=e,this.vals=t,this.keyIndex=0,this.numKeys=e.length}[Symbol.iterator](){return this}next(){const e=this.keyIndex;return e===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(e),Qt.visit(this.vals,e)]})}}class Ew{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(e){return e[wi]}has(e,t){return e[wi].includes(t)}getOwnPropertyDescriptor(e,t){if(e[wi].indexOf(t)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,t){if(Reflect.has(e,t))return e[t];const i=e[wi].indexOf(t);if(i!==-1){const a=Qt.visit(Reflect.get(e,Ii),i);return Reflect.set(e,t,a),a}}set(e,t,i){const a=e[wi].indexOf(t);return a!==-1?(bn.visit(Reflect.get(e,Ii),a,i),Reflect.set(e,t,i)):Reflect.has(e,t)?Reflect.set(e,t,i):!1}}Object.defineProperties(Kd.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[bi]:{writable:!0,enumerable:!1,configurable:!1,value:null},[Ii]:{writable:!0,enumerable:!1,configurable:!1,value:null},[Od]:{writable:!0,enumerable:!1,configurable:!1,value:null}});let jm;function Xg(n,e,t,i){const{length:a=0}=n;let u=typeof e!="number"?0:e,f=typeof t!="number"?a:t;return u<0&&(u=(u%a+a)%a),f<0&&(f=(f%a+a)%a),fa&&(f=a),i?i(n,u,f):[u,f]}const Jd=(n,e)=>n<0?e+n:n,km=n=>n!==n;function Ri(n){if(typeof n!=="object"||n===null)return km(n)?km:t=>t===n;if(n instanceof Date){const t=n.valueOf();return i=>i instanceof Date?i.valueOf()===t:!1}return ArrayBuffer.isView(n)?t=>t?Ab(n,t):!1:n instanceof Map?Lw(n):Array.isArray(n)?Rw(n):n instanceof Je?Uw(n):$w(n,!0)}function Rw(n){const e=[];for(let t=-1,i=n.length;++t!1;const i=[];for(let a=-1,u=t.length;++a{if(!t||typeof t!="object")return!1;switch(t.constructor){case Array:return Pw(n,t);case Map:return Im(n,t,t.keys());case Kd:case Qd:case Object:case void 0:return Im(n,t,e||Object.keys(t))}return t instanceof Je?zw(n,t):!1}}function Pw(n,e){const t=n.length;if(e.length!==t)return!1;for(let i=-1;++i>i}function Mm(n,e,t){const i=t.byteLength+7&-8;if(n>0||t.byteLength>3):Td(new qd(t,n,e,null,ev)).subarray(0,i)),a}return t}function Td(n){const e=[];let t=0,i=0,a=0;for(const f of n)f&&(a|=1<0)&&(e[t++]=a);const u=new Uint8Array(e.length+7&-8);return u.set(e),u}class qd{constructor(e,t,i,a,u){this.bytes=e,this.length=i,this.context=a,this.get=u,this.bit=t%8,this.byteIndex=t>>3,this.byte=e[this.byteIndex++],this.index=0}next(){return this.index>3<<3,a=e+(e%8===0?0:8-e%8);return Ad(n,e,a)+Ad(n,i,t)+Ww(n,a>>3,i-a>>3)}function Ww(n,e,t){let i=0,a=Math.trunc(e);const u=new DataView(n.buffer,n.byteOffset,n.byteLength),f=t===void 0?n.byteLength:a+t;for(;f-a>=4;)i+=cd(u.getUint32(a)),a+=4;for(;f-a>=2;)i+=cd(u.getUint16(a)),a+=2;for(;f-a>=1;)i+=cd(u.getUint8(a)),a+=1;return i}function cd(n){let e=Math.trunc(n);return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24}const Hw=-1;class Ye{get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get nullable(){if(this._nullCount!==0){const{type:e}=this;return me.isSparseUnion(e)?this.children.some(t=>t.nullable):me.isDenseUnion(e)?this.children.some(t=>t.nullable):this.nullBitmap&&this.nullBitmap.byteLength>0}return!0}get byteLength(){let e=0;const{valueOffsets:t,values:i,nullBitmap:a,typeIds:u}=this;return t&&(e+=t.byteLength),i&&(e+=i.byteLength),a&&(e+=a.byteLength),u&&(e+=u.byteLength),this.children.reduce((f,h)=>f+h.byteLength,e)}get nullCount(){if(me.isUnion(this.type))return this.children.reduce((i,a)=>i+a.nullCount,0);let e=this._nullCount,t;return e<=Hw&&(t=this.nullBitmap)&&(this._nullCount=e=t.length===0?0:this.length-Ad(t,this.offset,this.offset+this.length)),e}constructor(e,t,i,a,u,f=[],h){this.type=e,this.children=f,this.dictionary=h,this.offset=Math.floor(Math.max(t||0,0)),this.length=Math.floor(Math.max(i||0,0)),this._nullCount=Math.floor(Math.max(a||0,-1));let m;u instanceof Ye?(this.stride=u.stride,this.values=u.values,this.typeIds=u.typeIds,this.nullBitmap=u.nullBitmap,this.valueOffsets=u.valueOffsets):(this.stride=vr(e),u&&((m=u[0])&&(this.valueOffsets=m),(m=u[1])&&(this.values=m),(m=u[2])&&(this.nullBitmap=m),(m=u[3])&&(this.typeIds=m)))}getValid(e){const{type:t}=this;if(me.isUnion(t)){const i=t,a=this.children[i.typeIdToChildIndex[this.typeIds[e]]],u=i.mode===Yt.Dense?this.valueOffsets[e]:e;return a.getValid(u)}if(this.nullable&&this.nullCount>0){const i=this.offset+e;return(this.nullBitmap[i>>3]&1<>3;(!u||u.byteLength<=v)&&(u=new Uint8Array((f+h+63&-64)>>3).fill(255),this.nullCount>0?(u.set(Mm(f,h,this.nullBitmap),0),Object.assign(this,{nullBitmap:u})):Object.assign(this,{nullBitmap:u,_nullCount:0}));const x=u[v];i=(x&g)!==0,u[v]=t?x|g:x&~g}return i!==!!t&&(this._nullCount=this.nullCount+(t?-1:1)),t}clone(e=this.type,t=this.offset,i=this.length,a=this._nullCount,u=this,f=this.children){return new Ye(e,t,i,a,u,f,this.dictionary)}slice(e,t){const{stride:i,typeId:a,children:u}=this,f=+(this._nullCount===0)-1,h=a===16?i:1,m=this._sliceBuffers(e,t,i,a);return this.clone(this.type,this.offset+e,t,f,m,u.length===0||this.valueOffsets?u:this._sliceChildren(u,h*e,h*t))}_changeLengthAndBackfillNullBitmap(e){if(this.typeId===M.Null)return this.clone(this.type,0,e,0);const{length:t,nullCount:i}=this,a=new Uint8Array((e+63&-64)>>3).fill(255,0,t>>3);a[t>>3]=(1<0&&a.set(Mm(this.offset,t,this.nullBitmap),0);const u=this.buffers;return u[gr.VALIDITY]=a,this.clone(this.type,0,e,i+(e-t),u)}_sliceBuffers(e,t,i,a){let u;const{buffers:f}=this;return(u=f[gr.TYPE])&&(f[gr.TYPE]=u.subarray(e,e+t)),(u=f[gr.OFFSET])&&(f[gr.OFFSET]=u.subarray(e,e+t+1))||(u=f[gr.DATA])&&(f[gr.DATA]=a===6?u:u.subarray(i*e,i*(e+t))),f}_sliceChildren(e,t,i){return e.map(a=>a.slice(t,i))}}Ye.prototype.children=Object.freeze([]);class zo extends Ue{visit(e){return this.getVisitFn(e.type).call(this,e)}visitNull(e){const{["type"]:t,["offset"]:i=0,["length"]:a=0}=e;return new Ye(t,i,a,a)}visitBool(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length>>3,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitInt(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitFloat(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitUtf8(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.data),u=$e(e.nullBitmap),f=Fo(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,u])}visitLargeUtf8(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.data),u=$e(e.nullBitmap),f=pm(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,u])}visitBinary(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.data),u=$e(e.nullBitmap),f=Fo(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,u])}visitLargeBinary(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.data),u=$e(e.nullBitmap),f=pm(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,u])}visitFixedSizeBinary(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitDate(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitTimestamp(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitTime(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitDecimal(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitList(e){const{["type"]:t,["offset"]:i=0,["child"]:a}=e,u=$e(e.nullBitmap),f=Fo(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,void 0,u],[a])}visitStruct(e){const{["type"]:t,["offset"]:i=0,["children"]:a=[]}=e,u=$e(e.nullBitmap),{length:f=a.reduce((m,{length:g})=>Math.max(m,g),0),nullCount:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,void 0,u],a)}visitUnion(e){const{["type"]:t,["offset"]:i=0,["children"]:a=[]}=e,u=Ke(t.ArrayType,e.typeIds),{["length"]:f=u.length,["nullCount"]:h=-1}=e;if(me.isSparseUnion(t))return new Ye(t,i,f,h,[void 0,void 0,void 0,u],a);const m=Fo(e.valueOffsets);return new Ye(t,i,f,h,[m,void 0,void 0,u],a)}visitDictionary(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.indices.ArrayType,e.data),{["dictionary"]:f=new Je([new zo().visit({type:t.dictionary})])}=e,{["length"]:h=u.length,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[void 0,u,a],[],f)}visitInterval(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitDuration(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitFixedSizeList(e){const{["type"]:t,["offset"]:i=0,["child"]:a=new zo().visit({type:t.valueType})}=e,u=$e(e.nullBitmap),{["length"]:f=a.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,void 0,u],[a])}visitMap(e){const{["type"]:t,["offset"]:i=0,["child"]:a=new zo().visit({type:t.childType})}=e,u=$e(e.nullBitmap),f=Fo(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,void 0,u],[a])}}const Gw=new zo;function Re(n){return Gw.visit(n)}class Dm{constructor(e=0,t){this.numChunks=e,this.getChunkIterator=t,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndexe.nullable)}function tv(n){return n.reduce((e,t)=>e+t.nullCount,0)}function nv(n){return n.reduce((e,t,i)=>(e[i+1]=e[i]+t.length,e),new Uint32Array(n.length+1))}function rv(n,e,t,i){const a=[];for(let u=-1,f=n.length;++u=i)break;if(t>=m+g)continue;if(m>=t&&m+g<=i){a.push(h);continue}const v=Math.max(0,t-m),x=Math.min(i-m,g);a.push(h.slice(v,x-v))}return a.length===0&&a.push(n[0].slice(0,0)),a}function Zd(n,e,t,i){let a=0,u=0,f=e.length-1;do{if(a>=f-1)return t0?0:-1}function Kw(n,e){const{nullBitmap:t}=n;if(!t||n.nullCount<=0)return-1;let i=0;for(const a of new qd(t,n.offset+(e||0),n.length,t,ev)){if(!a)return i;++i}return-1}function De(n,e,t){if(e===void 0)return-1;if(e===null)switch(n.typeId){case M.Union:break;case M.Dictionary:break;default:return Kw(n,t)}const i=Qt.getVisitFn(n),a=Ri(e);for(let u=(t||0)-1,f=n.length;++u{const a=n.data[i];return a.values.subarray(0,a.length)[Symbol.iterator]()});let t=0;return new Dm(n.data.length,i=>{const u=n.data[i].length,f=n.slice(t,t+u);return t+=u,new Jw(f)})}class Jw{constructor(e){this.vector=e,this.index=0}next(){return this.indexh.data):e;if(u.length===0||u.some(h=>!(h instanceof Ye)))throw new TypeError("Vector constructor expects an Array of Data instances.");const f=(t=u[0])===null||t===void 0?void 0:t.type;switch(u.length){case 0:this._offsets=[0];break;case 1:{const{get:h,set:m,indexOf:g}=lv[f.typeId],v=u[0];this.isValid=x=>Xd(v,x),this.get=x=>h(v,x),this.set=(x,b)=>m(v,x,b),this.indexOf=x=>g(v,x),this._offsets=[0,v.length];break}default:Object.setPrototypeOf(this,uv[f.typeId]),this._offsets=nv(u);break}this.data=u,this.type=f,this.stride=vr(f),this.numChildren=(a=(i=f.children)===null||i===void 0?void 0:i.length)!==null&&a!==void 0?a:0,this.length=this._offsets.at(-1)}get byteLength(){return this.data.reduce((e,t)=>e+t.byteLength,0)}get nullable(){return Yw(this.data)}get nullCount(){return tv(this.data)}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${M[this.type.typeId]}Vector`}isValid(e){return!1}get(e){return null}at(e){return this.get(Jd(e,this.length))}set(e,t){}indexOf(e,t){return-1}includes(e,t){return this.indexOf(e,t)>-1}[Symbol.iterator](){return ef.visit(this)}concat(...e){return new Je(this.data.concat(e.flatMap(t=>t.data).flat(Number.POSITIVE_INFINITY)))}slice(e,t){return new Je(Xg(this,e,t,({data:i,_offsets:a},u,f)=>rv(i,a,u,f)))}toJSON(){return[...this]}toArray(){const{type:e,data:t,length:i,stride:a,ArrayType:u}=this;switch(e.typeId){case M.Int:case M.Float:case M.Decimal:case M.Time:case M.Timestamp:switch(t.length){case 0:return new u;case 1:return t[0].values.subarray(0,i*a);default:return t.reduce((f,{values:h,length:m})=>(f.array.set(h.subarray(0,m*a),f.offset),f.offset+=m*a,f),{array:new u(i*a),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(",")}]`}getChild(e){var t;return this.getChildAt((t=this.type.children)===null||t===void 0?void 0:t.findIndex(i=>i.name===e))}getChildAt(e){return e>-1&&et[e])):null}get isMemoized(){return me.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(me.isDictionary(this.type)){const e=new Zl(this.data[0].dictionary),t=this.data.map(i=>{const a=i.clone();return a.dictionary=e,a});return new Je(t)}return new Zl(this)}unmemoize(){if(me.isDictionary(this.type)&&this.isMemoized){const e=this.data[0].dictionary.unmemoize(),t=this.data.map(i=>{const a=i.clone();return a.dictionary=e,a});return new Je(t)}return this}}av=Symbol.toStringTag;Je[av]=(n=>{n.type=me.prototype,n.data=[],n.length=0,n.stride=1,n.numChildren=0,n._offsets=new Uint32Array([0]),n[Symbol.isConcatSpreadable]=!0;const e=Object.keys(M).map(t=>M[t]).filter(t=>typeof t=="number"&&t!==M.NONE);for(const t of e){const i=Qt.getVisitFnByTypeId(t),a=bn.getVisitFnByTypeId(t),u=ql.getVisitFnByTypeId(t);lv[t]={get:i,set:a,indexOf:u},uv[t]=Object.create(n,{isValid:{value:Jl(Xd)},get:{value:Jl(Qt.getVisitFnByTypeId(t))},set:{value:sv(bn.getVisitFnByTypeId(t))},indexOf:{value:iv(ql.getVisitFnByTypeId(t))}})}return"Vector"})(Je.prototype);class Zl extends Je{constructor(e){super(e.data);const t=this.get,i=this.set,a=this.slice,u=new Array(this.length);Object.defineProperty(this,"get",{value(f){const h=u[f];if(h!==void 0)return h;const m=t.call(this,f);return u[f]=m,m}}),Object.defineProperty(this,"set",{value(f,h){i.call(this,f,h),u[f]=h}}),Object.defineProperty(this,"slice",{value:(f,h)=>new Zl(a.call(this,f,h))}),Object.defineProperty(this,"isMemoized",{value:!0}),Object.defineProperty(this,"unmemoize",{value:()=>new Je(this.data)}),Object.defineProperty(this,"memoize",{value:()=>this})}}class Bd{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(e,t,i,a){return e.prep(8,24),e.writeInt64(BigInt(a??0)),e.pad(4),e.writeInt32(i),e.writeInt64(BigInt(t??0)),e.offset()}}class tn{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsFooter(e,t){return(t||new tn).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsFooter(e,t){return e.setPosition(e.position()+He),(t||new tn).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):ht.V1}schema(e){const t=this.bb.__offset(this.bb_pos,6);return t?(e||new Yn).__init(this.bb.__indirect(this.bb_pos+t),this.bb):null}dictionaries(e,t){const i=this.bb.__offset(this.bb_pos,8);return i?(t||new Bd).__init(this.bb.__vector(this.bb_pos+i)+e*24,this.bb):null}dictionariesLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}recordBatches(e,t){const i=this.bb.__offset(this.bb_pos,10);return i?(t||new Bd).__init(this.bb.__vector(this.bb_pos+i)+e*24,this.bb):null}recordBatchesLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,12);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startFooter(e){e.startObject(5)}static addVersion(e,t){e.addFieldInt16(0,t,ht.V1)}static addSchema(e,t){e.addFieldOffset(1,t,0)}static addDictionaries(e,t){e.addFieldOffset(2,t,0)}static startDictionariesVector(e,t){e.startVector(24,t,8)}static addRecordBatches(e,t){e.addFieldOffset(3,t,0)}static startRecordBatchesVector(e,t){e.startVector(24,t,8)}static addCustomMetadata(e,t){e.addFieldOffset(4,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endFooter(e){return e.endObject()}static finishFooterBuffer(e,t){e.finish(t)}static finishSizePrefixedFooterBuffer(e,t){e.finish(t,void 0,!0)}}class We{constructor(e=[],t,i,a=ht.V5){this.fields=e||[],this.metadata=t||new Map,i||(i=Ed(this.fields)),this.dictionaries=i,this.metadataVersion=a}get[Symbol.toStringTag](){return"Schema"}get names(){return this.fields.map(e=>e.name)}toString(){return`Schema<{ ${this.fields.map((e,t)=>`${t}: ${e}`).join(", ")} }>`}select(e){const t=new Set(e),i=this.fields.filter(a=>t.has(a.name));return new We(i,this.metadata)}selectAt(e){const t=e.map(i=>this.fields[i]).filter(Boolean);return new We(t,this.metadata)}assign(...e){const t=e[0]instanceof We?e[0]:Array.isArray(e[0])?new We(e[0]):new We(e),i=[...this.fields],a=fl(fl(new Map,this.metadata),t.metadata),u=t.fields.filter(h=>{const m=i.findIndex(g=>g.name===h.name);return~m?(i[m]=h.clone({metadata:fl(fl(new Map,i[m].metadata),h.metadata)}))&&!1:!0}),f=Ed(u,new Map);return new We([...i,...u],a,new Map([...this.dictionaries,...f]))}}We.prototype.fields=null;We.prototype.metadata=null;We.prototype.dictionaries=null;class nt{static new(...e){let[t,i,a,u]=e;return e[0]&&typeof e[0]=="object"&&({name:t}=e[0],i===void 0&&(i=e[0].type),a===void 0&&(a=e[0].nullable),u===void 0&&(u=e[0].metadata)),new nt(`${t}`,i,a,u)}constructor(e,t,i=!1,a){this.name=e,this.type=t,this.nullable=i,this.metadata=a||new Map}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return"Field"}toString(){return`${this.name}: ${this.type}`}clone(...e){let[t,i,a,u]=e;return!e[0]||typeof e[0]!="object"?[t=this.name,i=this.type,a=this.nullable,u=this.metadata]=e:{name:t=this.name,type:i=this.type,nullable:a=this.nullable,metadata:u=this.metadata}=e[0],nt.new(t,i,a,u)}}nt.prototype.type=null;nt.prototype.name=null;nt.prototype.nullable=null;nt.prototype.metadata=null;function fl(n,e){return new Map([...n||new Map,...e||new Map])}function Ed(n,e=new Map){for(let t=-1,i=n.length;++t0&&Ed(u.children,e)}return e}var qw=Ty,Zw=Ci;class tf{static decode(e){e=new Zw($e(e));const t=tn.getRootAsFooter(e),i=We.decode(t.schema(),new Map,t.version());return new Xw(i,t)}static encode(e){const t=new qw,i=We.encode(t,e.schema);tn.startRecordBatchesVector(t,e.numRecordBatches);for(const f of[...e.recordBatches()].slice().reverse())Ti.encode(t,f);const a=t.endVector();tn.startDictionariesVector(t,e.numDictionaries);for(const f of[...e.dictionaryBatches()].slice().reverse())Ti.encode(t,f);const u=t.endVector();return tn.startFooter(t),tn.addSchema(t,i),tn.addVersion(t,ht.V5),tn.addRecordBatches(t,a),tn.addDictionaries(t,u),tn.finishFooterBuffer(t,tn.endFooter(t)),t.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}constructor(e,t=ht.V5,i,a){this.schema=e,this.version=t,i&&(this._recordBatches=i),a&&(this._dictionaryBatches=a)}*recordBatches(){for(let e,t=-1,i=this.numRecordBatches;++t=0&&e=0&&e=0&&e=0&&ethis._closedPromiseResolve=e)}get closed(){return this._closedPromise}cancel(e){return Fe(this,void 0,void 0,function*(){yield this.return(e)})}write(e){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(e):this.resolvers.shift().resolve({done:!1,value:e}))}abort(e){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:e}:this.resolvers.shift().reject({done:!0,value:e}))}close(){if(this._closedPromiseResolve){const{resolvers:e}=this;for(;e.length>0;)e.shift().resolve(at);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(e){return pn.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,e)}toNodeStream(e){return pn.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,e)}throw(e){return Fe(this,void 0,void 0,function*(){return yield this.abort(e),at})}return(e){return Fe(this,void 0,void 0,function*(){return yield this.close(),at})}read(e){return Fe(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return Fe(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(...e){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((t,i)=>{this.resolvers.push({resolve:t,reject:i})}):Promise.resolve(at)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error("AsyncQueue is closed")}}class t1 extends e1{write(e){if((e=$e(e)).byteLength>0)return super.write(e)}toString(e=!1){return e?kd(this.toUint8Array(!0)):this.toUint8Array(!1).then(kd)}toUint8Array(e=!1){return e?tr(this._values)[0]:Fe(this,void 0,void 0,function*(){var t,i,a,u;const f=[];let h=0;try{for(var m=!0,g=_i(this),v;v=yield g.next(),t=v.done,!t;m=!0){u=v.value,m=!1;const x=u;f.push(x),h+=x.byteLength}}catch(x){i={error:x}}finally{try{!m&&!t&&(a=g.return)&&(yield a.call(g))}finally{if(i)throw i.error}}return tr(f,h)[0]})}}class Xl{constructor(e){e&&(this.source=new n1(pn.fromIterable(e)))}[Symbol.iterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class Ai{constructor(e){e instanceof Ai?this.source=e.source:e instanceof t1?this.source=new ks(pn.fromAsyncIterable(e)):Cy(e)?this.source=new ks(pn.fromNodeStream(e)):Wd(e)?this.source=new ks(pn.fromDOMStream(e)):My(e)?this.source=new ks(pn.fromDOMStream(e.body)):cu(e)?this.source=new ks(pn.fromIterable(e)):Vo(e)?this.source=new ks(pn.fromAsyncIterable(e)):Vd(e)&&(this.source=new ks(pn.fromAsyncIterable(e)))}[Symbol.asyncIterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}get closed(){return this.source.closed}cancel(e){return this.source.cancel(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class n1{constructor(e){this.source=e}cancel(e){this.return(e)}peek(e){return this.next(e,"peek").value}read(e){return this.next(e,"read").value}next(e,t="read"){return this.source.next({cmd:t,size:e})}throw(e){return Object.create(this.source.throw&&this.source.throw(e)||at)}return(e){return Object.create(this.source.return&&this.source.return(e)||at)}}class ks{constructor(e){this.source=e,this._closedPromise=new Promise(t=>this._closedPromiseResolve=t)}cancel(e){return Fe(this,void 0,void 0,function*(){yield this.return(e)})}get closed(){return this._closedPromise}read(e){return Fe(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return Fe(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(e){return Fe(this,arguments,void 0,function*(t,i="read"){return yield this.source.next({cmd:i,size:t})})}throw(e){return Fe(this,void 0,void 0,function*(){const t=this.source.throw&&(yield this.source.throw(e))||at;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(t)})}return(e){return Fe(this,void 0,void 0,function*(){const t=this.source.return&&(yield this.source.return(e))||at;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(t)})}}class Fm extends Xl{constructor(e,t){super(),this.position=0,this.buffer=$e(e),this.size=t===void 0?this.buffer.byteLength:t}readInt32(e){const{buffer:t,byteOffset:i}=this.readAt(e,4);return new DataView(t,i).getInt32(0,!0)}seek(e){return this.position=Math.min(e,this.size),e>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),i=new Uint32Array([e.buffer[1]>>>16,e.buffer[1]&65535,e.buffer[0]>>>16,e.buffer[0]&65535]);let a=t[3]*i[3];this.buffer[0]=a&65535;let u=a>>>16;return a=t[2]*i[3],u+=a,a=t[3]*i[2]>>>0,u+=a,this.buffer[0]+=u<<16,this.buffer[1]=u>>>0>>16,this.buffer[1]+=t[1]*i[3]+t[2]*i[2]+t[3]*i[1],this.buffer[1]+=t[0]*i[3]+t[1]*i[2]+t[2]*i[1]+t[3]*i[0]<<16,this}_plus(e){const t=this.buffer[0]+e.buffer[0]>>>0;this.buffer[1]+=e.buffer[1],t>>0&&++this.buffer[1],this.buffer[0]=t}lessThan(e){return this.buffer[1]>>0,t[2]=this.buffer[2]+e.buffer[2]>>>0,t[1]=this.buffer[1]+e.buffer[1]>>>0,t[0]=this.buffer[0]+e.buffer[0]>>>0,t[0]>>0&&++t[1],t[1]>>0&&++t[2],t[2]>>0&&++t[3],this.buffer[3]=t[3],this.buffer[2]=t[2],this.buffer[1]=t[1],this.buffer[0]=t[0],this}hex(){return`${Si(this.buffer[3])} ${Si(this.buffer[2])} ${Si(this.buffer[1])} ${Si(this.buffer[0])}`}static multiply(e,t){return new Qn(new Uint32Array(e.buffer)).times(t)}static add(e,t){return new Qn(new Uint32Array(e.buffer)).plus(t)}static from(e,t=new Uint32Array(4)){return Qn.fromString(typeof e=="string"?e:e.toString(),t)}static fromNumber(e,t=new Uint32Array(4)){return Qn.fromString(e.toString(),t)}static fromString(e,t=new Uint32Array(4)){const i=e.startsWith("-"),a=e.length,u=new Qn(t);for(let f=i?1:0;f0&&this.readData(e,i)||new Uint8Array(0)}readOffsets(e,t){return this.readData(e,t)}readTypeIds(e,t){return this.readData(e,t)}readData(e,{length:t,offset:i}=this.nextBufferRange()){return this.bytes.subarray(i,i+t)}readDictionary(e){return this.dictionaries.get(e.id)}}class s1 extends fv{constructor(e,t,i,a,u){super(new Uint8Array(0),t,i,a,u),this.sources=e}readNullBitmap(e,t,{offset:i}=this.nextBufferRange()){return t<=0?new Uint8Array(0):Td(this.sources[i])}readOffsets(e,{offset:t}=this.nextBufferRange()){return Ke(Uint8Array,Ke(e.OffsetArrayType,this.sources[t]))}readTypeIds(e,{offset:t}=this.nextBufferRange()){return Ke(Uint8Array,Ke(e.ArrayType,this.sources[t]))}readData(e,{offset:t}=this.nextBufferRange()){const{sources:i}=this;return me.isTimestamp(e)||(me.isInt(e)||me.isTime(e))&&e.bitWidth===64||me.isDuration(e)||me.isDate(e)&&e.unit===xn.MILLISECOND?Ke(Uint8Array,Wt.convertArray(i[t])):me.isDecimal(e)?Ke(Uint8Array,Qn.convertArray(i[t])):me.isBinary(e)||me.isLargeBinary(e)||me.isFixedSizeBinary(e)?i1(i[t]):me.isBool(e)?Td(i[t]):me.isUtf8(e)||me.isLargeUtf8(e)?zd(i[t].join("")):Ke(Uint8Array,Ke(e.ArrayType,i[t].map(a=>+a)))}}function i1(n){const e=n.join(""),t=new Uint8Array(e.length/2);for(let i=0;i>1]=Number.parseInt(e.slice(i,i+2),16);return t}class Se extends Ue{compareSchemas(e,t){return e===t||t instanceof e.constructor&&this.compareManyFields(e.fields,t.fields)}compareManyFields(e,t){return e===t||Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((i,a)=>this.compareFields(i,t[a]))}compareFields(e,t){return e===t||t instanceof e.constructor&&e.name===t.name&&e.nullable===t.nullable&&this.visit(e.type,t.type)}}function Bt(n,e){return e instanceof n.constructor}function Bs(n,e){return n===e||Bt(n,e)}function Mr(n,e){return n===e||Bt(n,e)&&n.bitWidth===e.bitWidth&&n.isSigned===e.isSigned}function fu(n,e){return n===e||Bt(n,e)&&n.precision===e.precision}function o1(n,e){return n===e||Bt(n,e)&&n.byteWidth===e.byteWidth}function rf(n,e){return n===e||Bt(n,e)&&n.unit===e.unit}function Jo(n,e){return n===e||Bt(n,e)&&n.unit===e.unit&&n.timezone===e.timezone}function qo(n,e){return n===e||Bt(n,e)&&n.unit===e.unit&&n.bitWidth===e.bitWidth}function a1(n,e){return n===e||Bt(n,e)&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}function l1(n,e){return n===e||Bt(n,e)&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}function sf(n,e){return n===e||Bt(n,e)&&n.mode===e.mode&&n.typeIds.every((t,i)=>t===e.typeIds[i])&&is.compareManyFields(n.children,e.children)}function u1(n,e){return n===e||Bt(n,e)&&n.id===e.id&&n.isOrdered===e.isOrdered&&is.visit(n.indices,e.indices)&&is.visit(n.dictionary,e.dictionary)}function of(n,e){return n===e||Bt(n,e)&&n.unit===e.unit}function Zo(n,e){return n===e||Bt(n,e)&&n.unit===e.unit}function c1(n,e){return n===e||Bt(n,e)&&n.listSize===e.listSize&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}function d1(n,e){return n===e||Bt(n,e)&&n.keysSorted===e.keysSorted&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}Se.prototype.visitNull=Bs;Se.prototype.visitBool=Bs;Se.prototype.visitInt=Mr;Se.prototype.visitInt8=Mr;Se.prototype.visitInt16=Mr;Se.prototype.visitInt32=Mr;Se.prototype.visitInt64=Mr;Se.prototype.visitUint8=Mr;Se.prototype.visitUint16=Mr;Se.prototype.visitUint32=Mr;Se.prototype.visitUint64=Mr;Se.prototype.visitFloat=fu;Se.prototype.visitFloat16=fu;Se.prototype.visitFloat32=fu;Se.prototype.visitFloat64=fu;Se.prototype.visitUtf8=Bs;Se.prototype.visitLargeUtf8=Bs;Se.prototype.visitBinary=Bs;Se.prototype.visitLargeBinary=Bs;Se.prototype.visitFixedSizeBinary=o1;Se.prototype.visitDate=rf;Se.prototype.visitDateDay=rf;Se.prototype.visitDateMillisecond=rf;Se.prototype.visitTimestamp=Jo;Se.prototype.visitTimestampSecond=Jo;Se.prototype.visitTimestampMillisecond=Jo;Se.prototype.visitTimestampMicrosecond=Jo;Se.prototype.visitTimestampNanosecond=Jo;Se.prototype.visitTime=qo;Se.prototype.visitTimeSecond=qo;Se.prototype.visitTimeMillisecond=qo;Se.prototype.visitTimeMicrosecond=qo;Se.prototype.visitTimeNanosecond=qo;Se.prototype.visitDecimal=Bs;Se.prototype.visitList=a1;Se.prototype.visitStruct=l1;Se.prototype.visitUnion=sf;Se.prototype.visitDenseUnion=sf;Se.prototype.visitSparseUnion=sf;Se.prototype.visitDictionary=u1;Se.prototype.visitInterval=of;Se.prototype.visitIntervalDayTime=of;Se.prototype.visitIntervalYearMonth=of;Se.prototype.visitDuration=Zo;Se.prototype.visitDurationSecond=Zo;Se.prototype.visitDurationMillisecond=Zo;Se.prototype.visitDurationMicrosecond=Zo;Se.prototype.visitDurationNanosecond=Zo;Se.prototype.visitFixedSizeList=c1;Se.prototype.visitMap=d1;const is=new Se;function f1(n,e){return is.compareSchemas(n,e)}function dd(n,e){return h1(n,e.map(t=>t.data.concat()))}function h1(n,e){const t=[...n.fields],i=[],a={numBatches:e.reduce((x,b)=>Math.max(x,b.length),0)};let u=0,f=0,h=-1;const m=e.length;let g,v=[];for(;a.numBatches-- >0;){for(f=Number.POSITIVE_INFINITY,h=-1;++h0&&(i[u++]=Re({type:new At(t),length:f,nullCount:0,children:v.slice()})))}return[n=n.assign(t),i.map(x=>new An(n,x))]}function p1(n,e,t,i,a){var u;const f=(e+63&-64)>>3;for(let h=-1,m=i.length;++h=e)v===e?t[h]=g:(t[h]=g.slice(0,e),a.numBatches=Math.max(a.numBatches,i[h].unshift(g.slice(e,v-e))));else{const x=n[h];n[h]=x.clone({nullable:!0}),t[h]=(u=g==null?void 0:g._changeLengthAndBackfillNullBitmap(e))!==null&&u!==void 0?u:Re({type:x.type,length:e,nullCount:e,nullBitmap:new Uint8Array(f)})}}return t}var hv;class gn{constructor(...e){var t,i;if(e.length===0)return this.batches=[],this.schema=new We([]),this._offsets=[0],this;let a,u;e[0]instanceof We&&(a=e.shift()),e.at(-1)instanceof Uint32Array&&(u=e.pop());const f=m=>{if(m){if(m instanceof An)return[m];if(m instanceof gn)return m.batches;if(m instanceof Ye){if(m.type instanceof At)return[new An(new We(m.type.children),m)]}else{if(Array.isArray(m))return m.flatMap(g=>f(g));if(typeof m[Symbol.iterator]=="function")return[...m].flatMap(g=>f(g));if(typeof m=="object"){const g=Object.keys(m),v=g.map(w=>new Je([m[w]])),x=a??new We(g.map((w,_)=>new nt(String(w),v[_].type,v[_].nullable))),[,b]=dd(x,v);return b.length===0?[new An(m)]:b}}}return[]},h=e.flatMap(m=>f(m));if(a=(i=a??((t=h[0])===null||t===void 0?void 0:t.schema))!==null&&i!==void 0?i:new We([]),!(a instanceof We))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");for(const m of h){if(!(m instanceof An))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");if(!f1(a,m.schema))throw new TypeError("Table and inner RecordBatch schemas must be equivalent.")}this.schema=a,this.batches=h,this._offsets=u??nv(this.data)}get data(){return this.batches.map(({data:e})=>e)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((e,t)=>e+t.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=tv(this.data)),this._nullCount}isValid(e){return!1}get(e){return null}at(e){return this.get(Jd(e,this.numRows))}set(e,t){}indexOf(e,t){return-1}[Symbol.iterator](){return this.batches.length>0?ef.visit(new Je(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[ - ${this.toArray().join(`, - `)} -]`}concat(...e){const t=this.schema,i=this.data.concat(e.flatMap(({data:a})=>a));return new gn(t,i.map(a=>new An(t,a)))}slice(e,t){const i=this.schema;[e,t]=Xg({length:this.numRows},e,t);const a=rv(this.data,this._offsets,e,t);return new gn(i,a.map(u=>new An(i,u)))}getChild(e){return this.getChildAt(this.schema.fields.findIndex(t=>t.name===e))}getChildAt(e){if(e>-1&&ei.children[e]);if(t.length===0){const{type:i}=this.schema.fields[e],a=Re({type:i,length:0,nullCount:0});t.push(a._changeLengthAndBackfillNullBitmap(this.numRows))}return new Je(t)}return null}setChild(e,t){var i;return this.setChildAt((i=this.schema.fields)===null||i===void 0?void 0:i.findIndex(a=>a.name===e),t)}setChildAt(e,t){let i=this.schema,a=[...this.batches];if(e>-1&&ethis.getChildAt(g));[u[e],h[e]]=[f,t],[i,a]=dd(i,h)}return new gn(i,a)}select(e){const t=this.schema.fields.reduce((i,a,u)=>i.set(a.name,u),new Map);return this.selectAt(e.map(i=>t.get(i)).filter(i=>i>-1))}selectAt(e){const t=this.schema.selectAt(e),i=this.batches.map(a=>a.selectAt(e));return new gn(t,i)}assign(e){const t=this.schema.fields,[i,a]=e.schema.fields.reduce((h,m,g)=>{const[v,x]=h,b=t.findIndex(w=>w.name===m.name);return~b?x[b]=g:v.push(g),h},[[],[]]),u=this.schema.assign(e.schema),f=[...t.map((h,m)=>[m,a[m]]).map(([h,m])=>m===void 0?this.getChildAt(h):e.getChildAt(m)),...i.map(h=>e.getChildAt(h))].filter(Boolean);return new gn(...dd(u,f))}}hv=Symbol.toStringTag;gn[hv]=(n=>(n.schema=null,n.batches=[],n._offsets=new Uint32Array([0]),n._nullCount=-1,n[Symbol.isConcatSpreadable]=!0,n.isValid=Jl(Xd),n.get=Jl(Qt.getVisitFn(M.Struct)),n.set=sv(bn.getVisitFn(M.Struct)),n.indexOf=iv(ql.getVisitFn(M.Struct)),"Table"))(gn.prototype);var pv;let An=class Po{constructor(...e){switch(e.length){case 2:{if([this.schema]=e,!(this.schema instanceof We))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");if([,this.data=Re({nullCount:0,type:new At(this.schema.fields),children:this.schema.fields.map(t=>Re({type:t.type,nullCount:0}))})]=e,!(this.data instanceof Ye))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");[this.schema,this.data]=Om(this.schema,this.data.children);break}case 1:{const[t]=e,{fields:i,children:a,length:u}=Object.keys(t).reduce((m,g,v)=>(m.children[v]=t[g],m.length=Math.max(m.length,t[g].length),m.fields[v]=nt.new({name:g,type:t[g].type,nullable:!0}),m),{length:0,fields:new Array,children:new Array}),f=new We(i),h=Re({type:new At(i),length:u,children:a,nullCount:0});[this.schema,this.data]=Om(f,h.children,u);break}default:throw new TypeError("RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.")}}get dictionaries(){return this._dictionaries||(this._dictionaries=mv(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(e){return this.data.getValid(e)}get(e){return Qt.visit(this.data,e)}at(e){return this.get(Jd(e,this.numRows))}set(e,t){return bn.visit(this.data,e,t)}indexOf(e,t){return ql.visit(this.data,e,t)}[Symbol.iterator](){return ef.visit(new Je([this.data]))}toArray(){return[...this]}concat(...e){return new gn(this.schema,[this,...e])}slice(e,t){const[i]=new Je([this.data]).slice(e,t).data;return new Po(this.schema,i)}getChild(e){var t;return this.getChildAt((t=this.schema.fields)===null||t===void 0?void 0:t.findIndex(i=>i.name===e))}getChildAt(e){return e>-1&&ea.name===e),t)}setChildAt(e,t){let i=this.schema,a=this.data;if(e>-1&&eh.name===u);~f&&(a[f]=this.data.children[f])}return new Po(t,Re({type:i,length:this.numRows,children:a}))}selectAt(e){const t=this.schema.selectAt(e),i=e.map(u=>this.data.children[u]).filter(Boolean),a=Re({type:new At(t.fields),length:this.numRows,children:i});return new Po(t,a)}};pv=Symbol.toStringTag;An[pv]=(n=>(n._nullCount=-1,n[Symbol.isConcatSpreadable]=!0,"RecordBatch"))(An.prototype);function Om(n,e,t=e.reduce((i,a)=>Math.max(i,a.length),0)){var i;const a=[...n.fields],u=[...e],f=(t+63&-64)>>3;for(const[h,m]of n.fields.entries()){const g=e[h];(!g||g.length!==t)&&(a[h]=m.clone({nullable:!0}),u[h]=(i=g==null?void 0:g._changeLengthAndBackfillNullBitmap(t))!==null&&i!==void 0?i:Re({type:m.type,length:t,nullCount:t,nullBitmap:new Uint8Array(f)}))}return[n.assign(a),Re({type:new At(a),length:t,children:u})]}function mv(n,e,t=new Map){var i,a;if(((i=n==null?void 0:n.length)!==null&&i!==void 0?i:0)>0&&(n==null?void 0:n.length)===(e==null?void 0:e.length))for(let u=-1,f=n.length;++uRe({type:a.type})),i=Re({type:new At(e.fields),nullCount:0,children:t});super(e,i)}}let qr=class Gn{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsMessage(e,t){return(t||new Gn).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsMessage(e,t){return e.setPosition(e.position()+He),(t||new Gn).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):ht.V1}headerType(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint8(this.bb_pos+e):Ve.NONE}header(e){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__union(e,this.bb_pos+t):null}bodyLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readInt64(this.bb_pos+e):BigInt("0")}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,12);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startMessage(e){e.startObject(5)}static addVersion(e,t){e.addFieldInt16(0,t,ht.V1)}static addHeaderType(e,t){e.addFieldInt8(1,t,Ve.NONE)}static addHeader(e,t){e.addFieldOffset(2,t,0)}static addBodyLength(e,t){e.addFieldInt64(3,t,BigInt("0"))}static addCustomMetadata(e,t){e.addFieldOffset(4,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endMessage(e){return e.endObject()}static finishMessageBuffer(e,t){e.finish(t)}static finishSizePrefixedMessageBuffer(e,t){e.finish(t,void 0,!0)}static createMessage(e,t,i,a,u,f){return Gn.startMessage(e),Gn.addVersion(e,t),Gn.addHeaderType(e,i),Gn.addHeader(e,a),Gn.addBodyLength(e,u),Gn.addCustomMetadata(e,f),Gn.endMessage(e)}};class m1 extends Ue{visit(e,t){return e==null||t==null?void 0:super.visit(e,t)}visitNull(e,t){return Sm.startNull(t),Sm.endNull(t)}visitInt(e,t){return nn.startInt(t),nn.addBitWidth(t,e.bitWidth),nn.addIsSigned(t,e.isSigned),nn.endInt(t)}visitFloat(e,t){return Jn.startFloatingPoint(t),Jn.addPrecision(t,e.precision),Jn.endFloatingPoint(t)}visitBinary(e,t){return gm.startBinary(t),gm.endBinary(t)}visitLargeBinary(e,t){return xm.startLargeBinary(t),xm.endLargeBinary(t)}visitBool(e,t){return vm.startBool(t),vm.endBool(t)}visitUtf8(e,t){return _m.startUtf8(t),_m.endUtf8(t)}visitLargeUtf8(e,t){return bm.startLargeUtf8(t),bm.endLargeUtf8(t)}visitDecimal(e,t){return pi.startDecimal(t),pi.addScale(t,e.scale),pi.addPrecision(t,e.precision),pi.addBitWidth(t,e.bitWidth),pi.endDecimal(t)}visitDate(e,t){return wl.startDate(t),wl.addUnit(t,e.unit),wl.endDate(t)}visitTime(e,t){return mn.startTime(t),mn.addUnit(t,e.unit),mn.addBitWidth(t,e.bitWidth),mn.endTime(t)}visitTimestamp(e,t){const i=e.timezone&&t.createString(e.timezone)||void 0;return yn.startTimestamp(t),yn.addUnit(t,e.unit),i!==void 0&&yn.addTimezone(t,i),yn.endTimestamp(t)}visitInterval(e,t){return qn.startInterval(t),qn.addUnit(t,e.unit),qn.endInterval(t)}visitDuration(e,t){return Sl.startDuration(t),Sl.addUnit(t,e.unit),Sl.endDuration(t)}visitList(e,t){return wm.startList(t),wm.endList(t)}visitStruct(e,t){return Is.startStruct_(t),Is.endStruct_(t)}visitUnion(e,t){Ht.startTypeIdsVector(t,e.typeIds.length);const i=Ht.createTypeIdsVector(t,e.typeIds);return Ht.startUnion(t),Ht.addMode(t,e.mode),Ht.addTypeIds(t,i),Ht.endUnion(t)}visitDictionary(e,t){const i=this.visit(e.indices,t);return wr.startDictionaryEncoding(t),wr.addId(t,BigInt(e.id)),wr.addIsOrdered(t,e.isOrdered),i!==void 0&&wr.addIndexType(t,i),wr.endDictionaryEncoding(t)}visitFixedSizeBinary(e,t){return _l.startFixedSizeBinary(t),_l.addByteWidth(t,e.byteWidth),_l.endFixedSizeBinary(t)}visitFixedSizeList(e,t){return Nl.startFixedSizeList(t),Nl.addListSize(t,e.listSize),Nl.endFixedSizeList(t)}visitMap(e,t){return jl.startMap(t),jl.addKeysSorted(t,e.keysSorted),jl.endMap(t)}}const fd=new m1;function y1(n,e=new Map){return new We(v1(n,e),Il(n.metadata),e)}function gv(n){return new Ln(n.count,vv(n.columns),xv(n.columns))}function g1(n){return new kr(gv(n.data),n.id,n.isDelta)}function v1(n,e){return(n.fields||[]).filter(Boolean).map(t=>nt.fromJSON(t,e))}function Tm(n,e){return(n.children||[]).filter(Boolean).map(t=>nt.fromJSON(t,e))}function vv(n){return(n||[]).reduce((e,t)=>[...e,new Li(t.count,x1(t.VALIDITY)),...vv(t.children)],[])}function xv(n,e=[]){for(let t=-1,i=(n||[]).length;++te+ +(t===0),0)}function b1(n,e){let t,i,a,u,f,h;return!e||!(u=n.dictionary)?(f=Bm(n,Tm(n,e)),a=new nt(n.name,f,n.nullable,Il(n.metadata))):e.has(t=u.id)?(i=(i=u.indexType)?Am(i):new Yo,h=new Oi(e.get(t),i,t,u.isOrdered),a=new nt(n.name,h,n.nullable,Il(n.metadata))):(i=(i=u.indexType)?Am(i):new Yo,e.set(t,f=Bm(n,Tm(n,e))),h=new Oi(f,i,t,u.isOrdered),a=new nt(n.name,h,n.nullable,Il(n.metadata))),a||null}function Il(n=[]){return new Map(n.map(({key:e,value:t})=>[e,t]))}function Am(n){return new Cs(n.isSigned,n.bitWidth)}function Bm(n,e){const t=n.type.name;switch(t){case"NONE":return new ss;case"null":return new ss;case"binary":return new Al;case"largebinary":return new Bl;case"utf8":return new El;case"largeutf8":return new Rl;case"bool":return new Ll;case"list":return new Hl((e||[])[0]);case"struct":return new At(e||[]);case"struct_":return new At(e||[])}switch(t){case"int":{const i=n.type;return new Cs(i.isSigned,i.bitWidth)}case"floatingpoint":{const i=n.type;return new Tl(Dt[i.precision])}case"decimal":{const i=n.type;return new Ul(i.scale,i.precision,i.bitWidth)}case"date":{const i=n.type;return new $l(xn[i.unit])}case"time":{const i=n.type;return new Pl(_e[i.unit],i.bitWidth)}case"timestamp":{const i=n.type;return new zl(_e[i.unit],i.timezone)}case"interval":{const i=n.type;return new Vl(nr[i.unit])}case"duration":{const i=n.type;return new Wl(_e[i.unit])}case"union":{const i=n.type,[a,...u]=(i.mode+"").toLowerCase(),f=a.toUpperCase()+u.join("");return new Gl(Yt[f],i.typeIds||[],e||[])}case"fixedsizebinary":{const i=n.type;return new Yl(i.byteWidth)}case"fixedsizelist":{const i=n.type;return new Ql(i.listSize,(e||[])[0])}case"map":{const i=n.type;return new Kl((e||[])[0],i.keysSorted)}}throw new Error(`Unrecognized type: "${t}"`)}var w1=Ty,S1=Ci;class Bn{static fromJSON(e,t){const i=new Bn(0,ht.V5,t);return i._createHeader=_1(e,t),i}static decode(e){e=new S1($e(e));const t=qr.getRootAsMessage(e),i=t.bodyLength(),a=t.version(),u=t.headerType(),f=new Bn(i,a,u);return f._createHeader=N1(t,u),f}static encode(e){const t=new w1;let i=-1;return e.isSchema()?i=We.encode(t,e.header()):e.isRecordBatch()?i=Ln.encode(t,e.header()):e.isDictionaryBatch()&&(i=kr.encode(t,e.header())),qr.startMessage(t),qr.addVersion(t,ht.V5),qr.addHeader(t,i),qr.addHeaderType(t,e.headerType),qr.addBodyLength(t,BigInt(e.bodyLength)),qr.finishMessageBuffer(t,qr.endMessage(t)),t.asUint8Array()}static from(e,t=0){if(e instanceof We)return new Bn(0,ht.V5,Ve.Schema,e);if(e instanceof Ln)return new Bn(t,ht.V5,Ve.RecordBatch,e);if(e instanceof kr)return new Bn(t,ht.V5,Ve.DictionaryBatch,e);throw new Error(`Unrecognized Message header: ${e}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===Ve.Schema}isRecordBatch(){return this.headerType===Ve.RecordBatch}isDictionaryBatch(){return this.headerType===Ve.DictionaryBatch}constructor(e,t,i,a){this._version=t,this._headerType=i,this.body=new Uint8Array(0),a&&(this._createHeader=()=>a),this._bodyLength=tt(e)}}class Ln{get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}constructor(e,t,i){this._nodes=t,this._buffers=i,this._length=tt(e)}}class kr{get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}constructor(e,t,i=!1){this._data=e,this._isDelta=i,this._id=tt(t)}}class _r{constructor(e,t){this.offset=tt(e),this.length=tt(t)}}class Li{constructor(e,t){this.length=tt(e),this.nullCount=tt(t)}}function _1(n,e){return(()=>{switch(e){case Ve.Schema:return We.fromJSON(n);case Ve.RecordBatch:return Ln.fromJSON(n);case Ve.DictionaryBatch:return kr.fromJSON(n)}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)})}function N1(n,e){return(()=>{switch(e){case Ve.Schema:return We.decode(n.header(new Yn),new Map,n.version());case Ve.RecordBatch:return Ln.decode(n.header(new yr),n.version());case Ve.DictionaryBatch:return kr.decode(n.header(new fi),n.version())}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)})}nt.encode=B1;nt.decode=T1;nt.fromJSON=b1;We.encode=A1;We.decode=j1;We.fromJSON=y1;Ln.encode=E1;Ln.decode=k1;Ln.fromJSON=gv;kr.encode=R1;kr.decode=I1;kr.fromJSON=g1;Li.encode=L1;Li.decode=D1;_r.encode=U1;_r.decode=M1;function j1(n,e=new Map,t=ht.V5){const i=O1(n,e);return new We(i,Ml(n),e,t)}function k1(n,e=ht.V5){if(n.compression()!==null)throw new Error("Record batch compression not implemented");return new Ln(n.length(),C1(n),F1(n,e))}function I1(n,e=ht.V5){return new kr(Ln.decode(n.data(),e),n.id(),n.isDelta())}function M1(n){return new _r(n.offset(),n.length())}function D1(n){return new Li(n.length(),n.nullCount())}function C1(n){const e=[];for(let t,i=-1,a=-1,u=n.nodesLength();++int.encode(n,u));Yn.startFieldsVector(n,t.length);const i=Yn.createFieldsVector(n,t),a=e.metadata&&e.metadata.size>0?Yn.createCustomMetadataVector(n,[...e.metadata].map(([u,f])=>{const h=n.createString(`${u}`),m=n.createString(`${f}`);return gt.startKeyValue(n),gt.addKey(n,h),gt.addValue(n,m),gt.endKeyValue(n)})):-1;return Yn.startSchema(n),Yn.addFields(n,i),Yn.addEndianness(n,$1?Fi.Little:Fi.Big),a!==-1&&Yn.addCustomMetadata(n,a),Yn.endSchema(n)}function B1(n,e){let t=-1,i=-1,a=-1;const u=e.type;let f=e.typeId;me.isDictionary(u)?(f=u.dictionary.typeId,a=fd.visit(u,n),i=fd.visit(u.dictionary,n)):i=fd.visit(u,n);const h=(u.children||[]).map(v=>nt.encode(n,v)),m=hn.createChildrenVector(n,h),g=e.metadata&&e.metadata.size>0?hn.createCustomMetadataVector(n,[...e.metadata].map(([v,x])=>{const b=n.createString(`${v}`),w=n.createString(`${x}`);return gt.startKeyValue(n),gt.addKey(n,b),gt.addValue(n,w),gt.endKeyValue(n)})):-1;return e.name&&(t=n.createString(e.name)),hn.startField(n),hn.addType(n,i),hn.addTypeType(n,f),hn.addChildren(n,m),hn.addNullable(n,!!e.nullable),t!==-1&&hn.addName(n,t),a!==-1&&hn.addDictionary(n,a),g!==-1&&hn.addCustomMetadata(n,g),hn.endField(n)}function E1(n,e){const t=e.nodes||[],i=e.buffers||[];yr.startNodesVector(n,t.length);for(const f of t.slice().reverse())Li.encode(n,f);const a=n.endVector();yr.startBuffersVector(n,i.length);for(const f of i.slice().reverse())_r.encode(n,f);const u=n.endVector();return yr.startRecordBatch(n),yr.addLength(n,BigInt(e.length)),yr.addNodes(n,a),yr.addBuffers(n,u),yr.endRecordBatch(n)}function R1(n,e){const t=Ln.encode(n,e.data);return fi.startDictionaryBatch(n),fi.addId(n,BigInt(e.id)),fi.addIsDelta(n,e.isDelta),fi.addData(n,t),fi.endDictionaryBatch(n)}function L1(n,e){return Ey.createFieldNode(n,BigInt(e.length),BigInt(e.nullCount))}function U1(n,e){return By.createBuffer(n,BigInt(e.offset),BigInt(e.length))}const $1=(()=>{const n=new ArrayBuffer(2);return new DataView(n).setInt16(0,256,!0),new Int16Array(n)[0]===256})(),af=n=>`Expected ${Ve[n]} Message in stream, but was null or length 0.`,lf=n=>`Header pointer of flatbuffer-encoded ${Ve[n]} Message is null or length 0.`,bv=(n,e)=>`Expected to read ${n} metadata bytes, but only read ${e}.`,wv=(n,e)=>`Expected to read ${n} bytes for message body, but only read ${e}.`;class Sv{constructor(e){this.source=e instanceof Xl?e:new Xl(e)}[Symbol.iterator](){return this}next(){let e;return(e=this.readMetadataLength()).done||e.value===-1&&(e=this.readMetadataLength()).done||(e=this.readMetadata(e.value)).done?at:e}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}readMessage(e){let t;if((t=this.next()).done)return null;if(e!=null&&t.value.headerType!==e)throw new Error(af(e));return t.value}readMessageBody(e){if(e<=0)return new Uint8Array(0);const t=$e(this.source.read(e));if(t.byteLength[...a,...u.VALIDITY&&[u.VALIDITY]||[],...u.TYPE_ID&&[u.TYPE_ID]||[],...u.OFFSET&&[u.OFFSET]||[],...u.DATA&&[u.DATA]||[],...t(u.children)],[])}}readMessage(e){let t;if((t=this.next()).done)return null;if(e!=null&&t.value.headerType!==e)throw new Error(af(e));return t.value}readSchema(){const e=Ve.Schema,t=this.readMessage(e),i=t==null?void 0:t.header();if(!t||!i)throw new Error(lf(e));return i}}const hu=4,Rd="ARROW1",tu=new Uint8Array(Rd.length);for(let n=0;nthis):this}readRecordBatch(e){return this._impl.isFile()?this._impl.readRecordBatch(e):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return pn.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return pn.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,t){throw new Error('"throughDOM" not available in this environment')}static from(e){return e instanceof jr?e:Id(e)?Y1(e):Iy(e)?J1(e):Vo(e)?Fe(this,void 0,void 0,function*(){return yield jr.from(yield e)}):My(e)||Wd(e)||Cy(e)||Vd(e)?K1(new Ai(e)):Q1(new Xl(e))}static readAll(e){return e instanceof jr?e.isSync()?Um(e):$m(e):Id(e)||ArrayBuffer.isView(e)||cu(e)||ky(e)?Um(e):$m(e)}}class nu extends jr{constructor(e){super(e),this._impl=e}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return Zn(this,arguments,function*(){yield Ae(yield*bl(_i(this[Symbol.iterator]())))})}}class ru extends jr{constructor(e){super(e),this._impl=e}readAll(){return Fe(this,void 0,void 0,function*(){var e,t,i,a;const u=new Array;try{for(var f=!0,h=_i(this),m;m=yield h.next(),e=m.done,!e;f=!0){a=m.value,f=!1;const g=a;u.push(g)}}catch(g){t={error:g}}finally{try{!f&&!e&&(i=h.return)&&(yield i.call(h))}finally{if(t)throw t.error}}return u})}[Symbol.iterator](){throw new Error("AsyncRecordBatchStreamReader is not Iterable")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}}class Nv extends nu{constructor(e){super(e),this._impl=e}}class W1 extends ru{constructor(e){super(e),this._impl=e}}class jv{get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}constructor(e=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=e}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(e){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=e,this.dictionaries=new Map,this}_loadRecordBatch(e,t){const i=this._loadVectors(e,t,this.schema.fields),a=Re({type:new At(this.schema.fields),length:e.length,children:i});return new An(this.schema,a)}_loadDictionaryBatch(e,t){const{id:i,isDelta:a}=e,{dictionaries:u,schema:f}=this,h=u.get(i),m=f.dictionaries.get(i),g=this._loadVectors(e.data,t,[m]);return(h&&a?h.concat(new Je(g)):new Je(g)).memoize()}_loadVectors(e,t,i){return new fv(t,e.nodes,e.buffers,this.dictionaries,this.schema.metadataVersion).visitMany(i)}}class su extends jv{constructor(e,t){super(t),this._reader=Id(e)?new z1(this._handle=e):new Sv(this._handle=e)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(e){return this.closed||(this.autoDestroy=Iv(this,e),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(e):at}return(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(e):at}next(){if(this.closed)return at;let e;const{_reader:t}=this;for(;e=this._readNextMessageAndValidate();)if(e.isSchema())this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const i=e.header(),a=t.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(i,a)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const i=e.header(),a=t.readMessageBody(e.bodyLength),u=this._loadDictionaryBatch(i,a);this.dictionaries.set(i.id,u)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new yv(this.schema)}):this.return()}_readNextMessageAndValidate(e){return this._reader.readMessage(e)}}class iu extends jv{constructor(e,t){super(t),this._reader=new P1(this._handle=e)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return Fe(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(e){return Fe(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=Iv(this,e),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(e){return Fe(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(e):at})}return(e){return Fe(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(e):at})}next(){return Fe(this,void 0,void 0,function*(){if(this.closed)return at;let e;const{_reader:t}=this;for(;e=yield this._readNextMessageAndValidate();)if(e.isSchema())yield this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const i=e.header(),a=yield t.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(i,a)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const i=e.header(),a=yield t.readMessageBody(e.bodyLength),u=this._loadDictionaryBatch(i,a);this.dictionaries.set(i.id,u)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new yv(this.schema)}):yield this.return()})}_readNextMessageAndValidate(e){return Fe(this,void 0,void 0,function*(){return yield this._reader.readMessage(e)})}}class kv extends su{get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}constructor(e,t){super(e instanceof Fm?e:new Fm(e),t)}isSync(){return!0}isFile(){return!0}open(e){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(const t of this._footer.dictionaryBatches())t&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(e)}readRecordBatch(e){var t;if(this.closed)return null;this._footer||this.open();const i=(t=this._footer)===null||t===void 0?void 0:t.getRecordBatch(e);if(i&&this._handle.seek(i.offset)){const a=this._reader.readMessage(Ve.RecordBatch);if(a!=null&&a.isRecordBatch()){const u=a.header(),f=this._reader.readMessageBody(a.bodyLength);return this._loadRecordBatch(u,f)}}return null}_readDictionaryBatch(e){var t;const i=(t=this._footer)===null||t===void 0?void 0:t.getDictionaryBatch(e);if(i&&this._handle.seek(i.offset)){const a=this._reader.readMessage(Ve.DictionaryBatch);if(a!=null&&a.isDictionaryBatch()){const u=a.header(),f=this._reader.readMessageBody(a.bodyLength),h=this._loadDictionaryBatch(u,f);this.dictionaries.set(u.id,h)}}}_readFooter(){const{_handle:e}=this,t=e.size-_v,i=e.readInt32(t),a=e.readAt(t-i,i);return tf.decode(a)}_readNextMessageAndValidate(e){var t;if(this._footer||this.open(),this._footer&&this._recordBatchIndexsuper.open}});return Fe(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(const i of this._footer.dictionaryBatches())i&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield t.open.call(this,e)})}readRecordBatch(e){return Fe(this,void 0,void 0,function*(){var t;if(this.closed)return null;this._footer||(yield this.open());const i=(t=this._footer)===null||t===void 0?void 0:t.getRecordBatch(e);if(i&&(yield this._handle.seek(i.offset))){const a=yield this._reader.readMessage(Ve.RecordBatch);if(a!=null&&a.isRecordBatch()){const u=a.header(),f=yield this._reader.readMessageBody(a.bodyLength);return this._loadRecordBatch(u,f)}}return null})}_readDictionaryBatch(e){return Fe(this,void 0,void 0,function*(){var t;const i=(t=this._footer)===null||t===void 0?void 0:t.getDictionaryBatch(e);if(i&&(yield this._handle.seek(i.offset))){const a=yield this._reader.readMessage(Ve.DictionaryBatch);if(a!=null&&a.isDictionaryBatch()){const u=a.header(),f=yield this._reader.readMessageBody(a.bodyLength),h=this._loadDictionaryBatch(u,f);this.dictionaries.set(u.id,h)}}})}_readFooter(){return Fe(this,void 0,void 0,function*(){const{_handle:e}=this;e._pending&&(yield e._pending);const t=e.size-_v,i=yield e.readInt32(t),a=yield e.readAt(t-i,i);return tf.decode(a)})}_readNextMessageAndValidate(e){return Fe(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex=4?uf(e)?new Nv(new kv(n.read())):new nu(new su(n)):new nu(new su((function*(){})()))}function K1(n){return Fe(this,void 0,void 0,function*(){const e=yield n.peek(Xo+7&-8);return e&&e.byteLength>=4?uf(e)?new Nv(new kv(yield n.read())):new ru(new iu(n)):new ru(new iu((function(){return Zn(this,arguments,function*(){})})()))})}function J1(n){return Fe(this,void 0,void 0,function*(){const{size:e}=yield n.stat(),t=new eu(n,e);return e>=V1&&uf(yield t.readAt(0,Xo+7&-8))?new W1(new H1(t)):new ru(new iu(t))})}function Mv(n){const e=jr.from(n);return Vo(e)?e.then(t=>Mv(t)):e.isAsync()?e.readAll().then(t=>new gn(t)):new gn(e.readAll())}function q1(n){if(n==null)return null;if(typeof n=="bigint"){const e=Number(n);return Number.isSafeInteger(e)?e:n.toString()}if(n instanceof Date){const e=n.toISOString();return e.endsWith("T00:00:00.000Z")?e.slice(0,10):e}return typeof n=="object"?String(n):n}function Z1(n){const e=Mv(n),t=e.schema.fields.map(a=>a.name),i=new Array(e.numRows);for(let a=0;a({...e,charts:e.charts.map(t=>{var f,h;const i=t.query,a=(f=t.interactions)==null?void 0:f.brush,u=(h=t.interactions)==null?void 0:h.select;return{...t,query:{...i,metrics:Zr(i.metrics)??[],dimensions:Zr(i.dimensions),filters:Zr(i.filters),segments:Zr(i.segments),order_by:Zr(i.order_by),orderBy:Zr(i.orderBy)},interactions:t.interactions?{...t.interactions,brush:typeof a=="object"?{...a,fields:Zr(a.fields)}:a,select:typeof u=="object"?{...u,fields:Zr(u.fields)}:u}:void 0}})}))}}const eS="application/vnd.apache.arrow.stream";class tS{constructor(e){Mn(this,"active",0);Mn(this,"waiters",[]);this.max=e}async run(e){var t;this.active>=this.max&&await new Promise(i=>this.waiters.push(i)),this.active+=1;try{return await e()}finally{this.active-=1,(t=this.waiters.shift())==null||t()}}}function nS(n){var t,i,a,u,f;const e={};return(t=n.metrics)!=null&&t.length&&(e.metrics=n.metrics),(i=n.dimensions)!=null&&i.length&&(e.dimensions=n.dimensions),(a=n.filters)!=null&&a.length&&(e.filters=n.filters),(u=n.segments)!=null&&u.length&&(e.segments=n.segments),(f=n.orderBy)!=null&&f.length&&(e.order_by=n.orderBy),n.limit!=null&&(e.limit=n.limit),n.offset!=null&&(e.offset=n.offset),n.ungrouped&&(e.ungrouped=!0),n.parameters&&(e.parameters=n.parameters),n.usePreaggregations!=null&&(e.use_preaggregations=n.usePreaggregations),n.timezone&&n.timezone!=="UTC"&&(e.timezone=n.timezone),e}class rS{constructor(e={}){Mn(this,"baseUrl");Mn(this,"token");Mn(this,"sessionToken");Mn(this,"transport");Mn(this,"usePreaggregations");Mn(this,"gate");Mn(this,"onUnauthorized");this.baseUrl=(e.baseUrl??"").replace(/\/$/,""),this.token=e.token,this.transport=e.transport??"json",this.usePreaggregations=e.usePreaggregations??!0,this.gate=new tS(e.maxConcurrency??6),this.onUnauthorized=e.onUnauthorized}body(e){return nS({usePreaggregations:this.usePreaggregations,...e})}headers(e){const t={...e};return this.sessionToken?t.Authorization=`Sidemantic-Session ${this.sessionToken}`:this.token&&(t.Authorization=`Bearer ${this.token}`),t}isCrossOrigin(){return!this.baseUrl||typeof globalThis.location>"u"?!1:new URL(this.baseUrl,globalThis.location.href).origin!==globalThis.location.origin}url(e){return`${this.baseUrl}${e}`}async getJson(e){const t=await fetch(this.url(e),{headers:this.headers(),credentials:"include"});if(!t.ok)throw new Error(await this.errorText(t,e));return await t.json()}async errorText(e,t){var a;e.status===401&&((a=this.onUnauthorized)==null||a.call(this));let i="";try{const u=await e.json();i=u.error??u.detail??""}catch{}return`${t} failed (${e.status})${i?`: ${i}`:""}`}async health(){try{return(await fetch(this.url("/health"),{headers:this.headers(),credentials:"include"})).ok}catch{return!1}}async getCatalog(){try{const t=await fetch(this.url("/describe"),{headers:this.headers(),credentials:"include"});if(t.ok){const i=Sb(await t.json());try{return Nb(i,await this.getJson("/graph"))}catch{return i}}}catch{}const e=await this.getJson("/graph");return _b(e)}async getDashboard(){try{const e=await fetch(this.url("/dashboard"),{headers:this.headers()});if(e.status===404)return null;if(!e.ok)throw new Error(await this.errorText(e,"/dashboard"));if(!(e.headers.get("content-type")??"").includes("application/json"))return null;const t=await e.json();return typeof t.title=="string"&&Array.isArray(t.tabs)?X1(t):null}catch{return null}}async compile(e){const t=await fetch(this.url("/compile"),{method:"POST",headers:this.headers({"Content-Type":"application/json"}),credentials:"include",body:JSON.stringify(this.body(e))});if(!t.ok)throw new Error(await this.errorText(t,"/compile"));return(await t.json()).sql}async runQuery(e){return this.gate.run(()=>this.transport==="arrow"?this.runQueryArrow(e):this.runQueryJson(e))}async runQueryJson(e){const t=await fetch(this.url("/query"),{method:"POST",headers:this.headers({"Content-Type":"application/json"}),credentials:"include",body:JSON.stringify(this.body(e))});if(!t.ok)throw new Error(await this.errorText(t,"/query"));const i=await t.json(),a=i.rows??[];return{columns:a.length?Object.keys(a[0]):[],rows:a,rowCount:i.row_count??a.length,sql:i.sql??""}}async runQueryArrow(e){const t=await fetch(this.url("/query?format=arrow"),{method:"POST",headers:this.headers({"Content-Type":"application/json",Accept:eS}),credentials:"include",body:JSON.stringify(this.body(e))});if(!t.ok)throw new Error(await this.errorText(t,"/query"));const i=new Uint8Array(await t.arrayBuffer()),{columns:a,rows:u}=Z1(i),f=t.headers.get("X-Sidemantic-Sql")??"";return{columns:a,rows:u,rowCount:u.length,sql:f}}async createBrowserSession(e){var a;const t=this.isCrossOrigin(),i=await fetch(this.url("/auth/session"),{method:"POST",headers:{Authorization:`Bearer ${e}`,...t?{"X-Sidemantic-Session-Mode":"header"}:{}},credentials:"include"});if(i.status===404||i.ok&&!((a=i.headers.get("content-type"))!=null&&a.includes("application/json"))){this.token=e;return}if(!i.ok)throw new Error(await this.errorText(i,"/auth/session"));if(t){const u=await i.json();if(!u.session_token)throw new Error("/auth/session did not return a cross-origin session token");this.sessionToken=u.session_token}this.token=void 0}}function Dv({brand:n,toolbar:e,filters:t,rail:i,children:a,drawer:u,showRail:f=!0,openRailRequest:h}){const[m,g]=I.useState(()=>typeof window<"u"&&window.matchMedia("(max-width: 767px)").matches),[v,x]=I.useState(()=>typeof window>"u"||!window.matchMedia("(max-width: 767px)").matches),b=I.useId(),w=I.useRef(null),_=I.useRef(null),C=f&&v;return I.useEffect(()=>{const A=window.matchMedia("(max-width: 767px)"),V=()=>{g(A.matches),x(!A.matches)};return A.addEventListener("change",V),()=>A.removeEventListener("change",V)},[]),I.useEffect(()=>{h&&!m&&x(!0)},[h,m]),I.useEffect(()=>{if(!m||!v)return;const A=_.current,V=document.body.style.overflow;document.body.style.overflow="hidden",window.requestAnimationFrame(()=>{var R,O;return(O=(R=w.current)==null?void 0:R.querySelector("button"))==null?void 0:O.focus()});function $(R){var L;if(R.key==="Escape"){R.preventDefault(),x(!1);return}if(R.key!=="Tab")return;const O=(L=w.current)==null?void 0:L.querySelectorAll('button:not(:disabled), select:not(:disabled), input:not(:disabled), [href], [tabindex]:not([tabindex="-1"])');if(!(O!=null&&O.length))return;const E=O[0],D=O[O.length-1];R.shiftKey&&document.activeElement===E?(R.preventDefault(),D.focus()):!R.shiftKey&&document.activeElement===D&&(R.preventDefault(),E.focus())}return document.addEventListener("keydown",$,!0),()=>{document.body.style.overflow=V,document.removeEventListener("keydown",$,!0),A==null||A.focus()}},[m,v]),c.jsxs("div",{className:"flex h-[100dvh] min-w-0 flex-col overflow-hidden bg-bg text-ink",children:[c.jsxs("header",{className:"relative z-40 flex shrink-0 flex-col gap-2 border-b border-line bg-surface px-3 py-2 md:flex-row md:items-center md:justify-between md:gap-3",children:[c.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[f?c.jsx("button",{ref:_,type:"button","aria-label":m?"Open catalog":v?"Collapse sidebar":"Expand sidebar","aria-expanded":v,"aria-controls":b,onClick:()=>x(A=>!A),className:"grid size-7 shrink-0 place-items-center border border-line text-faint hover:border-faint hover:text-ink",children:v?"‹":"›"}):null,n]}),c.jsx("div",{className:"flex w-full min-w-0 flex-wrap items-center gap-2 overflow-visible md:w-auto md:shrink-0 md:flex-nowrap",children:e})]}),t?c.jsx("div",{className:"flex min-h-9 shrink-0 flex-wrap items-center gap-2 overflow-x-auto border-b border-line bg-surface px-3 py-2 md:h-9 md:flex-nowrap md:py-0",children:t}):null,c.jsxs("div",{className:`grid min-h-0 min-w-0 flex-1 grid-cols-1 ${C?"md:grid-cols-[260px_minmax(0,1fr)]":"md:grid-cols-1"}`,children:[f&&C?c.jsxs(c.Fragment,{children:[m?c.jsx("button",{type:"button","aria-label":"Close catalog",className:"fixed inset-0 z-40 bg-black/35 backdrop-blur-[2px]",onClick:()=>x(!1)}):null,c.jsxs("aside",{id:b,ref:w,role:m?"dialog":void 0,"aria-modal":m?"true":void 0,"aria-label":m?"Data catalog":void 0,onClick:A=>{m&&A.target.closest("[data-catalog-metric], [data-catalog-dimension]")&&x(!1)},onChange:()=>m&&x(!1),className:"fixed inset-y-0 left-0 z-50 min-h-0 w-[min(88vw,320px)] overflow-y-auto bg-surface shadow-[var(--shadow)] md:static md:z-auto md:w-auto md:border-r md:border-line md:shadow-none",children:[m?c.jsxs("div",{"data-testid":"catalog-drawer-header",className:"sticky top-0 z-10 flex items-center justify-between border-b border-line bg-surface px-4 py-3",children:[c.jsxs("div",{children:[c.jsx("p",{className:"text-sm font-semibold text-ink",children:"Catalog"}),c.jsx("p",{className:"text-xs text-muted",children:"Choose a model and fields"})]}),c.jsx("button",{type:"button","aria-label":"Close catalog",onClick:()=>x(!1),className:"grid size-10 place-items-center rounded-full bg-surface-soft text-muted hover:bg-line hover:text-ink",children:c.jsx("span",{"aria-hidden":"true",className:"text-xl leading-none",children:"×"})})]}):null,i]})]}):null,c.jsxs("main",{className:"relative min-h-0 min-w-0 overflow-hidden",children:[c.jsx("div",{className:`h-full overflow-y-auto ${u?"pb-8":""}`,children:a}),u]})]})]})}function sS({dashboardTitle:n,modelLabel:e,onHome:t}){const i=c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"text-sm font-semibold text-ink",children:n??"Sidemantic"}),n===void 0&&e?c.jsx("span",{className:"truncate text-2xs text-faint",children:e}):null]});return n!==void 0?c.jsx("span",{className:"flex min-w-0 items-baseline gap-2",children:i}):c.jsx("button",{type:"button",onClick:t,"aria-label":"Home",className:"flex min-w-0 items-baseline gap-2",children:i})}const iS=new Set(["second","minute","hour","day","week","month","quarter","year"]);function hl(n){return n===void 0?[]:Array.isArray(n)?n:[n]}function pl(n,e){return n.models.flatMap(t=>t.dimensions).find(t=>e===t.ref||e.startsWith(`${t.ref}__`))}function oS(n,e){const t=n.split("__").at(-1);return t&&iS.has(t)?t:e}function aS(n){var a;const e=(a=n.defaults)==null?void 0:a.query;if(!e||typeof e!="object")return;const t=e,i=t.use_preaggregations??t.usePreaggregations;return typeof i=="boolean"?i:void 0}function lS(n,e){var u;const t=(u=n.defaults)==null?void 0:u.query,i=t&&typeof t=="object"?t:{},a=e.query.interaction_preaggregations??e.query.interactionPreaggregations??e.interaction_preaggregations??e.interactionPreaggregations??i.interaction_preaggregations??i.interactionPreaggregations;return typeof a=="boolean"?a:void 0}function Fs(n,e,t){var O,E,D,L,G,W,Y;if(!(e!=null&&e.tabs.length))return null;const i=e.tabs.find(P=>P.id===t)??e.tabs[0],a=i.charts[0];if(!a)return null;const u=hl(a.query.dimensions),f=hl(a.query.metrics),h=f.map(P=>{var te;return(te=n.graphMetrics.find(X=>X.ref===P))==null?void 0:te.ownerModel}).find(P=>!!P),m=((O=f.find(P=>P.includes(".")))==null?void 0:O.split(".")[0])??h??((E=u.find(P=>P.includes(".")))==null?void 0:E.split(".")[0]),g=n.models.find(P=>P.name===m)??n.models[0];if(!g)return null;const v=[...n.models.flatMap(P=>P.metrics),...Di(n,g.name)],x=f.map(P=>v.find(te=>te.ref===P)).filter(P=>!!P),b=u.map(P=>pl(n,P)).filter((P,te,X)=>!!P&&X.findIndex(oe=>(oe==null?void 0:oe.ref)===(P==null?void 0:P.ref))===te),w=(D=a.encoding)==null?void 0:D.y,C=(Array.isArray(w)?w:w?[w]:[]).find(P=>x.some(te=>te.ref===P))??((L=x[0])==null?void 0:L.ref)??((G=g.metrics[0])==null?void 0:G.ref)??"",A=(W=a.encoding)==null?void 0:W.x,V=(A&&((Y=pl(n,A))==null?void 0:Y.type)==="time"?A:void 0)??u.find(P=>{var te;return((te=pl(n,P))==null?void 0:te.type)==="time"}),$=g.defaultGrain??"month",R=V?pl(n,V):g.timeDimension;return{id:i.id,label:i.label??i.id,title:a.title??e.title,model:g,metrics:x.length?x:g.metrics,dimensions:b.length?b:g.dimensions,timeDimension:R,selectedMetric:C,grain:V?oS(V,$):$,filters:hl(a.query.filters),segments:hl(a.query.segments),usePreaggregations:lS(e,a)??a.query.use_preaggregations??a.query.usePreaggregations??aS(e)}}const Ld=["second","minute","hour","day","week","month","quarter","year"];function uS(n,e){if(n!=null&&n.length){const i=new Set(n.map(u=>u.toLowerCase())),a=Ld.filter(u=>i.has(u));if(a.length)return a}const t=["day","week","month","quarter","year"];return e&&!t.includes(e)?Ld.filter(i=>i===e||t.includes(i)):t}function Mi(n){return n.toISOString().slice(0,10)}function cf(n){return n.slice(0,10)}function Ei(n){const e=n.trim();return/^\d{4}-\d{2}-\d{2}$/.test(e)?`${e}T00:00:00Z`:/[zZ]|[+-]\d{2}:?\d{2}$/.test(e)?e:`${e.replace(" ","T")}Z`}function Os(n){return new Date(`${cf(n)}T00:00:00Z`)}function Qo(n,e){const t=Os(n);return t.setUTCDate(t.getUTCDate()+e),Mi(t)}function cS(n){return Math.round((Os(n.to).getTime()-Os(n.from).getTime())/864e5)+1}function dS(n){if(n.from.includes("T")||n.to.includes("T")){const a=Date.parse(Ei(n.from)),f=Date.parse(Ei(n.to))-a;return{from:new Date(a-f).toISOString().slice(0,19),to:new Date(a).toISOString().slice(0,19)}}const e=cS(n),t=Qo(n.from,-1);return{from:Qo(t,-(e-1)),to:t}}function Pm(n){if(n.includes("T")){const f=new Date(Ei(n)),h=f.getUTCFullYear()-1,m=f.getUTCMonth(),g=new Date(Date.UTC(h,m+1,0)).getUTCDate();return new Date(Date.UTC(h,m,Math.min(f.getUTCDate(),g),f.getUTCHours(),f.getUTCMinutes(),f.getUTCSeconds())).toISOString().slice(0,19)}const e=Os(n),t=e.getUTCFullYear()-1,i=e.getUTCMonth(),a=e.getUTCDate(),u=new Date(Date.UTC(t,i+1,0)).getUTCDate();return Mi(new Date(Date.UTC(t,i,Math.min(a,u))))}function fS(n){return{from:Pm(n.from),to:Pm(n.to)}}function hS(n,e){const t=n.trim(),i=t.slice(0,10);if(e!=="second"&&e!=="minute"&&e!=="hour")return i||n;const a=t.slice(10).match(/(\d{2}):(\d{2})(?::(\d{2}))?/);if(!a)return i||n;const u=e==="second"&&a[3]?`${a[1]}:${a[2]}:${a[3]}`:`${a[1]}:${a[2]}`;return`${i} ${u}`}const pS=[{key:"7d",label:"Last 7 days",days:7},{key:"28d",label:"Last 28 days",days:28},{key:"90d",label:"Last 90 days",days:90},{key:"180d",label:"Last 180 days",days:180},{key:"365d",label:"Last 12 months",days:365}];function mS(n,e=new Date){const t=Mi(e);return{from:Qo(t,-(n-1)),to:t}}function yS(n,e){return e.from.includes("T")||e.to.includes("T")?[`${n} >= cast('${e.from}' as timestamp)`,`${n} < cast('${e.to}' as timestamp)`]:[`${n} >= cast('${e.from}' as date)`,`${n} < cast('${Qo(e.to,1)}' as date)`]}function zm(n,e,t){if(t==="second"||t==="minute"||t==="hour"){const f=t==="second"?1e3:t==="minute"?6e4:36e5;return Math.round((Date.parse(Ei(e))-Date.parse(Ei(n)))/f)}const i=Os(n),a=Os(e),u=(a.getUTCFullYear()-i.getUTCFullYear())*12+(a.getUTCMonth()-i.getUTCMonth());switch(t){case"week":return Math.round((a.getTime()-i.getTime())/(7*864e5));case"month":return u;case"quarter":return Math.round(u/3);case"year":return a.getUTCFullYear()-i.getUTCFullYear();default:return Math.round((a.getTime()-i.getTime())/864e5)}}function hd(n,e){return new Date(Date.parse(Ei(n))+e).toISOString().slice(0,19)}function gS(n,e){const t=cf(n),i=Os(t);switch(e){case"second":return hd(n,1e3);case"minute":return hd(n,6e4);case"hour":return hd(n,36e5);case"day":return t;case"week":return Qo(n,6);case"month":return Mi(new Date(Date.UTC(i.getUTCFullYear(),i.getUTCMonth()+1,0)));case"quarter":{const a=Math.floor(i.getUTCMonth()/3)*3+3;return Mi(new Date(Date.UTC(i.getUTCFullYear(),a,0)))}case"year":return Mi(new Date(Date.UTC(i.getUTCFullYear(),12,0)));default:return n}}function df(n){return n.mode==="contains"?!n.pattern:n.values.length===0}function ff(n){return Object.fromEntries(n.map(e=>[e.ref,e.type]))}function pu(n){return ff(n.models.flatMap(e=>e.dimensions))}function Vm(n,e){if((e==="numeric"||e==="number")&&n.trim()!==""&&Number.isFinite(Number(n)))return n;if(e==="boolean"){const t=n.toLowerCase();if(t==="true"||t==="false")return t}return Tn(n)}function Cv(n){return n.replaceAll("\\","\\\\").replaceAll("%","\\%").replaceAll("_","\\_")}function vS(n,e,t){const i=e.mode==="exclude",a=e.values.includes(er),u=e.values.filter(h=>h!==er);let f=null;if(u.length===1)f=`${n} ${i?"!=":"="} ${Vm(u[0],t)}`;else if(u.length>1){const h=u.map(m=>Vm(m,t)).join(", ");f=`${n} ${i?"NOT IN":"IN"} (${h})`}if(!i){const h=[];return f&&h.push(f),a&&h.push(`${n} IS NULL`),h.length===0?null:h.length===1?h[0]:`(${h.join(" OR ")})`}if(a){const h=[];return f&&h.push(f),h.push(`${n} IS NOT NULL`),h.length===1?h[0]:`(${h.join(" AND ")})`}return f?`(${f} OR ${n} IS NULL)`:null}function Fv(n,e={}){var i;const t=[];for(const[a,u]of Object.entries(n)){if(a===e.excludeDim||df(u))continue;const f=(i=e.types)==null?void 0:i[a];if(u.mode==="contains"){const m=Tn(`%${Cv(u.pattern??"")}%`);t.push(`CAST(${a} AS VARCHAR) ILIKE ${m} ESCAPE '\\'`);continue}const h=vS(a,u,f);h&&t.push(h)}return t}function Ts(n,e={}){const t=Fv(n,{types:e.types,excludeDim:e.excludeDim});return e.timeRef&&e.range&&t.push(...yS(e.timeRef,e.range)),t}function pd(n,e,t,i){return{metrics:n,filters:e,...t!=null&&t.length?{segments:t}:{},...i!=null?{usePreaggregations:i}:{}}}const xS={second:2e3,minute:2e3,hour:9600,day:4e3,week:800,month:240,quarter:120,year:60};function Wm(n,e,t,i,a,u,f=!1){const h=`${e}__${t}`,m=t==="second"||t==="minute",g=m&&!f;return{metrics:n,dimensions:[h],filters:i,...a!=null&&a.length?{segments:a}:{},...u!=null?{usePreaggregations:u}:{},orderBy:[`${h} ${g?"DESC":"ASC"}`],...!m||g?{limit:xS[t]??2e3}:{}}}function Hm(n,e,t,i=6,a,u){return{metrics:[n],dimensions:[e],filters:t,...a!=null&&a.length?{segments:a}:{},...u!=null?{usePreaggregations:u}:{},orderBy:[`${n} DESC`],limit:i}}function bS(n,e,t=50,i,a){return{dimensions:[n],filters:e,...i!=null&&i.length?{segments:i}:{},...a!=null?{usePreaggregations:a}:{},orderBy:[`${n} ASC`],limit:t}}function wS(n,e,t,i,a=500){return{metrics:n,dimensions:e,filters:t,orderBy:i,limit:a}}function SS(n,e,t=50,i,a){return{dimensions:n.dimensions,metrics:n.metrics,filters:e,...i!=null&&i.length?{segments:i}:{},...a!=null?{usePreaggregations:a}:{},ungrouped:!0,limit:t}}function _S(n,e){const t=n??[];return t.includes(e)?t.filter(i=>i!==e):[...t,e]}function ml(n,e,t){const i={...n};return df(t)?delete i[e]:i[e]=t,i}function NS(n,e){switch(e.type){case"hydrate":return e.state;case"setView":return{...n,view:e.view};case"setDashboardTab":return{...n,view:"explore",dashboardTab:e.tab,model:e.model,selectedMetric:e.metric,grain:e.grain,filters:{},dateRange:void 0,pivotDims:[],pivotMetrics:[]};case"setModel":return{...n,model:e.model,selectedMetric:e.metric,grain:e.grain,filters:{},pivotDims:[],pivotMetrics:[]};case"setMetric":return{...n,selectedMetric:e.metric};case"toggleFilter":{const t=n.filters[e.dim],i=e.mode??(t&&t.mode!=="contains"?t.mode:"include"),a=t&&t.mode===i?t.values:[],u=_S(a,e.value);return{...n,filters:ml(n.filters,e.dim,{mode:i,values:u})}}case"setFilterMode":{const t=n.filters[e.dim],i={mode:e.mode,values:(t==null?void 0:t.values)??[],pattern:t==null?void 0:t.pattern};return{...n,filters:ml(n.filters,e.dim,i)}}case"setFilterPattern":{const t=n.filters[e.dim],i={mode:"contains",values:(t==null?void 0:t.values)??[],pattern:e.pattern};return{...n,filters:ml(n.filters,e.dim,i)}}case"removeFilterValue":{const t=n.filters[e.dim];if(!t)return n;const i=t.values.filter(a=>a!==e.value);return{...n,filters:ml(n.filters,e.dim,{...t,values:i})}}case"removeFilterDim":{const t={...n.filters};return delete t[e.dim],{...n,filters:t}}case"clearFilters":return{...n,filters:{}};case"setGrain":return{...n,grain:e.grain};case"setTimezone":return{...n,timezone:e.timezone};case"setDateRange":return{...n,dateRange:e.range};case"setContextColumn":return{...n,contextColumn:e.column};case"setComparison":return{...n,comparison:e.comparison,comparisonRange:e.comparison==="custom"?e.range:void 0};case"setPivotDims":return{...n,pivotDims:e.dims};case"setPivotMetrics":return{...n,pivotMetrics:e.metrics};case"reset":return{...e.initial,view:n.view};default:return n}}function jS(n){return n.models.find(e=>e.timeDimension)??n.models[0]}function Ov(n,e){var t,i;return((t=n==null?void 0:n.metrics[0])==null?void 0:t.ref)??(n?(i=Di(e,n.name)[0])==null?void 0:i.ref:void 0)??""}function Tv(n,e,t){const i=Fs(n,e,t),a=(i==null?void 0:i.model)??jS(n),u=(i==null?void 0:i.selectedMetric)??Ov(a,n);return{view:i?"explore":"home",dashboardTab:i==null?void 0:i.id,model:(a==null?void 0:a.name)??"",selectedMetric:u,filters:{},grain:(i==null?void 0:i.grain)??(a==null?void 0:a.defaultGrain)??"month",timezone:"UTC",dateRange:void 0,contextColumn:"none",comparison:"previous",comparisonRange:void 0,pivotDims:[],pivotMetrics:[]}}function kS(n,e,t){const i=new URLSearchParams(t),a=i.get("metric"),u=i.get("grain"),f=a===n.selectedMetric&&e.metrics.some(m=>m.ref===a),h=u===n.grain;return{...n,view:"explore",dashboardTab:e.id,model:e.model.name,selectedMetric:f?n.selectedMetric:e.selectedMetric,grain:h?n.grain:e.grain}}const IS=["home","explore","pivot"],MS=new Set(Ld),DS=new Set(["none","pctTotal","delta","deltaPct"]),CS=new Set(["off","previous","year","custom"]),FS="none",OS="previous",TS="UTC";function AS(n){return n!=null&&/^[A-Za-z][A-Za-z0-9/_+-]{0,63}$/.test(n)}function md(n){if(n)try{return JSON.parse(n)}catch{return}}function ou(n){return Array.isArray(n)&&n.every(e=>typeof e=="string")}function yl(n){return n!=null&&/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2})?$/.test(n)&&!Number.isNaN(Date.parse(n))}const BS=new Set(["include","exclude","contains"]);function ES(n){if(ou(n))return{mode:"include",values:n};if(typeof n!="object"||n===null||Array.isArray(n))return null;const e=n;if(!BS.has(e.mode))return null;const t=e.mode,i=ou(e.values)?e.values:[],a=typeof e.pattern=="string"?e.pattern:void 0,u={mode:t,values:i,pattern:a};return df(u)?null:u}function RS(n){if(typeof n!="object"||n===null||Array.isArray(n))return null;const e={};for(const[t,i]of Object.entries(n)){const a=ES(i);a&&(e[t]=a)}return e}function LS(n){const e={};for(const[t,i]of Object.entries(n))e[t]=i.mode==="include"?i.values:i;return e}function US(n){const e=new URLSearchParams;return e.set("view",n.view),n.dashboardTab&&e.set("tab",n.dashboardTab),n.model&&e.set("model",n.model),n.selectedMetric&&e.set("metric",n.selectedMetric),n.grain&&e.set("grain",n.grain),n.timezone&&n.timezone!==TS&&e.set("tz",n.timezone),n.dateRange&&(e.set("from",n.dateRange.from),e.set("to",n.dateRange.to)),n.contextColumn!==FS&&e.set("ctx",n.contextColumn),n.comparison!==OS&&e.set("cmp",n.comparison),n.comparison==="custom"&&n.comparisonRange&&(e.set("cfrom",n.comparisonRange.from),e.set("cto",n.comparisonRange.to)),Object.keys(n.filters).length&&e.set("filters",JSON.stringify(LS(n.filters))),n.pivotDims.length&&e.set("pdims",JSON.stringify(n.pivotDims)),n.pivotMetrics.length&&e.set("pmetrics",JSON.stringify(n.pivotMetrics)),e.toString()}function $S(n,e){const t=new URLSearchParams(n),i={...e},a=t.get("view");a&&IS.includes(a)&&(i.view=a);const u=t.get("tab");u&&(i.dashboardTab=u);const f=t.get("model");f&&(i.model=f);const h=t.get("metric");h&&(i.selectedMetric=h);const m=t.get("grain");m&&MS.has(m)&&(i.grain=m);const g=t.get("tz");AS(g)&&(i.timezone=g);const v=t.get("from"),x=t.get("to");yl(v)&&yl(x)&&Date.parse(v)<=Date.parse(x)&&(i.dateRange={from:v,to:x});const b=t.get("ctx");b&&DS.has(b)&&(i.contextColumn=b);const w=t.get("cmp");w&&CS.has(w)&&(i.comparison=w);const _=t.get("cfrom"),C=t.get("cto");i.comparison==="custom"&&yl(_)&&yl(C)&&Date.parse(_)<=Date.parse(C)&&(i.comparisonRange={from:_,to:C});const A=RS(md(t.get("filters")));A&&(i.filters=A);const V=md(t.get("pdims"));ou(V)&&(i.pivotDims=V);const $=md(t.get("pmetrics"));return ou($)&&(i.pivotMetrics=$),i}const Av=I.createContext(null);function Gm(n){const e=US(n);return e?`?${e}`:""}function Ym(n,e,t,i){const a=$S(n,i),u=Fs(e,t,a.dashboardTab);return u?kS(a,u,n):a}const Qm=n=>n.startsWith("?")?n.slice(1):n;function PS({catalog:n,backend:e,dashboard:t,initialSearch:i,onSearchChange:a,children:u}){const f=I.useMemo(()=>Tv(n,t),[n,t]),[h,m]=I.useReducer(NS,void 0,()=>{const b=i??(typeof window>"u"?"":window.location.search);return Ym(b,n,t,f)}),g=I.useRef(i);I.useEffect(()=>{i===void 0||i===g.current||(g.current=i,Qm(i)!==Qm(Gm(h))&&m({type:"hydrate",state:Ym(i,n,t,f)}))},[i,h,n,t,f]);const v=I.useRef(a);v.current=a,I.useEffect(()=>{const b=Gm(h),w=v.current;if(w){w(b);return}typeof window>"u"||window.history.replaceState(null,"",`${window.location.pathname}${b}`)},[h]);const x=I.useMemo(()=>({state:h,dispatch:m,catalog:n,backend:e,initial:f,dashboard:t}),[h,n,e,f,t]);return c.jsx(Av.Provider,{value:x,children:u})}function ls(){const n=I.useContext(Av);if(!n)throw new Error("useExplorer must be used within ExplorerProvider");return n}const Ms={active:0,listeners:new Set};function Bv(){for(const n of Ms.listeners)n()}function zS(){Ms.active+=1,Bv()}function VS(){Ms.active=Math.max(0,Ms.active-1),Bv()}function Ev(){return I.useSyncExternalStore(n=>(Ms.listeners.add(n),()=>Ms.listeners.delete(n)),()=>Ms.active>0,()=>!1)}const WS=80;function En(n,e){const[t,i]=I.useState({loading:!1}),a=I.useRef(0),u=e?JSON.stringify(e):null;return I.useEffect(()=>{if(!e){i({loading:!1});return}const f=++a.current;i(m=>({result:m.result,resultKey:m.resultKey,loading:!0}));const h=setTimeout(()=>{zS(),n.runQuery(e).then(m=>{f===a.current&&i({result:m,resultKey:u??void 0,loading:!1})}).catch(m=>{f===a.current&&i({loading:!1,error:m instanceof Error?m.message:String(m)})}).finally(()=>VS())},WS);return()=>clearTimeout(h)},[u,n]),{...t,queryKey:u??void 0}}const HS=[{mode:"include",label:"Include"},{mode:"exclude",label:"Exclude"},{mode:"contains",label:"Contains"}],GS=50,Km=200;function Jm(n,e){const[t,i]=I.useState(n);return I.useEffect(()=>{const a=setTimeout(()=>i(n),e);return()=>clearTimeout(a)},[n,e]),t}function Rv({dim:n,model:e,onClose:t}){var H,N;const{state:i,dispatch:a,backend:u,catalog:f,dashboard:h}=ls(),m=I.useMemo(()=>Fs(f,h,i.dashboardTab),[f,h,i.dashboardTab]),g=i.filters[n.ref],[v,x]=I.useState((g==null?void 0:g.mode)??"include"),b=I.useMemo(()=>new Set((g==null?void 0:g.mode)!=="contains"?(g==null?void 0:g.values)??[]:[]),[g]),w=I.useRef(null),_=I.useRef(null),C=I.useId(),[A,V]=I.useState(""),$=Jm(A,Km),R=(g==null?void 0:g.mode)==="contains"?g.pattern??"":"",[O,E]=I.useState(R),D=Jm(O,Km);I.useEffect(()=>{var ee;const F=document.activeElement;return(ee=_.current)==null||ee.focus(),()=>{var he;return(he=F==null?void 0:F.focus)==null?void 0:he.call(F)}},[]),I.useEffect(()=>{function F(he){he.key==="Escape"&&(he.stopPropagation(),t())}function ee(he){w.current&&!w.current.contains(he.target)&&t()}return document.addEventListener("keydown",F,!0),document.addEventListener("mousedown",ee,!0),()=>{document.removeEventListener("keydown",F,!0),document.removeEventListener("mousedown",ee,!0)}},[t]),I.useEffect(()=>{v==="contains"&&D!==R&&a({type:"setFilterPattern",dim:n.ref,pattern:D})},[D,v,n.ref,a]);const L=((H=m==null?void 0:m.timeDimension)==null?void 0:H.ref)??((N=e.timeDimension)==null?void 0:N.ref),G=I.useMemo(()=>pu(f),[f]),W=I.useMemo(()=>{const F=[...(m==null?void 0:m.filters)??[],...Ts(i.filters,{timeRef:L,range:i.dateRange,excludeDim:n.ref,types:G})];if($.trim()){const ee=Tn(`%${Cv($.trim())}%`);F.push(`CAST(${n.ref} AS VARCHAR) ILIKE ${ee} ESCAPE '\\'`)}return F},[m,i.filters,L,i.dateRange,n.ref,$,G]),Y=v!=="contains",{result:P,loading:te,error:X}=En(u,Y?bS(n.ref,W,GS,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations):null),oe=Sr(n.ref),ae=I.useMemo(()=>P?P.rows.map(F=>{const ee=F[oe];return ee==null?er:String(ee)}):[],[P,oe]),se=!!P&&P.rows.length>0&&!P.columns.includes(oe),ne=Y&&(te||se);function T(F){x(F),g&&a({type:"setFilterMode",dim:n.ref,mode:F}),F==="contains"&&E(R)}function Q(F){var pe;if(F.key!=="Tab")return;const ee=(pe=w.current)==null?void 0:pe.querySelectorAll('button, input, [href], select, textarea, [tabindex]:not([tabindex="-1"])');if(!ee||ee.length===0)return;const he=ee[0],re=ee[ee.length-1];F.shiftKey&&document.activeElement===he?(F.preventDefault(),re.focus()):!F.shiftKey&&document.activeElement===re&&(F.preventDefault(),he.focus())}return c.jsxs("div",{ref:w,role:"dialog","aria-modal":"true","aria-labelledby":C,onKeyDown:Q,className:"absolute left-0 z-50 mt-1 w-64 border border-line bg-surface p-2 text-2xs shadow-lg",children:[c.jsxs("div",{id:C,className:"mb-2 flex items-baseline justify-between gap-2",children:[c.jsx("span",{className:"truncate font-semibold text-ink",children:n.label}),c.jsx("button",{type:"button","aria-label":"Close filter editor",onClick:t,className:"grid size-4 place-items-center rounded-full bg-surface-soft text-faint hover:bg-line hover:text-ink",children:"×"})]}),c.jsx("div",{role:"group","aria-label":"Filter mode",className:"mb-2 grid grid-cols-3 gap-px border border-line bg-line",children:HS.map(({mode:F,label:ee})=>c.jsx("button",{type:"button","aria-pressed":v===F,onClick:()=>T(F),className:`px-1.5 py-1 text-center ${v===F?"bg-accent-soft font-medium text-accent":"bg-surface text-muted hover:bg-surface-soft"}`,children:ee},F))}),v==="contains"?c.jsx("input",{ref:_,type:"text","aria-label":`${n.label} contains`,placeholder:"Substring…",value:O,onChange:F=>E(F.target.value),className:"w-full border border-line bg-surface px-1.5 py-1 text-2xs text-ink placeholder:text-faint"}):c.jsxs(c.Fragment,{children:[c.jsx("input",{ref:_,type:"text","aria-label":`Search ${n.label} values`,placeholder:"Search values…",value:A,onChange:F=>V(F.target.value),className:"w-full border border-line bg-surface px-1.5 py-1 text-2xs text-ink placeholder:text-faint"}),c.jsx("div",{className:"mt-2 max-h-56 overflow-y-auto",role:"group","aria-label":`${n.label} values`,children:X?c.jsx("p",{className:"px-1 py-2 text-danger",children:X}):ne?c.jsx("div",{className:"space-y-1.5 p-1",children:[0,1,2,3,4].map(F=>c.jsx("div",{className:"skeleton h-4 w-full"},F))}):ae.length===0?c.jsx("p",{className:"px-1 py-2 text-faint",children:"No values"}):ae.map(F=>{const ee=b.has(F);return c.jsxs("label",{className:"flex cursor-pointer items-center gap-2 px-1 py-1 hover:bg-surface-soft",children:[c.jsx("input",{type:"checkbox",checked:ee,onChange:()=>a({type:"toggleFilter",dim:n.ref,value:F,mode:v}),className:"size-3 accent-[var(--accent)]"}),c.jsx("span",{className:"min-w-0 truncate text-ink",children:rs(F)})]},F)})})]}),c.jsxs("div",{className:"mt-2 flex items-center justify-between border-t border-line pt-2",children:[c.jsx("button",{type:"button",onClick:()=>a({type:"removeFilterDim",dim:n.ref}),className:"text-muted underline-offset-2 hover:text-ink hover:underline",children:"Clear"}),c.jsx("button",{type:"button",onClick:t,className:"border border-line px-2 py-1 text-muted hover:bg-surface-soft",children:"Done"})]})]})}function YS({model:n}){const e=n.dimensions.filter(m=>m.type!=="time"),[t,i]=I.useState(!1),[a,u]=I.useState(null),f=I.useRef(null);I.useEffect(()=>{if(!t)return;function m(v){v.key==="Escape"&&h()}function g(v){a||f.current&&!f.current.contains(v.target)&&h()}return document.addEventListener("keydown",m,!0),document.addEventListener("mousedown",g,!0),()=>{document.removeEventListener("keydown",m,!0),document.removeEventListener("mousedown",g,!0)}},[t,a]);function h(){i(!1),u(null)}return e.length===0?null:c.jsxs("span",{ref:f,className:"relative inline-flex",children:[c.jsx("button",{type:"button","aria-haspopup":"dialog","aria-expanded":t,onClick:()=>t?h():i(!0),className:"inline-flex h-7 shrink-0 items-center rounded-full border border-dashed border-line px-3 text-xs text-muted hover:border-faint hover:text-ink",children:"+ Filter"}),t&&!a?c.jsx("div",{role:"menu","aria-label":"Add a filter for a dimension",className:"absolute left-0 z-50 mt-1 max-h-64 w-48 overflow-y-auto rounded-xl border border-line bg-surface p-1.5 text-2xs shadow-[var(--shadow)]",children:e.map(m=>c.jsx("button",{type:"button",role:"menuitem",onClick:()=>u(m),className:"block w-full truncate px-1.5 py-1 text-left text-muted hover:bg-surface-soft hover:text-ink",children:m.label},m.ref))}):null,t&&a?c.jsx(Rv,{dim:a,model:n,onClose:h}):null]})}function yd(n,e){return n.includes(e)?n.filter(t=>t!==e):[...n,e]}function qm({metric:n,selected:e,multiple:t,onSelect:i}){return c.jsxs("button",{type:"button","data-catalog-metric":n.ref,"data-selected":e||void 0,"aria-pressed":e,title:n.description,onClick:i,className:"flex w-full items-center justify-between gap-2 border-l-2 px-3 py-1 text-left text-xs hover:bg-surface-soft data-[selected=true]:border-l-accent data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent border-l-transparent text-muted",children:[c.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[t?c.jsx("span",{"aria-hidden":"true",className:"w-3 shrink-0 text-center text-accent",children:e?"✓":""}):null,c.jsx("span",{className:"truncate",children:n.label})]}),n.agg?c.jsx("span",{className:"shrink-0 text-2xs text-faint",children:n.agg}):null]})}function QS({dimension:n,selected:e,onSelect:t}){return c.jsxs("button",{type:"button","data-catalog-dimension":n.ref,"data-selected":e||void 0,"aria-pressed":e,title:n.description,onClick:t,className:"flex w-full items-center justify-between gap-2 border-l-2 border-l-transparent px-3 py-1 text-left text-xs text-muted hover:bg-surface-soft data-[selected=true]:border-l-accent data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent",children:[c.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[c.jsx("span",{"aria-hidden":"true",className:"w-3 shrink-0 text-center",children:e?"✓":""}),c.jsx("span",{className:"truncate",children:n.label})]}),c.jsx("span",{className:"shrink-0 text-2xs text-faint",children:n.type==="time"?"time":""})]})}function KS(){const{state:n,dispatch:e,catalog:t}=ls(),i=t.models.find(h=>h.name===n.model),a=Di(t,n.model),u=n.view==="pivot",f=n.pivotMetrics.length?n.pivotMetrics:n.selectedMetric?[n.selectedMetric]:[];return c.jsxs("nav",{"aria-label":"Semantic layer catalog",className:"flex flex-col gap-4 py-3 text-sm",children:[c.jsxs("section",{className:"px-3",children:[c.jsx("h2",{className:"mb-1 text-xs font-medium text-muted",children:"Model"}),c.jsx("select",{"aria-label":"Model",value:n.model,onChange:h=>{var v,x;const m=t.models.find(b=>b.name===h.target.value),g=((v=m==null?void 0:m.metrics[0])==null?void 0:v.ref)??((x=Di(t,h.target.value)[0])==null?void 0:x.ref)??"";e({type:"setModel",model:h.target.value,metric:g,grain:(m==null?void 0:m.defaultGrain)??"month"})},className:"w-full border border-line bg-surface px-2 py-1 text-xs text-ink",children:t.models.map(h=>c.jsx("option",{value:h.name,children:h.label},h.name))})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-1 px-3 text-xs font-medium text-muted",children:"Metrics"}),c.jsx("div",{children:((i==null?void 0:i.metrics)??[]).map(h=>c.jsx(qm,{metric:h,selected:u?f.includes(h.ref):n.selectedMetric===h.ref,multiple:u,onSelect:()=>e(u?{type:"setPivotMetrics",metrics:yd(f,h.ref)}:{type:"setMetric",metric:h.ref})},h.ref))}),a.length?c.jsxs(c.Fragment,{children:[c.jsx("h3",{className:"mb-1 mt-3 px-3 text-xs font-medium text-muted",children:"Shared metrics"}),c.jsx("div",{children:a.map(h=>c.jsx(qm,{metric:h,selected:u?f.includes(h.ref):n.selectedMetric===h.ref,multiple:u,onSelect:()=>e(u?{type:"setPivotMetrics",metrics:yd(f,h.ref)}:{type:"setMetric",metric:h.ref})},h.ref))})]}):null]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-1 px-3 text-xs font-medium text-muted",children:"Dimensions"}),u?c.jsx("div",{children:((i==null?void 0:i.dimensions)??[]).map(h=>c.jsx(QS,{dimension:h,selected:n.pivotDims.includes(h.ref),onSelect:()=>e({type:"setPivotDims",dims:yd(n.pivotDims,h.ref)})},h.ref))}):c.jsx("ul",{className:"px-3 text-xs text-muted",children:((i==null?void 0:i.dimensions)??[]).map(h=>c.jsxs("li",{className:"flex items-center justify-between gap-2 py-0.5",title:h.description,children:[c.jsx("span",{className:"truncate",children:h.label}),c.jsx("span",{className:"shrink-0 text-2xs text-faint",children:h.type==="time"?"time":""})]},h.ref))})]})]})}class JS extends I.Component{constructor(){super(...arguments);Mn(this,"state",{})}static getDerivedStateFromError(t){return{error:t}}render(){return this.state.error?c.jsx("div",{className:"p-4",children:c.jsxs("div",{className:"border border-danger/40 bg-surface p-4",children:[c.jsx("p",{className:"text-sm font-semibold text-danger",children:"Something went wrong rendering this view."}),c.jsx("p",{className:"mt-1 break-words text-xs text-muted",children:this.state.error.message}),c.jsxs("div",{className:"mt-3 flex gap-2",children:[c.jsx("button",{type:"button",onClick:()=>this.setState({error:void 0}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Retry"}),c.jsx("button",{type:"button",onClick:()=>window.location.reload(),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Reload"})]})]})}):this.props.children}}const qS=[{key:"off",label:"Off"},{key:"previous",label:"Previous period"},{key:"year",label:"Previous year"},{key:"custom",label:"Custom range"}];function Lv({range:n,disabled:e,onChange:t,comparison:i,comparisonRange:a,onComparisonChange:u}){const f=I.useRef(null),[h,m]=I.useState((n==null?void 0:n.from)??""),[g,v]=I.useState((n==null?void 0:n.to)??""),[x,b]=I.useState((a==null?void 0:a.from)??""),[w,_]=I.useState((a==null?void 0:a.to)??"");function C(){f.current&&(f.current.open=!1)}function A(O){t(O),C()}function V(O){O==="custom"?u("custom",x&&w?{from:x,to:w}:void 0):u(O)}const $=n?`${n.from} → ${n.to}`:"All time",R=!n;return c.jsxs("details",{ref:f,className:"relative text-xs",onToggle:O=>{e&&(O.currentTarget.open=!1)},children:[c.jsxs("summary",{"aria-disabled":e||void 0,tabIndex:e?-1:void 0,onClick:O=>e&&O.preventDefault(),onKeyDown:O=>{e&&(O.key==="Enter"||O.key===" ")&&O.preventDefault()},className:`flex h-7 cursor-pointer items-center gap-1.5 rounded-full border border-line bg-surface px-3 text-ink ${e?"cursor-not-allowed opacity-50":""}`,children:[c.jsx("span",{className:"text-faint",children:"Range"}),c.jsx("span",{className:"tnum",children:$}),c.jsx("span",{"aria-hidden":"true",className:"text-faint",children:"▾"})]}),c.jsxs("div",{className:"absolute right-0 z-50 mt-1 w-64 rounded-xl border border-line bg-surface p-1.5 shadow-[var(--shadow)]",children:[c.jsx("button",{type:"button",onClick:()=>A(void 0),className:"w-full rounded-lg px-2.5 py-1.5 text-left text-xs text-muted hover:bg-surface-soft hover:text-ink",children:"All time"}),c.jsx("div",{className:"grid grid-cols-2",children:pS.map(O=>c.jsx("button",{type:"button",onClick:()=>A(mS(O.days)),className:"rounded-lg px-2.5 py-1.5 text-left text-xs text-muted hover:bg-surface-soft hover:text-ink",children:O.label},O.key))}),c.jsxs("div",{className:"mt-2 px-1 pb-1",children:[c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx("input",{type:"date","aria-label":"From date",value:h,onChange:O=>m(O.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"}),c.jsx("span",{className:"text-faint",children:"→"}),c.jsx("input",{type:"date","aria-label":"To date",value:g,onChange:O=>v(O.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"})]}),c.jsx("button",{type:"button",disabled:!h||!g,onClick:()=>A({from:h,to:g}),className:"mt-1.5 inline-flex h-7 w-full items-center justify-center rounded-full border border-accent bg-accent-soft text-xs font-medium text-accent hover:bg-accent hover:text-surface disabled:pointer-events-none disabled:opacity-50",children:"Apply custom range"})]}),c.jsxs("div",{className:"mt-1 px-1 pb-1","data-testid":"comparison-picker",children:[c.jsx("p",{className:"mb-1 px-1.5 text-2xs text-faint",children:"Compare to"}),c.jsx("div",{className:`grid grid-cols-2 ${R?"opacity-50":""}`,children:qS.map(O=>c.jsx("button",{type:"button",disabled:R,"data-comparison":O.key,"data-active":i===O.key||void 0,onClick:()=>V(O.key),className:"rounded-lg px-2.5 py-1.5 text-left text-xs text-muted hover:bg-surface-soft hover:text-ink data-[active=true]:bg-accent-soft data-[active=true]:text-accent",children:O.label},O.key))}),i==="custom"&&!R?c.jsxs("div",{className:"mt-1.5",children:[c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx("input",{type:"date","aria-label":"Comparison from date",value:x,onChange:O=>b(O.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"}),c.jsx("span",{className:"text-faint",children:"→"}),c.jsx("input",{type:"date","aria-label":"Comparison to date",value:w,onChange:O=>_(O.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"})]}),c.jsx("button",{type:"button",disabled:!x||!w,onClick:()=>u("custom",{from:x,to:w}),className:"mt-1.5 inline-flex h-7 w-full items-center justify-center rounded-full border border-accent bg-accent-soft text-xs font-medium text-accent hover:bg-accent hover:text-surface disabled:pointer-events-none disabled:opacity-50",children:"Apply comparison"})]}):null]})]})]})}function Ud(n){const[e,t]=I.useState(!1);if(!("dim"in n))return c.jsxs("span",{"data-dimension":n.dimension,"data-value":n.value,className:"inline-flex max-w-full items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 text-2xs leading-4 text-muted",children:[c.jsxs("span",{className:"truncate",children:[c.jsxs("span",{className:"text-faint",children:[n.dimensionLabel??n.dimension,":"]})," ",n.value]}),n.onRemove?c.jsx("button",{type:"button","aria-label":`Remove filter ${n.value}`,onClick:n.onRemove,className:"-mr-0.5 px-0.5 text-faint hover:text-ink",children:"×"}):null]});const{dim:i,model:a,filter:u,onRemove:f}=n;return c.jsxs("span",{className:"relative inline-flex max-w-full items-center","data-dimension":i.ref,"data-mode":u.mode,children:[c.jsxs("span",{className:"inline-flex max-w-full items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 text-2xs leading-4 text-muted",children:[c.jsxs("button",{type:"button","aria-label":`Edit filter ${i.label}`,"aria-haspopup":"dialog","aria-expanded":e,onClick:()=>t(h=>!h),className:"min-w-0 truncate text-left hover:text-ink",children:[c.jsx("span",{className:"text-faint",children:i.label})," ",bb(u)]}),c.jsx("button",{type:"button","aria-label":`Remove filter ${i.label}`,onClick:f,className:"grid size-3.5 shrink-0 place-items-center rounded-full bg-surface-soft text-faint hover:bg-line hover:text-ink",children:"×"})]}),e?c.jsx(Rv,{dim:i,model:a,onClose:()=>t(!1)}):null]})}function $d({grain:n,options:e,disabled:t,onChange:i}){return c.jsxs("label",{className:"flex items-center gap-1.5 text-xs text-faint",children:[c.jsx("span",{className:"hidden sm:inline",children:"Grain"}),c.jsx("select",{"aria-label":"Time grain",value:n,disabled:t,onChange:a=>i(a.target.value),className:"h-7 rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50",children:e.map(a=>c.jsx("option",{value:a,children:Le(a)},a))})]})}const ZS=["UTC","America/Los_Angeles","America/Denver","America/Chicago","America/New_York","America/Sao_Paulo","Europe/London","Europe/Berlin","Europe/Paris","Europe/Moscow","Asia/Dubai","Asia/Kolkata","Asia/Singapore","Asia/Shanghai","Asia/Tokyo","Australia/Sydney"];let gl=null;function Zm(){if(gl)return gl;const n=typeof Intl.supportedValuesOf=="function"?Intl.supportedValuesOf("timeZone"):[];return gl=[...new Set(["UTC",...n])].sort(),gl}function XS(n){if(!n)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:n}),!0}catch{return!1}}function e_(n,e=new Date){var t;try{const u=(((t=new Intl.DateTimeFormat("en-US",{timeZone:n,timeZoneName:"shortOffset"}).formatToParts(e).find(g=>g.type==="timeZoneName"))==null?void 0:t.value)??"").match(/([+-])(\d{1,2})(?::(\d{2}))?/);if(!u)return n==="UTC"?"+00:00":"";const f=u[1],h=u[2].padStart(2,"0"),m=u[3]??"00";return`${f}${h}:${m}`}catch{return""}}const Xm="__search__";function t_({timezone:n,disabled:e,onChange:t}){const i=I.useId(),[a,u]=I.useState(!1),[f,h]=I.useState(""),m=I.useMemo(()=>{const b=new Set(ZS);return n&&b.add(n),[...b]},[n]),g=I.useMemo(()=>a?Zm():[],[a]);function v(b){const w=b.trim();XS(w)&&(t(w),u(!1),h(""))}if(a)return c.jsxs("label",{className:"flex items-center gap-1.5 text-2xs text-faint",children:[c.jsx("span",{className:"hidden sm:inline",children:"Zone"}),c.jsx("input",{type:"text",list:i,autoFocus:!0,"aria-label":"Search timezone",placeholder:"Region/City…",value:f,disabled:e,onChange:b=>{h(b.target.value),Zm().includes(b.target.value)&&v(b.target.value)},onKeyDown:b=>{b.key==="Enter"?v(f):b.key==="Escape"&&(u(!1),h(""))},onBlur:()=>{u(!1),h("")},className:"h-7 w-36 rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50"}),c.jsx("datalist",{id:i,children:g.map(b=>c.jsx("option",{value:b},b))})]});const x=e_(n);return c.jsxs("label",{className:"flex items-center gap-1.5 text-2xs text-faint",children:[c.jsx("span",{className:"hidden sm:inline",children:"Zone"}),c.jsxs("select",{"aria-label":"Timezone",value:n,disabled:e,onChange:b=>{b.target.value===Xm?u(!0):t(b.target.value)},className:"h-7 max-w-[11rem] rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50",children:[m.map(b=>c.jsxs("option",{value:b,children:[b,b==="UTC"?"":x&&b===n?` (${x})`:""]},b)),c.jsx("option",{value:Xm,children:"Search…"})]})]})}function n_(n,e,t){if(t==="count")return n.length;const i=n.map(u=>typeof u[e]=="number"?u[e]:Number(u[e])).filter(Number.isFinite);if(i.length===0)return Number.NaN;if(t==="min")return Math.min(...i);if(t==="max")return Math.max(...i);const a=i.reduce((u,f)=>u+f,0);return t==="avg"?a/i.length:a}const r_={sum:"Σ",avg:"avg",min:"min",max:"max",count:"n"};function Ui({columns:n,rows:e,loading:t,sortKey:i,sortDir:a,onSort:u,renderCell:f,pageSize:h=50,searchable:m,totals:g,stickyHeader:v=!0}){const[x,b]=I.useState(0),[w,_]=I.useState(""),C=I.useMemo(()=>{const D=w.trim().toLowerCase();return!m||!D?e:e.filter(L=>n.some(G=>String(L[G.key]??"").toLowerCase().includes(D)))},[e,n,w,m]),{paginate:A,pageCount:V,safePage:$,start:R,visibleRows:O}=yb(C,x,h);I.useEffect(()=>{b(0)},[e,h,i,a,w]);const E=g&&n.some(D=>g[D.key]);return c.jsxs("div",{children:[m?c.jsxs("div",{className:"mb-2 flex items-center justify-end gap-2",children:[w?c.jsxs("span",{className:"whitespace-nowrap text-2xs text-faint tnum",children:[C.length.toLocaleString()," of ",e.length.toLocaleString()]}):null,c.jsx("input",{type:"search","aria-label":"Search rows",placeholder:"Search…",value:w,onChange:D=>_(D.target.value),className:"h-7 w-full max-w-64 rounded-full border border-line bg-surface px-2.5 text-xs text-ink placeholder:text-faint"})]}):null,c.jsx("div",{className:"overflow-auto border border-line bg-surface",children:c.jsxs("table",{className:"w-max min-w-full border-collapse text-xs","data-testid":"pivot-table",children:[c.jsx("thead",{children:c.jsx("tr",{className:"bg-surface-soft",children:n.map(D=>{const L=i===D.key;return c.jsx("th",{className:`max-w-80 whitespace-nowrap border-b border-line bg-surface-soft px-3 py-1.5 font-semibold text-faint ${D.numeric?"min-w-32 text-right":"min-w-40 text-left"} ${v?"sticky top-0 z-10":""}`,children:D.sortable&&u?c.jsxs("button",{type:"button",onClick:()=>u(D.key),"aria-label":`Sort by ${D.label}${L?`, currently ${a==="asc"?"ascending":"descending"}`:""}`,className:`table-sort inline-flex max-w-full items-center gap-1 whitespace-nowrap hover:text-ink ${L?"text-ink":""}`,children:[c.jsx("span",{className:"truncate",children:D.label}),c.jsx("span",{"aria-hidden":"true",className:"text-[9px]",children:L?a==="asc"?"▲":"▼":"↕"})]}):c.jsx("span",{className:"block truncate",title:D.label,children:D.label})},D.key)})})}),c.jsx("tbody",{children:t&&C.length===0?c.jsx("tr",{children:c.jsx("td",{colSpan:n.length,className:"px-3 py-6 text-center text-faint",children:"Loading…"})}):C.length===0?c.jsx("tr",{children:c.jsx("td",{colSpan:n.length,className:"px-3 py-6 text-center text-faint",children:w?"No matching rows":"No rows"})}):O.map((D,L)=>c.jsx("tr",{className:"hover:bg-surface-soft",children:n.map(G=>{const W=f(G,D[G.key]);return c.jsx("td",{className:`max-w-80 whitespace-nowrap border-b border-line px-3 py-1.5 text-muted ${G.numeric?"min-w-32 text-right font-mono tnum text-ink":"min-w-40"}`,children:c.jsx("span",{className:"block max-w-80 truncate",title:W,children:W})},G.key)})},R+L))}),E&&C.length>0?c.jsx("tfoot",{children:c.jsx("tr",{className:"bg-surface-soft","data-testid":"table-totals",children:n.map(D=>{const L=g==null?void 0:g[D.key];if(!L)return c.jsx("td",{className:"border-t border-line px-3 py-1.5"},D.key);const G=n_(C,D.key,L),W=L==="count"?G.toLocaleString():Number.isFinite(G)?f(D,G):"—";return c.jsxs("td",{"data-total":L,className:`whitespace-nowrap border-t border-line px-3 py-1.5 font-mono tnum font-medium text-ink ${D.numeric?"text-right":"text-left"}`,children:[c.jsx("span",{"aria-hidden":"true",className:"mr-1 text-2xs text-faint",children:r_[L]}),W]},D.key)})})}):null]})}),A?c.jsxs("div",{"data-testid":"pivot-table-pager",className:"mt-1.5 flex items-center justify-between gap-3 text-2xs text-faint",children:[c.jsxs("span",{className:"tnum",children:[R+1,"–",Math.min(R+h,C.length)," of ",C.length.toLocaleString(),t?" · Updating…":""]}),c.jsxs("div",{className:"flex gap-1",children:[c.jsx("button",{type:"button",disabled:$===0,onClick:()=>b(D=>Math.max(0,D-1)),className:"table-pager-button px-2 py-1 text-muted hover:text-ink disabled:cursor-not-allowed disabled:opacity-40",children:"Prev"}),c.jsx("button",{type:"button",disabled:$>=V-1,onClick:()=>b(D=>Math.min(V-1,D+1)),className:"table-pager-button px-2 py-1 text-muted hover:text-ink disabled:cursor-not-allowed disabled:opacity-40",children:"Next"})]})]}):null]})}function s_(n,e){const t=e.filter(i=>n.some(a=>a.ref===i));return t.length?t:n.slice(0,6).map(i=>i.ref)}function i_(){var $,R;const[n,e]=I.useState(!1),{state:t,catalog:i,backend:a,dashboard:u}=ls(),f=i.models.find(O=>O.name===t.model),h=I.useMemo(()=>Fs(i,u,t.dashboardTab),[i,u,t.dashboardTab]),m=(h==null?void 0:h.dimensions)??(f==null?void 0:f.dimensions)??[],g=s_(m,t.pivotDims),v=(($=h==null?void 0:h.timeDimension)==null?void 0:$.ref)??((R=f==null?void 0:f.timeDimension)==null?void 0:R.ref),x=I.useMemo(()=>pu(i),[i]),b=I.useMemo(()=>[...(h==null?void 0:h.filters)??[],...Ts(t.filters,{timeRef:v,range:t.dateRange,types:x})],[h,t.filters,v,t.dateRange,x]),w=n&&f?SS({dimensions:g,metrics:[]},b,50,h==null?void 0:h.segments,h==null?void 0:h.usePreaggregations):null,{result:_,loading:C,error:A}=En(a,w),V=[...g.map(O=>{var E;return{key:Sr(O),label:((E=m.find(D=>D.ref===O))==null?void 0:E.label)??Le(O)}})];return c.jsxs("section",{"data-testid":"row-preview-drawer","data-open":n||void 0,className:"absolute inset-x-0 bottom-0 z-30 border-t border-line bg-surface shadow-[0_-8px_24px_rgba(0,0,0,0.16)]",children:[c.jsxs("button",{type:"button","aria-expanded":n,onClick:()=>e(O=>!O),className:"flex h-8 w-full items-center justify-between px-3 text-left text-xs font-medium text-muted hover:bg-surface-soft hover:text-ink",children:[c.jsx("span",{children:"Rows preview"}),c.jsx("span",{"aria-hidden":"true",children:n?"▼":"▲"})]}),n?c.jsx("div",{className:"max-h-[45vh] overflow-auto border-t border-line",children:A?c.jsx("p",{role:"alert",className:"p-3 text-xs text-danger",children:A}):V.length===0?c.jsx("p",{className:"p-3 text-xs text-faint",children:"No preview fields are available."}):c.jsx(Ui,{columns:V,rows:(_==null?void 0:_.rows)??[],loading:C,pageSize:10,renderCell:(O,E)=>E==null||E===""?"—":String(E)})}):null]})}function hf({tone:n,title:e,message:t}){const i=n==="danger";return c.jsx("div",{className:`grid min-h-[200px] place-items-center border bg-surface p-6 text-center ${i?"border-danger/40":"border-line"}`,"data-state":n,role:i?"alert":"status","aria-live":i?"assertive":"polite",children:c.jsxs("div",{className:"max-w-md",children:[n==="loading"?c.jsx("span",{"aria-hidden":"true",className:"motion-safe:animate-pulse inline-block size-2 rounded-full bg-accent"}):null,e?c.jsx("h3",{className:`text-sm font-semibold ${i?"text-danger":"text-ink"}`,children:e}):null,c.jsx("p",{className:`mt-1 text-xs ${i?"text-danger":"text-muted"}`,children:t})]})})}function mu({title:n="Loading",message:e="Loading metrics…"}){return c.jsx(hf,{tone:"loading",title:n,message:e})}function Xn({title:n="No results",message:e}){return c.jsx(hf,{tone:"muted",title:n,message:e})}function $i({title:n="Query failed",message:e}){return c.jsx(hf,{tone:"danger",title:n,message:e})}function gd({status:n}){const e=n==="ok"?"bg-success":n==="loading"?"bg-faint animate-pulse":"bg-line";return c.jsx("span",{"aria-hidden":"true",className:`inline-block size-2 rounded-full ${e}`})}const Uv="sidemantic-theme";function pf(){var e;const n=localStorage.getItem(Uv);return n==="light"||n==="dark"?n:(e=window.matchMedia)!=null&&e.call(window,"(prefers-color-scheme: dark)").matches?"dark":"light"}function $v(n){document.documentElement.dataset.theme=n}function o_(){$v(pf())}function a_(){const n=pf()==="dark"?"light":"dark";return localStorage.setItem(Uv,n),$v(n),n}function Ko(){const[n,e]=I.useState(pf());return c.jsx("button",{type:"button","aria-label":n==="dark"?"Switch to light theme":"Switch to dark theme",title:n==="dark"?"Light theme":"Dark theme",onClick:()=>e(a_()),className:"grid size-7 place-items-center border border-line bg-surface text-faint hover:border-faint hover:text-ink",children:n==="dark"?c.jsxs("svg",{viewBox:"0 0 24 24",className:"size-3.5",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[c.jsx("circle",{cx:"12",cy:"12",r:"4"}),c.jsx("path",{d:"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"})]}):c.jsx("svg",{viewBox:"0 0 24 24",className:"size-3.5",fill:"none",stroke:"currentColor",strokeWidth:"2",children:c.jsx("path",{d:"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z"})})})}const Oo=[{key:"explore",label:"Explore"},{key:"pivot",label:"Pivot"}];function Pv({view:n,onChange:e}){const t=I.useRef(null);function i(a){const u=Math.max(0,Oo.findIndex(h=>h.key===n)),f=Oo[(u+a+Oo.length)%Oo.length];e(f.key),window.requestAnimationFrame(()=>{var h,m;return(m=(h=t.current)==null?void 0:h.querySelector(`[data-view="${f.key}"]`))==null?void 0:m.focus()})}return c.jsx("div",{ref:t,role:"tablist","aria-label":"View",className:"inline-flex items-center gap-0.5 rounded-full border border-line bg-surface p-px",children:Oo.map(a=>c.jsx("button",{role:"tab",type:"button","aria-selected":n===a.key,tabIndex:n===a.key?0:-1,"data-view":a.key,"data-selected":n===a.key||void 0,onClick:()=>e(a.key),onKeyDown:u=>{u.key==="ArrowLeft"?(u.preventDefault(),i(-1)):u.key==="ArrowRight"&&(u.preventDefault(),i(1))},className:"inline-flex h-6 items-center rounded-full px-2.5 text-xs font-medium text-muted hover:bg-surface-soft hover:text-ink data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent",children:a.label},a.key))})}const zv="dashboard_filters",Vv="dashboard_ranges",Wv="dashboard_filter_sources",Hv="dashboard_range_sources",Gv="dashboard_chart_filters",Yv="dashboard_chart_ranges";function l_(n,e){if(n==="/explore")return!0;const t=new URLSearchParams(e).get("view");return t==="explore"||t==="pivot"}function mf(n,e){var i,a;if(!e||!(n.query.dimensions??[]).includes(e))return!1;const t=(i=n.interactions)==null?void 0:i.select;return t===!0?!0:t?!((a=t.fields)!=null&&a.length)||t.fields.includes(e):!1}function u_(n){return(n.query.dimensions??[]).find(e=>mf(n,e))}function c_(n,e){var i,a;if(!e||!(n.query.dimensions??[]).includes(e))return!1;const t=(i=n.interactions)==null?void 0:i.brush;return t===!0?!0:!t||t.channel&&t.channel!=="x"?!1:!((a=t.fields)!=null&&a.length)||t.fields.includes(e)}function au(n){return n==null?er:String(n)}function d_(n){let e=n.trim().replaceAll(/[^A-Za-z0-9_]/g,"_").replaceAll(/^_+|_+$/g,"")||"field";return/^\d/.test(e)&&(e=`field_${e}`),e}function xr(n,e){const t=Sr(n),i=d_(n);return i!==t&&e.includes(i)?i:e.includes(t)?t:e.find(a=>a.endsWith(t))??t}function f_(n){var t;const e=(t=n.encoding)==null?void 0:t.y;return Array.isArray(e)&&e.length?e:typeof e=="string"?[e]:n.query.metrics.slice(0,1)}function h_(n,e,t,i,a){return Object.fromEntries([[e,t],...i.map((u,f)=>[u,a[f]])].filter(u=>typeof u[1]=="string"&&mf(n,u[0])))}function p_(n,e,t){return[e,...t].some(i=>mf(n,i))}const m_=new Set(["second","minute","hour","day","week","month","quarter","year"]);function Ds(n){const e=n.lastIndexOf("__");if(e<0)return null;const t=n.slice(e+2);return m_.has(t)?{baseDimension:n.slice(0,e),grain:t}:null}function Qv(n,e){var u,f;if(n.type&&n.type!=="auto")return n.type;const t=((u=n.encoding)==null?void 0:u.x)??((f=n.query.dimensions)==null?void 0:f[0])??"",i=Ds(t);return(e[t]??(i?e[i.baseDimension]:void 0))==="time"?"line":"bar"}function Kv(n,e){const t=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?$/.test(n)?`${n}Z`:n,i=new Date(t);return Number.isFinite(i.getTime())?(e==="second"?i.setUTCSeconds(i.getUTCSeconds()+1):e==="minute"?i.setUTCMinutes(i.getUTCMinutes()+1):e==="hour"?i.setUTCHours(i.getUTCHours()+1):e==="day"?i.setUTCDate(i.getUTCDate()+1):e==="week"?i.setUTCDate(i.getUTCDate()+7):e==="month"?i.setUTCMonth(i.getUTCMonth()+1):e==="quarter"?i.setUTCMonth(i.getUTCMonth()+3):e==="year"&&i.setUTCFullYear(i.getUTCFullYear()+1),/^\d{4}-\d{2}-\d{2}$/.test(n)?i.toISOString().slice(0,10):i.toISOString()):null}function Jv(n,e){const t=Ds(n);if(t){const i=Kv(e.to,t.grain);return i?`${t.baseDimension} >= ${Tn(e.from)} AND ${t.baseDimension} < ${Tn(i)}`:`${t.baseDimension} >= ${Tn(e.from)} AND ${t.baseDimension} <= ${Tn(e.to)}`}return`${n} >= ${Tn(e.from)} AND ${n} <= ${Tn(e.to)}`}function y_(n,e,t){const i=Ds(n);return i?e===er?[`${i.baseDimension} IS NULL`]:[Jv(n,{from:e,to:e})]:Fv({[n]:{mode:"include",values:[e]}},{types:t})}function lu(n,e){const t=n.tabs.find(i=>i.charts.includes(e));return`${(t==null?void 0:t.id)??"dashboard"}:${e.id}`}function yf(n,e,t){var f,h,m,g,v;const i=((h=(f=n.defaults)==null?void 0:f.interactions)==null?void 0:h.scope)??"dashboard";if(i==="dashboard")return t;if(i==="chart"){const x=lu(n,e);return{filters:{...Object.fromEntries(Object.entries(t.filters).filter(([b])=>t.filterSources[b]===x)),...((m=t.chartFilters)==null?void 0:m[x])??{}},ranges:{...Object.fromEntries(Object.entries(t.ranges).filter(([b])=>t.rangeSources[b]===x)),...((g=t.chartRanges)==null?void 0:g[x])??{}}}}const a=((v=n.tabs.find(x=>x.charts.includes(e)))==null?void 0:v.charts)??[e],u=new Set(a.flatMap(x=>x.query.dimensions??[]));return{filters:Object.fromEntries(Object.entries(t.filters).filter(([x])=>u.has(x))),ranges:Object.fromEntries(Object.entries(t.ranges).filter(([x])=>u.has(x)))}}function g_(n,e,t,i,a={},u={filterSources:{},rangeSources:{}}){var b,w,_,C,A,V;const f=yf(n,e,{filters:t,ranges:a,...u}),h=((b=e.encoding)==null?void 0:b.x)??((w=e.query.dimensions)==null?void 0:w[0])??"",m=e.query.order_by??e.query.orderBy,g=h&&["line","area"].includes(Qv(e,i))?[`${h} ASC`]:void 0,v={metrics:e.query.metrics,dimensions:e.query.dimensions,filters:[...e.query.filters??[],...Object.entries(f.filters).flatMap(([$,R])=>y_($,R,i)),...Object.entries(f.ranges).map(([$,R])=>Jv($,R))],segments:e.query.segments,orderBy:m??g,limit:e.query.limit??500},x=e.query.use_preaggregations??e.query.usePreaggregations??((C=(_=n.defaults)==null?void 0:_.query)==null?void 0:C.use_preaggregations)??((V=(A=n.defaults)==null?void 0:A.query)==null?void 0:V.usePreaggregations);return x!==void 0&&(v.usePreaggregations=x),v}function ey(n){const e=/^(\d{4}-\d{2}-\d{2})/.exec(n);return(e==null?void 0:e[1])??null}function ty(n,e){const t=ey(e.from);if(!t)return null;const i=Ds(n);if(!i){const f=ey(e.to);return f?{from:t,to:f}:null}const a=Kv(e.to,i.grain);if(!a)return null;const u=new Date(a);return u.setUTCMilliseconds(u.getUTCMilliseconds()-1),{from:t,to:u.toISOString().slice(0,10)}}function v_(n,e,t,i={},a){var O,E,D;const u=(O=e.encoding)==null?void 0:O.y,f=(Array.isArray(u)?u[0]:u)??e.query.metrics[0]??"",h=e.query.dimensions??[],m=a==null?void 0:a.graphMetrics.find(L=>L.ref===f),g=f.includes(".")?f.split(".")[0]:((E=h[0])==null?void 0:E.split(".")[0])??(m==null?void 0:m.ownerModel)??(m==null?void 0:m.model)??"",v=yf(n,e,t),x=Object.entries(v.filters).flatMap(([L,G])=>{const W=Ds(L);return W?[{dimension:L,value:G,baseDimension:W.baseDimension}]:[]}),b=Object.fromEntries(Object.entries(v.filters).flatMap(([L,G])=>{const W=Ds(L);return W?G===er?[[W.baseDimension,[G]]]:[]:[[L,[G]]]})),w=new URLSearchParams({view:"explore",model:g,metric:f});Object.keys(b).length&&w.set("filters",JSON.stringify(b));const _=((D=e.encoding)==null?void 0:D.x)??h[0],C=x.find(({baseDimension:L,value:G})=>G!==er&&(!g||L.startsWith(`${g}.`))),A=Object.keys(v.ranges),V=[_,...A].find((L,G,W)=>{if(!L||W.indexOf(L)!==G||!v.ranges[L])return!1;const Y=Ds(L);return((i[L]??(Y?i[Y.baseDimension]:void 0))==="time"||!!Y)&&(!g||L.startsWith(`${g}.`))}),$=V?v.ranges[V]:void 0,R=C?ty(C.dimension,{from:C.value,to:C.value}):V&&$?ty(V,$):null;return R&&(w.set("from",R.from),w.set("to",R.to)),`/explore?${w}`}function x_(n,e,t,i){const a=new Map;for(const u of n){const f=Number(u[t]);if(!Number.isFinite(f))continue;const h=i.map(b=>au(u[b])),m=JSON.stringify(h),g=h.length?h.map(rs).join(" · "):"Current",v=a.get(m)??{label:g,filterValues:h,data:[]},x=au(u[e]);v.data.push({label:rs(x),filterValue:x,value:f}),a.set(m,v)}return[...a.values()]}function b_(n,e,t,i){const a=[],u=new Set,f=new Map;for(const h of n){if(h[e]==null)continue;const m=String(h[e]),g=Number(h[t]);if(!Number.isFinite(g))continue;u.has(m)||(u.add(m),a.push(m));const v=i.map(_=>au(h[_])),x=JSON.stringify(v),b=v.length?v.map(rs).join(" · "):"Current",w=f.get(x)??{label:b,values:new Map};w.values.set(m,g),f.set(x,w)}return[...f.values()].map(h=>({label:h.label,points:a.map(m=>({x:m,y:h.values.get(m)??Number.NaN}))}))}function gf(n,e){if(typeof n!="object"||n===null||Array.isArray(n))return{};const t={};for(const[i,a]of Object.entries(n))e.has(i)&&typeof a=="string"&&(t[i]=a);return t}function vf(n,e){if(typeof n!="object"||n===null||Array.isArray(n))return{};const t={};for(const[i,a]of Object.entries(n)){if(!e.has(i)||typeof a!="object"||a===null||Array.isArray(a))continue;const u=a;typeof u.from=="string"&&typeof u.to=="string"&&(t[i]={from:u.from,to:u.to})}return t}function uu(n,e){return typeof n!="object"||n===null||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).filter(t=>e.has(t[0])&&typeof t[1]=="string"))}function qv(n,e){return typeof n!="object"||n===null||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).flatMap(([t,i])=>{const a=e.get(t);if(!a)return[];const u=gf(i,a);return Object.keys(u).length?[[t,u]]:[]}))}function Zv(n,e){return typeof n!="object"||n===null||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).flatMap(([t,i])=>{const a=e.get(t);if(!a)return[];const u=vf(i,a);return Object.keys(u).length?[[t,u]]:[]}))}function Xv(n){return new Set(n.tabs.flatMap(e=>e.charts.flatMap(t=>t.query.dimensions??[])))}function e0(n){return new Map(n.tabs.flatMap(e=>e.charts.map(t=>[lu(n,t),new Set(t.query.dimensions??[])])))}function w_(n,e){var _;const t=new URLSearchParams(n),i=((_=e.tabs[0])==null?void 0:_.id)??"",a=t.get("tab"),u=e.tabs.some(C=>C.id===a)?a??i:i;let f,h,m,g,v,x;try{f=JSON.parse(t.get(zv)??"{}")}catch{f={}}try{h=JSON.parse(t.get(Vv)??"{}")}catch{h={}}try{m=JSON.parse(t.get(Wv)??"{}")}catch{m={}}try{g=JSON.parse(t.get(Hv)??"{}")}catch{g={}}try{v=JSON.parse(t.get(Gv)??"{}")}catch{v={}}try{x=JSON.parse(t.get(Yv)??"{}")}catch{x={}}const b=Xv(e),w=e0(e);return{tab:u,filters:gf(f,b),ranges:vf(h,b),filterSources:uu(m,b),rangeSources:uu(g,b),chartFilters:qv(v,w),chartRanges:Zv(x,w)}}function S_(n,e){var u;const t=new URLSearchParams;n.tab&&n.tab!==((u=e.tabs[0])==null?void 0:u.id)&&t.set("tab",n.tab),Object.keys(n.filters).length&&t.set(zv,JSON.stringify(n.filters)),Object.keys(n.ranges).length&&t.set(Vv,JSON.stringify(n.ranges));const i=Object.fromEntries(Object.entries(n.filterSources).filter(([f])=>f in n.filters)),a=Object.fromEntries(Object.entries(n.rangeSources).filter(([f])=>f in n.ranges));return Object.keys(i).length&&t.set(Wv,JSON.stringify(i)),Object.keys(a).length&&t.set(Hv,JSON.stringify(a)),Object.keys(n.chartFilters??{}).length&&t.set(Gv,JSON.stringify(n.chartFilters)),Object.keys(n.chartRanges??{}).length&&t.set(Yv,JSON.stringify(n.chartRanges)),t.toString()}function t0(n){return`sidemantic-dashboard-views:${`${n.schema??"sidemantic.dashboard.v1"}:${n.title}`}`}function __(n){try{const e=JSON.parse(localStorage.getItem(t0(n))??"[]");if(!Array.isArray(e))return[];const t=Xv(n);return e.flatMap(i=>{var m;if(typeof i!="object"||i===null||Array.isArray(i))return[];const a=i;if(typeof a.name!="string"||!a.name.trim())return[];if(typeof a.state!="object"||a.state===null||Array.isArray(a.state))return[];const u=a.state,f=n.tabs.some(g=>g.id===u.tab)?String(u.tab):((m=n.tabs[0])==null?void 0:m.id)??"",h=e0(n);return[{name:a.name,state:{tab:f,filters:gf(u.filters,t),ranges:vf(u.ranges,t),filterSources:uu(u.filterSources,t),rangeSources:uu(u.rangeSources,t),chartFilters:qv(u.chartFilters,h),chartRanges:Zv(u.chartRanges,h)}}]})}catch{return[]}}function N_(n,e){try{return localStorage.setItem(t0(n),JSON.stringify(e)),!0}catch{return!1}}function ny(n){if(n==null)return"";let e=String(n);return typeof n!="number"&&typeof n!="bigint"&&/^[\s\u0000-\u001f]*[=+@-]/.test(e)&&(e=`'${e}`),/[",\r\n]/.test(e)?`"${e.replaceAll('"','""')}"`:e}function j_(n,e){return[n.map(ny).join(","),...e.map(t=>n.map(i=>ny(t[i])).join(","))].join(`\r -`)}function k_(n){var e;return((e=n.label)==null?void 0:e.trim())||n.id}function vd(n,e){return`${n} ${e}${n===1?"":"s"}`}function I_(){const{catalog:n,dispatch:e}=ls(),t=i=>{const a=n.models.find(h=>h.name===i),u=Ov(a,n),f=(a==null?void 0:a.defaultGrain)??"month";e({type:"setModel",model:i,metric:u,grain:f}),e({type:"setView",view:"explore"})};return c.jsxs("div",{className:"mx-auto w-full max-w-5xl p-6",children:[c.jsxs("div",{className:"mb-4",children:[c.jsx("h1",{className:"text-base font-semibold text-ink",children:"Explore"}),c.jsxs("p",{className:"text-2xs text-muted",children:[vd(n.models.length,"model")," · pick one to explore"]})]}),c.jsx("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3",children:n.models.map(i=>c.jsxs("button",{type:"button","data-testid":"explore-card","data-model":i.name,onClick:()=>t(i.name),className:"flex min-h-32 flex-col gap-2 rounded-xl border border-line bg-surface p-4 text-left shadow-[var(--shadow-sm)] transition-colors hover:border-line-strong",children:[c.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[c.jsx("span",{className:"truncate text-sm font-medium text-ink",children:i.label}),i.timeDimension?c.jsx("span",{className:"shrink-0 text-2xs text-faint",children:"time series"}):null]}),i.description?c.jsx("p",{className:"line-clamp-2 text-2xs text-muted",children:i.description}):null,c.jsx("div",{className:"mt-auto flex flex-wrap gap-1 pt-1",children:i.metrics.slice(0,3).map(a=>c.jsx("span",{className:"rounded-full bg-surface-soft px-2 py-0.5 text-2xs text-muted",children:a.label},a.ref))}),c.jsxs("div",{className:"text-2xs text-faint",children:[vd(i.metrics.length,"metric")," · ",vd(i.dimensions.length,"dimension")]})]},i.name))})]})}const M_="600px";function D_(n){for(let e=n.parentElement;e;e=e.parentElement){const t=getComputedStyle(e).overflowY;if(t==="auto"||t==="scroll")return e}return null}function C_(n,e,t=M_){if(typeof IntersectionObserver>"u")return e(),()=>{};const i=new IntersectionObserver(a=>{a.some(u=>u.isIntersecting)&&(i.disconnect(),e())},{root:D_(n),rootMargin:t});return i.observe(n),()=>i.disconnect()}const F_={positive:"text-success",negative:"text-danger",neutral:"text-faint"};function n0({dimension:n,title:e,metricLabel:t,rows:i,selectedValues:a=[],loading:u,formatMetric:f,onToggle:h,contextColumn:m="none",contextOptions:g,onContextColumn:v,collapsedLimit:x=6,expanded:b=!1,onExpandedChange:w,containerRef:_}){const C=new Set(a),A=b?i:i.slice(0,x),V=Math.max(1,...A.map(E=>Math.abs(E.metric))),$=b||i.length>x,R=m!=="none",O=R?"grid-cols-[minmax(0,1fr)_auto_auto]":"grid-cols-[minmax(0,1fr)_auto]";return c.jsxs("section",{ref:_,"data-testid":"dimension-leaderboard","data-dimension":n,"data-expanded":b||void 0,"aria-label":`${e}, ranked by ${t}`,className:"flex min-h-40 flex-col border-b border-r border-line bg-surface data-[expanded=true]:col-span-full",children:[c.jsxs("header",{className:"flex items-center justify-between gap-3 px-3 pb-2 pt-2.5",children:[c.jsxs("div",{className:"flex min-w-0 items-baseline gap-2",children:[c.jsx("h3",{className:"truncate text-sm font-semibold text-ink",children:e}),c.jsxs("p",{className:"sr-only",children:["Ranked by ",t]})]}),g&&v?c.jsx("div",{role:"group","aria-label":"Context column","data-testid":"leaderboard-context-toggle",className:"flex shrink-0 overflow-hidden border border-line text-2xs",children:g.map(E=>c.jsx("button",{type:"button",title:E.title,"aria-pressed":m===E.key,"data-context":E.key,"data-active":m===E.key||void 0,onClick:()=>v(E.key),className:"border-l border-line px-1.5 py-0.5 font-mono text-faint first:border-l-0 hover:bg-surface-soft data-[active=true]:bg-accent-soft data-[active=true]:text-accent",children:E.label},E.key))}):null]}),c.jsx("div",{"data-testid":"leaderboard-rows",children:u&&i.length===0?c.jsx("div",{className:"space-y-2 p-3",children:[0,1,2,3].map(E=>c.jsx("div",{className:"skeleton h-5 w-full"},E))}):i.length===0?c.jsx("p",{className:"px-3 py-4 text-xs text-faint",children:"No values"}):A.map(E=>{var W,Y,P;const D=E.metric<0?"negative":"positive",L=C.has(E.value),G=`${Math.round(Math.abs(E.metric)/V*100)}%`;return c.jsxs("button",{type:"button","data-dimension":n,"data-value":E.value,"data-selected":L||void 0,"data-tone":D,onClick:()=>h==null?void 0:h(E.value),"aria-pressed":L,className:`leaderboard-row relative grid w-full ${O} items-center gap-3 overflow-hidden border-0 bg-transparent px-3 py-1 text-left text-xs text-ink data-[selected=true]:bg-chart-primary-selected`,children:[c.jsx("span",{"aria-hidden":"true",className:`absolute inset-y-0 left-0 ${D==="negative"?"bg-danger-soft":"bg-chart-primary-soft"}`,style:{width:G}}),c.jsx("span",{className:"relative min-w-0 truncate text-muted",children:rs(E.value)}),c.jsx("strong",{className:"relative tnum font-semibold text-ink",children:f(E.metric)}),R?c.jsx("span",{"data-testid":"leaderboard-context","data-tone":((W=E.context)==null?void 0:W.tone)??"neutral",className:`relative w-14 text-right font-mono tnum text-2xs ${F_[((Y=E.context)==null?void 0:Y.tone)??"neutral"]}`,children:((P=E.context)==null?void 0:P.label)??"—"}):null]},`${n}:${E.value}`)})}),$&&!u?c.jsx("button",{type:"button","data-action":b?"leaderboard-back":"leaderboard-expand","aria-expanded":b,onClick:()=>w==null?void 0:w(!b),className:"leaderboard-expand border-0 border-t border-line bg-transparent px-3 py-1 text-left text-xs font-normal text-faint hover:text-accent",children:b?"← All dimensions":`Expand table (${i.length})`}):null]})}const O_=[{key:"none",label:"—",title:"No context column"},{key:"pctTotal",label:"%",title:"Share of total"},{key:"delta",label:"Δ",title:"Absolute change vs comparison period"},{key:"deltaPct",label:"Δ%",title:"Percent change vs comparison period"}],T_=[],A_=[];function B_({dim:n,model:e,timeDimensionRef:t,rankMetric:i,contextColumn:a,metricTotal:u,comparisonRange:f,baseFilters:h=T_,baseSegments:m=A_,usePreaggregations:g,limit:v=6,expanded:x=!1,onExpandedChange:b}){var he;const{state:w,dispatch:_,backend:C,catalog:A}=ls(),V=I.useRef(null),[$,R]=I.useState(!1);I.useEffect(()=>{if(!($||!V.current))return C_(V.current,()=>R(!0))},[$]);const O=t??((he=e.timeDimension)==null?void 0:he.ref),E=I.useMemo(()=>pu(A),[A]),D=I.useMemo(()=>[...h,...Ts(w.filters,{timeRef:O,range:w.dateRange,excludeDim:n.ref,types:E})],[h,w.filters,O,w.dateRange,n.ref,E]),{result:L,loading:G,error:W}=En(C,$?Hm(i.ref,n.ref,D,v,m,g):null),Y=w.filters[n.ref],P=(Y==null?void 0:Y.mode)==="include"?Y.values:void 0,te=[i.ref,n.ref],X=Fn(n.ref,te),oe=a==="delta"||a==="deltaPct",ae=I.useMemo(()=>{if(!L||!L.columns.includes(X))return null;const re=[];let pe=!1;for(const Te of L.rows){const Be=Te[X];Be==null?pe=!0:re.push(String(Be))}const Ce=[];return re.length&&Ce.push(`CAST(${n.ref} AS VARCHAR) IN (${re.map(Tn).join(", ")})`),pe&&Ce.push(`${n.ref} IS NULL`),Ce.length?Ce.length===1?Ce[0]:`(${Ce.join(" OR ")})`:null},[L,X,n.ref]),se=I.useMemo(()=>oe&&f&&O&&ae?[...h,...Ts(w.filters,{timeRef:O,range:f,excludeDim:n.ref,types:E}),ae]:null,[oe,f,O,w.filters,n.ref,E,ae,h]),ne=En(C,se?Hm(i.ref,n.ref,se,v,m,g):null),T=Fn(i.ref,te),Q=!!L&&L.rows.length>0&&!L.columns.includes(T),H=I.useMemo(()=>{const re=new Map;if(!ne.result||!ne.result.columns.includes(T))return re;for(const pe of ne.result.rows){const Ce=pe[X],Te=Ce==null?er:String(Ce);re.set(Te,Number(pe[T]))}return re},[ne.result,X,T]),N={format:i.format,type:i.type};function F(re,pe){switch(a){case"pctTotal":return u===void 0?void 0:gb(pe,u);case"delta":return vb(pe,H.get(re),N);case"deltaPct":return xb(pe,H.get(re));default:return}}const ee=L&&!Q?L.rows.map(re=>{const pe=re[X],Ce=pe==null?er:String(pe),Te=Number(re[T]??0);return{value:Ce,metric:Te,context:F(Ce,Te)}}):[];return W?c.jsx($i,{title:n.label,message:W}):c.jsx(n0,{dimension:n.ref,title:n.label,metricLabel:i.label,rows:ee,containerRef:V,loading:!$||G||Q,selectedValues:P,formatMetric:re=>Gt(re,N),onToggle:re=>_({type:"toggleFilter",dim:n.ref,value:re}),contextColumn:a,contextOptions:O_,onContextColumn:re=>_({type:"setContextColumn",column:re}),collapsedLimit:v,expanded:x,onExpandedChange:b})}function Dr(){const[n,e]=I.useState(null);return{tip:n,handlers:i=>({onMouseEnter:a=>e({content:i,x:a.clientX,y:a.clientY}),onMouseMove:a=>e({content:i,x:a.clientX,y:a.clientY}),onMouseLeave:()=>e(null)})}}function rr({tip:n,position:e="fixed",offset:t=12,className:i,style:a}){return n?c.jsx("div",{role:"tooltip",style:{position:e,left:n.x+t,top:n.y+t,pointerEvents:"none",zIndex:50,...a},className:i||"rounded-lg border border-line bg-surface px-2.5 py-1.5 text-xs text-ink shadow-[var(--shadow)]",children:n.content}):null}function os({title:n,rows:e}){return c.jsxs("div",{className:"min-w-28",children:[n?c.jsx("div",{className:"mb-0.5 font-mono text-faint",children:n}):null,e.map((t,i)=>c.jsxs("div",{className:"flex items-center justify-between gap-3",children:[c.jsxs("span",{className:"flex items-center gap-1 text-muted",children:[t.swatch?c.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-sm",style:{background:t.swatch}}):null,t.label]}),c.jsx("span",{className:"font-mono tnum font-medium text-ink",children:t.value})]},i))]})}function r0({values:n,labels:e,height:t=44,ariaLabel:i,formatValue:a=h=>h.toLocaleString(void 0,{maximumFractionDigits:2}),onHover:u,onBrush:f}){const h=I.useRef(null),m=I.useId(),g=I.useRef(null),v=I.useRef(null),[x,b]=I.useState(200),[w,_]=I.useState(null),[C,A]=I.useState(null),[V,$]=I.useState(null);I.useEffect(()=>{const H=h.current;if(!H||typeof ResizeObserver>"u")return;const N=new ResizeObserver(F=>{for(const ee of F)b(Math.max(40,ee.contentRect.width))});return N.observe(H),()=>N.disconnect()},[]);const R=n.map((H,N)=>({index:N,value:H})).filter(H=>Number.isFinite(H.value));if(R.length<2)return c.jsx("svg",{ref:g,role:"img","aria-label":i||"No trend data",className:"h-11 w-full",viewBox:`0 0 ${x} ${t}`});const O=3,E=Math.min(...R.map(H=>H.value)),L=Math.max(...R.map(H=>H.value))-E||1,G=R.map((H,N)=>({...H,x:O+N/(R.length-1)*(x-O*2),y:O+(1-(H.value-E)/L)*(t-O*2)})),W=G.map(({x:H,y:N})=>`${H.toFixed(1)},${N.toFixed(1)}`).join(" L "),Y=`M ${G[0].x.toFixed(1)},${t-O} L ${W} L ${G.at(-1).x.toFixed(1)},${t-O} Z`,P=G.at(-1),te=i||`Trend of ${R.length} points, latest ${a(P.value)}`;function X(H){var F;const N=(F=g.current)==null?void 0:F.getBoundingClientRect();return N?Math.max(O,Math.min(x-O,(H.clientX-N.left)/N.width*x)):O}function oe(H){return Math.max(0,Math.min(G.length-1,Math.round((H-O)/(x-O*2)*(G.length-1))))}function ae(H){const N=X(H),F=oe(N),ee=G[F];_(F),$({content:`${e!=null&&e[ee.index]?`${e[ee.index]}: `:""}${a(ee.value)}`,x:H.clientX,y:H.clientY}),u==null||u({index:ee.index,label:e==null?void 0:e[ee.index],value:ee.value}),v.current!==null&&A({a:v.current,b:N})}function se(H){if(!f||!(e!=null&&e.length))return;H.currentTarget.setPointerCapture(H.pointerId);const N=X(H);v.current=N,A({a:N,b:N})}function ne(H){if(v.current===null||!f||!(e!=null&&e.length))return;H.currentTarget.hasPointerCapture(H.pointerId)&&H.currentTarget.releasePointerCapture(H.pointerId);const N=X(H);if(Math.abs(N-v.current)>6){const F=G[oe(Math.min(v.current,N))],ee=G[oe(Math.max(v.current,N))];f({from:e[F.index],to:e[ee.index]})}v.current=null,A(null)}function T(){_(null),$(null),u==null||u(null),v.current===null&&A(null)}const Q=w===null?null:G[w];return c.jsxs("span",{ref:h,className:"relative block w-full",children:[c.jsxs("svg",{ref:g,role:"img","aria-label":te,className:`h-11 w-full overflow-hidden text-chart-primary ${f?"touch-none select-none":""}`,viewBox:`0 0 ${x} ${t}`,preserveAspectRatio:"none",onPointerMove:ae,onPointerDown:se,onPointerUp:ne,onPointerCancel:T,onPointerLeave:T,onDoubleClick:()=>f==null?void 0:f(null),children:[c.jsx("defs",{children:c.jsxs("linearGradient",{id:m,x1:"0",y1:"0",x2:"0",y2:"1",children:[c.jsx("stop",{offset:"0%",stopColor:"currentColor",stopOpacity:.16}),c.jsx("stop",{offset:"100%",stopColor:"currentColor",stopOpacity:0})]})}),c.jsx("path",{d:Y,fill:`url(#${m})`}),c.jsx("path",{d:`M ${W}`,fill:"none",stroke:"currentColor",strokeWidth:1.5,vectorEffect:"non-scaling-stroke"}),C?c.jsx("rect",{x:Math.min(C.a,C.b),y:0,width:Math.abs(C.b-C.a),height:t,fill:"currentColor",opacity:.12}):null,Q?c.jsxs(c.Fragment,{children:[c.jsx("line",{x1:Q.x,x2:Q.x,y1:0,y2:t,stroke:"currentColor",strokeWidth:1,opacity:.45}),c.jsx("circle",{cx:Q.x,cy:Q.y,r:2.5,fill:"currentColor"})]}):c.jsx("circle",{cx:P.x,cy:P.y,r:2.25,fill:"currentColor"})]}),c.jsx(rr,{tip:V})]})}const E_={positive:"text-success",negative:"text-danger",neutral:"text-faint"},R_={positive:"▲",negative:"▼",neutral:"·"};function Nr({metric:n,label:e,value:t,valueText:i,format:a,delta:u,comparison:f,sparkValues:h=[],sparkLabels:m,selected:g,loading:v,onSelect:x,onSparkHover:b,onSparkBrush:w}){const[_,C]=I.useState(null),A=c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[c.jsx("span",{className:"truncate text-xs font-medium text-muted",children:e}),_!=null&&_.label?c.jsx("span",{className:"shrink-0 font-mono text-2xs text-faint",children:_.label}):null]}),c.jsx("div",{className:"font-mono tnum text-[19px] font-semibold leading-tight tracking-tight text-ink",children:v?c.jsx("span",{className:"skeleton inline-block h-6 w-24 align-middle"}):_?pt(_.value,a):i??pt(t,a)}),u||f?c.jsxs("div",{className:"flex items-baseline gap-1 text-2xs",children:[u?c.jsxs("span",{"data-tone":u.tone,className:`font-mono tnum font-medium ${E_[u.tone]}`,children:[c.jsx("span",{"aria-hidden":"true",className:"mr-0.5 text-[8px]",children:R_[u.tone]}),u.label]}):null,f?c.jsx("span",{className:"truncate text-faint",children:f}):null]}):null]}),V="group flex w-full flex-col gap-1.5 overflow-hidden rounded-xl border border-line bg-surface px-3.5 pt-3 text-left shadow-[var(--shadow-sm)] transition-colors hover:border-line-strong data-[selected=true]:border-accent",$=c.jsx("div",{className:"-mx-3.5 mt-auto",children:c.jsx(r0,{values:h,labels:m,onHover:R=>{C(R),b==null||b(R)},onBrush:w,formatValue:R=>pt(R,a)})});return x?c.jsxs("article",{"data-metric":n,"data-selected":g||void 0,className:V,children:[c.jsx("button",{type:"button","data-metric":n,"aria-pressed":!!g,onClick:()=>x(n),className:"-m-1 flex flex-col gap-1 border-0 bg-transparent p-1 text-left transition hover:opacity-75",children:A}),$]}):c.jsxs("article",{"data-metric":n,"data-selected":g||void 0,className:V,children:[A,$]})}const vl=280,Xt={top:14,right:18,bottom:26,left:60},ry=["var(--accent)","var(--danger)","#0f9f8f","#d98921","#a66dd4","#3b82c4"];function xd(n){return ry[n%ry.length]}function sy(n,e,t){return Math.min(Math.max(n,e),t)}function ea({points:n,seriesLabel:e="Current",additionalSeries:t=[],comparison:i,formatValue:a,formatAxis:u=a,formatLabel:f=v=>v,comparisonLabel:h="Previous",ariaLabel:m,onBrush:g}){var cs;const v=I.useRef(null),x=I.useRef(null),b=I.useRef(!1),w=I.useRef(null),[_,C]=I.useState(820),[A,V]=I.useState(null),[$,R]=I.useState(null);I.useEffect(()=>{const ue=v.current;if(!ue)return;const Oe=new ResizeObserver(st=>{for(const Ct of st)C(Math.max(320,Ct.contentRect.width))});return Oe.observe(ue),()=>Oe.disconnect()},[]);const O=n.length,E=[{label:e,points:n},...t],D=[...E.flatMap(ue=>ue.points),...i??[]].map(ue=>ue.y).filter(Number.isFinite),L=O<2||D.length===0,G=L?0:Math.min(0,...D),W=L?1:Math.max(...D),Y=W-G||1,P=_-Xt.left-Xt.right,te=vl-Xt.top-Xt.bottom,X=ue=>Xt.left+(O<=1?0:ue/(O-1)*P),oe=ue=>Xt.top+(1-(ue-G)/Y)*te,ae=ue=>sy(Math.round((ue-Xt.left)/P*(O-1)),0,O-1),se=ue=>{const Oe=[];let st=[];return ue.forEach((Ct,$n)=>{Number.isFinite(Ct.y)?st.push(`${X($n).toFixed(1)},${oe(Ct.y).toFixed(1)}`):st.length&&(Oe.push(st.join(" L ")),st=[])}),st.length&&Oe.push(st.join(" L ")),Oe.map(Ct=>`M ${Ct}`).join(" ")},ne=L||n.some(ue=>!Number.isFinite(ue.y))?"":`M ${X(0).toFixed(1)},${oe(G).toFixed(1)} L ${n.map((ue,Oe)=>`${X(Oe).toFixed(1)},${oe(ue.y).toFixed(1)}`).join(" L ")} L ${X(O-1).toFixed(1)},${oe(G).toFixed(1)} Z`;function T(ue){var st;const Oe=(st=x.current)==null?void 0:st.getBoundingClientRect();return Oe?ue.clientX-Oe.left:0}function Q(ue){if(L)return;const Oe=T(ue);V(ae(Oe)),b.current&&w.current&&(w.current={a:w.current.a,b:Oe},R({...w.current}))}function H(ue){if(L||!g)return;ue.currentTarget.setPointerCapture(ue.pointerId),b.current=!0;const Oe=T(ue);w.current={a:Oe,b:Oe},R({...w.current})}function N(ue){ue.currentTarget.hasPointerCapture(ue.pointerId)&&ue.currentTarget.releasePointerCapture(ue.pointerId);const Oe=w.current;if(b.current&&Oe&&g){const st=ae(Math.min(Oe.a,Oe.b)),Ct=ae(Math.max(Oe.a,Oe.b));Ct>st&&g({from:n[st].x,to:n[Ct].x})}b.current=!1,w.current=null,R(null)}function F(){V(null),b.current=!1,w.current=null,R(null)}const ee=Math.max(1,Math.ceil(O/8)),he=[W,G+Y*.66,G+Y*.33,G],re=A!=null&&A>=0&&A{const st=ue.points[re];return st&&Number.isFinite(st.y)?[{...ue,point:st,index:Oe}]:[]}),dt=re!=null?(i==null?void 0:i[re])??null:null,St=dt&&Number.isFinite(dt.y)?dt:null,Es=re!=null?sy(X(re),80,_-80):0,Et=Ce&&St&&St.y!==0?(Ce.y-St.y)/Math.abs(St.y)*100:null,sr=m??(L?"Time series chart: not enough data to plot.":`Time series chart, ${O} points from ${f(n[0].x)} to ${f(n[O-1].x)}.`);return c.jsxs("div",{className:"relative text-chart-primary",children:[c.jsxs("div",{className:"flex flex-wrap items-center justify-end gap-x-3 gap-y-0.5 px-3 pt-2 text-2xs text-faint",children:[E.map((ue,Oe)=>c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{className:"inline-block h-0.5 w-3",style:{backgroundColor:xd(Oe)}})," ",ue.label]},`${ue.label}-${Oe}`)),i!=null&&i.length?c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{className:"inline-block h-0 w-3 border-t border-dashed border-faint"})," ",h]}):null]}),c.jsx("div",{ref:v,className:"w-full",children:L?c.jsx("div",{className:"grid h-[280px] place-items-center text-xs text-faint",children:"Not enough data to chart."}):c.jsxs("svg",{ref:x,width:_,height:vl,role:"img","aria-label":sr,className:"block touch-none select-none",onPointerMove:Q,onPointerDown:H,onPointerUp:N,onPointerLeave:F,onPointerCancel:F,onDoubleClick:()=>g==null?void 0:g(null),children:[c.jsx("defs",{children:c.jsxs("linearGradient",{id:"ts-fill",x1:"0",y1:"0",x2:"0",y2:"1",children:[c.jsx("stop",{offset:"0%",stopColor:"currentColor",stopOpacity:.18}),c.jsx("stop",{offset:"100%",stopColor:"currentColor",stopOpacity:0})]})}),he.map((ue,Oe)=>c.jsxs("g",{children:[c.jsx("line",{x1:Xt.left,x2:_-Xt.right,y1:oe(ue),y2:oe(ue),className:"stroke-line"}),c.jsx("text",{x:Xt.left-8,y:oe(ue)+3,textAnchor:"end",className:"fill-faint font-mono text-[10px]",children:u(ue)})]},Oe)),i&&i.length>=2?c.jsx("path",{d:se(i),fill:"none",className:"stroke-faint",strokeWidth:1.25,strokeDasharray:"4 3"}):null,ne?c.jsx("path",{d:ne,fill:"url(#ts-fill)"}):null,E.map((ue,Oe)=>c.jsx("path",{d:se(ue.points),fill:"none",stroke:xd(Oe),strokeWidth:1.75},`${ue.label}-${Oe}`)),$?c.jsx("rect",{x:Math.min($.a,$.b),y:Xt.top,width:Math.abs($.b-$.a),height:te,className:"fill-chart-primary",opacity:.12}):null,re!=null&&Be.length?c.jsxs("g",{children:[c.jsx("line",{x1:X(re),x2:X(re),y1:Xt.top,y2:vl-Xt.bottom,className:"stroke-faint",strokeDasharray:"3 3"}),St?c.jsx("circle",{cx:X(re),cy:oe(St.y),r:3,className:"fill-faint"}):null,Be.map(ue=>c.jsx("circle",{cx:X(re),cy:oe(ue.point.y),r:3.5,fill:xd(ue.index)},`${ue.label}-${ue.index}`))]}):null,n.map((ue,Oe)=>Oe%ee===0||Oe===O-1?c.jsx("text",{x:X(Oe),y:vl-8,textAnchor:"middle",className:"fill-faint font-mono text-[10px]",children:f(ue.x)},ue.x):null)]})}),Be.length&&Te?c.jsxs("div",{className:"pointer-events-none absolute top-8 z-20 -translate-x-1/2 whitespace-nowrap border border-line bg-surface px-2 py-1.5 text-2xs shadow-[var(--shadow)]",style:{left:Es},children:[c.jsx("div",{className:"mb-0.5 font-mono text-faint",children:f(Te)}),Be.map(ue=>c.jsxs("div",{className:"flex items-center justify-between gap-3",children:[c.jsx("span",{className:"text-muted",children:ue.label}),c.jsx("span",{className:"font-mono tnum font-medium text-ink",children:a(ue.point.y)})]},`${ue.label}-${ue.index}`)),St?c.jsxs("div",{className:"flex items-center justify-between gap-3",children:[c.jsx("span",{className:"text-muted",children:h}),c.jsx("span",{className:"font-mono tnum text-muted",children:a(St.y)})]}):null,Et!=null?c.jsxs("div",{className:`mt-0.5 text-right font-mono ${Et>0?"text-success":Et<0?"text-danger":"text-faint"}`,children:[Et.toLocaleString(void 0,{maximumFractionDigits:1,signDisplay:"exceptZero"}),"%"]}):null]}):null]})}const L_={positive:"text-success",negative:"text-danger",neutral:"text-faint"};function U_({metric:n,points:e,comparisonPoints:t,total:i,prevTotal:a,hasTime:u,loading:f,activeRange:h,comparisonLabel:m="Prev period",formatLabel:g,onBrush:v}){const x={format:n.format,type:n.type},b=a!==void 0?Sy(i,a):null,w=`${n.label} over time. Total ${pt(i,x)}${b?`, ${b.label} versus the ${m.toLowerCase()}`:""}.`;return c.jsxs("section",{className:"flex flex-col gap-2",children:[c.jsxs("header",{className:"flex flex-wrap items-baseline gap-x-3 gap-y-0.5 px-0.5",children:[c.jsx("h2",{className:"text-xs font-medium text-muted",children:n.label}),c.jsx("span",{className:"font-mono tnum text-xl font-semibold text-ink",children:pt(i,x)}),b?c.jsxs("span",{className:`text-xs ${L_[b.tone]}`,children:[b.label," vs ",m.toLowerCase()]}):null,u?null:c.jsx("span",{className:"text-2xs text-faint",children:"No time dimension"}),h?c.jsx("button",{type:"button",onClick:()=>v(null),className:"ml-auto inline-flex h-7 items-center rounded-full border border-line bg-surface px-3 text-xs text-muted hover:border-line-strong hover:text-ink",children:"Reset zoom"}):null]}),u?f&&e.length<2?c.jsx("div",{className:"skeleton h-[280px] w-full"}):c.jsx(ea,{points:e,comparison:t,formatValue:_=>pt(_,x),formatAxis:_=>Gt(_,x),formatLabel:g,comparisonLabel:m,ariaLabel:w,onBrush:v}):null]})}const $_=new Set(["and","as","asc","by","case","cast","count","date_trunc","desc","else","end","from","group","in","is","join","left","limit","not","null","on","or","order","over","partition","select","sum","then","when","where","with"]);function P_(n){const e=[];let t=0;for(;ta).map(([a,u])=>`-- ${a} -${u}`).join(` - -`),i=P_(t||"No queries yet.");return c.jsxs("details",{className:"border border-line bg-surface",children:[c.jsx("summary",{className:"cursor-pointer px-3 py-2 text-xs font-medium text-muted",children:"Generated SQL"}),Object.keys(e).length>0?c.jsx("div",{"data-testid":"query-inputs",className:"grid gap-px border-t border-line bg-line sm:grid-cols-2",children:Object.entries(e).map(([a,u])=>u?c.jsxs("section",{className:"min-w-0 bg-surface px-3 py-2 text-2xs",children:[c.jsx("h3",{className:"mb-1 font-semibold text-ink",children:a}),[["Metrics",u.metrics],["Dimensions",u.dimensions],["Filters",u.filters]].map(([f,h])=>h!=null&&h.length?c.jsxs("p",{className:"truncate text-muted",title:h.join(", "),children:[c.jsxs("strong",{className:"font-medium text-faint",children:[f,":"]})," ",h.join(", ")]},f):null)]},a):null)}):null,c.jsx("pre",{"data-testid":"query-debug",className:"max-h-72 overflow-auto whitespace-pre-wrap border-t border-line px-3 py-2 font-mono text-2xs text-muted",children:i.map((a,u)=>iy[a.kind]?c.jsx("span",{className:iy[a.kind],"data-token":a.kind,children:a.value},u):a.value)})]})}function z_(n){return{format:n==null?void 0:n.format,type:n==null?void 0:n.type}}const V_=new Set(["cohort","conversion","retention"]);function bd(n){return!n.type||!V_.has(n.type)}function W_(n,e){return!!(n&&n===e)}function H_(n,e){return n&&e.some(t=>t.ref===n)?n:null}function oy(n,e){return[...n].sort((t,i)=>String(t[e]??"").localeCompare(String(i[e]??"")))}function G_(n,e){return{from:e==="second"||e==="minute"||e==="hour"?n.from.replace(" ","T"):cf(n.from),to:gS(n.to,e)}}function Y_(){var $n,ir,Rs,Pi,zi,Vi,Wi,Ls,ds,Hi,Cr,Fr,ta;const{state:n,dispatch:e,catalog:t,backend:i,dashboard:a}=ls(),[u,f]=I.useState(null),h=t.models.find(ye=>ye.name===n.model),m=I.useMemo(()=>Fs(t,a,n.dashboardTab),[t,a,n.dashboardTab]);I.useEffect(()=>{f(null)},[n.dashboardTab,n.model]);const g=(m==null?void 0:m.metrics)??(h==null?void 0:h.metrics)??[],v=g.filter(bd),x=new Set(g.map(ye=>ye.ref)),b=Di(t,n.model).filter(ye=>!m||x.has(ye.ref)),w=(($n=m==null?void 0:m.timeDimension)==null?void 0:$n.ref)??((ir=h==null?void 0:h.timeDimension)==null?void 0:ir.ref),_=g.find(ye=>ye.ref===n.selectedMetric)??b.find(ye=>ye.ref===n.selectedMetric)??g[0],C=_&&!bd(_)?_:void 0,A=!!_&&v.some(ye=>ye.ref===_.ref),V=I.useMemo(()=>{const ye=v.map(vt=>vt.ref);return _&&bd(_)&&!A?[...ye,_.ref]:ye},[v,_,A]),$=I.useMemo(()=>pu(t),[t]),R=I.useMemo(()=>[...(m==null?void 0:m.filters)??[],...Ts(n.filters,{timeRef:w,range:n.dateRange,types:$})],[m,n.filters,w,n.dateRange,$]),O=I.useMemo(()=>n.comparison==="off"||!n.dateRange?null:n.comparison==="year"?fS(n.dateRange):n.comparison==="custom"?n.comparisonRange??null:dS(n.dateRange),[n.comparison,n.dateRange,n.comparisonRange]),E=I.useMemo(()=>O&&w?[...(m==null?void 0:m.filters)??[],...Ts(n.filters,{timeRef:w,range:O,types:$})]:null,[m,n.filters,w,O,$]),D=n.timezone,L=ye=>ye?{...ye,timezone:D}:null,G=En(i,!C&&V.length?L(pd(V,R,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations)):null),W=En(i,!C&&V.length&&w?L(Wm(V,w,n.grain,R,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations,!!n.dateRange)):null),Y=En(i,!C&&V.length&&E?L(pd(V,E,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations)):null),P=En(i,C?L(pd([C.ref],R,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations)):null),te=En(i,!C&&_&&w&&E?L(Wm([_.ref],w,n.grain,E,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations,!0)):null),X=G.error??W.error??Y.error??te.error??P.error;if(!h)return c.jsx("div",{className:"p-4",children:c.jsx(Xn,{message:"No model available in this semantic layer."})});const oe=((m==null?void 0:m.dimensions)??h.dimensions).filter(ye=>ye.type!=="time"),ae=H_(u,oe),se=n.comparison==="year"?"Prev year":n.comparison==="custom"?"Comparison":"Prev period",ne=w?`${w}__${n.grain}`:"",T=ne?[...V,ne]:V,Q=_&&ne?[_.ref,ne]:[],H=v[0]?Fn(v[0].ref,V):_?Fn(_.ref,V):null,N=ye=>!ye||!H||ye.columns.includes(H),F=N(G.result)?(Rs=G.result)==null?void 0:Rs.rows[0]:void 0,ee=N(Y.result)?(Pi=Y.result)==null?void 0:Pi.rows[0]:void 0,he=N(W.result)?((zi=W.result)==null?void 0:zi.rows)??[]:[],re=_?Fn(_.ref,V):"",pe=_?Fn(_.ref,T):"",Ce=_?Fn(_.ref,Q):"",Te=ne?Fn(ne,T):"",Be=ne?Fn(ne,Q):"",dt=Te?oy(he,Te):he,St=F&&re?Number(F[re]):NaN,Es=ee&&re?Number(ee[re]):void 0,Et=pe?dt.map(ye=>({x:String(ye[Te]??""),y:Number(ye[pe])})):[],sr=Be?oy(((Vi=te.result)==null?void 0:Vi.rows)??[],Be):[],cs=Ce&&Et.length>0&&sr.length>0?(()=>{const ye=String(sr[0][Be]??""),vt=Et[0].x,Us=new Map;for(const rn of sr)Us.set(zm(ye,String(rn[Be]??""),n.grain),Number(rn[Ce]));return Et.map(rn=>({x:rn.x,y:Us.get(zm(vt,rn.x,n.grain))??NaN}))})():[],ue=W_(P.resultKey,P.queryKey),Oe=ue?((Wi=P.result)==null?void 0:Wi.rows)??[]:[],st=(ue?((Ls=P.result)==null?void 0:Ls.columns)??[]:[]).map(ye=>({key:ye,label:Le(ye),numeric:Oe.some(vt=>typeof vt[ye]=="number")}));function Ct(ye){e(ye?{type:"setDateRange",range:G_(ye,n.grain)}:{type:"setDateRange",range:void 0})}return c.jsxs("div",{className:"flex flex-col gap-4 p-4",children:[X?c.jsx($i,{message:X}):null,C?null:c.jsx("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-3 lg:grid-cols-4 xl:grid-cols-6","data-testid":"metric-totals",children:v.length===0?c.jsx("div",{className:"col-span-full",children:c.jsx(Xn,{message:"This model has no metrics."})}):v.map(ye=>{const vt=Fn(ye.ref,V),Us=Fn(ye.ref,T),rn=F?Number(F[vt]):NaN,$s=ee?Number(ee[vt]):void 0,Gi=dt.map(fs=>Number(fs[Us])).filter(Number.isFinite);return c.jsx(Nr,{metric:ye.ref,label:ye.label,valueText:pt(rn,z_(ye)),delta:$s!==void 0?Sy(rn,$s):null,sparkValues:Gi,selected:n.selectedMetric===ye.ref,loading:G.loading&&!F,onSelect:fs=>e({type:"setMetric",metric:fs})},ye.ref)})}),C?c.jsxs("section",{className:"flex flex-col gap-2","data-testid":"single-metric-result",children:[c.jsxs("div",{children:[c.jsx("h2",{className:"text-sm font-semibold text-ink",children:C.label}),C.description?c.jsx("p",{className:"mt-0.5 text-xs text-muted",children:C.description}):null]}),P.error?null:ue?c.jsx(Ui,{columns:st,rows:Oe,searchable:!0,renderCell:(ye,vt)=>vt==null||vt===""?"—":String(vt)}):c.jsx(mu,{message:`Loading ${C.label}…`})]}):_?c.jsx(U_,{metric:_,points:Et,comparisonPoints:O?cs:void 0,total:St,prevTotal:O?Es:void 0,hasTime:!!w,loading:W.loading,activeRange:n.dateRange,comparisonLabel:se,formatLabel:ye=>hS(ye,n.grain),onBrush:Ct}):null,C?null:c.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(220px,1fr))] gap-0 border-l border-t border-line",children:_&&oe.length?oe.filter(ye=>ae===null||ae===ye.ref).map(ye=>c.jsx(B_,{dim:ye,model:h,timeDimensionRef:w,rankMetric:_,contextColumn:n.contextColumn,metricTotal:Number.isFinite(St)?St:void 0,comparisonRange:O??void 0,baseFilters:m==null?void 0:m.filters,baseSegments:m==null?void 0:m.segments,usePreaggregations:m==null?void 0:m.usePreaggregations,expanded:ae===ye.ref,onExpandedChange:vt=>f(vt?ye.ref:null)},ye.ref)):c.jsx(Xn,{message:"No categorical dimensions to break down."})}),c.jsx(yu,{queries:{Totals:(ds=G.result)==null?void 0:ds.sql,Series:(Hi=W.result)==null?void 0:Hi.sql,Comparison:(Cr=Y.result)==null?void 0:Cr.sql,"Prev series":(Fr=te.result)==null?void 0:Fr.sql,"Focused metric":(ta=P.result)==null?void 0:ta.sql}})]})}function Q_(){var oe,ae;const{state:n,catalog:e,backend:t}=ls(),i=e.models.find(se=>se.name===n.model),a=(i==null?void 0:i.dimensions)??[],u=Di(e,n.model),f=I.useMemo(()=>[...(i==null?void 0:i.metrics)??[],...u],[i,u]),h=(oe=i==null?void 0:i.timeDimension)==null?void 0:oe.ref,m=se=>a.some(ne=>ne.ref===se),g=se=>f.some(ne=>ne.ref===se),v=n.pivotDims.filter(m),x=n.pivotMetrics.filter(g),b=g(n.selectedMetric)?n.selectedMetric:(ae=i==null?void 0:i.metrics[0])==null?void 0:ae.ref,w=x.length?x:b?[b]:[],[_,C]=I.useState(null),A=I.useMemo(()=>ff(a),[a]),V=I.useMemo(()=>Ts(n.filters,{timeRef:h,range:n.dateRange,types:A}),[n.filters,h,n.dateRange,A]),$=_??(w[0]?{ref:w[0],dir:"desc"}:null),R=$?[`${$.ref} ${$.dir.toUpperCase()}`]:void 0,O=w.length||v.length?wS(w,v,V,R,500):null,E=O?{...O,timezone:n.timezone}:null,{result:D,loading:L,error:G}=En(t,E),W=I.useMemo(()=>new Map(f.map(se=>[se.ref,se])),[f]),Y=I.useMemo(()=>{const se=new Map;for(const ne of[...v,...w])se.set(Sr(ne),ne);return se},[v,w]),P=[...v.map(se=>{var ne;return{key:Sr(se),label:((ne=a.find(T=>T.ref===se))==null?void 0:ne.label)??Le(se),numeric:!1}}),...w.map(se=>{var ne;return{key:Sr(se),label:((ne=W.get(se))==null?void 0:ne.label)??Le(se),numeric:!0,sortable:!0}})];function te(se){const ne=Y.get(se);ne&&C(T=>T&&T.ref===ne?{ref:ne,dir:T.dir==="desc"?"asc":"desc"}:{ref:ne,dir:"desc"})}function X(se,ne){if(se.numeric){const T=W.get(Y.get(se.key)??"");return pt(ne,{format:T==null?void 0:T.format,type:T==null?void 0:T.type})}return ne==null||ne===""?"—":String(ne)}return i?c.jsxs("div",{className:"flex flex-col gap-4 p-4",children:[G?c.jsx($i,{message:G}):P.length===0?c.jsx(Xn,{title:"Nothing selected",message:"Pick at least one metric or dimension above."}):c.jsx(Ui,{columns:P,rows:(D==null?void 0:D.rows)??[],loading:L,sortKey:$?Sr($.ref):void 0,sortDir:$==null?void 0:$.dir,onSort:te,renderCell:X}),c.jsx(yu,{queries:{Pivot:D==null?void 0:D.sql}})]}):c.jsx("div",{className:"p-4",children:c.jsx(Xn,{message:"No model available."})})}const Dn={top:12,right:14,bottom:26,left:44};function K_(n,e,t=4){if(!(e>n))return[n];const i=(e-n)/(t-1);return Array.from({length:t},(a,u)=>n+i*u)}function s0({data:n,height:e=200,ariaLabel:t,selectedLabel:i,onSelect:a}){const u=I.useRef(null),[f,h]=I.useState(640),{tip:m,handlers:g}=Dr();I.useEffect(()=>{const D=u.current;if(!D||typeof ResizeObserver>"u")return;const L=new ResizeObserver(G=>{for(const W of G)h(Math.max(160,W.contentRect.width))});return L.observe(D),()=>L.disconnect()},[]);const v=n.map(D=>Number.isFinite(D.value)?D.value:0),x=Math.min(0,...v),b=Math.max(0,...v),w=b-x||1,_=f-Dn.left-Dn.right,C=e-Dn.top-Dn.bottom,A=D=>Dn.top+(1-(D-x)/w)*C,V=A(0),$=_/Math.max(n.length,1),R=Math.max(8,Math.min(48,$*.62)),O=K_(x,b,4),E=t||`Bar chart, ${n.length} categories, up to ${Gt(b)}`;return c.jsxs(c.Fragment,{children:[c.jsxs("svg",{ref:u,role:"img","aria-label":E,className:"h-[200px] w-full overflow-hidden",viewBox:`0 0 ${f} ${e}`,children:[O.map((D,L)=>{const G=A(D);return c.jsxs("g",{children:[c.jsx("line",{x1:Dn.left,x2:f-Dn.right,y1:G,y2:G,className:"stroke-line"}),c.jsx("text",{x:Dn.left-6,y:G+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Gt(D)})]},L)}),c.jsx("line",{x1:Dn.left,x2:f-Dn.right,y1:V,y2:V,className:"stroke-line"}),n.map((D,L)=>{const G=D.filterValue??D.label,W=v[L]??0,Y=A(W),P=Math.abs(Y-V),te=Dn.left+$*L+($-R)/2,X=Math.min(Y,V);return c.jsxs("g",{role:a?"button":void 0,tabIndex:a?0:void 0,"aria-label":a?`Filter to ${D.label}`:void 0,"aria-pressed":a?i===G:void 0,onClick:a?()=>a(G):void 0,onKeyDown:a?oe=>{(oe.key==="Enter"||oe.key===" ")&&a(G)}:void 0,className:a?"cursor-pointer":void 0,children:[c.jsx("rect",{x:te,y:X,width:R,height:P,"data-label":D.label,"data-value":W,"data-tone":W<0?"negative":"positive",className:i===G?"fill-accent":W<0?"fill-danger":"fill-chart-primary",...g(`${D.label}: ${pt(W)}`)}),c.jsx("text",{x:te+R/2,y:e-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:D.label.slice(0,8)})]},`${G}-${L}`)})]}),c.jsx(rr,{tip:m})]})}const wd=7;function vn(n){return`var(--viz-${(n%wd+wd)%wd+1})`}function As(n,e,t=4){if(!(e>n))return[n];const i=(e-n)/(t-1);return Array.from({length:t},(a,u)=>n+i*u)}function us(n,e,t){if(!n||typeof ResizeObserver>"u")return()=>{};const i=new ResizeObserver(a=>{for(const u of a)t(Math.max(e,u.contentRect.width))});return i.observe(n),()=>i.disconnect()}const Vt={top:12,right:14,bottom:30,left:48};function i0({points:n,height:e=240,xLabel:t,yLabel:i,formatX:a=Gt,formatY:u=Gt,ariaLabel:f}){const h=I.useRef(null),[m,g]=I.useState(640),{tip:v,handlers:x}=Dr();I.useEffect(()=>us(h.current,200,g),[]);const b=n.filter(P=>Number.isFinite(P.x)&&Number.isFinite(P.y));if(b.length===0)return c.jsx("div",{className:"grid h-[240px] place-items-center text-xs text-faint",children:"No points to chart."});const w=[...new Set(b.map(P=>P.series??""))],_=b.map(P=>P.x),C=b.map(P=>P.y),A=Math.min(..._),V=Math.max(..._),$=Math.min(...C),R=Math.max(...C),O=V-A||1,E=R-$||1,D=m-Vt.left-Vt.right,L=e-Vt.top-Vt.bottom,G=P=>Vt.left+(P-A)/O*D,W=P=>Vt.top+(1-(P-$)/E)*L,Y=f||`Scatter plot, ${b.length} points${t&&i?` of ${i} by ${t}`:""}`;return c.jsxs(c.Fragment,{children:[w.length>1?c.jsx("div",{className:"mb-1 flex flex-wrap items-center gap-3 text-2xs text-faint",children:w.map((P,te)=>c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-full",style:{background:vn(te)}}),P||"(default)"]},P||"(default)"))}):null,c.jsxs("svg",{ref:h,role:"img","aria-label":Y,className:"w-full overflow-hidden",style:{height:e},viewBox:`0 0 ${m} ${e}`,children:[As($,R,4).map((P,te)=>{const X=W(P);return c.jsxs("g",{children:[c.jsx("line",{x1:Vt.left,x2:m-Vt.right,y1:X,y2:X,className:"stroke-line"}),c.jsx("text",{x:Vt.left-6,y:X+3,textAnchor:"end",className:"fill-faint text-[10px]",children:u(P)})]},`y${te}`)}),As(A,V,5).map((P,te)=>{const X=G(P);return c.jsxs("g",{children:[c.jsx("line",{x1:X,x2:X,y1:Vt.top,y2:e-Vt.bottom,className:"stroke-line"}),c.jsx("text",{x:X,y:e-14,textAnchor:"middle",className:"fill-faint text-[10px]",children:a(P)})]},`x${te}`)}),t?c.jsx("text",{x:Vt.left+D/2,y:e-2,textAnchor:"middle",className:"fill-muted text-[10px]",children:t}):null,i?c.jsx("text",{x:10,y:Vt.top+L/2,textAnchor:"middle",transform:`rotate(-90 10 ${Vt.top+L/2})`,className:"fill-muted text-[10px]",children:i}):null,b.map((P,te)=>c.jsx("circle",{cx:G(P.x),cy:W(P.y),r:3.5,fill:vn(w.indexOf(P.series??"")),fillOpacity:.75,"data-x":P.x,"data-y":P.y,"data-label":P.label,...x(c.jsx(os,{title:P.label??P.series,rows:[{label:t??"x",value:a(P.x)},{label:i??"y",value:u(P.y)}]}))},te))]}),c.jsx(rr,{tip:v})]})}function J_(){const n=Ev();return c.jsx("span",{className:"text-2xs text-faint",children:n?"Querying…":"Live data"})}function Sd(n,e){for(const i of n.models){const a=i.metrics.find(u=>u.ref===e);if(a)return{format:a.format,type:a.type}}const t=n.graphMetrics.find(i=>i.ref===e);return{format:t==null?void 0:t.format,type:t==null?void 0:t.type}}function q_(n){return ff(n.models.flatMap(e=>e.dimensions))}function Z_(n){var t;const e=(t=n.encoding)==null?void 0:t.y;return(Array.isArray(e)?e[0]:e)??n.query.metrics[0]??""}function X_({chart:n,columns:e,rows:t}){const i=j_(e,t);return c.jsx("a",{href:`data:text/csv;charset=utf-8,${encodeURIComponent(i)}`,download:`${n.id}.csv`,className:"border border-line px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Export CSV"})}function e2({chart:n,columns:e,rows:t,loading:i,onDrill:a}){const u=e.map(g=>({key:g,label:Le(g),numeric:n.query.metrics.some(v=>xr(v,e)===g)})),f=u_(n),h=f?xr(f,e):void 0,m=!!f;return c.jsxs("div",{className:"border-t border-line bg-surface-soft p-3","data-testid":`chart-details-${n.id}`,children:[c.jsxs("div",{className:"mb-2 flex items-center justify-between gap-2",children:[c.jsx("span",{className:"text-2xs font-semibold uppercase tracking-wide text-faint",children:"Drill details"}),m&&f&&h?c.jsxs("span",{className:"text-2xs text-faint",children:["Choose a ",Le(f)," value to filter every chart."]}):null]}),c.jsx(Ui,{columns:u,rows:t,loading:i,pageSize:20,renderCell:(g,v)=>String(v??"—")}),m&&f&&h&&t.length?c.jsx("div",{className:"mt-2 flex flex-wrap gap-1","aria-label":`Drill by ${Le(f)}`,children:t.slice(0,12).map((g,v)=>{const x=au(g[h]);return c.jsxs("button",{type:"button",onClick:()=>a(f,x),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-accent hover:text-ink",children:["Filter to ",rs(x)]},`${String(x)}-${v}`)})}):null]})}function t2({document:n,chart:e,catalog:t,backend:i,state:a,setFilters:u,setRange:f}){var P,te,X,oe,ae,se,ne;const[h,m]=I.useState(!1),g=I.useMemo(()=>q_(t),[t]),v=I.useMemo(()=>g_(n,e,a.filters,g,a.ranges,a),[e,n,a,g]),x=En(i,v),b=((P=x.result)==null?void 0:P.rows)??[],w=((te=x.result)==null?void 0:te.columns)??[],_=e.query.dimensions??[],C=((X=e.encoding)==null?void 0:X.x)??_[0]??"",A=f_(e),V=A[0]??Z_(e),$=xr(C,w),R=yf(n,e,a),O=Qv(e,g),E=c_(e,C),D=((oe=e.title)==null?void 0:oe.trim())||Le(e.id),L=[(ae=e.encoding)==null?void 0:ae.color,..._.filter(T=>T!==C)].filter((T,Q,H)=>!!T&&H.indexOf(T)===Q),G=p_(e,C,L),W=L.map(T=>xr(T,w));let Y;if(x.loading&&!x.result)Y=c.jsx(mu,{title:`Loading ${D}`});else if(x.error)Y=c.jsx($i,{title:`Could not load ${D}`,message:x.error});else if(!b.length)Y=c.jsx(Xn,{title:D,message:"The query returned no rows."});else if(_.length)if(O==="scatter"||O==="point"){const T=(se=e.encoding)!=null&&se.color?xr(e.encoding.color,w):W[0];Y=c.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(260px,1fr))] gap-3",children:A.map(Q=>{const H=xr(Q,w),N=b.map(F=>({x:Number(F[$]),y:Number(F[H]),label:String(F[$]??""),series:T?String(F[T]??""):void 0}));return c.jsxs("div",{className:"min-w-0",children:[A.length>1?c.jsx("h3",{className:"mb-1 text-2xs font-semibold text-muted",children:Le(Q)}):null,c.jsx(i0,{points:N,xLabel:Le(C),yLabel:Le(Q),formatY:F=>pt(F,Sd(t,Q)),ariaLabel:`${D}, ${Le(Q)} by ${Le(C)}, ${N.length} points`})]},Q)})})}else O==="line"||O==="area"?Y=c.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(260px,1fr))] gap-3",children:A.map(T=>{const Q=b_(b,$,xr(T,w),W),H=Q[0]??{label:"Current",points:[]},N=Sd(t,T);return c.jsxs("div",{className:"min-w-0",children:[A.length>1?c.jsx("h3",{className:"mb-1 text-2xs font-semibold text-muted",children:Le(T)}):null,c.jsx(ea,{points:H.points,seriesLabel:H.label,additionalSeries:Q.slice(1),formatValue:F=>pt(F,N),ariaLabel:`${D}, ${Le(T)}, ${Q.length} series and ${H.points.length} buckets`,onBrush:E?F=>f(C,F):void 0})]},T)})}):Y=c.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(260px,1fr))] gap-3",children:A.map(T=>{const Q=xr(T,w),H=x_(b,$,Q,W);return H.map((N,F)=>{const ee=N.data.slice(0,30),he=A.length>1||H.length>1,re=[A.length>1?Le(T):"",H.length>1?N.label:""].filter(Boolean).join(" · ");return c.jsxs("div",{className:"min-w-0",children:[he?c.jsx("h3",{className:"mb-1 text-2xs font-semibold text-muted",children:re}):null,c.jsx(s0,{data:ee,ariaLabel:`${D}, ${re||Le(T)}, ${ee.length} categories`,selectedLabel:R.filters[C],onSelect:G?pe=>{u(h_(e,C,pe,L,N.filterValues)),m(!0)}:void 0})]},`${T}-${N.label}-${F}`)})})});else{const T=b[0];Y=c.jsx("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2",children:e.query.metrics.map(Q=>c.jsx(Nr,{metric:Q,label:Le(Q),value:T[xr(Q,w)],format:Sd(t,Q)},Q))})}return c.jsxs("article",{className:"min-w-0 overflow-hidden border border-line bg-surface","data-testid":"dashboard-chart","data-chart-id":e.id,children:[c.jsxs("header",{className:"flex min-h-12 flex-wrap items-center justify-between gap-2 border-b border-line px-3 py-2",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("h2",{className:"truncate text-sm font-semibold text-ink",children:D}),c.jsxs("p",{className:"text-2xs text-faint",children:[Le(V),C?` by ${Le(C)}`:""]})]}),c.jsxs("div",{className:"flex flex-wrap gap-1",children:[c.jsx("button",{type:"button","aria-expanded":h,onClick:()=>m(T=>!T),className:"border border-line px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:h?"Hide details":"Drill details"}),c.jsx("a",{href:v_(n,e,a,g,t),className:"border border-line px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Explore from here"}),c.jsx(X_,{chart:e,columns:w,rows:b})]})]}),c.jsx("div",{className:"min-h-64 overflow-hidden p-3",children:Y}),h?c.jsx(e2,{chart:e,columns:w,rows:b,loading:x.loading,onDrill:(T,Q)=>u({[T]:Q})}):null,(ne=x.result)!=null&&ne.sql?c.jsx("div",{className:"border-t border-line px-3 py-2",children:c.jsx(yu,{queries:{Query:x.result.sql}})}):null]})}function n2({document:n,state:e,onLoad:t}){const[i,a]=I.useState(""),[u,f]=I.useState(()=>__(n)),[h,m]=I.useState(!1);function g(v){f(v),m(!N_(n,v))}return c.jsxs("details",{className:"relative",children:[c.jsx("summary",{className:"cursor-pointer list-none border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Saved views"}),c.jsxs("div",{className:"absolute right-0 z-50 mt-1 w-72 border border-line bg-surface p-3 shadow-[var(--shadow)]",children:[c.jsx("p",{className:"mb-2 text-2xs text-faint",children:"Stored only in this browser. Nothing is written to the server."}),c.jsxs("div",{className:"flex gap-1",children:[c.jsx("input",{value:i,onChange:v=>a(v.target.value),placeholder:"View name","aria-label":"Saved view name",className:"min-w-0 flex-1 border border-line bg-bg px-2 py-1 text-xs text-ink"}),c.jsx("button",{type:"button",disabled:!i.trim(),onClick:()=>{const v=[...u.filter(x=>x.name!==i.trim()),{name:i.trim(),state:e}];g(v),a("")},className:"border border-line px-2 py-1 text-2xs text-muted hover:text-ink disabled:opacity-40",children:"Save"})]}),h?c.jsx("p",{role:"alert",className:"mt-2 text-2xs text-danger",children:"Browser storage is unavailable."}):null,c.jsx("div",{className:"mt-2 flex flex-col gap-1",children:u.length?u.map(v=>c.jsxs("div",{className:"flex items-center justify-between gap-2 border-t border-line pt-1",children:[c.jsx("button",{type:"button",onClick:()=>t(v.state),className:"min-w-0 flex-1 truncate text-left text-xs text-muted hover:text-ink",children:v.name}),c.jsx("button",{type:"button","aria-label":`Delete saved view ${v.name}`,onClick:()=>g(u.filter(x=>x.name!==v.name)),className:"text-2xs text-faint hover:text-danger",children:"Delete"})]},v.name)):c.jsx("span",{className:"text-2xs text-faint",children:"No local views yet."})})]})]})}function r2(){const[n,e]=I.useState(!1);return c.jsx("button",{type:"button",title:"Copies the active tab, filters, and brushed ranges. Data is queried live; local saved views are not shared.",onClick:async()=>{await navigator.clipboard.writeText(window.location.href),e(!0),window.setTimeout(()=>e(!1),1200)},className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:n?"Share URL copied":"Copy share URL"})}function s2({document:n,catalog:e,backend:t}){const[i,a]=I.useState(()=>w_(window.location.search,n)),u=n.tabs.find(b=>b.id===i.tab)??n.tabs[0];I.useEffect(()=>{window.document.title=n.title},[n.title]),I.useEffect(()=>{const b=S_(i,n);window.history.replaceState(null,"",`${window.location.pathname}${b?`?${b}`:""}`)},[n,i]);function f(b,w){var C,A;const _=lu(n,b);if((((A=(C=n.defaults)==null?void 0:C.interactions)==null?void 0:A.scope)??"dashboard")==="chart"){a(V=>{var $;return{...V,chartFilters:{...V.chartFilters??{},[_]:{...(($=V.chartFilters)==null?void 0:$[_])??{},...w}}}});return}a(V=>({...V,filters:{...V.filters,...w},filterSources:{...V.filterSources,...Object.fromEntries(Object.keys(w).map($=>[$,_]))}}))}function h(b,w,_){var A,V;const C=lu(n,b);if((((V=(A=n.defaults)==null?void 0:A.interactions)==null?void 0:V.scope)??"dashboard")==="chart"){a($=>{const R={...$.chartRanges??{}},O={...R[C]??{}};return _?O[w]=_:delete O[w],Object.keys(O).length?R[C]=O:delete R[C],{...$,chartRanges:R}});return}a($=>{const R={...$.ranges},O={...$.rangeSources};return _?(R[w]=_,O[w]=C):(delete R[w],delete O[w]),{...$,ranges:R,rangeSources:O}})}const m=c.jsxs(c.Fragment,{children:[c.jsx(n2,{document:n,state:i,onLoad:a}),c.jsx(r2,{}),c.jsx(Ko,{}),c.jsx(J_,{})]}),g=Object.entries(i.chartFilters??{}).flatMap(([b,w])=>Object.entries(w).map(([_,C])=>({source:b,dimension:_,value:C}))),v=Object.entries(i.chartRanges??{}).flatMap(([b,w])=>Object.entries(w).map(([_,C])=>({source:b,dimension:_,range:C}))),x=Object.entries(i.filters).length||Object.entries(i.ranges).length||g.length||v.length?c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"shrink-0 text-2xs font-semibold uppercase tracking-wide text-faint",children:"Filters"}),Object.entries(i.filters).map(([b,w])=>c.jsxs("button",{type:"button","aria-label":`Remove filter ${Le(b)} ${w}`,onClick:()=>a(_=>{const C={..._.filters},A={..._.filterSources};return delete C[b],delete A[b],{..._,filters:C,filterSources:A}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Le(b)," = ",w," ×"]},b)),Object.entries(i.ranges).map(([b,w])=>c.jsxs("button",{type:"button","aria-label":`Remove range ${Le(b)} ${w.from} to ${w.to}`,onClick:()=>a(_=>{const C={..._.ranges},A={..._.rangeSources};return delete C[b],delete A[b],{..._,ranges:C,rangeSources:A}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Le(b),": ",w.from,"–",w.to," ×"]},`range-${b}`)),g.map(({source:b,dimension:w,value:_})=>c.jsxs("button",{type:"button","aria-label":`Remove filter ${Le(w)} ${_} from ${b}`,onClick:()=>a(C=>{const A={...C.chartFilters??{}},V={...A[b]??{}};return delete V[w],Object.keys(V).length?A[b]=V:delete A[b],{...C,chartFilters:A}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Le(w)," = ",_," · ",b," ×"]},`chart-filter-${b}-${w}`)),v.map(({source:b,dimension:w,range:_})=>c.jsxs("button",{type:"button","aria-label":`Remove range ${Le(w)} ${_.from} to ${_.to} from ${b}`,onClick:()=>a(C=>{const A={...C.chartRanges??{}},V={...A[b]??{}};return delete V[w],Object.keys(V).length?A[b]=V:delete A[b],{...C,chartRanges:A}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Le(w),": ",_.from,"–",_.to," · ",b," ×"]},`chart-range-${b}-${w}`)),c.jsx("button",{type:"button",onClick:()=>a(b=>({...b,filters:{},ranges:{},filterSources:{},rangeSources:{},chartFilters:{},chartRanges:{}})),className:"text-2xs text-muted hover:text-ink",children:"Clear all"})]}):void 0;return c.jsx(Dv,{brand:c.jsxs("div",{className:"min-w-0",children:[c.jsx("h1",{className:"truncate text-sm font-semibold text-ink",children:n.title}),c.jsx("p",{className:"text-2xs text-faint",children:"Declarative dashboard"})]}),toolbar:m,filters:x,rail:null,showRail:!1,children:c.jsxs("div",{"data-testid":"dashboard-document",className:"flex min-h-full flex-col",children:[c.jsx("nav",{className:"flex shrink-0 gap-1 overflow-x-auto border-b border-line bg-surface px-3 pt-2","aria-label":"Dashboard tabs",children:n.tabs.map(b=>c.jsx("button",{type:"button",role:"tab","aria-selected":b.id===(u==null?void 0:u.id),"data-tab-id":b.id,onClick:()=>a(w=>{var _,C;return w.tab===b.id?w:(((C=(_=n.defaults)==null?void 0:_.interactions)==null?void 0:C.scope)??"dashboard")==="dashboard"?{...w,tab:b.id}:{...w,tab:b.id,filters:{},ranges:{},filterSources:{},rangeSources:{},chartFilters:{},chartRanges:{}}}),className:"border border-b-0 border-line px-3 py-2 text-xs text-muted aria-selected:border-accent aria-selected:bg-bg aria-selected:text-ink",children:k_(b)},b.id))}),u?c.jsx("section",{className:"grid min-w-0 grid-cols-1 gap-3 p-3 xl:grid-cols-2","data-testid":"dashboard-chart-grid","data-tab-id":u.id,children:u.charts.map(b=>c.jsx(t2,{document:n,chart:b,catalog:e,backend:t,state:i,setFilters:w=>f(b,w),setRange:(w,_)=>h(b,w,_)},b.id))}):c.jsx(Xn,{title:"No dashboard tabs",message:"This dashboard document has no tabs to render."})]})})}function ay(){const n=Ev();return c.jsxs("span",{role:"status","aria-live":"polite","aria-atomic":"true",className:"flex items-center gap-1.5 text-2xs text-faint",title:n?"Updating data":"Data is up to date",children:[n?c.jsx("svg",{"aria-hidden":"true",viewBox:"0 0 24 24",className:"spinner size-3.5 text-accent",fill:"none",stroke:"currentColor",strokeWidth:"3",children:c.jsx("path",{d:"M12 3a9 9 0 1 0 9 9",strokeLinecap:"round"})}):c.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-full bg-accent"}),c.jsx("span",{className:"sr-only",children:n?"Updating data":"Data is up to date"})]})}function i2(){const[n,e]=I.useState(!1);return c.jsx("button",{type:"button",onClick:async()=>{await navigator.clipboard.writeText(window.location.href),e(!0),window.setTimeout(()=>e(!1),1200)},className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:n?"Copied":"Copy link"})}function xl({children:n}){return c.jsx("div",{className:"grid h-screen place-items-center bg-bg p-6",children:n})}function o2({backend:n,onAuthenticated:e}){const[t,i]=I.useState(""),[a,u]=I.useState(null),[f,h]=I.useState(!1);return c.jsxs("div",{className:"w-full max-w-sm border border-line bg-surface p-6 shadow-sm",children:[c.jsx("h1",{className:"text-base font-semibold text-ink",children:"Connect to Sidemantic"}),c.jsx("p",{className:"mt-2 text-xs leading-5 text-muted",children:"Enter the API bearer once. It is exchanged for a short-lived, HttpOnly browser session where supported, and is never placed in the URL or browser storage."}),c.jsxs("form",{className:"mt-5 space-y-3",onSubmit:async m=>{m.preventDefault(),h(!0),u(null);try{await n.createBrowserSession(t),i(""),e()}catch(g){u(g instanceof Error?g.message:String(g))}finally{h(!1)}},children:[c.jsx("label",{className:"block text-xs font-medium text-ink",htmlFor:"api-token",children:"API bearer token"}),c.jsx("input",{id:"api-token",type:"password",autoComplete:"off",required:!0,value:t,onChange:m=>i(m.target.value),className:"w-full border border-line bg-bg px-3 py-2 text-sm text-ink outline-none focus:border-accent"}),a?c.jsx("p",{className:"text-xs text-red-700",children:a}):null,c.jsx("button",{type:"submit",disabled:f||!t,className:"w-full bg-accent px-3 py-2 text-xs font-semibold text-white disabled:opacity-50",children:f?"Connecting…":"Connect"})]})]})}function a2(){const{state:n,dispatch:e,catalog:t,initial:i,dashboard:a}=ls(),u=!!a,f=n.view==="home"&&!u,h=t.models.find(R=>R.name===n.model),m=I.useMemo(()=>Fs(t,a,n.dashboardTab),[t,a,n.dashboardTab]),g=I.useMemo(()=>a?Tv(t,a,n.dashboardTab):i,[t,a,i,n.dashboardTab]),v=n.dateRange!=null||Object.keys(n.filters).length>0,x=(m==null?void 0:m.timeDimension)??(h==null?void 0:h.timeDimension),b=!!x,w=uS(x==null?void 0:x.supportedGranularities,n.grain),_=I.useMemo(()=>{const R=new Map;for(const O of t.models)for(const E of O.dimensions)R.set(E.ref,{dim:E,model:O});return R},[t]),C=Object.entries(n.filters).flatMap(([R,O])=>{const E=_.get(R);return E?[c.jsx(Ud,{dim:E.dim,model:E.model,filter:O,onRemove:()=>e({type:"removeFilterDim",dim:R})},R)]:[]}),A=c.jsx(sS,{dashboardTitle:a==null?void 0:a.title,modelLabel:!f&&!u?h==null?void 0:h.label:void 0,onHome:()=>e({type:"setView",view:"home"})}),V=f?c.jsxs(c.Fragment,{children:[c.jsx(Ko,{}),c.jsx(ay,{})]}):c.jsxs(c.Fragment,{children:[a?c.jsx("div",{className:"flex items-center border border-line bg-surface",role:"tablist","aria-label":"Dashboard tabs",children:a.tabs.map(R=>{const O=R.id===n.dashboardTab;return c.jsx("button",{type:"button",role:"tab","aria-selected":O,className:`px-2 py-1 text-2xs ${O?"bg-accent text-white":"text-muted hover:text-ink"}`,onClick:()=>{const E=Fs(t,a,R.id);E&&e({type:"setDashboardTab",tab:E.id,model:E.model.name,metric:E.selectedMetric,grain:E.grain})},children:R.label??R.id},R.id)})}):c.jsx(Pv,{view:n.view,onChange:R=>e({type:"setView",view:R})}),c.jsx(Lv,{range:n.dateRange,disabled:!b,onChange:R=>e({type:"setDateRange",range:R}),comparison:n.comparison,comparisonRange:n.comparisonRange,onComparisonChange:(R,O)=>e({type:"setComparison",comparison:R,range:O})}),c.jsx($d,{grain:n.grain,options:w,disabled:!b,onChange:R=>e({type:"setGrain",grain:R})}),c.jsx(t_,{timezone:n.timezone,disabled:!b,onChange:R=>e({type:"setTimezone",timezone:R})}),v?c.jsx("button",{type:"button",onClick:()=>e({type:"reset",initial:g}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Reset"}):null,c.jsx(i2,{}),c.jsx(Ko,{}),c.jsx(ay,{})]}),$=c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"shrink-0 text-xs font-medium text-muted",children:"Filters"}),C.length?C:c.jsx("span",{className:"text-2xs text-faint",children:"None"}),h?c.jsx(YS,{model:h}):null,C.length?c.jsx("button",{type:"button",onClick:()=>e({type:"clearFilters"}),className:"shrink-0 text-2xs text-muted underline-offset-2 hover:text-ink hover:underline",children:"Clear"}):null]});return c.jsx(Dv,{brand:A,toolbar:V,filters:f?void 0:$,rail:c.jsx(KS,{}),showRail:!f&&!u,openRailRequest:n.view==="pivot",drawer:f?void 0:c.jsx(i_,{}),children:c.jsxs(JS,{children:[n.view==="home"?c.jsx(I_,{}):null,n.view==="explore"?c.jsx(Y_,{}):null,n.view==="pivot"?c.jsx(Q_,{}):null]},n.view)})}function l2(){const[n,e]=I.useState(!1),t=I.useMemo(()=>new rS({transport:"json",onUnauthorized:()=>e(!0)}),[]),[i,a]=I.useState(null),[u,f]=I.useState(null),[h,m]=I.useState(0),g=l_(window.location.pathname,window.location.search);return I.useEffect(()=>{let v=!0;return Promise.all([t.getCatalog(),g?Promise.resolve(null):t.getDashboard()]).then(([x,b])=>v&&a({catalog:x,dashboard:b})).catch(x=>v&&f(x instanceof Error?x.message:String(x))),()=>{v=!1}},[t,g,h]),n?c.jsx(xl,{children:c.jsx(o2,{backend:t,onAuthenticated:()=>{e(!1),f(null),m(v=>v+1)}})}):u?c.jsx(xl,{children:c.jsx($i,{title:"Could not load semantic layer",message:u})}):i?i.catalog.models.length?i.dashboard?c.jsx(s2,{document:i.dashboard,catalog:i.catalog,backend:t}):c.jsx(PS,{catalog:i.catalog,backend:t,children:c.jsx(a2,{})}):c.jsx(xl,{children:c.jsx(Xn,{title:"Empty semantic layer",message:"No models were found."})}):c.jsx(xl,{children:c.jsx(mu,{title:"Loading semantic layer",message:"Reading models and metrics…"})})}const en={top:14,right:48,bottom:26,left:48};function u2({data:n,barLabel:e="Bars",lineLabel:t="Line",height:i=220,formatBar:a=pt,formatLine:u=pt,ariaLabel:f}){const h=I.useRef(null),[m,g]=I.useState(640),{tip:v,handlers:x}=Dr();if(I.useEffect(()=>us(h.current,240,g),[]),n.length===0)return c.jsx("div",{className:"grid h-[220px] place-items-center text-xs text-faint",children:"No data to chart."});const b=n.map(ae=>Number.isFinite(ae.bar)?ae.bar:0),w=n.map(ae=>Number.isFinite(ae.line)?ae.line:0),_=Math.min(0,...b),C=Math.max(0,...b),A=C-_||1,V=Math.min(...w),$=Math.max(...w),R=$-V||1,O=m-en.left-en.right,E=i-en.top-en.bottom,D=ae=>en.top+(1-(ae-_)/A)*E,L=ae=>en.top+(1-(ae-V)/R)*E,G=O/n.length,W=Math.max(8,Math.min(48,G*.55)),Y=ae=>en.left+G*ae+G/2,P=D(0),te=n.map((ae,se)=>`${Y(se).toFixed(1)},${L(w[se]).toFixed(1)}`).join(" L "),X=vn(1),oe=f||`Combo chart, ${n.length} categories: ${e} bars with a ${t} line`;return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"mb-1 flex items-center gap-3 text-2xs text-faint",children:[c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{"aria-hidden":"true",className:"inline-block h-2 w-3 bg-chart-primary"})," ",e]}),c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{"aria-hidden":"true",className:"inline-block h-0.5 w-3",style:{background:X}})," ",t]})]}),c.jsxs("svg",{ref:h,role:"img","aria-label":oe,className:"w-full overflow-hidden",style:{height:i},viewBox:`0 0 ${m} ${i}`,children:[As(_,C,4).map((ae,se)=>{const ne=D(ae);return c.jsxs("g",{children:[c.jsx("line",{x1:en.left,x2:m-en.right,y1:ne,y2:ne,className:"stroke-line"}),c.jsx("text",{x:en.left-6,y:ne+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Gt(ae)})]},se)}),As(V,$,4).map((ae,se)=>c.jsx("text",{x:m-en.right+6,y:L(ae)+3,textAnchor:"start",className:"text-[10px]",fill:X,children:u(ae)},se)),c.jsx("line",{x1:en.left,x2:m-en.right,y1:P,y2:P,className:"stroke-line"}),n.map((ae,se)=>{const ne=b[se],T=D(ne);return c.jsxs("g",{children:[c.jsx("rect",{x:Y(se)-W/2,y:Math.min(T,P),width:W,height:Math.abs(T-P),"data-label":ae.label,"data-bar":ne,"data-line":w[se],className:ne<0?"fill-danger":"fill-chart-primary",...x(c.jsx(os,{title:ae.label,rows:[{label:e,value:a(ne),swatch:"var(--chart-primary)"},{label:t,value:u(w[se]),swatch:X}]}))}),c.jsx("text",{x:Y(se),y:i-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:ae.label.slice(0,8)})]},ae.label)}),c.jsx("path",{d:`M ${te}`,fill:"none",stroke:X,strokeWidth:1.75}),n.map((ae,se)=>c.jsx("circle",{cx:Y(se),cy:L(w[se]),r:3,fill:X,...x(c.jsx(os,{title:ae.label,rows:[{label:e,value:a(b[se]),swatch:"var(--chart-primary)"},{label:t,value:u(w[se]),swatch:X}]}))},ae.label))]}),c.jsx(rr,{tip:v})]})}const c2={primary:"border-accent bg-accent-soft font-medium text-accent hover:bg-accent hover:text-surface",secondary:"border-line bg-surface text-ink hover:bg-surface-soft",ghost:"border-transparent bg-transparent text-muted hover:bg-surface-soft hover:text-ink",danger:"border-danger bg-danger-soft font-medium text-danger hover:bg-danger hover:text-surface"};function To({variant:n="secondary",size:e="md",type:t="button",className:i,...a}){const u=e==="sm"?"h-6 px-2.5 text-2xs":"h-7 px-3 text-xs";return c.jsx("button",{type:t,"data-variant":n,className:`inline-flex items-center justify-center rounded-full border ${u} ${c2[n]} disabled:pointer-events-none disabled:opacity-50 ${i??""}`,...a})}function d2(n,e){const t=e.trim().toLowerCase();return t?n.filter(i=>i.value.toLowerCase().includes(t)||(i.label??"").toLowerCase().includes(t)):n}function ly(n){const{options:e,placeholder:t="Search…",ariaLabel:i,disabled:a,maxVisible:u=50}=n,f=I.useId(),h=I.useRef(null),[m,g]=I.useState(!1),[v,x]=I.useState(""),[b,w]=I.useState(0),_=I.useMemo(()=>d2(e,v).slice(0,u),[e,v,u]),C=n.multiple?n.values:n.value!=null?[n.value]:[],A=new Set(C),V=D=>{var L;return((L=e.find(G=>G.value===D))==null?void 0:L.label)??D};I.useEffect(()=>{if(!m)return;function D(L){h.current&&!h.current.contains(L.target)&&g(!1)}return document.addEventListener("mousedown",D,!0),()=>document.removeEventListener("mousedown",D,!0)},[m]);function $(D){if(D){if(n.multiple){const L=A.has(D.value)?n.values.filter(G=>G!==D.value):[...n.values,D.value];n.onChange(L);return}n.onChange(D.value),x(""),g(!1)}}function R(){n.multiple?n.onChange([]):n.onChange(null),x("")}function O(D){D.key==="ArrowDown"?(D.preventDefault(),g(!0),w(L=>Math.min(L+1,_.length-1))):D.key==="ArrowUp"?(D.preventDefault(),w(L=>Math.max(L-1,0))):D.key==="Enter"?(D.preventDefault(),m&&$(_[b])):D.key==="Escape"?g(!1):D.key==="Backspace"&&n.multiple&&!v&&n.values.length&&n.onChange(n.values.slice(0,-1))}const E=!n.multiple&&n.value!=null?V(n.value):t;return c.jsxs("div",{ref:h,className:"relative inline-flex min-w-40 flex-wrap items-center gap-1 text-xs",children:[n.multiple?n.values.map(D=>c.jsxs("span",{"data-chip":D,className:"inline-flex items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 leading-4 text-muted",children:[c.jsx("span",{className:"max-w-32 truncate",children:V(D)}),c.jsx("button",{type:"button","aria-label":`Remove ${V(D)}`,disabled:a,onClick:()=>n.onChange(n.values.filter(L=>L!==D)),className:"text-faint hover:text-ink",children:"×"})]},D)):null,c.jsxs("span",{className:"relative min-w-28 flex-1",children:[c.jsx("input",{type:"text",role:"combobox","aria-expanded":m,"aria-controls":f,"aria-autocomplete":"list","aria-activedescendant":m&&_[b]?`${f}-${b}`:void 0,"aria-label":i,disabled:a,placeholder:E,value:v,onChange:D=>{x(D.target.value),w(0),g(!0)},onFocus:()=>g(!0),onKeyDown:O,className:"h-7 w-full rounded-full border border-line bg-surface px-3 text-ink placeholder:text-faint disabled:opacity-50"}),C.length>0?c.jsx("button",{type:"button","aria-label":"Clear selection",disabled:a,onClick:R,className:"absolute right-1 top-1/2 -translate-y-1/2 px-1 text-faint hover:text-ink",children:"×"}):null]}),m?c.jsxs("ul",{id:f,role:"listbox","aria-multiselectable":n.multiple||void 0,className:"absolute left-0 top-full z-50 mt-1 max-h-56 w-full min-w-40 overflow-y-auto rounded-xl border border-line bg-surface p-1.5 shadow-[var(--shadow)]",children:[_.length===0?c.jsx("li",{className:"px-1.5 py-1 text-faint",children:"No matches"}):null,_.map((D,L)=>c.jsxs("li",{id:`${f}-${L}`,role:"option","aria-selected":A.has(D.value),"data-active":L===b||void 0,onMouseEnter:()=>w(L),onMouseDown:G=>{G.preventDefault(),$(D)},className:"cursor-pointer truncate rounded-md px-2 py-1 text-muted data-[active=true]:bg-surface-soft data-[active=true]:text-ink",children:[D.label??D.value,A.has(D.value)?c.jsx("span",{className:"float-right text-accent",children:"✓"}):null]},D.value))]}):null]})}function f2({title:n,eyebrow:e="Sidemantic",status:t,toolbar:i,children:a}){return c.jsxs("main",{className:"mx-auto max-w-6xl px-4 py-5 text-ink sm:px-6",children:[c.jsxs("header",{className:"flex flex-wrap items-end justify-between gap-4 border-b border-line pb-4",children:[c.jsxs("div",{children:[c.jsx("p",{className:"text-xs font-medium text-faint",children:e}),c.jsx("h1",{className:"mt-1 text-2xl font-semibold text-ink",children:n})]}),t?c.jsx("div",{className:"text-sm text-muted",children:t}):null]}),i?c.jsx("section",{className:"flex flex-wrap gap-2 py-3",children:i}):null,c.jsx("section",{className:"grid gap-4 py-4",children:a})]})}const h2=["Su","Mo","Tu","We","Th","Fr","Sa"],uy=["January","February","March","April","May","June","July","August","September","October","November","December"];function o0(n,e,t){return`${String(n).padStart(4,"0")}-${String(e+1).padStart(2,"0")}-${String(t).padStart(2,"0")}`}function p2(n,e){const t=new Date(Date.UTC(n,e,1)),i=new Date(t);i.setUTCDate(1-t.getUTCDay());const a=[],u=new Date(i);do{const f=[];for(let h=0;h<7;h+=1)f.push({iso:o0(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate()),day:u.getUTCDate(),inMonth:u.getUTCMonth()===e}),u.setUTCDate(u.getUTCDate()+1);a.push(f)}while(u.getUTCMonth()===e);return a}function _d(){const n=new Date;return o0(n.getFullYear(),n.getMonth(),n.getDate())}function cy(n){var O;const{inline:e,ariaLabel:t,disabled:i}=n,a=n.mode==="range",u=a?((O=n.value)==null?void 0:O.from)??null:n.value,[f,h]=I.useState(()=>Number((u??_d()).slice(0,4))),[m,g]=I.useState(()=>Number((u??_d()).slice(5,7))-1),[v,x]=I.useState(null),b=I.useRef(null);function w(E){const D=new Date(Date.UTC(f,m+E,1));h(D.getUTCFullYear()),g(D.getUTCMonth())}function _(E){if(!a){n.onChange(E),b.current&&(b.current.open=!1);return}if(!v){x(E);return}const[D,L]=v<=E?[v,E]:[E,v];n.onChange({from:D,to:L}),x(null),b.current&&(b.current.open=!1)}function C(E){return a?v?E===v:n.value!=null&&E>=n.value.from&&E<=n.value.to:E===n.value}function A(E){return a?v?E===v:n.value!=null&&(E===n.value.from||E===n.value.to):E===n.value}const V=_d(),$=c.jsxs("div",{className:"w-56 select-none rounded-xl border border-line bg-surface p-2.5 text-2xs","aria-label":t??"Calendar",children:[c.jsxs("div",{className:"mb-1 flex items-center justify-between",children:[c.jsx("button",{type:"button","aria-label":"Previous month",onClick:()=>w(-1),className:"px-1.5 py-0.5 text-muted hover:bg-surface-soft hover:text-ink",children:"‹"}),c.jsxs("span",{className:"font-medium text-ink",children:[uy[m]," ",f]}),c.jsx("button",{type:"button","aria-label":"Next month",onClick:()=>w(1),className:"px-1.5 py-0.5 text-muted hover:bg-surface-soft hover:text-ink",children:"›"})]}),c.jsx("div",{className:"grid grid-cols-7 text-center text-faint",children:h2.map(E=>c.jsx("span",{className:"py-0.5",children:E},E))}),c.jsx("div",{role:"grid","aria-label":`${uy[m]} ${f}`,children:p2(f,m).map((E,D)=>c.jsx("div",{role:"row",className:"grid grid-cols-7",children:E.map(L=>c.jsx("button",{type:"button",role:"gridcell","aria-selected":C(L.iso),"data-date":L.iso,onClick:()=>_(L.iso),className:`py-1 text-center tnum ${A(L.iso)?"bg-accent text-surface":C(L.iso)?"bg-accent-soft text-accent":L.inMonth?"text-ink hover:bg-surface-soft":"text-faint hover:bg-surface-soft"} ${L.iso===V?"underline underline-offset-2":""}`,children:L.day},L.iso))},D))}),a&&v?c.jsxs("p",{className:"mt-1 text-faint",children:["Start ",v," — pick an end date."]}):null,n.value!=null?c.jsx("button",{type:"button",onClick:()=>n.onChange(null),className:"mt-1 w-full rounded-lg border border-line px-2 py-1 text-left text-muted hover:bg-surface-soft",children:"Clear"}):null]});if(e)return $;const R=a?n.value?`${n.value.from} → ${n.value.to}`:"Any dates":n.value??"Any date";return c.jsxs("details",{ref:b,className:"relative inline-block text-xs",children:[c.jsxs("summary",{className:`flex cursor-pointer items-center h-7 gap-1.5 rounded-full border border-line bg-surface px-3 text-ink ${i?"pointer-events-none opacity-50":""}`,children:[c.jsx("span",{className:"text-faint",children:t??"Date"}),c.jsx("span",{className:"tnum",children:R}),c.jsx("span",{"aria-hidden":"true",className:"text-faint",children:"▾"})]}),c.jsx("div",{className:"absolute left-0 z-50 mt-1 shadow-[var(--shadow)]",children:$})]})}function m2({result:n,pageSize:e=10}){const t=(n==null?void 0:n.columns)??[];return c.jsx(Ui,{columns:t.map(i=>({key:i,label:Le(i),numeric:n==null?void 0:n.sample_rows.some(a=>typeof a[i]=="number")})),rows:(n==null?void 0:n.sample_rows)??[],pageSize:e,renderCell:(i,a)=>pt(a)})}function y2({data:n,height:e=200,ariaLabel:t}){return c.jsx("div",{style:{minHeight:e},children:c.jsx(ea,{points:n.map(({label:i,value:a})=>({x:i,y:a})),formatValue:i=>pt(i),ariaLabel:t})})}const a0=Math.PI*2;function g2(n){const e=n.map((a,u)=>({...a,colorIndex:u})).filter(a=>Number.isFinite(a.value)&&a.value>0),t=e.reduce((a,u)=>a+u.value,0);if(t<=0)return[];let i=-Math.PI/2;return e.map(a=>{const u=a.value/t,f=i;return i+=u*a0,{label:a.label,value:a.value,share:u,startAngle:f,endAngle:i,colorIndex:a.colorIndex}})}function v2(n,e,t,i,a,u){const f=Math.min(u-a,a0-1e-4),h=a+f,m=f>Math.PI?1:0,g=n+i*Math.cos(a),v=e+i*Math.sin(a),x=n+i*Math.cos(h),b=e+i*Math.sin(h),w=n+t*Math.cos(h),_=e+t*Math.sin(h),C=n+t*Math.cos(a),A=e+t*Math.sin(a);return[`M ${g.toFixed(2)} ${v.toFixed(2)}`,`A ${i} ${i} 0 ${m} 1 ${x.toFixed(2)} ${b.toFixed(2)}`,`L ${w.toFixed(2)} ${_.toFixed(2)}`,`A ${t} ${t} 0 ${m} 0 ${C.toFixed(2)} ${A.toFixed(2)}`,"Z"].join(" ")}function x2({data:n,height:e=200,centerLabel:t="Total",format:i=pt,ariaLabel:a}){const u=I.useRef(null),[f,h]=I.useState(360),{tip:m,handlers:g}=Dr();I.useEffect(()=>us(u.current,220,h),[]);const v=g2(n),x=v.reduce(($,R)=>$+R.value,0),b=Math.min(e,f*.55),w=b/2,_=e/2,C=b/2-6,A=Math.max(C*.62,C-34),V=a||`Donut chart, ${v.length} segments totaling ${Gt(x)}`;return v.length===0?c.jsx("div",{className:"grid h-[200px] place-items-center text-xs text-faint",children:"No positive values to chart."}):c.jsxs("div",{ref:u,className:"flex w-full items-center gap-4",style:{height:e},children:[c.jsxs("svg",{role:"img","aria-label":V,width:b,height:e,className:"shrink-0 overflow-hidden",children:[v.map($=>c.jsx("path",{d:v2(w,_,A,C,$.startAngle,$.endAngle),fill:vn($.colorIndex),stroke:"var(--surface)",strokeWidth:1,"data-label":$.label,"data-value":$.value,...g(c.jsx(os,{title:$.label,rows:[{label:"Value",value:i($.value),swatch:vn($.colorIndex)},{label:"Share",value:`${($.share*100).toFixed(1)}%`}]}))},$.label)),c.jsx("text",{x:w,y:_-4,textAnchor:"middle",className:"fill-ink font-mono tnum text-sm font-medium",children:Gt(x)}),c.jsx("text",{x:w,y:_+12,textAnchor:"middle",className:"fill-faint text-[10px]",children:t})]}),c.jsx("ul",{className:"min-w-0 flex-1 space-y-1 text-2xs",children:v.map($=>c.jsxs("li",{className:"flex items-center gap-2","data-label":$.label,children:[c.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 shrink-0",style:{background:vn($.colorIndex)}}),c.jsx("span",{className:"truncate text-muted",children:$.label}),c.jsx("span",{className:"ml-auto font-mono tnum text-ink",children:i($.value)}),c.jsxs("span",{className:"w-10 text-right font-mono tnum text-faint",children:[($.share*100).toFixed(1),"%"]})]},$.label))}),c.jsx(rr,{tip:m})]})}const pr={top:8,right:8,bottom:26,left:76};function dy(n,e,t){if(t!=null&&t.length)return t;const i=[];for(const a of n)i.includes(a[e])||i.push(a[e]);return i}function b2({cells:n,xLabels:e,yLabels:t,height:i=240,format:a=pt,ariaLabel:u}){const f=I.useRef(null),[h,m]=I.useState(640),{tip:g,handlers:v}=Dr();I.useEffect(()=>us(f.current,240,m),[]);const x=dy(n,"x",e),b=dy(n,"y",t);if(x.length===0||b.length===0)return c.jsx("div",{className:"grid h-[240px] place-items-center text-xs text-faint",children:"No cells to chart."});const w=new Map(n.map(D=>[`${D.x}\0${D.y}`,D.value])),_=n.map(D=>Math.abs(D.value)).filter(Number.isFinite),C=Math.max(..._,0)||1,A=h-pr.left-pr.right,V=i-pr.top-pr.bottom,$=A/x.length,R=V/b.length,O=Math.max(1,Math.ceil(x.length/Math.max(1,Math.floor(A/56)))),E=u||`Heatmap, ${x.length} by ${b.length} cells`;return c.jsxs(c.Fragment,{children:[c.jsxs("svg",{ref:f,role:"img","aria-label":E,className:"w-full overflow-hidden",style:{height:i},viewBox:`0 0 ${h} ${i}`,children:[b.map((D,L)=>c.jsx("text",{x:pr.left-6,y:pr.top+L*R+R/2+3,textAnchor:"end",className:"fill-muted text-[10px]",children:D.slice(0,12)},D)),x.map((D,L)=>L%O===0?c.jsx("text",{x:pr.left+L*$+$/2,y:i-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:D.slice(0,8)},D):null),b.map((D,L)=>x.map((G,W)=>{const Y=w.get(`${G}\0${D}`),P=Y!=null&&Number.isFinite(Y),te=P?.06+.94*(Math.abs(Y)/C):0;return c.jsx("rect",{x:pr.left+W*$+.5,y:pr.top+L*R+.5,width:Math.max(1,$-1),height:Math.max(1,R-1),"data-x":G,"data-y":D,"data-value":P?Y:void 0,className:P&&Y<0?"fill-danger":"fill-chart-primary",fillOpacity:P?te:.03,...v(c.jsx(os,{title:`${D} / ${G}`,rows:[{label:"Value",value:P?a(Y):"no data"}]}))},`${G}\0${D}`)}))]}),c.jsx(rr,{tip:g})]})}function w2(n,e){const t=n.filter(Number.isFinite);if(t.length===0)return[];const i=Math.min(...t),a=Math.max(...t),u=Math.max(1,Math.floor(e??Math.min(40,Math.ceil(Math.log2(t.length)+1))));if(i===a)return[{x0:i,x1:a,count:t.length}];const f=(a-i)/u,h=Array.from({length:u},(m,g)=>({x0:i+g*f,x1:i+(g+1)*f,count:0}));for(const m of t){const g=Math.min(u-1,Math.floor((m-i)/f));h[g].count+=1}return h}const Cn={top:12,right:14,bottom:26,left:44};function S2({values:n,bins:e,height:t=200,format:i=Gt,ariaLabel:a}){const u=I.useRef(null),[f,h]=I.useState(640),{tip:m,handlers:g}=Dr();I.useEffect(()=>us(u.current,160,h),[]);const v=w2(n,e);if(v.length===0)return c.jsx("div",{className:"grid h-[200px] place-items-center text-xs text-faint",children:"No numeric values to chart."});const x=Math.max(...v.map(R=>R.count),1),b=f-Cn.left-Cn.right,w=t-Cn.top-Cn.bottom,_=R=>Cn.top+(1-R/x)*w,C=b/v.length,A=As(0,x,4),V=Math.max(1,Math.ceil(v.length/6)),$=a||`Histogram, ${v.length} bins from ${i(v[0].x0)} to ${i(v[v.length-1].x1)}`;return c.jsxs(c.Fragment,{children:[c.jsxs("svg",{ref:u,role:"img","aria-label":$,className:"w-full overflow-hidden",style:{height:t},viewBox:`0 0 ${f} ${t}`,children:[A.map((R,O)=>{const E=_(R);return c.jsxs("g",{children:[c.jsx("line",{x1:Cn.left,x2:f-Cn.right,y1:E,y2:E,className:"stroke-line"}),c.jsx("text",{x:Cn.left-6,y:E+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Gt(R)})]},O)}),v.map((R,O)=>{const E=Cn.left+C*O,D=_(R.count);return c.jsx("rect",{x:E+.5,y:D,width:Math.max(1,C-1),height:Cn.top+w-D,"data-x0":R.x0,"data-x1":R.x1,"data-count":R.count,className:"fill-chart-primary",...g(c.jsx(os,{title:`${i(R.x0)} – ${i(R.x1)}`,rows:[{label:"Count",value:R.count.toLocaleString()}]}))},O)}),v.map((R,O)=>O%V===0?c.jsx("text",{x:Cn.left+C*O,y:t-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:i(R.x0)},O):null)]}),c.jsx(rr,{tip:m})]})}function _2(n){let e=2166136261;for(let t=0;t>>0}function N2(n){let e=n||1;return()=>{e|=0,e=e+1831565813|0;let t=Math.imul(e^e>>>15,1|e);return t=t+Math.imul(t^t>>>7,61|t)^t,((t^t>>>14)>>>0)/4294967296}}function j2(n,e,{width:t=640,height:i=320,iterations:a=150}={}){if(n.length===0)return[];const u=N2(_2(n.map(G=>G.id).join("\0"))),f=new Map(n.map((G,W)=>[G.id,W])),h=n.map(()=>u()*t),m=n.map(()=>u()*i),g=n.map(()=>0),v=n.map(()=>0),x=n.map(()=>0),b=[];for(const G of e){const W=f.get(G.source),Y=f.get(G.target);W==null||Y==null||W===Y||(b.push([W,Y]),x[W]+=1,x[Y]+=1)}const w=t*i,_=Math.sqrt(w/n.length);let C=Math.max(t,i)/8;const A=C/(a+1);for(let G=0;G({...G,x:V+(h[W]-$)/D*(t-V*2),y:V+(m[W]-O)/L*(i-V*2),degree:x[W]}))}function k2({nodes:n,links:e,height:t=320,ariaLabel:i}){const a=I.useRef(null),[u,f]=I.useState(640),{tip:h,handlers:m}=Dr();I.useEffect(()=>us(a.current,240,f),[]);const g=I.useMemo(()=>j2(n,e,{width:u,height:t}),[n,e,u,t]),v=I.useMemo(()=>new Map(g.map(_=>[_.id,_])),[g]),x=I.useMemo(()=>[...new Set(n.map(_=>_.group??""))],[n]),b=Math.max(...e.map(_=>_.weight??1),1);if(g.length===0)return c.jsx("div",{className:"grid h-[320px] place-items-center text-xs text-faint",children:"No nodes to chart."});const w=i||`Network graph, ${n.length} nodes and ${e.length} links`;return c.jsxs(c.Fragment,{children:[x.length>1?c.jsx("div",{className:"mb-1 flex flex-wrap items-center gap-3 text-2xs text-faint",children:x.map((_,C)=>c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-full",style:{background:vn(C)}}),_||"(default)"]},_||"(default)"))}):null,c.jsxs("svg",{ref:a,role:"img","aria-label":w,className:"w-full overflow-hidden",style:{height:t},viewBox:`0 0 ${u} ${t}`,children:[e.map((_,C)=>{const A=v.get(_.source),V=v.get(_.target);return!A||!V?null:c.jsx("line",{x1:A.x,y1:A.y,x2:V.x,y2:V.y,className:"stroke-line",strokeWidth:.75+2.25*((_.weight??1)/b),"data-source":_.source,"data-target":_.target},C)}),g.map(_=>{const C=5+Math.min(9,_.degree*1.5);return c.jsxs("g",{children:[c.jsx("circle",{cx:_.x,cy:_.y,r:C,fill:vn(x.indexOf(_.group??"")),stroke:"var(--surface)",strokeWidth:1.5,"data-id":_.id,"data-degree":_.degree,...m(c.jsx(os,{title:_.label??_.id,rows:[{label:"Connections",value:String(_.degree)},..._.group?[{label:"Group",value:_.group,swatch:vn(x.indexOf(_.group))}]:[]]}))}),c.jsx("text",{x:_.x,y:_.y-C-4,textAnchor:"middle",className:"pointer-events-none fill-muted text-[10px]",children:(_.label??_.id).slice(0,14)})]},_.id)})]}),c.jsx(rr,{tip:h})]})}function Dl({value:n,options:e,onChange:t,label:i,ariaLabel:a,placeholder:u,disabled:f}){return c.jsxs("label",{className:"flex items-center gap-1.5 text-xs text-faint",children:[i?c.jsx("span",{className:"hidden sm:inline",children:i}):null,c.jsxs("select",{"aria-label":a??i,value:n,disabled:f,onChange:h=>t(h.target.value),className:"h-7 rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50",children:[u?c.jsx("option",{value:"",disabled:!0,children:u}):null,e.map(h=>c.jsx("option",{value:h.value,children:h.label??h.value},h.value))]})]})}const dn={top:12,right:14,bottom:26,left:48};function I2(n,e,t){return Math.min(Math.max(n,e),t)}function M2({labels:n,series:e,height:t=240,format:i=pt,formatLabel:a=f=>f,ariaLabel:u}){const f=I.useRef(null),[h,m]=I.useState(640),[g,v]=I.useState(null);I.useEffect(()=>us(f.current,240,m),[]);const x=n.length;if(x<2||e.length===0)return c.jsx("div",{className:"grid h-[240px] place-items-center text-xs text-faint",children:"Not enough data to chart."});const b=e.map(W=>({name:W.name,values:n.map((Y,P)=>{const te=W.values[P];return Number.isFinite(te)&&te>0?te:0})})),w=[];let _=n.map(()=>0);for(const W of b){const Y=W.values.map((P,te)=>_[te]+P);w.push(Y),_=Y}const C=Math.max(..._,1),A=h-dn.left-dn.right,V=t-dn.top-dn.bottom,$=W=>dn.left+W/(x-1)*A,R=W=>dn.top+(1-W/C)*V,O=Math.max(1,Math.ceil(x/8)),E=u||`Stacked area chart, ${e.length} series over ${x} points`;function D(W){const Y=w[W],P=W===0?n.map(()=>0):w[W-1],te=Y.map((oe,ae)=>`${$(ae).toFixed(1)},${R(oe).toFixed(1)}`).join(" L "),X=[...P.keys()].reverse().map(oe=>`${$(oe).toFixed(1)},${R(P[oe]).toFixed(1)}`).join(" L ");return`M ${te} L ${X} Z`}function L(W){const Y=W.currentTarget.getBoundingClientRect(),P=(W.clientX-Y.left)/Y.width*h,te=Math.round((P-dn.left)/A*(x-1));v(te>=0&&tec.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{"aria-hidden":"true",className:"inline-block size-2",style:{background:vn(Y)}}),W.name]},W.name))}),c.jsxs("svg",{role:"img","aria-label":E,className:"w-full overflow-hidden",style:{height:t},viewBox:`0 0 ${h} ${t}`,onMouseMove:L,onMouseLeave:()=>v(null),children:[As(0,C,4).map((W,Y)=>{const P=R(W);return c.jsxs("g",{children:[c.jsx("line",{x1:dn.left,x2:h-dn.right,y1:P,y2:P,className:"stroke-line"}),c.jsx("text",{x:dn.left-6,y:P+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Gt(W)})]},Y)}),b.map((W,Y)=>c.jsx("path",{d:D(Y),fill:vn(Y),fillOpacity:.8,"data-series":W.name},W.name)),g!=null?c.jsx("line",{x1:$(g),x2:$(g),y1:dn.top,y2:t-dn.bottom,className:"stroke-faint",strokeDasharray:"3 3"}):null,n.map((W,Y)=>Y%O===0||Y===x-1?c.jsx("text",{x:$(Y),y:t-8,textAnchor:"middle",className:"fill-faint font-mono text-[10px]",children:a(W)},W):null)]}),g!=null?c.jsxs("div",{className:"pointer-events-none absolute top-8 z-20 -translate-x-1/2 whitespace-nowrap border border-line bg-surface px-2 py-1.5 text-2xs shadow-[var(--shadow)]",style:{left:G},children:[c.jsx("div",{className:"mb-0.5 font-mono text-faint",children:a(n[g])}),b.map((W,Y)=>c.jsxs("div",{className:"flex items-center justify-between gap-3",children:[c.jsxs("span",{className:"flex items-center gap-1 text-muted",children:[c.jsx("span",{"aria-hidden":"true",className:"inline-block size-2",style:{background:vn(Y)}}),W.name]}),c.jsx("span",{className:"font-mono tnum text-ink",children:i(W.values[g])})]},W.name))]}):null]})}function D2({checked:n,onChange:e,label:t,ariaLabel:i,disabled:a}){return c.jsxs("label",{className:`flex items-center gap-1.5 text-xs ${a?"opacity-50":""}`,children:[c.jsx("button",{type:"button",role:"switch","aria-checked":n,"aria-label":i??t,disabled:a,onClick:()=>e(!n),"data-checked":n||void 0,className:`relative h-4 w-7 shrink-0 rounded-full border transition-colors ${n?"border-accent bg-accent":"border-line bg-surface-soft"}`,children:c.jsx("span",{"aria-hidden":"true",className:`absolute top-1/2 size-3 -translate-y-1/2 rounded-full bg-surface shadow transition-[left] ${n?"left-[14px]":"left-[2px]"}`})}),t?c.jsx("span",{className:"text-muted",children:t}):null]})}function C2({tabs:n,active:e,onChange:t,ariaLabel:i="Tabs"}){return c.jsx("div",{role:"tablist","aria-label":i,className:"inline-flex items-center gap-0.5 rounded-full border border-line bg-surface p-px",children:n.map(a=>c.jsx("button",{role:"tab",type:"button","aria-selected":e===a.key,"data-tab":a.key,"data-selected":e===a.key||void 0,onClick:()=>t(a.key),className:"inline-flex h-6 items-center rounded-full px-2.5 text-xs font-medium text-muted hover:bg-surface-soft hover:text-ink data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent",children:a.label},a.key))})}function F2({content:n,children:e,className:t}){const{tip:i,handlers:a}=Dr();return c.jsxs(c.Fragment,{children:[c.jsx("span",{className:t??"inline-flex",...a(n),children:e}),c.jsx(rr,{tip:i})]})}function O2(n){let e=0;return n.map(t=>{const i=Number.isFinite(t.value)?t.value:0;if(t.isTotal)return e=i,{...t,value:i,start:0,end:i};const a=e;return e+=i,{...t,value:i,start:a,end:e}})}const fn={top:12,right:14,bottom:26,left:48};function T2({data:n,height:e=220,format:t=pt,ariaLabel:i}){const a=I.useRef(null),[u,f]=I.useState(640),{tip:h,handlers:m}=Dr();I.useEffect(()=>us(a.current,200,f),[]);const g=O2(n);if(g.length===0)return c.jsx("div",{className:"grid h-[220px] place-items-center text-xs text-faint",children:"No steps to chart."});const v=g.flatMap(E=>[E.start,E.end]),x=Math.min(0,...v),b=Math.max(0,...v),w=b-x||1,_=u-fn.left-fn.right,C=e-fn.top-fn.bottom,A=E=>fn.top+(1-(E-x)/w)*C,V=_/g.length,$=Math.max(10,Math.min(56,V*.62)),R=As(x,b,4),O=i||`Waterfall chart, ${g.length} steps ending at ${t(g[g.length-1].end)}`;return c.jsxs(c.Fragment,{children:[c.jsxs("svg",{ref:a,role:"img","aria-label":O,className:"w-full overflow-hidden",style:{height:e},viewBox:`0 0 ${u} ${e}`,children:[R.map((E,D)=>{const L=A(E);return c.jsxs("g",{children:[c.jsx("line",{x1:fn.left,x2:u-fn.right,y1:L,y2:L,className:"stroke-line"}),c.jsx("text",{x:fn.left-6,y:L+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Gt(E)})]},D)}),c.jsx("line",{x1:fn.left,x2:u-fn.right,y1:A(0),y2:A(0),className:"stroke-faint"}),g.map((E,D)=>{const L=fn.left+V*D+(V-$)/2,G=A(E.start),W=A(E.end),Y=E.isTotal?"total":E.value<0?"negative":"positive",P=E.isTotal?"fill-faint":E.value<0?"fill-danger":"fill-chart-primary",te=g[D+1];return c.jsxs("g",{children:[c.jsx("rect",{x:L,y:Math.min(G,W),width:$,height:Math.max(1,Math.abs(W-G)),"data-label":E.label,"data-value":E.value,"data-tone":Y,className:P,...m(c.jsx(os,{title:E.label,rows:E.isTotal?[{label:"Total",value:t(E.end)}]:[{label:"Change",value:t(E.value)},{label:"Running",value:t(E.end)}]}))}),te?c.jsx("line",{x1:L+$,x2:fn.left+V*(D+1)+(V-$)/2,y1:W,y2:W,className:"stroke-faint",strokeDasharray:"3 3"}):null,c.jsx("text",{x:L+$/2,y:e-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:E.label.slice(0,9)})]},`${E.label}-${D}`)})]}),c.jsx(rr,{tip:h})]})}function fy(n){return n==null?"∅":String(n)}function A2(n){const e=typeof n=="number"?n:Number(n);return Number.isFinite(e)?e:Number.NaN}function B2(n,e){const t=[],i=[],a=new Map;for(const u of n){const f=fy(u[e.x]),h=fy(u[e.series]);t.includes(f)||t.push(f),i.includes(h)||i.push(h),a.set(`${h}\0${f}`,A2(u[e.y]))}return{labels:t,series:i.map(u=>({name:u,values:t.map(f=>a.get(`${u}\0${f}`)??0)}))}}const E2=[{dimension:"orders.region",title:"Customer Region",rows:[["East",83262],["South",80579],["West",71561],["North",52889]].map(([n,e])=>({value:String(n),metric:Number(e)}))},{dimension:"orders.status",title:"Order Status",rows:[["completed",170379],["cancelled",64637],["pending",53275]].map(([n,e])=>({value:String(n),metric:Number(e)}))},{dimension:"products.category",title:"Product Category",rows:[["Electronics",202015],["Furniture",83848],["Office Supplies",2428]].map(([n,e])=>({value:String(n),metric:Number(e)}))},{dimension:"customers.name",title:"Top Customers",rows:[["Bob Smith",46690],["Carol Davis",42227],["Henry Taylor",41633],["Grace Lee",41035],["Frank Brown",33890],["David Wilson",29928],["Alice Johnson",27114],["Emma Martinez",24802]].map(([n,e])=>({value:String(n),metric:Number(e)}))}],R2=[{key:"region",label:"Region",sortable:!0},{key:"revenue",label:"Revenue",numeric:!0,sortable:!0},{key:"orders",label:"Orders",numeric:!0,sortable:!0}],hy=Array.from({length:17},(n,e)=>({region:["East","South","West","North"][e%4],revenue:91e3-e*2875,orders:420-e*11})),xf=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug"],L2=xf.flatMap((n,e)=>[{month:n,plan:"Basic",revenue:120+e*26},{month:n,plan:"Pro",revenue:60+e*24},{month:n,plan:"Enterprise",revenue:e<2?0:10+e*12}]),U2=Array.from({length:48},(n,e)=>({x:e+1,y:(e+1)*1.6+Math.sin(e*78.233)*43758.5453%18,label:`Account ${e+1}`,series:e%2?"Returning":"New"})),$2=Array.from({length:400},(n,e)=>Math.abs(Math.sin(e*12.9898)*43758.5453%1)*100),P2=["East","South","West","North"].flatMap((n,e)=>xf.map((t,i)=>({x:t,y:n,value:(e+1)*(i+1)*7-(i%4===3?80:0)}))),py=[{value:"orders.revenue",label:"Revenue"},{value:"orders.count",label:"Order count"},{value:"customers.count",label:"Customer count"},{value:"orders.margin",label:"Gross margin"}];function z2(){const[n,e]=I.useState("orders.revenue"),[t,i]=I.useState({}),[a,u]=I.useState(null),[f,h]=I.useState({"orders.region":["East","West"],"orders.status":["completed"]}),[m,g]=I.useState({from:"2025-01-01",to:"2025-06-30"}),[v,x]=I.useState("month"),[b,w]=I.useState("explore"),[_,C]=I.useState("previous"),[A,V]=I.useState("orders.revenue"),[$,R]=I.useState(["orders.revenue","orders.count"]),[O,E]=I.useState("apple"),[D,L]=I.useState(!0),[G,W]=I.useState("explore"),[Y,P]=I.useState("2025-06-15"),[te,X]=I.useState({from:"2025-06-01",to:"2025-06-21"}),oe=I.useMemo(()=>B2(L2,{x:"month",y:"revenue",series:"plan"}),[]),[ae,se]=I.useState({key:"revenue",dir:"desc"}),ne=I.useMemo(()=>[...hy].sort((T,Q)=>{const H=T[ae.key],N=Q[ae.key],F=typeof H=="number"&&typeof N=="number"?H-N:String(H).localeCompare(String(N));return ae.dir==="asc"?F:-F}),[ae]);return c.jsxs("main",{className:"min-h-screen bg-bg text-ink",children:[c.jsxs("header",{className:"sticky top-0 z-20 flex items-center justify-between border-b border-line bg-surface px-4 py-3",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"text-sm font-semibold",children:"Sidemantic component gallery"}),c.jsxs("p",{className:"text-2xs text-faint",children:["Canonical React primitives · ",c.jsx("a",{className:"text-accent hover:underline",href:"/typography",children:"typography workbench →"})]})]}),c.jsx(Ko,{})]}),c.jsxs("div",{className:"space-y-8 p-4",children:[c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Metric cards"}),c.jsxs("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-3",children:[c.jsx(Nr,{metric:"orders.revenue",label:"Revenue",value:288291,format:{format:"currency"},selected:n==="orders.revenue",sparkValues:[31,42,38,55,60,74],onSelect:e}),c.jsx(Nr,{metric:"orders.count",label:"Order Count",value:447,selected:n==="orders.count",sparkValues:[21,34,28,41,44,51],onSelect:e}),c.jsx(Nr,{metric:"orders.margin",label:"Gross Margin",value:.324,format:{format:"percent"},delta:{label:"+1.1pt",tone:"positive"},comparison:"vs previous month",sparkValues:[24,26,29,27,31,32],selected:n==="orders.margin",onSelect:e})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Leaderboard cards"}),c.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(220px,1fr))] gap-0 border-l border-t border-line",children:E2.filter(T=>a===null||a===T.dimension).map(T=>c.jsx(n0,{dimension:T.dimension,title:T.title,metricLabel:"Total Revenue",rows:T.rows,selectedValues:t[T.dimension],formatMetric:Q=>pt(Q,{format:"currency"}),onToggle:Q=>i(H=>{const N=H[T.dimension]??[];return{...H,[T.dimension]:N.includes(Q)?N.filter(F=>F!==Q):[...N,Q]}}),expanded:a===T.dimension,onExpandedChange:Q=>u(Q?T.dimension:null)},T.dimension))})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Filters and controls"}),c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{"data-testid":"gallery-filter-pills",className:"flex min-h-8 flex-wrap items-center gap-2",children:[Object.entries(f).flatMap(([T,Q])=>Q.map(H=>c.jsx(Ud,{dimension:T,value:H,onRemove:()=>h(N=>({...N,[T]:N[T].filter(F=>F!==H)}))},`${T}:${H}`))),Object.values(f).every(T=>T.length===0)?c.jsx("span",{className:"text-2xs text-faint",children:"No active filters"}):null]}),c.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[c.jsx(Lv,{range:m,onChange:g,comparison:_,onComparisonChange:C}),c.jsx($d,{grain:v,options:["day","week","month","quarter","year"],onChange:x}),c.jsx(Pv,{view:b,onChange:w}),c.jsxs("span",{className:"inline-flex items-center gap-1.5 text-2xs text-muted",children:[c.jsx(gd,{status:"ok"})," Ready"]}),c.jsxs("span",{className:"inline-flex items-center gap-1.5 text-2xs text-muted",children:[c.jsx(gd,{status:"loading"})," Updating"]}),c.jsx("button",{type:"button",onClick:()=>h({"orders.region":["East","West"],"orders.status":["completed"]}),className:"inline-flex h-7 items-center rounded-full border border-line px-3 text-xs text-muted hover:bg-surface-soft",children:"Reset filters"})]})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Charts"}),c.jsxs("div",{className:"grid gap-3 xl:grid-cols-2",children:[c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Sparkline"}),c.jsx(r0,{values:[31,42,38,55,60,74,69,83],labels:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug"],ariaLabel:"Eight month revenue trend"})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Column chart"}),c.jsx(s0,{data:[{label:"East",value:83},{label:"South",value:81},{label:"West",value:72},{label:"Returns",value:-18}]})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Line chart compatibility export"}),c.jsx(y2,{data:[{label:"Jan",value:31},{label:"Feb",value:42},{label:"Mar",value:38},{label:"Apr",value:55},{label:"May",value:60}]})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Interactive time series"}),c.jsx(ea,{points:[31,42,38,55,60,74].map((T,Q)=>({x:`2025-0${Q+1}-01`,y:T})),comparison:[27,35,33,48,52,61].map((T,Q)=>({x:`2024-0${Q+1}-01`,y:T})),formatValue:T=>`$${T.toLocaleString()}k`})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Donut"}),c.jsx(x2,{data:[{label:"iOS",value:4200},{label:"Android",value:3100},{label:"Web",value:1900},{label:"Other",value:400}]})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Stacked area (long rows via rowsToSeries)"}),c.jsx(M2,{labels:oe.labels,series:oe.series,height:200})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Bar + line combo (dual axis)"}),c.jsx(u2,{data:xf.map((T,Q)=>({label:T,bar:200+Q*42,line:.02+Q*.004})),barLabel:"Revenue",lineLabel:"Conversion",formatLine:T=>`${(T*100).toFixed(1)}%`,height:200})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Histogram"}),c.jsx(S2,{values:$2,bins:20})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Scatter"}),c.jsx(i0,{points:U2,xLabel:"Sessions",yLabel:"Orders",height:200})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Heatmap"}),c.jsx(b2,{cells:P2,height:200})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Waterfall"}),c.jsx(T2,{data:[{label:"Gross",value:1e3,isTotal:!0},{label:"Refunds",value:-140},{label:"Discounts",value:-90},{label:"Upsells",value:130},{label:"Net",value:900,isTotal:!0}],height:200})]}),c.jsxs("article",{className:"min-w-0 xl:col-span-2",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Network"}),c.jsx(k2,{nodes:[{id:"orders",group:"fact"},{id:"payments",group:"fact"},{id:"customers",group:"dimension"},{id:"products",group:"dimension"},{id:"regions",group:"dimension"}],links:[{source:"orders",target:"customers",weight:3},{source:"orders",target:"products",weight:2},{source:"orders",target:"regions"},{source:"payments",target:"orders",weight:2},{source:"payments",target:"customers"}],height:260})]})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Inputs"}),c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[c.jsx(To,{variant:"primary",children:"Primary"}),c.jsx(To,{children:"Secondary"}),c.jsx(To,{variant:"ghost",children:"Ghost"}),c.jsx(To,{variant:"danger",children:"Danger"}),c.jsx(To,{size:"sm",children:"Small"}),c.jsx(Dl,{label:"Fruit",value:O,onChange:E,options:[{value:"apple",label:"Apple"},{value:"banana",label:"Banana"},{value:"cherry",label:"Cherry"}]}),c.jsx(D2,{checked:D,onChange:L,label:"Compact rows"}),c.jsx(C2,{tabs:[{key:"explore",label:"Explore"},{key:"pivot",label:"Pivot"},{key:"sql",label:"SQL"}],active:G,onChange:W}),c.jsx(F2,{content:"Revenue in USD, net of refunds",children:c.jsx("span",{className:"cursor-help text-2xs text-muted underline decoration-dotted",children:"What is revenue?"})})]}),c.jsxs("div",{className:"flex flex-wrap items-start gap-3",children:[c.jsx(ly,{value:A,onChange:V,options:py,ariaLabel:"Metric"}),c.jsx(ly,{multiple:!0,values:$,onChange:R,options:py,ariaLabel:"Metrics"}),c.jsx(cy,{mode:"single",value:Y,onChange:P,ariaLabel:"Date"}),c.jsx(cy,{mode:"range",value:te,onChange:X,ariaLabel:"Range"})]})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Analytical table"}),c.jsx(Ui,{columns:R2,rows:ne,pageSize:6,sortKey:ae.key,sortDir:ae.dir,onSort:T=>se(Q=>({key:T,dir:Q.key===T&&Q.dir==="desc"?"asc":"desc"})),renderCell:(T,Q)=>T.numeric?Number(Q).toLocaleString():String(Q),searchable:!0,totals:{region:"count",revenue:"sum",orders:"sum"}}),c.jsxs("div",{className:"mt-3",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold text-muted",children:"Distribution-friendly data preview"}),c.jsx(m2,{result:{columns:["region","revenue","orders"],sample_rows:hy.slice(0,8)},pageSize:4})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Query inspection"}),c.jsx(yu,{inputs:{Revenue:{metrics:["orders.revenue"],dimensions:["orders.region"],filters:["orders.status = 'completed'"]}},queries:{Revenue:`SELECT orders.region, SUM(orders.revenue) AS revenue -FROM orders -WHERE orders.status = 'completed' -GROUP BY orders.region -ORDER BY revenue DESC`}})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"States"}),c.jsxs("div",{className:"grid gap-2 lg:grid-cols-3",children:[c.jsx(mu,{message:"Loading metric results…"}),c.jsx(Xn,{message:"No matching rows."}),c.jsx($i,{message:"The query could not be completed."})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Dashboard shell"}),c.jsx("div",{children:c.jsx(f2,{eyebrow:"Embedded shell example",title:"Revenue overview",status:c.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[c.jsx(gd,{status:"ok"})," Connected"]}),toolbar:c.jsxs(c.Fragment,{children:[c.jsx(Ud,{dimension:"orders.region",value:"East"}),c.jsx($d,{grain:v,options:["day","month","quarter"],onChange:x})]}),children:c.jsxs("div",{className:"grid gap-2 sm:grid-cols-2",children:[c.jsx(Nr,{metric:"orders.revenue",label:"Revenue",value:288291,format:{format:"currency"},sparkValues:[31,42,38,55,60]}),c.jsx(Xn,{title:"Optional panel",message:"Shell content is composed from the same primitives."})]})})})]})]})]})}function ns(n){return`https://api.fontshare.com/v2/css?f[]=${n}&display=swap`}const my=[{value:"system",label:"System (SF Pro)",stack:"system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif"},{value:"geist",label:"Geist",gf:"Geist:wght@400;500;600",stack:"'Geist', system-ui, sans-serif"},{value:"inter",label:"Inter",gf:"Inter:wght@400;500;600",stack:"'Inter', system-ui, sans-serif"},{value:"instrument",label:"Instrument Sans",gf:"Instrument+Sans:wght@400;500;600",stack:"'Instrument Sans', system-ui, sans-serif"},{value:"plex",label:"IBM Plex Sans",gf:"IBM+Plex+Sans:wght@400;500;600",stack:"'IBM Plex Sans', system-ui, sans-serif"},{value:"schibsted",label:"Schibsted Grotesk",gf:"Schibsted+Grotesk:wght@400;500;600",stack:"'Schibsted Grotesk', system-ui, sans-serif"},{value:"figtree",label:"Figtree",gf:"Figtree:wght@400;500;600",stack:"'Figtree', system-ui, sans-serif"},{value:"manrope",label:"Manrope",gf:"Manrope:wght@400;500;600",stack:"'Manrope', system-ui, sans-serif"},{value:"publicsans",label:"Public Sans",gf:"Public+Sans:wght@400;500;600",stack:"'Public Sans', system-ui, sans-serif"},{value:"spacegrotesk",label:"Space Grotesk",gf:"Space+Grotesk:wght@400;500;600",stack:"'Space Grotesk', system-ui, sans-serif"},{value:"satoshi",label:"Satoshi ✦",url:ns("satoshi@400,500,700"),stack:"'Satoshi', system-ui, sans-serif"},{value:"generalsans",label:"General Sans ✦",url:ns("general-sans@400,500,600"),stack:"'General Sans', system-ui, sans-serif"},{value:"switzer",label:"Switzer ✦",url:ns("switzer@400,500,600"),stack:"'Switzer', system-ui, sans-serif"},{value:"cabinet",label:"Cabinet Grotesk ✦",url:ns("cabinet-grotesk@400,500,700"),stack:"'Cabinet Grotesk', system-ui, sans-serif"},{value:"bricolage",label:"Bricolage Grotesque ✦",gf:"Bricolage+Grotesque:wght@400;500;600",stack:"'Bricolage Grotesque', system-ui, sans-serif"},{value:"familjen",label:"Familjen Grotesk ✦",gf:"Familjen+Grotesk:wght@400;500;600",stack:"'Familjen Grotesk', system-ui, sans-serif"},{value:"hanken",label:"Hanken Grotesk ✦",gf:"Hanken+Grotesk:wght@400;500;600",stack:"'Hanken Grotesk', system-ui, sans-serif"},{value:"reddit",label:"Reddit Sans ✦",gf:"Reddit+Sans:wght@400;500;600",stack:"'Reddit Sans', system-ui, sans-serif"},{value:"chivo",label:"Chivo ✦",gf:"Chivo:wght@400;500;600",stack:"'Chivo', system-ui, sans-serif"},{value:"hostgrotesk",label:"Host Grotesk ✦",gf:"Host+Grotesk:wght@400;500;600",stack:"'Host Grotesk', system-ui, sans-serif"},{value:"sora",label:"Sora ✦",gf:"Sora:wght@400;500;600",stack:"'Sora', system-ui, sans-serif"}],yy=[{value:"system",label:"System (SF Mono)",stack:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},{value:"geistmono",label:"Geist Mono",gf:"Geist+Mono:wght@400;500",stack:"'Geist Mono', ui-monospace, monospace"},{value:"jetbrains",label:"JetBrains Mono",gf:"JetBrains+Mono:wght@400;500",stack:"'JetBrains Mono', ui-monospace, monospace"},{value:"plexmono",label:"IBM Plex Mono",gf:"IBM+Plex+Mono:wght@400;500",stack:"'IBM Plex Mono', ui-monospace, monospace"},{value:"firacode",label:"Fira Code",gf:"Fira+Code:wght@400;500",stack:"'Fira Code', ui-monospace, monospace"},{value:"splinemono",label:"Spline Sans Mono",gf:"Spline+Sans+Mono:wght@400;500",stack:"'Spline Sans Mono', ui-monospace, monospace"},{value:"dmmono",label:"DM Mono",gf:"DM+Mono:wght@400;500",stack:"'DM Mono', ui-monospace, monospace"},{value:"martianmono",label:"Martian Mono ✦",gf:"Martian+Mono:wght@400;500",stack:"'Martian Mono', ui-monospace, monospace"},{value:"fragment",label:"Fragment Mono ✦",gf:"Fragment+Mono",stack:"'Fragment Mono', ui-monospace, monospace"},{value:"redhatmono",label:"Red Hat Mono ✦",gf:"Red+Hat+Mono:wght@400;500",stack:"'Red Hat Mono', ui-monospace, monospace"},{value:"chivomono",label:"Chivo Mono ✦",gf:"Chivo+Mono:wght@400;500",stack:"'Chivo Mono', ui-monospace, monospace"},{value:"azeret",label:"Azeret Mono ✦",gf:"Azeret+Mono:wght@400;500",stack:"'Azeret Mono', ui-monospace, monospace"},{value:"spacemono",label:"Space Mono ✦",gf:"Space+Mono:wght@400;700",stack:"'Space Mono', ui-monospace, monospace"}],gy=[{value:"sans",label:"Same as sans",stack:""},{value:"newsreader",label:"Newsreader (serif)",gf:"Newsreader:opsz,wght@6..72,400..700",stack:"'Newsreader', Georgia, serif"},{value:"sourceserif",label:"Source Serif 4",gf:"Source+Serif+4:opsz,wght@8..60,400..700",stack:"'Source Serif 4', Georgia, serif"},{value:"fraunces",label:"Fraunces",gf:"Fraunces:opsz,wght@9..144,400..700",stack:"'Fraunces', Georgia, serif"},{value:"instrumentserif",label:"Instrument Serif",gf:"Instrument+Serif",stack:"'Instrument Serif', Georgia, serif"},{value:"spacegrotesk",label:"Space Grotesk",gf:"Space+Grotesk:wght@400;500;600",stack:"'Space Grotesk', system-ui, sans-serif"},{value:"clash",label:"Clash Display ✦",url:ns("clash-display@400,500,600"),stack:"'Clash Display', system-ui, sans-serif"},{value:"cabinetdisplay",label:"Cabinet Grotesk ✦",url:ns("cabinet-grotesk@500,700,800"),stack:"'Cabinet Grotesk', system-ui, sans-serif"},{value:"sentient",label:"Sentient (serif) ✦",url:ns("sentient@400,500,700"),stack:"'Sentient', Georgia, serif"},{value:"gambetta",label:"Gambetta (serif) ✦",url:ns("gambetta@400,500,700"),stack:"'Gambetta', Georgia, serif"},{value:"bricolagedisplay",label:"Bricolage Grotesque ✦",gf:"Bricolage+Grotesque:opsz,wght@12..96,400..700",stack:"'Bricolage Grotesque', system-ui, sans-serif"},{value:"youngserif",label:"Young Serif ✦",gf:"Young+Serif",stack:"'Young Serif', Georgia, serif"},{value:"unbounded",label:"Unbounded ✦",gf:"Unbounded:wght@400;500;600",stack:"'Unbounded', system-ui, sans-serif"}],V2=[{label:"Geist / Geist Mono",sans:"geist",mono:"geistmono",display:"sans"},{label:"Inter / JetBrains",sans:"inter",mono:"jetbrains",display:"sans"},{label:"IBM Plex",sans:"plex",mono:"plexmono",display:"sans"},{label:"Instrument / Spline",sans:"instrument",mono:"splinemono",display:"sans"},{label:"Schibsted / Fira",sans:"schibsted",mono:"firacode",display:"sans"},{label:"Editorial: Geist + Newsreader",sans:"geist",mono:"geistmono",display:"newsreader"},{label:"Satoshi / Martian ✦",sans:"satoshi",mono:"martianmono",display:"sans"},{label:"General Sans / Fragment ✦",sans:"generalsans",mono:"fragment",display:"sans"},{label:"Switzer + Clash headings ✦",sans:"switzer",mono:"redhatmono",display:"clash"},{label:"Cabinet + Gambetta ✦",sans:"cabinet",mono:"chivomono",display:"gambetta"},{label:"Bricolage all the way ✦",sans:"bricolage",mono:"spacemono",display:"bricolagedisplay"}],vy=new Set;function Nd(n){if(!n)return;const e=n.url??(n.gf?`https://fonts.googleapis.com/css2?family=${n.gf}&display=swap`:void 0);if(!e||vy.has(e))return;vy.add(e);const t=document.createElement("link");t.rel="stylesheet",t.href=e,document.head.appendChild(t)}function jd(n,e){return n.find(t=>t.value===e)??n[0]}const W2=[{px:"8",cls:"text-[8px]",usage:"MetricCard delta arrow glyph",sample:"▲"},{px:"9",cls:"text-[9px]",usage:"DataTable sort direction glyph",sample:"▲▼"},{px:"10",cls:"text-[10px]",usage:"Chart axis labels (all 9 charts)",sample:"Jan Feb Mar 12.4k 18.2k"},{px:"11",cls:"text-2xs",usage:"Captions, chips, table body, helper text (58 uses)",sample:"Canonical React primitives · updated 2h ago"},{px:"12",cls:"text-xs",usage:"Controls, labels, leaderboard rows — the workhorse (70 uses)",sample:"Revenue by region, last 28 days"},{px:"13",cls:"text-sm",usage:"Section titles, panel headers (9 uses); also the body default",sample:"Customer Region"},{px:"14",cls:"text-base",usage:"Explore index page title (1 use)",sample:"Explore"},{px:"19",cls:"text-[19px]",usage:"MetricCard value",sample:"$288,291"},{px:"20",cls:"text-xl",usage:"MetricTimeSeries headline total",sample:"$1,282,392"},{px:"24",cls:"text-2xl",usage:"DashboardShell page title",sample:"Revenue overview"}],H2=[{name:"A — Current",note:"11 / 12 / 13 base. Dense, reads small on 27″ displays.",caption:11,label:12,body:13,section:13,value:19,headline:20,title:24},{name:"B — One up",note:"12 / 13 / 14 base. Same hierarchy, comfortably legible.",caption:12,label:13,body:14,section:14,value:22,headline:24,title:28},{name:"C — Quiet UI, loud numbers",note:"Keeps the dense chrome, doubles down on data: bigger values and titles.",caption:11,label:12,body:13,section:13,value:24,headline:28,title:30}],G2=[31,42,38,55,60,74],Y2=Array.from({length:12},(n,e)=>({x:`2025-${String(e+1).padStart(2,"0")}-01`,y:96e3+e*14e3+e%3*9e3})),Q2=`select region, sum(revenue) as revenue -from orders -where created_at >= date '2025-01-01' -group by all -order by revenue desc`;function xy({family:n,size:e}){return c.jsxs("div",{className:"flex flex-wrap items-baseline gap-x-6 gap-y-1",style:{fontFamily:n},children:[c.jsx("span",{className:`${e} font-normal`,children:"Regular 400 — Revenue by payment method"}),c.jsx("span",{className:`${e} font-medium`,children:"Medium 500 — Revenue by payment method"}),c.jsx("span",{className:`${e} font-semibold`,children:"Semibold 600 — Revenue by payment method"})]})}function K2(){const[n,e]=I.useState("geist"),[t,i]=I.useState("geistmono"),[a,u]=I.useState("sans"),f=jd(my,n),h=jd(yy,t),m=jd(gy,a),g=m.stack||f.stack;I.useEffect(()=>{Nd(f),Nd(h),Nd(m)},[f,h,m]);const v={"--font-sans":f.stack,"--font-mono":h.stack,"--font-display":g,fontFamily:"var(--font-sans)"};return c.jsxs("main",{className:"min-h-screen bg-bg text-ink",children:[c.jsxs("header",{className:"sticky top-0 z-20 flex items-center justify-between gap-3 border-b border-line bg-surface px-4 py-3",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"text-sm font-semibold",children:"Typography workbench"}),c.jsxs("p",{className:"text-2xs text-faint",children:["Pick faces, judge them on real components · ",c.jsx("a",{className:"text-accent hover:underline",href:"/components",children:"component gallery →"})]})]}),c.jsx(Ko,{})]}),c.jsxs("div",{className:"space-y-10 p-4",children:[c.jsx("section",{children:c.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[c.jsx(Dl,{label:"Sans",value:n,options:my.map(({value:x,label:b})=>({value:x,label:b})),onChange:e}),c.jsx(Dl,{label:"Mono",value:t,options:yy.map(({value:x,label:b})=>({value:x,label:b})),onChange:i}),c.jsx(Dl,{label:"Headings",value:a,options:gy.map(({value:x,label:b})=>({value:x,label:b})),onChange:u}),c.jsx("div",{className:"flex flex-wrap items-center gap-1.5",children:V2.map(x=>{const b=x.sans===n&&x.mono===t&&x.display===a;return c.jsx("button",{type:"button","data-selected":b||void 0,onClick:()=>{e(x.sans),i(x.mono),u(x.display)},className:`inline-flex h-7 items-center rounded-full border px-3 text-xs transition-colors ${b?"border-accent text-accent":"border-line bg-surface text-muted hover:border-line-strong"}`,children:x.label},x.label)})})]})}),c.jsxs("div",{style:v,className:"space-y-10",children:[c.jsxs("section",{children:[c.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"In context"}),c.jsxs("div",{className:"space-y-6",children:[c.jsxs("div",{children:[c.jsx("p",{className:"text-2xs text-faint",children:"Acme Analytics · production"}),c.jsx("h1",{className:"mt-1 text-2xl font-semibold text-ink",children:"Revenue overview"}),c.jsx("div",{className:"text-sm text-muted",children:"Updated 2 minutes ago · 448,214 rows scanned"})]}),c.jsxs("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-3",children:[c.jsx(Nr,{metric:"t.revenue",label:"Revenue",value:288291,format:{format:"currency"},delta:{label:"+12.4%",tone:"positive"},comparison:"vs previous month",sparkValues:G2,selected:!0,onSelect:()=>{}}),c.jsx(Nr,{metric:"t.orders",label:"Order Count",value:447,delta:{label:"-2.1%",tone:"negative"},comparison:"vs previous month",sparkValues:[21,34,28,41,44,38],onSelect:()=>{}}),c.jsx(Nr,{metric:"t.margin",label:"Gross Margin",value:.324,format:{format:"percent"},delta:{label:"+1.1pt",tone:"positive"},comparison:"vs previous month",sparkValues:[24,26,29,27,31,32],onSelect:()=>{}})]}),c.jsx(ea,{points:Y2,formatValue:x=>`$${Math.round(x).toLocaleString("en-US")}`,formatAxis:x=>`$${Math.round(x/1e3)}k`,formatLabel:x=>x.slice(0,7),ariaLabel:"Twelve month revenue trend"}),c.jsxs("div",{className:"max-w-xl",children:[c.jsx("h3",{className:"text-sm font-semibold text-ink",children:"How the comparison works"}),c.jsx("p",{className:"mt-1 text-xs leading-5 text-muted",children:"The overlay shifts the previous period onto the current axis so both lines share a scale. Deltas are computed on the visible range only — zooming recomputes them. Hover any point for the exact pair of values; the quiet gray line is always the older period."})]}),c.jsx("pre",{className:"overflow-x-auto font-mono text-xs leading-5 text-muted",children:Q2})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Numerals — mono, tabular"}),c.jsxs("div",{className:"flex flex-wrap gap-12",children:[c.jsx("div",{className:"font-mono tnum text-sm text-ink",children:["$1,204,918.24","$984,003.10","$88,214.00","$1,111,111.11"].map(x=>c.jsx("div",{className:"text-right",children:x},x))}),c.jsx("div",{className:"font-mono tnum text-sm text-ink",children:["2025-06-30 23:59:59","2025-07-01 00:00:00","2025-12-31 08:15:42"].map(x=>c.jsx("div",{children:x},x))}),c.jsxs("div",{className:"font-mono text-sm text-ink",children:["0O · 1lI · 5S · 8B · ","->"," ","=>"," ","!="," ",">="]})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Weights in use — 400 / 500 / 600 (no bold anywhere)"}),c.jsxs("div",{className:"space-y-2 text-ink",children:[c.jsx(xy,{family:"var(--font-sans)",size:"text-sm"}),c.jsx(xy,{family:"var(--font-sans)",size:"text-xs"}),c.jsx("div",{className:"text-xl font-semibold",style:{fontFamily:"var(--font-display)"},children:"Display 600 — Quarterly revenue, all regions"})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Current ramp — every size in the app and where it appears"}),c.jsx("div",{className:"space-y-1.5",children:W2.map(x=>c.jsxs("div",{className:"grid grid-cols-[3rem_7rem_1fr_1.2fr] items-baseline gap-3",children:[c.jsxs("span",{className:"font-mono tnum text-2xs text-faint",children:[x.px,"px"]}),c.jsx("span",{className:"font-mono text-2xs text-faint",children:x.cls}),c.jsx("span",{className:"truncate text-ink",style:{fontSize:`${x.px}px`,lineHeight:1.3},children:x.sample}),c.jsx("span",{className:"text-2xs text-faint",children:x.usage})]},x.px))})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Size ramp candidates"}),c.jsx("div",{className:"grid grid-cols-1 gap-8 lg:grid-cols-3",children:H2.map(x=>c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"text-sm font-semibold text-ink",children:x.name}),c.jsx("p",{className:"mt-0.5 text-2xs text-faint",children:x.note}),c.jsxs("div",{className:"mt-3 space-y-2",children:[c.jsxs("div",{className:"text-faint",style:{fontSize:x.caption,lineHeight:1.3},children:["Caption ",x.caption,"px · vs previous month"]}),c.jsxs("div",{className:"text-muted",style:{fontSize:x.label,lineHeight:1.35},children:["Label ",x.label,"px · Revenue by region"]}),c.jsxs("div",{className:"text-ink",style:{fontSize:x.body,lineHeight:1.45},children:["Body ",x.body,"px · The overlay shifts the previous period onto the current axis so both lines share a scale."]}),c.jsxs("div",{className:"font-semibold text-ink",style:{fontSize:x.section,lineHeight:1.35},children:["Section title ",x.section,"px"]}),c.jsx("div",{className:"font-mono tnum font-semibold text-ink",style:{fontSize:x.value,lineHeight:1.15},children:"$288,291"}),c.jsx("div",{className:"font-mono tnum font-semibold text-ink",style:{fontSize:x.headline,lineHeight:1.15},children:"$1,282,392"}),c.jsx("div",{className:"font-semibold text-ink",style:{fontFamily:"var(--font-display)",fontSize:x.title,lineHeight:1.2,letterSpacing:"-0.025em"},children:"Revenue overview"})]})]},x.name))})]})]})]})]})}o_();const l0=document.getElementById("root");if(!l0)throw new Error("Missing #root element");hb.createRoot(l0).render(c.jsx(I.StrictMode,{children:window.location.pathname==="/components"?c.jsx(z2,{}):window.location.pathname==="/typography"?c.jsx(K2,{}):c.jsx(l2,{})})); diff --git a/sidemantic-rs/ui/index.html b/sidemantic-rs/ui/index.html index 5716c890f..067a2d9ef 100644 --- a/sidemantic-rs/ui/index.html +++ b/sidemantic-rs/ui/index.html @@ -4,7 +4,7 @@ Sidemantic - + diff --git a/sidemantic/ui/static/assets/index-ChPW3NO2.js b/sidemantic/ui/static/assets/index-ChPW3NO2.js new file mode 100644 index 000000000..3bab90674 --- /dev/null +++ b/sidemantic/ui/static/assets/index-ChPW3NO2.js @@ -0,0 +1,55 @@ +var rb=Object.defineProperty;var sb=(n,e,t)=>e in n?rb(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var Mn=(n,e,t)=>sb(n,typeof e!="symbol"?e+"":e,t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))i(a);new MutationObserver(a=>{for(const c of a)if(c.type==="childList")for(const f of c.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&i(f)}).observe(document,{childList:!0,subtree:!0});function t(a){const c={};return a.integrity&&(c.integrity=a.integrity),a.referrerPolicy&&(c.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?c.credentials="include":a.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function i(a){if(a.ep)return;a.ep=!0;const c=t(a);fetch(a.href,c)}})();var td={exports:{}},Co={},nd={exports:{}},Ee={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var rm;function ib(){if(rm)return Ee;rm=1;var n=Symbol.for("react.element"),e=Symbol.for("react.portal"),t=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),f=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),v=Symbol.for("react.lazy"),x=Symbol.iterator;function b(N){return N===null||typeof N!="object"?null:(N=x&&N[x]||N["@@iterator"],typeof N=="function"?N:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_=Object.assign,C={};function T(N,F,te){this.props=N,this.context=F,this.refs=C,this.updater=te||w}T.prototype.isReactComponent={},T.prototype.setState=function(N,F){if(typeof N!="object"&&typeof N!="function"&&N!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,N,F,"setState")},T.prototype.forceUpdate=function(N){this.updater.enqueueForceUpdate(this,N,"forceUpdate")};function V(){}V.prototype=T.prototype;function $(N,F,te){this.props=N,this.context=F,this.refs=C,this.updater=te||w}var R=$.prototype=new V;R.constructor=$,_(R,T.prototype),R.isPureReactComponent=!0;var O=Array.isArray,E=Object.prototype.hasOwnProperty,D={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};function G(N,F,te){var he,re={},pe=null,Ce=null;if(F!=null)for(he in F.ref!==void 0&&(Ce=F.ref),F.key!==void 0&&(pe=""+F.key),F)E.call(F,he)&&!L.hasOwnProperty(he)&&(re[he]=F[he]);var Fe=arguments.length-2;if(Fe===1)re.children=te;else if(1>>1,F=A[N];if(0>>1;Na(re,H))pea(Ce,re)?(A[N]=Ce,A[pe]=H,N=pe):(A[N]=re,A[he]=H,N=he);else if(pea(Ce,H))A[N]=Ce,A[pe]=H,N=pe;else break e}}return Q}function a(A,Q){var H=A.sortIndex-Q.sortIndex;return H!==0?H:A.id-Q.id}if(typeof performance=="object"&&typeof performance.now=="function"){var c=performance;n.unstable_now=function(){return c.now()}}else{var f=Date,h=f.now();n.unstable_now=function(){return f.now()-h}}var m=[],g=[],v=1,x=null,b=3,w=!1,_=!1,C=!1,T=typeof setTimeout=="function"?setTimeout:null,V=typeof clearTimeout=="function"?clearTimeout:null,$=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function R(A){for(var Q=t(g);Q!==null;){if(Q.callback===null)i(g);else if(Q.startTime<=A)i(g),Q.sortIndex=Q.expirationTime,e(m,Q);else break;Q=t(g)}}function O(A){if(C=!1,R(A),!_)if(t(m)!==null)_=!0,se(E);else{var Q=t(g);Q!==null&&ne(O,Q.startTime-A)}}function E(A,Q){_=!1,C&&(C=!1,V(G),G=-1),w=!0;var H=b;try{for(R(Q),x=t(m);x!==null&&(!(x.expirationTime>Q)||A&&!P());){var N=x.callback;if(typeof N=="function"){x.callback=null,b=x.priorityLevel;var F=N(x.expirationTime<=Q);Q=n.unstable_now(),typeof F=="function"?x.callback=F:x===t(m)&&i(m),R(Q)}else i(m);x=t(m)}if(x!==null)var te=!0;else{var he=t(g);he!==null&&ne(O,he.startTime-Q),te=!1}return te}finally{x=null,b=H,w=!1}}var D=!1,L=null,G=-1,W=5,Y=-1;function P(){return!(n.unstable_now()-YA||125N?(A.sortIndex=H,e(g,A),t(m)===null&&A===t(g)&&(C?(V(G),G=-1):C=!0,ne(O,H-N))):(A.sortIndex=F,e(m,A),_||w||(_=!0,se(E))),A},n.unstable_shouldYield=P,n.unstable_wrapCallback=function(A){var Q=b;return function(){var H=b;b=Q;try{return A.apply(this,arguments)}finally{b=H}}}})(id)),id}var lm;function cb(){return lm||(lm=1,sd.exports=lb()),sd.exports}/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var cm;function ub(){if(cm)return zt;cm=1;var n=Pd(),e=cb();function t(r){for(var s="https://reactjs.org/docs/error-decoder.html?invariant="+r,o=1;o"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),m=Object.prototype.hasOwnProperty,g=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,v={},x={};function b(r){return m.call(x,r)?!0:m.call(v,r)?!1:g.test(r)?x[r]=!0:(v[r]=!0,!1)}function w(r,s,o,l){if(o!==null&&o.type===0)return!1;switch(typeof s){case"function":case"symbol":return!0;case"boolean":return l?!1:o!==null?!o.acceptsBooleans:(r=r.toLowerCase().slice(0,5),r!=="data-"&&r!=="aria-");default:return!1}}function _(r,s,o,l){if(s===null||typeof s>"u"||w(r,s,o,l))return!0;if(l)return!1;if(o!==null)switch(o.type){case 3:return!s;case 4:return s===!1;case 5:return isNaN(s);case 6:return isNaN(s)||1>s}return!1}function C(r,s,o,l,d,p,y){this.acceptsBooleans=s===2||s===3||s===4,this.attributeName=l,this.attributeNamespace=d,this.mustUseProperty=o,this.propertyName=r,this.type=s,this.sanitizeURL=p,this.removeEmptyString=y}var T={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(r){T[r]=new C(r,0,!1,r,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(r){var s=r[0];T[s]=new C(s,1,!1,r[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(r){T[r]=new C(r,2,!1,r.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(r){T[r]=new C(r,2,!1,r,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(r){T[r]=new C(r,3,!1,r.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(r){T[r]=new C(r,3,!0,r,null,!1,!1)}),["capture","download"].forEach(function(r){T[r]=new C(r,4,!1,r,null,!1,!1)}),["cols","rows","size","span"].forEach(function(r){T[r]=new C(r,6,!1,r,null,!1,!1)}),["rowSpan","start"].forEach(function(r){T[r]=new C(r,5,!1,r.toLowerCase(),null,!1,!1)});var V=/[\-:]([a-z])/g;function $(r){return r[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(r){var s=r.replace(V,$);T[s]=new C(s,1,!1,r,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(r){var s=r.replace(V,$);T[s]=new C(s,1,!1,r,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(r){var s=r.replace(V,$);T[s]=new C(s,1,!1,r,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(r){T[r]=new C(r,1,!1,r.toLowerCase(),null,!1,!1)}),T.xlinkHref=new C("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(r){T[r]=new C(r,1,!1,r.toLowerCase(),null,!0,!0)});function R(r,s,o,l){var d=T.hasOwnProperty(s)?T[s]:null;(d!==null?d.type!==0:l||!(2S||d[y]!==p[S]){var j=` +`+d[y].replace(" at new "," at ");return r.displayName&&j.includes("")&&(j=j.replace("",r.displayName)),j}while(1<=y&&0<=S);break}}}finally{te=!1,Error.prepareStackTrace=o}return(r=r?r.displayName||r.name:"")?F(r):""}function re(r){switch(r.tag){case 5:return F(r.type);case 16:return F("Lazy");case 13:return F("Suspense");case 19:return F("SuspenseList");case 0:case 2:case 15:return r=he(r.type,!1),r;case 11:return r=he(r.type.render,!1),r;case 1:return r=he(r.type,!0),r;default:return""}}function pe(r){if(r==null)return null;if(typeof r=="function")return r.displayName||r.name||null;if(typeof r=="string")return r;switch(r){case L:return"Fragment";case D:return"Portal";case W:return"Profiler";case G:return"StrictMode";case X:return"Suspense";case oe:return"SuspenseList"}if(typeof r=="object")switch(r.$$typeof){case P:return(r.displayName||"Context")+".Consumer";case Y:return(r._context.displayName||"Context")+".Provider";case ee:var s=r.render;return r=r.displayName,r||(r=s.displayName||s.name||"",r=r!==""?"ForwardRef("+r+")":"ForwardRef"),r;case ae:return s=r.displayName||null,s!==null?s:pe(r.type)||"Memo";case se:s=r._payload,r=r._init;try{return pe(r(s))}catch{}}return null}function Ce(r){var s=r.type;switch(r.tag){case 24:return"Cache";case 9:return(s.displayName||"Context")+".Consumer";case 10:return(s._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return r=s.render,r=r.displayName||r.name||"",s.displayName||(r!==""?"ForwardRef("+r+")":"ForwardRef");case 7:return"Fragment";case 5:return s;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return pe(s);case 8:return s===G?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof s=="function")return s.displayName||s.name||null;if(typeof s=="string")return s}return null}function Fe(r){switch(typeof r){case"boolean":case"number":case"string":case"undefined":return r;case"object":return r;default:return""}}function Be(r){var s=r.type;return(r=r.nodeName)&&r.toLowerCase()==="input"&&(s==="checkbox"||s==="radio")}function dt(r){var s=Be(r)?"checked":"value",o=Object.getOwnPropertyDescriptor(r.constructor.prototype,s),l=""+r[s];if(!r.hasOwnProperty(s)&&typeof o<"u"&&typeof o.get=="function"&&typeof o.set=="function"){var d=o.get,p=o.set;return Object.defineProperty(r,s,{configurable:!0,get:function(){return d.call(this)},set:function(y){l=""+y,p.call(this,y)}}),Object.defineProperty(r,s,{enumerable:o.enumerable}),{getValue:function(){return l},setValue:function(y){l=""+y},stopTracking:function(){r._valueTracker=null,delete r[s]}}}}function St(r){r._valueTracker||(r._valueTracker=dt(r))}function Es(r){if(!r)return!1;var s=r._valueTracker;if(!s)return!0;var o=s.getValue(),l="";return r&&(l=Be(r)?r.checked?"true":"false":r.value),r=l,r!==o?(s.setValue(r),!0):!1}function Et(r){if(r=r||(typeof document<"u"?document:void 0),typeof r>"u")return null;try{return r.activeElement||r.body}catch{return r.body}}function sr(r,s){var o=s.checked;return H({},s,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:o??r._wrapperState.initialChecked})}function us(r,s){var o=s.defaultValue==null?"":s.defaultValue,l=s.checked!=null?s.checked:s.defaultChecked;o=Fe(s.value!=null?s.value:o),r._wrapperState={initialChecked:l,initialValue:o,controlled:s.type==="checkbox"||s.type==="radio"?s.checked!=null:s.value!=null}}function ce(r,s){s=s.checked,s!=null&&R(r,"checked",s,!1)}function Te(r,s){ce(r,s);var o=Fe(s.value),l=s.type;if(o!=null)l==="number"?(o===0&&r.value===""||r.value!=o)&&(r.value=""+o):r.value!==""+o&&(r.value=""+o);else if(l==="submit"||l==="reset"){r.removeAttribute("value");return}s.hasOwnProperty("value")?Ct(r,s.type,o):s.hasOwnProperty("defaultValue")&&Ct(r,s.type,Fe(s.defaultValue)),s.checked==null&&s.defaultChecked!=null&&(r.defaultChecked=!!s.defaultChecked)}function st(r,s,o){if(s.hasOwnProperty("value")||s.hasOwnProperty("defaultValue")){var l=s.type;if(!(l!=="submit"&&l!=="reset"||s.value!==void 0&&s.value!==null))return;s=""+r._wrapperState.initialValue,o||s===r.value||(r.value=s),r.defaultValue=s}o=r.name,o!==""&&(r.name=""),r.defaultChecked=!!r._wrapperState.initialChecked,o!==""&&(r.name=o)}function Ct(r,s,o){(s!=="number"||Et(r.ownerDocument)!==r)&&(o==null?r.defaultValue=""+r._wrapperState.initialValue:r.defaultValue!==""+o&&(r.defaultValue=""+o))}var Un=Array.isArray;function ir(r,s,o,l){if(r=r.options,s){s={};for(var d=0;d"+s.valueOf().toString()+"",s=ds.firstChild;r.firstChild;)r.removeChild(r.firstChild);for(;s.firstChild;)r.appendChild(s.firstChild)}});function Cr(r,s){if(s){var o=r.firstChild;if(o&&o===r.lastChild&&o.nodeType===3){o.nodeValue=s;return}}r.textContent=s}var Fr={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ta=["Webkit","ms","Moz","O"];Object.keys(Fr).forEach(function(r){ta.forEach(function(s){s=s+r.charAt(0).toUpperCase()+r.substring(1),Fr[s]=Fr[r]})});function ye(r,s,o){return s==null||typeof s=="boolean"||s===""?"":o||typeof s!="number"||s===0||Fr.hasOwnProperty(r)&&Fr[r]?(""+s).trim():s+"px"}function vt(r,s){r=r.style;for(var o in s)if(s.hasOwnProperty(o)){var l=o.indexOf("--")===0,d=ye(o,s[o],l);o==="float"&&(o="cssFloat"),l?r.setProperty(o,d):r[o]=d}}var Us=H({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function rn(r,s){if(s){if(Us[r]&&(s.children!=null||s.dangerouslySetInnerHTML!=null))throw Error(t(137,r));if(s.dangerouslySetInnerHTML!=null){if(s.children!=null)throw Error(t(60));if(typeof s.dangerouslySetInnerHTML!="object"||!("__html"in s.dangerouslySetInnerHTML))throw Error(t(61))}if(s.style!=null&&typeof s.style!="object")throw Error(t(62))}}function $s(r,s){if(r.indexOf("-")===-1)return typeof s.is=="string";switch(r){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Gi=null;function fs(r){return r=r.target||r.srcElement||window,r.correspondingUseElement&&(r=r.correspondingUseElement),r.nodeType===3?r.parentNode:r}var gc=null,Ps=null,zs=null;function bf(r){if(r=mo(r)){if(typeof gc!="function")throw Error(t(280));var s=r.stateNode;s&&(s=Na(s),gc(r.stateNode,r.type,s))}}function wf(r){Ps?zs?zs.push(r):zs=[r]:Ps=r}function Sf(){if(Ps){var r=Ps,s=zs;if(zs=Ps=null,bf(r),s)for(r=0;r>>=0,r===0?32:31-(x0(r)/b0|0)|0}var oa=64,aa=4194304;function Ji(r){switch(r&-r){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return r&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return r&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return r}}function la(r,s){var o=r.pendingLanes;if(o===0)return 0;var l=0,d=r.suspendedLanes,p=r.pingedLanes,y=o&268435455;if(y!==0){var S=y&~d;S!==0?l=Ji(S):(p&=y,p!==0&&(l=Ji(p)))}else y=o&~d,y!==0?l=Ji(y):p!==0&&(l=Ji(p));if(l===0)return 0;if(s!==0&&s!==l&&(s&d)===0&&(d=l&-l,p=s&-s,d>=p||d===16&&(p&4194240)!==0))return s;if((l&4)!==0&&(l|=o&16),s=r.entangledLanes,s!==0)for(r=r.entanglements,s&=l;0o;o++)s.push(r);return s}function qi(r,s,o){r.pendingLanes|=s,s!==536870912&&(r.suspendedLanes=0,r.pingedLanes=0),r=r.eventTimes,s=31-wn(s),r[s]=o}function N0(r,s){var o=r.pendingLanes&~s;r.pendingLanes=s,r.suspendedLanes=0,r.pingedLanes=0,r.expiredLanes&=s,r.mutableReadLanes&=s,r.entangledLanes&=s,s=r.entanglements;var l=r.eventTimes;for(r=r.expirationTimes;0=io),Jf=" ",qf=!1;function Zf(r,s){switch(r){case"keyup":return Z0.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Xf(r){return r=r.detail,typeof r=="object"&&"data"in r?r.data:null}var Hs=!1;function ex(r,s){switch(r){case"compositionend":return Xf(s);case"keypress":return s.which!==32?null:(qf=!0,Jf);case"textInput":return r=s.data,r===Jf&&qf?null:r;default:return null}}function tx(r,s){if(Hs)return r==="compositionend"||!Bc&&Zf(r,s)?(r=Wf(),ha=Dc=Er=null,Hs=!1,r):null;switch(r){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1=s)return{node:o,offset:s-r};r=l}e:{for(;o;){if(o.nextSibling){o=o.nextSibling;break e}o=o.parentNode}o=void 0}o=oh(o)}}function lh(r,s){return r&&s?r===s?!0:r&&r.nodeType===3?!1:s&&s.nodeType===3?lh(r,s.parentNode):"contains"in r?r.contains(s):r.compareDocumentPosition?!!(r.compareDocumentPosition(s)&16):!1:!1}function ch(){for(var r=window,s=Et();s instanceof r.HTMLIFrameElement;){try{var o=typeof s.contentWindow.location.href=="string"}catch{o=!1}if(o)r=s.contentWindow;else break;s=Et(r.document)}return s}function Lc(r){var s=r&&r.nodeName&&r.nodeName.toLowerCase();return s&&(s==="input"&&(r.type==="text"||r.type==="search"||r.type==="tel"||r.type==="url"||r.type==="password")||s==="textarea"||r.contentEditable==="true")}function ux(r){var s=ch(),o=r.focusedElem,l=r.selectionRange;if(s!==o&&o&&o.ownerDocument&&lh(o.ownerDocument.documentElement,o)){if(l!==null&&Lc(o)){if(s=l.start,r=l.end,r===void 0&&(r=s),"selectionStart"in o)o.selectionStart=s,o.selectionEnd=Math.min(r,o.value.length);else if(r=(s=o.ownerDocument||document)&&s.defaultView||window,r.getSelection){r=r.getSelection();var d=o.textContent.length,p=Math.min(l.start,d);l=l.end===void 0?p:Math.min(l.end,d),!r.extend&&p>l&&(d=l,l=p,p=d),d=ah(o,p);var y=ah(o,l);d&&y&&(r.rangeCount!==1||r.anchorNode!==d.node||r.anchorOffset!==d.offset||r.focusNode!==y.node||r.focusOffset!==y.offset)&&(s=s.createRange(),s.setStart(d.node,d.offset),r.removeAllRanges(),p>l?(r.addRange(s),r.extend(y.node,y.offset)):(s.setEnd(y.node,y.offset),r.addRange(s)))}}for(s=[],r=o;r=r.parentNode;)r.nodeType===1&&s.push({element:r,left:r.scrollLeft,top:r.scrollTop});for(typeof o.focus=="function"&&o.focus(),o=0;o=document.documentMode,Gs=null,Uc=null,co=null,$c=!1;function uh(r,s,o){var l=o.window===o?o.document:o.nodeType===9?o:o.ownerDocument;$c||Gs==null||Gs!==Et(l)||(l=Gs,"selectionStart"in l&&Lc(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),co&&lo(co,l)||(co=l,l=wa(Uc,"onSelect"),0qs||(r.current=Zc[qs],Zc[qs]=null,qs--)}function qe(r,s){qs++,Zc[qs]=r.current,r.current=s}var $r={},jt=Ur($r),Rt=Ur(!1),ms=$r;function Zs(r,s){var o=r.type.contextTypes;if(!o)return $r;var l=r.stateNode;if(l&&l.__reactInternalMemoizedUnmaskedChildContext===s)return l.__reactInternalMemoizedMaskedChildContext;var d={},p;for(p in o)d[p]=s[p];return l&&(r=r.stateNode,r.__reactInternalMemoizedUnmaskedChildContext=s,r.__reactInternalMemoizedMaskedChildContext=d),d}function Lt(r){return r=r.childContextTypes,r!=null}function ja(){et(Rt),et(jt)}function jh(r,s,o){if(jt.current!==$r)throw Error(t(168));qe(jt,s),qe(Rt,o)}function kh(r,s,o){var l=r.stateNode;if(s=s.childContextTypes,typeof l.getChildContext!="function")return o;l=l.getChildContext();for(var d in l)if(!(d in s))throw Error(t(108,Ce(r)||"Unknown",d));return H({},o,l)}function ka(r){return r=(r=r.stateNode)&&r.__reactInternalMemoizedMergedChildContext||$r,ms=jt.current,qe(jt,r),qe(Rt,Rt.current),!0}function Ih(r,s,o){var l=r.stateNode;if(!l)throw Error(t(169));o?(r=kh(r,s,ms),l.__reactInternalMemoizedMergedChildContext=r,et(Rt),et(jt),qe(jt,r)):et(Rt),qe(Rt,o)}var ar=null,Ia=!1,Xc=!1;function Mh(r){ar===null?ar=[r]:ar.push(r)}function Sx(r){Ia=!0,Mh(r)}function Pr(){if(!Xc&&ar!==null){Xc=!0;var r=0,s=Ge;try{var o=ar;for(Ge=1;r>=y,d-=y,lr=1<<32-wn(s)+d|o<Me?(wt=ve,ve=null):wt=ve.sibling;var ze=K(B,ve,U[Me],Z);if(ze===null){ve===null&&(ve=wt);break}r&&ve&&ze.alternate===null&&s(B,ve),k=p(ze,k,Me),ge===null?fe=ze:ge.sibling=ze,ge=ze,ve=wt}if(Me===U.length)return o(B,ve),rt&&gs(B,Me),fe;if(ve===null){for(;MeMe?(wt=ve,ve=null):wt=ve.sibling;var Jr=K(B,ve,ze.value,Z);if(Jr===null){ve===null&&(ve=wt);break}r&&ve&&Jr.alternate===null&&s(B,ve),k=p(Jr,k,Me),ge===null?fe=Jr:ge.sibling=Jr,ge=Jr,ve=wt}if(ze.done)return o(B,ve),rt&&gs(B,Me),fe;if(ve===null){for(;!ze.done;Me++,ze=U.next())ze=q(B,ze.value,Z),ze!==null&&(k=p(ze,k,Me),ge===null?fe=ze:ge.sibling=ze,ge=ze);return rt&&gs(B,Me),fe}for(ve=l(B,ve);!ze.done;Me++,ze=U.next())ze=ie(ve,B,Me,ze.value,Z),ze!==null&&(r&&ze.alternate!==null&&ve.delete(ze.key===null?Me:ze.key),k=p(ze,k,Me),ge===null?fe=ze:ge.sibling=ze,ge=ze);return r&&ve.forEach(function(nb){return s(B,nb)}),rt&&gs(B,Me),fe}function ut(B,k,U,Z){if(typeof U=="object"&&U!==null&&U.type===L&&U.key===null&&(U=U.props.children),typeof U=="object"&&U!==null){switch(U.$$typeof){case E:e:{for(var fe=U.key,ge=k;ge!==null;){if(ge.key===fe){if(fe=U.type,fe===L){if(ge.tag===7){o(B,ge.sibling),k=d(ge,U.props.children),k.return=B,B=k;break e}}else if(ge.elementType===fe||typeof fe=="object"&&fe!==null&&fe.$$typeof===se&&Ah(fe)===ge.type){o(B,ge.sibling),k=d(ge,U.props),k.ref=yo(B,ge,U),k.return=B,B=k;break e}o(B,ge);break}else s(B,ge);ge=ge.sibling}U.type===L?(k=js(U.props.children,B.mode,Z,U.key),k.return=B,B=k):(Z=tl(U.type,U.key,U.props,null,B.mode,Z),Z.ref=yo(B,k,U),Z.return=B,B=Z)}return y(B);case D:e:{for(ge=U.key;k!==null;){if(k.key===ge)if(k.tag===4&&k.stateNode.containerInfo===U.containerInfo&&k.stateNode.implementation===U.implementation){o(B,k.sibling),k=d(k,U.children||[]),k.return=B,B=k;break e}else{o(B,k);break}else s(B,k);k=k.sibling}k=Ju(U,B.mode,Z),k.return=B,B=k}return y(B);case se:return ge=U._init,ut(B,k,ge(U._payload),Z)}if(Un(U))return ue(B,k,U,Z);if(Q(U))return de(B,k,U,Z);Fa(B,U)}return typeof U=="string"&&U!==""||typeof U=="number"?(U=""+U,k!==null&&k.tag===6?(o(B,k.sibling),k=d(k,U),k.return=B,B=k):(o(B,k),k=Ku(U,B.mode,Z),k.return=B,B=k),y(B)):o(B,k)}return ut}var ni=Bh(!0),Eh=Bh(!1),Oa=Ur(null),Ta=null,ri=null,iu=null;function ou(){iu=ri=Ta=null}function au(r){var s=Oa.current;et(Oa),r._currentValue=s}function lu(r,s,o){for(;r!==null;){var l=r.alternate;if((r.childLanes&s)!==s?(r.childLanes|=s,l!==null&&(l.childLanes|=s)):l!==null&&(l.childLanes&s)!==s&&(l.childLanes|=s),r===o)break;r=r.return}}function si(r,s){Ta=r,iu=ri=null,r=r.dependencies,r!==null&&r.firstContext!==null&&((r.lanes&s)!==0&&(Ut=!0),r.firstContext=null)}function an(r){var s=r._currentValue;if(iu!==r)if(r={context:r,memoizedValue:s,next:null},ri===null){if(Ta===null)throw Error(t(308));ri=r,Ta.dependencies={lanes:0,firstContext:r}}else ri=ri.next=r;return s}var vs=null;function cu(r){vs===null?vs=[r]:vs.push(r)}function Rh(r,s,o,l){var d=s.interleaved;return d===null?(o.next=o,cu(s)):(o.next=d.next,d.next=o),s.interleaved=o,ur(r,l)}function ur(r,s){r.lanes|=s;var o=r.alternate;for(o!==null&&(o.lanes|=s),o=r,r=r.return;r!==null;)r.childLanes|=s,o=r.alternate,o!==null&&(o.childLanes|=s),o=r,r=r.return;return o.tag===3?o.stateNode:null}var zr=!1;function uu(r){r.updateQueue={baseState:r.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Lh(r,s){r=r.updateQueue,s.updateQueue===r&&(s.updateQueue={baseState:r.baseState,firstBaseUpdate:r.firstBaseUpdate,lastBaseUpdate:r.lastBaseUpdate,shared:r.shared,effects:r.effects})}function dr(r,s){return{eventTime:r,lane:s,tag:0,payload:null,callback:null,next:null}}function Vr(r,s,o){var l=r.updateQueue;if(l===null)return null;if(l=l.shared,(Pe&2)!==0){var d=l.pending;return d===null?s.next=s:(s.next=d.next,d.next=s),l.pending=s,ur(r,o)}return d=l.interleaved,d===null?(s.next=s,cu(l)):(s.next=d.next,d.next=s),l.interleaved=s,ur(r,o)}function Aa(r,s,o){if(s=s.updateQueue,s!==null&&(s=s.shared,(o&4194240)!==0)){var l=s.lanes;l&=r.pendingLanes,o|=l,s.lanes=o,Nc(r,o)}}function Uh(r,s){var o=r.updateQueue,l=r.alternate;if(l!==null&&(l=l.updateQueue,o===l)){var d=null,p=null;if(o=o.firstBaseUpdate,o!==null){do{var y={eventTime:o.eventTime,lane:o.lane,tag:o.tag,payload:o.payload,callback:o.callback,next:null};p===null?d=p=y:p=p.next=y,o=o.next}while(o!==null);p===null?d=p=s:p=p.next=s}else d=p=s;o={baseState:l.baseState,firstBaseUpdate:d,lastBaseUpdate:p,shared:l.shared,effects:l.effects},r.updateQueue=o;return}r=o.lastBaseUpdate,r===null?o.firstBaseUpdate=s:r.next=s,o.lastBaseUpdate=s}function Ba(r,s,o,l){var d=r.updateQueue;zr=!1;var p=d.firstBaseUpdate,y=d.lastBaseUpdate,S=d.shared.pending;if(S!==null){d.shared.pending=null;var j=S,z=j.next;j.next=null,y===null?p=z:y.next=z,y=j;var J=r.alternate;J!==null&&(J=J.updateQueue,S=J.lastBaseUpdate,S!==y&&(S===null?J.firstBaseUpdate=z:S.next=z,J.lastBaseUpdate=j))}if(p!==null){var q=d.baseState;y=0,J=z=j=null,S=p;do{var K=S.lane,ie=S.eventTime;if((l&K)===K){J!==null&&(J=J.next={eventTime:ie,lane:0,tag:S.tag,payload:S.payload,callback:S.callback,next:null});e:{var ue=r,de=S;switch(K=s,ie=o,de.tag){case 1:if(ue=de.payload,typeof ue=="function"){q=ue.call(ie,q,K);break e}q=ue;break e;case 3:ue.flags=ue.flags&-65537|128;case 0:if(ue=de.payload,K=typeof ue=="function"?ue.call(ie,q,K):ue,K==null)break e;q=H({},q,K);break e;case 2:zr=!0}}S.callback!==null&&S.lane!==0&&(r.flags|=64,K=d.effects,K===null?d.effects=[S]:K.push(S))}else ie={eventTime:ie,lane:K,tag:S.tag,payload:S.payload,callback:S.callback,next:null},J===null?(z=J=ie,j=q):J=J.next=ie,y|=K;if(S=S.next,S===null){if(S=d.shared.pending,S===null)break;K=S,S=K.next,K.next=null,d.lastBaseUpdate=K,d.shared.pending=null}}while(!0);if(J===null&&(j=q),d.baseState=j,d.firstBaseUpdate=z,d.lastBaseUpdate=J,s=d.shared.interleaved,s!==null){d=s;do y|=d.lane,d=d.next;while(d!==s)}else p===null&&(d.shared.lanes=0);ws|=y,r.lanes=y,r.memoizedState=q}}function $h(r,s,o){if(r=s.effects,s.effects=null,r!==null)for(s=0;so?o:4,r(!0);var l=mu.transition;mu.transition={};try{r(!1),s()}finally{Ge=o,mu.transition=l}}function ip(){return ln().memoizedState}function kx(r,s,o){var l=Yr(r);if(o={lane:l,action:o,hasEagerState:!1,eagerState:null,next:null},op(r))ap(s,o);else if(o=Rh(r,s,o,l),o!==null){var d=Ot();In(o,r,l,d),lp(o,s,l)}}function Ix(r,s,o){var l=Yr(r),d={lane:l,action:o,hasEagerState:!1,eagerState:null,next:null};if(op(r))ap(s,d);else{var p=r.alternate;if(r.lanes===0&&(p===null||p.lanes===0)&&(p=s.lastRenderedReducer,p!==null))try{var y=s.lastRenderedState,S=p(y,o);if(d.hasEagerState=!0,d.eagerState=S,Sn(S,y)){var j=s.interleaved;j===null?(d.next=d,cu(s)):(d.next=j.next,j.next=d),s.interleaved=d;return}}catch{}finally{}o=Rh(r,s,d,l),o!==null&&(d=Ot(),In(o,r,l,d),lp(o,s,l))}}function op(r){var s=r.alternate;return r===ot||s!==null&&s===ot}function ap(r,s){bo=La=!0;var o=r.pending;o===null?s.next=s:(s.next=o.next,o.next=s),r.pending=s}function lp(r,s,o){if((o&4194240)!==0){var l=s.lanes;l&=r.pendingLanes,o|=l,s.lanes=o,Nc(r,o)}}var Pa={readContext:an,useCallback:kt,useContext:kt,useEffect:kt,useImperativeHandle:kt,useInsertionEffect:kt,useLayoutEffect:kt,useMemo:kt,useReducer:kt,useRef:kt,useState:kt,useDebugValue:kt,useDeferredValue:kt,useTransition:kt,useMutableSource:kt,useSyncExternalStore:kt,useId:kt,unstable_isNewReconciler:!1},Mx={readContext:an,useCallback:function(r,s){return Vn().memoizedState=[r,s===void 0?null:s],r},useContext:an,useEffect:qh,useImperativeHandle:function(r,s,o){return o=o!=null?o.concat([r]):null,Ua(4194308,4,ep.bind(null,s,r),o)},useLayoutEffect:function(r,s){return Ua(4194308,4,r,s)},useInsertionEffect:function(r,s){return Ua(4,2,r,s)},useMemo:function(r,s){var o=Vn();return s=s===void 0?null:s,r=r(),o.memoizedState=[r,s],r},useReducer:function(r,s,o){var l=Vn();return s=o!==void 0?o(s):s,l.memoizedState=l.baseState=s,r={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:r,lastRenderedState:s},l.queue=r,r=r.dispatch=kx.bind(null,ot,r),[l.memoizedState,r]},useRef:function(r){var s=Vn();return r={current:r},s.memoizedState=r},useState:Kh,useDebugValue:Su,useDeferredValue:function(r){return Vn().memoizedState=r},useTransition:function(){var r=Kh(!1),s=r[0];return r=jx.bind(null,r[1]),Vn().memoizedState=r,[s,r]},useMutableSource:function(){},useSyncExternalStore:function(r,s,o){var l=ot,d=Vn();if(rt){if(o===void 0)throw Error(t(407));o=o()}else{if(o=s(),bt===null)throw Error(t(349));(bs&30)!==0||Wh(l,s,o)}d.memoizedState=o;var p={value:o,getSnapshot:s};return d.queue=p,qh(Gh.bind(null,l,p,r),[r]),l.flags|=2048,_o(9,Hh.bind(null,l,p,o,s),void 0,null),o},useId:function(){var r=Vn(),s=bt.identifierPrefix;if(rt){var o=cr,l=lr;o=(l&~(1<<32-wn(l)-1)).toString(32)+o,s=":"+s+"R"+o,o=wo++,0<\/script>",r=r.removeChild(r.firstChild)):typeof l.is=="string"?r=y.createElement(o,{is:l.is}):(r=y.createElement(o),o==="select"&&(y=r,l.multiple?y.multiple=!0:l.size&&(y.size=l.size))):r=y.createElementNS(r,o),r[Pn]=s,r[po]=l,Mp(r,s,!1,!1),s.stateNode=r;e:{switch(y=$s(o,l),o){case"dialog":Xe("cancel",r),Xe("close",r),d=l;break;case"iframe":case"object":case"embed":Xe("load",r),d=l;break;case"video":case"audio":for(d=0;dci&&(s.flags|=128,l=!0,No(p,!1),s.lanes=4194304)}else{if(!l)if(r=Ea(y),r!==null){if(s.flags|=128,l=!0,o=r.updateQueue,o!==null&&(s.updateQueue=o,s.flags|=4),No(p,!0),p.tail===null&&p.tailMode==="hidden"&&!y.alternate&&!rt)return It(s),null}else 2*ct()-p.renderingStartTime>ci&&o!==1073741824&&(s.flags|=128,l=!0,No(p,!1),s.lanes=4194304);p.isBackwards?(y.sibling=s.child,s.child=y):(o=p.last,o!==null?o.sibling=y:s.child=y,p.last=y)}return p.tail!==null?(s=p.tail,p.rendering=s,p.tail=s.sibling,p.renderingStartTime=ct(),s.sibling=null,o=it.current,qe(it,l?o&1|2:o&1),s):(It(s),null);case 22:case 23:return Gu(),l=s.memoizedState!==null,r!==null&&r.memoizedState!==null!==l&&(s.flags|=8192),l&&(s.mode&1)!==0?(Zt&1073741824)!==0&&(It(s),s.subtreeFlags&6&&(s.flags|=8192)):It(s),null;case 24:return null;case 25:return null}throw Error(t(156,s.tag))}function Ex(r,s){switch(tu(s),s.tag){case 1:return Lt(s.type)&&ja(),r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 3:return ii(),et(Rt),et(jt),pu(),r=s.flags,(r&65536)!==0&&(r&128)===0?(s.flags=r&-65537|128,s):null;case 5:return fu(s),null;case 13:if(et(it),r=s.memoizedState,r!==null&&r.dehydrated!==null){if(s.alternate===null)throw Error(t(340));ti()}return r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 19:return et(it),null;case 4:return ii(),null;case 10:return au(s.type._context),null;case 22:case 23:return Gu(),null;case 24:return null;default:return null}}var Ha=!1,Mt=!1,Rx=typeof WeakSet=="function"?WeakSet:Set,le=null;function ai(r,s){var o=r.ref;if(o!==null)if(typeof o=="function")try{o(null)}catch(l){lt(r,s,l)}else o.current=null}function Au(r,s,o){try{o()}catch(l){lt(r,s,l)}}var Fp=!1;function Lx(r,s){if(Gc=da,r=ch(),Lc(r)){if("selectionStart"in r)var o={start:r.selectionStart,end:r.selectionEnd};else e:{o=(o=r.ownerDocument)&&o.defaultView||window;var l=o.getSelection&&o.getSelection();if(l&&l.rangeCount!==0){o=l.anchorNode;var d=l.anchorOffset,p=l.focusNode;l=l.focusOffset;try{o.nodeType,p.nodeType}catch{o=null;break e}var y=0,S=-1,j=-1,z=0,J=0,q=r,K=null;t:for(;;){for(var ie;q!==o||d!==0&&q.nodeType!==3||(S=y+d),q!==p||l!==0&&q.nodeType!==3||(j=y+l),q.nodeType===3&&(y+=q.nodeValue.length),(ie=q.firstChild)!==null;)K=q,q=ie;for(;;){if(q===r)break t;if(K===o&&++z===d&&(S=y),K===p&&++J===l&&(j=y),(ie=q.nextSibling)!==null)break;q=K,K=q.parentNode}q=ie}o=S===-1||j===-1?null:{start:S,end:j}}else o=null}o=o||{start:0,end:0}}else o=null;for(Yc={focusedElem:r,selectionRange:o},da=!1,le=s;le!==null;)if(s=le,r=s.child,(s.subtreeFlags&1028)!==0&&r!==null)r.return=s,le=r;else for(;le!==null;){s=le;try{var ue=s.alternate;if((s.flags&1024)!==0)switch(s.tag){case 0:case 11:case 15:break;case 1:if(ue!==null){var de=ue.memoizedProps,ut=ue.memoizedState,B=s.stateNode,k=B.getSnapshotBeforeUpdate(s.elementType===s.type?de:Nn(s.type,de),ut);B.__reactInternalSnapshotBeforeUpdate=k}break;case 3:var U=s.stateNode.containerInfo;U.nodeType===1?U.textContent="":U.nodeType===9&&U.documentElement&&U.removeChild(U.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(t(163))}}catch(Z){lt(s,s.return,Z)}if(r=s.sibling,r!==null){r.return=s.return,le=r;break}le=s.return}return ue=Fp,Fp=!1,ue}function jo(r,s,o){var l=s.updateQueue;if(l=l!==null?l.lastEffect:null,l!==null){var d=l=l.next;do{if((d.tag&r)===r){var p=d.destroy;d.destroy=void 0,p!==void 0&&Au(s,o,p)}d=d.next}while(d!==l)}}function Ga(r,s){if(s=s.updateQueue,s=s!==null?s.lastEffect:null,s!==null){var o=s=s.next;do{if((o.tag&r)===r){var l=o.create;o.destroy=l()}o=o.next}while(o!==s)}}function Bu(r){var s=r.ref;if(s!==null){var o=r.stateNode;switch(r.tag){case 5:r=o;break;default:r=o}typeof s=="function"?s(r):s.current=r}}function Op(r){var s=r.alternate;s!==null&&(r.alternate=null,Op(s)),r.child=null,r.deletions=null,r.sibling=null,r.tag===5&&(s=r.stateNode,s!==null&&(delete s[Pn],delete s[po],delete s[qc],delete s[bx],delete s[wx])),r.stateNode=null,r.return=null,r.dependencies=null,r.memoizedProps=null,r.memoizedState=null,r.pendingProps=null,r.stateNode=null,r.updateQueue=null}function Tp(r){return r.tag===5||r.tag===3||r.tag===4}function Ap(r){e:for(;;){for(;r.sibling===null;){if(r.return===null||Tp(r.return))return null;r=r.return}for(r.sibling.return=r.return,r=r.sibling;r.tag!==5&&r.tag!==6&&r.tag!==18;){if(r.flags&2||r.child===null||r.tag===4)continue e;r.child.return=r,r=r.child}if(!(r.flags&2))return r.stateNode}}function Eu(r,s,o){var l=r.tag;if(l===5||l===6)r=r.stateNode,s?o.nodeType===8?o.parentNode.insertBefore(r,s):o.insertBefore(r,s):(o.nodeType===8?(s=o.parentNode,s.insertBefore(r,o)):(s=o,s.appendChild(r)),o=o._reactRootContainer,o!=null||s.onclick!==null||(s.onclick=_a));else if(l!==4&&(r=r.child,r!==null))for(Eu(r,s,o),r=r.sibling;r!==null;)Eu(r,s,o),r=r.sibling}function Ru(r,s,o){var l=r.tag;if(l===5||l===6)r=r.stateNode,s?o.insertBefore(r,s):o.appendChild(r);else if(l!==4&&(r=r.child,r!==null))for(Ru(r,s,o),r=r.sibling;r!==null;)Ru(r,s,o),r=r.sibling}var _t=null,jn=!1;function Wr(r,s,o){for(o=o.child;o!==null;)Bp(r,s,o),o=o.sibling}function Bp(r,s,o){if($n&&typeof $n.onCommitFiberUnmount=="function")try{$n.onCommitFiberUnmount(ia,o)}catch{}switch(o.tag){case 5:Mt||ai(o,s);case 6:var l=_t,d=jn;_t=null,Wr(r,s,o),_t=l,jn=d,_t!==null&&(jn?(r=_t,o=o.stateNode,r.nodeType===8?r.parentNode.removeChild(o):r.removeChild(o)):_t.removeChild(o.stateNode));break;case 18:_t!==null&&(jn?(r=_t,o=o.stateNode,r.nodeType===8?Jc(r.parentNode,o):r.nodeType===1&&Jc(r,o),no(r)):Jc(_t,o.stateNode));break;case 4:l=_t,d=jn,_t=o.stateNode.containerInfo,jn=!0,Wr(r,s,o),_t=l,jn=d;break;case 0:case 11:case 14:case 15:if(!Mt&&(l=o.updateQueue,l!==null&&(l=l.lastEffect,l!==null))){d=l=l.next;do{var p=d,y=p.destroy;p=p.tag,y!==void 0&&((p&2)!==0||(p&4)!==0)&&Au(o,s,y),d=d.next}while(d!==l)}Wr(r,s,o);break;case 1:if(!Mt&&(ai(o,s),l=o.stateNode,typeof l.componentWillUnmount=="function"))try{l.props=o.memoizedProps,l.state=o.memoizedState,l.componentWillUnmount()}catch(S){lt(o,s,S)}Wr(r,s,o);break;case 21:Wr(r,s,o);break;case 22:o.mode&1?(Mt=(l=Mt)||o.memoizedState!==null,Wr(r,s,o),Mt=l):Wr(r,s,o);break;default:Wr(r,s,o)}}function Ep(r){var s=r.updateQueue;if(s!==null){r.updateQueue=null;var o=r.stateNode;o===null&&(o=r.stateNode=new Rx),s.forEach(function(l){var d=Yx.bind(null,r,l);o.has(l)||(o.add(l),l.then(d,d))})}}function kn(r,s){var o=s.deletions;if(o!==null)for(var l=0;ld&&(d=y),l&=~p}if(l=d,l=ct()-l,l=(120>l?120:480>l?480:1080>l?1080:1920>l?1920:3e3>l?3e3:4320>l?4320:1960*$x(l/1960))-l,10r?16:r,Gr===null)var l=!1;else{if(r=Gr,Gr=null,qa=0,(Pe&6)!==0)throw Error(t(331));var d=Pe;for(Pe|=4,le=r.current;le!==null;){var p=le,y=p.child;if((le.flags&16)!==0){var S=p.deletions;if(S!==null){for(var j=0;jct()-$u?_s(r,0):Uu|=o),Pt(r,s)}function Kp(r,s){s===0&&((r.mode&1)===0?s=1:(s=aa,aa<<=1,(aa&130023424)===0&&(aa=4194304)));var o=Ot();r=ur(r,s),r!==null&&(qi(r,s,o),Pt(r,o))}function Gx(r){var s=r.memoizedState,o=0;s!==null&&(o=s.retryLane),Kp(r,o)}function Yx(r,s){var o=0;switch(r.tag){case 13:var l=r.stateNode,d=r.memoizedState;d!==null&&(o=d.retryLane);break;case 19:l=r.stateNode;break;default:throw Error(t(314))}l!==null&&l.delete(s),Kp(r,o)}var Jp;Jp=function(r,s,o){if(r!==null)if(r.memoizedProps!==s.pendingProps||Rt.current)Ut=!0;else{if((r.lanes&o)===0&&(s.flags&128)===0)return Ut=!1,Ax(r,s,o);Ut=(r.flags&131072)!==0}else Ut=!1,rt&&(s.flags&1048576)!==0&&Dh(s,Da,s.index);switch(s.lanes=0,s.tag){case 2:var l=s.type;Wa(r,s),r=s.pendingProps;var d=Zs(s,jt.current);si(s,o),d=gu(null,s,l,r,d,o);var p=vu();return s.flags|=1,typeof d=="object"&&d!==null&&typeof d.render=="function"&&d.$$typeof===void 0?(s.tag=1,s.memoizedState=null,s.updateQueue=null,Lt(l)?(p=!0,ka(s)):p=!1,s.memoizedState=d.state!==null&&d.state!==void 0?d.state:null,uu(s),d.updater=za,s.stateNode=d,d._reactInternals=s,Nu(s,l,r,o),s=Mu(null,s,l,!0,p,o)):(s.tag=0,rt&&p&&eu(s),Ft(null,s,d,o),s=s.child),s;case 16:l=s.elementType;e:{switch(Wa(r,s),r=s.pendingProps,d=l._init,l=d(l._payload),s.type=l,d=s.tag=Kx(l),r=Nn(l,r),d){case 0:s=Iu(null,s,l,r,o);break e;case 1:s=Sp(null,s,l,r,o);break e;case 11:s=gp(null,s,l,r,o);break e;case 14:s=vp(null,s,l,Nn(l.type,r),o);break e}throw Error(t(306,l,""))}return s;case 0:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),Iu(r,s,l,d,o);case 1:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),Sp(r,s,l,d,o);case 3:e:{if(_p(s),r===null)throw Error(t(387));l=s.pendingProps,p=s.memoizedState,d=p.element,Lh(r,s),Ba(s,l,null,o);var y=s.memoizedState;if(l=y.element,p.isDehydrated)if(p={element:l,isDehydrated:!1,cache:y.cache,pendingSuspenseBoundaries:y.pendingSuspenseBoundaries,transitions:y.transitions},s.updateQueue.baseState=p,s.memoizedState=p,s.flags&256){d=oi(Error(t(423)),s),s=Np(r,s,l,o,d);break e}else if(l!==d){d=oi(Error(t(424)),s),s=Np(r,s,l,o,d);break e}else for(qt=Lr(s.stateNode.containerInfo.firstChild),Jt=s,rt=!0,_n=null,o=Eh(s,null,l,o),s.child=o;o;)o.flags=o.flags&-3|4096,o=o.sibling;else{if(ti(),l===d){s=fr(r,s,o);break e}Ft(r,s,l,o)}s=s.child}return s;case 5:return Ph(s),r===null&&ru(s),l=s.type,d=s.pendingProps,p=r!==null?r.memoizedProps:null,y=d.children,Qc(l,d)?y=null:p!==null&&Qc(l,p)&&(s.flags|=32),wp(r,s),Ft(r,s,y,o),s.child;case 6:return r===null&&ru(s),null;case 13:return jp(r,s,o);case 4:return du(s,s.stateNode.containerInfo),l=s.pendingProps,r===null?s.child=ni(s,null,l,o):Ft(r,s,l,o),s.child;case 11:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),gp(r,s,l,d,o);case 7:return Ft(r,s,s.pendingProps,o),s.child;case 8:return Ft(r,s,s.pendingProps.children,o),s.child;case 12:return Ft(r,s,s.pendingProps.children,o),s.child;case 10:e:{if(l=s.type._context,d=s.pendingProps,p=s.memoizedProps,y=d.value,qe(Oa,l._currentValue),l._currentValue=y,p!==null)if(Sn(p.value,y)){if(p.children===d.children&&!Rt.current){s=fr(r,s,o);break e}}else for(p=s.child,p!==null&&(p.return=s);p!==null;){var S=p.dependencies;if(S!==null){y=p.child;for(var j=S.firstContext;j!==null;){if(j.context===l){if(p.tag===1){j=dr(-1,o&-o),j.tag=2;var z=p.updateQueue;if(z!==null){z=z.shared;var J=z.pending;J===null?j.next=j:(j.next=J.next,J.next=j),z.pending=j}}p.lanes|=o,j=p.alternate,j!==null&&(j.lanes|=o),lu(p.return,o,s),S.lanes|=o;break}j=j.next}}else if(p.tag===10)y=p.type===s.type?null:p.child;else if(p.tag===18){if(y=p.return,y===null)throw Error(t(341));y.lanes|=o,S=y.alternate,S!==null&&(S.lanes|=o),lu(y,o,s),y=p.sibling}else y=p.child;if(y!==null)y.return=p;else for(y=p;y!==null;){if(y===s){y=null;break}if(p=y.sibling,p!==null){p.return=y.return,y=p;break}y=y.return}p=y}Ft(r,s,d.children,o),s=s.child}return s;case 9:return d=s.type,l=s.pendingProps.children,si(s,o),d=an(d),l=l(d),s.flags|=1,Ft(r,s,l,o),s.child;case 14:return l=s.type,d=Nn(l,s.pendingProps),d=Nn(l.type,d),vp(r,s,l,d,o);case 15:return xp(r,s,s.type,s.pendingProps,o);case 17:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),Wa(r,s),s.tag=1,Lt(l)?(r=!0,ka(s)):r=!1,si(s,o),up(s,l,d),Nu(s,l,d,o),Mu(null,s,l,!0,r,o);case 19:return Ip(r,s,o);case 22:return bp(r,s,o)}throw Error(t(156,s.tag))};function qp(r,s){return Cf(r,s)}function Qx(r,s,o,l){this.tag=r,this.key=o,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=s,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=l,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function un(r,s,o,l){return new Qx(r,s,o,l)}function Qu(r){return r=r.prototype,!(!r||!r.isReactComponent)}function Kx(r){if(typeof r=="function")return Qu(r)?1:0;if(r!=null){if(r=r.$$typeof,r===ee)return 11;if(r===ae)return 14}return 2}function Kr(r,s){var o=r.alternate;return o===null?(o=un(r.tag,s,r.key,r.mode),o.elementType=r.elementType,o.type=r.type,o.stateNode=r.stateNode,o.alternate=r,r.alternate=o):(o.pendingProps=s,o.type=r.type,o.flags=0,o.subtreeFlags=0,o.deletions=null),o.flags=r.flags&14680064,o.childLanes=r.childLanes,o.lanes=r.lanes,o.child=r.child,o.memoizedProps=r.memoizedProps,o.memoizedState=r.memoizedState,o.updateQueue=r.updateQueue,s=r.dependencies,o.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext},o.sibling=r.sibling,o.index=r.index,o.ref=r.ref,o}function tl(r,s,o,l,d,p){var y=2;if(l=r,typeof r=="function")Qu(r)&&(y=1);else if(typeof r=="string")y=5;else e:switch(r){case L:return js(o.children,d,p,s);case G:y=8,d|=8;break;case W:return r=un(12,o,s,d|2),r.elementType=W,r.lanes=p,r;case X:return r=un(13,o,s,d),r.elementType=X,r.lanes=p,r;case oe:return r=un(19,o,s,d),r.elementType=oe,r.lanes=p,r;case ne:return nl(o,d,p,s);default:if(typeof r=="object"&&r!==null)switch(r.$$typeof){case Y:y=10;break e;case P:y=9;break e;case ee:y=11;break e;case ae:y=14;break e;case se:y=16,l=null;break e}throw Error(t(130,r==null?r:typeof r,""))}return s=un(y,o,s,d),s.elementType=r,s.type=l,s.lanes=p,s}function js(r,s,o,l){return r=un(7,r,l,s),r.lanes=o,r}function nl(r,s,o,l){return r=un(22,r,l,s),r.elementType=ne,r.lanes=o,r.stateNode={isHidden:!1},r}function Ku(r,s,o){return r=un(6,r,null,s),r.lanes=o,r}function Ju(r,s,o){return s=un(4,r.children!==null?r.children:[],r.key,s),s.lanes=o,s.stateNode={containerInfo:r.containerInfo,pendingChildren:null,implementation:r.implementation},s}function Jx(r,s,o,l,d){this.tag=s,this.containerInfo=r,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=_c(0),this.expirationTimes=_c(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=_c(0),this.identifierPrefix=l,this.onRecoverableError=d,this.mutableSourceEagerHydrationData=null}function qu(r,s,o,l,d,p,y,S,j){return r=new Jx(r,s,o,S,j),s===1?(s=1,p===!0&&(s|=8)):s=0,p=un(3,null,null,s),r.current=p,p.stateNode=r,p.memoizedState={element:l,isDehydrated:o,cache:null,transitions:null,pendingSuspenseBoundaries:null},uu(p),r}function qx(r,s,o){var l=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}return n(),rd.exports=ub(),rd.exports}var dm;function fb(){if(dm)return cl;dm=1;var n=db();return cl.createRoot=n.createRoot,cl.hydrateRoot=n.hydrateRoot,cl}var hb=fb();function Sr(n){return n.split(".").at(-1)||n}function Fn(n,e){const t=Sr(n);if(e.filter(a=>Sr(a)===t).length<2)return t;const i=n.indexOf(".");return i>0?`${n.slice(0,i)}_${t}`:t}const er="\0__null__";function pb(n){return String(n||"").replaceAll("_"," ").replaceAll("."," ").replace(/\b\w/g,e=>e.toUpperCase()).trim()}function by(n,e={}){if(n==null||n==="")return"—";const t=typeof n=="number"?n:Number(n);if(!Number.isFinite(t))return String(n);const i=String(e.format||"").toLowerCase();if(e.style==="percent"||i.includes("%")||i.includes("percent")||i.includes("pct")||e.type==="ratio")return(e.style==="percent"?t:Math.abs(t)<=1?t*100:t).toLocaleString(void 0,{maximumFractionDigits:e.maximumFractionDigits??1,style:e.style==="percent"?"percent":"decimal"})+(e.style==="percent"?"":"%");const c=e.style==="currency"||e.currency||i.includes("$")||i.includes("usd")||i.includes("currency")||i.includes("dollar");return t.toLocaleString(void 0,{currency:c?e.currency||"USD":void 0,maximumFractionDigits:e.maximumFractionDigits??2,notation:e.compact?"compact":"standard",style:c?"currency":"decimal"})}function mb(n,e={}){return by(n,{...e,compact:!0,maximumFractionDigits:e.maximumFractionDigits??1})}function yb(n,e,t){const i=t>0&&n.length>t,a=i?Math.ceil(n.length/t):1,c=Math.max(0,Math.min(e,a-1)),f=i?c*t:0;return{paginate:i,pageCount:a,safePage:c,start:f,visibleRows:i?n.slice(f,f+t):n}}function rs(n){return n===er||n===""?"—":n}function Le(n){return pb(n)}function pt(n,e={}){return by(n,e)}function Gt(n,e={}){return mb(n,e)}function wy(n){return!Number.isFinite(n)||n===0?"neutral":n>0?"positive":"negative"}function gb(n,e){return!Number.isFinite(n)||!Number.isFinite(e)||e<=0?{label:"—",tone:"neutral"}:{label:`${(n/e*100).toLocaleString(void 0,{maximumFractionDigits:1})}%`,tone:"neutral"}}function vb(n,e,t={}){if(e==null||!Number.isFinite(e)||!Number.isFinite(n))return{label:"—",tone:"neutral"};const i=n-e;return{label:`${i>0?"+":i<0?"−":""}${Gt(Math.abs(i),t)}`,tone:wy(i)}}function xb(n,e){if(e==null||!Number.isFinite(e)||e===0||!Number.isFinite(n))return{label:"—",tone:"neutral"};const t=(n-e)/Math.abs(e);return{label:`${(t*100).toLocaleString(void 0,{maximumFractionDigits:1,signDisplay:"exceptZero"})}%`,tone:wy(t)}}function Sy(n,e){if(e==null||!Number.isFinite(e)||e===0||!Number.isFinite(n))return null;const t=(n-e)/Math.abs(e),i=(t*100).toLocaleString(void 0,{maximumFractionDigits:1,signDisplay:"exceptZero"}),a=t>0?"positive":t<0?"negative":"neutral";return{label:`${i}%`,tone:a}}function Qn(n,e){return e==="clickhouse"&&(n=n.replaceAll("\\","\\\\")),`'${n.replaceAll("'","''")}'`}function bb(n){if(n.mode==="contains")return`contains ${Qn(n.pattern??"")}`;const{values:e}=n,t=n.mode==="exclude"?"is not":"is";return e.length===0?t:e.length===1?`${t} ${rs(e[0])}`:e.length<=2?`${t} ${e.map(rs).join(", ")}`:`${t} ${e.length} values`}const od=n=>n.public!==!1,_y=/(^|_)(date|time|day|month|week|year|quarter|created|updated|timestamp|_at|_on)($|_)/i;function Ny(n,e){if(e){const t=n.find(i=>i.name===e);if(t)return t}return n.find(t=>t.type==="time")??n.find(t=>_y.test(t.name))}function wb(n,e){var f;const t=new Set;if(!n)return t;const i=new Set(e.map(h=>h.name)),a=n.match(/[A-Za-z_][A-Za-z0-9_]*\.[A-Za-z_][A-Za-z0-9_]*/g)??[];for(const h of a){const[m]=h.split(".");i.has(m)&&t.add(m)}if(t.size)return t;const c=(f=n.match(/^[A-Za-z_][A-Za-z0-9_]*$/))==null?void 0:f[0];if(!c)return t;for(const h of e)h.metrics.some(m=>m.name===c)&&t.add(h.name);return t}function jy(n,e){const t=new Set;for(const i of[n.base_metric,n.numerator,n.denominator,n.sql])for(const a of wb(i,e))t.add(a);return t.size===1?[...t][0]:void 0}function Sb(n){const e=(n.models??[]).map(i=>{const a=(i.dimensions??[]).filter(od).map(h=>({ref:`${i.name}.${h.name}`,name:h.name,model:i.name,label:h.label||Le(h.name),description:h.description,type:h.type||"categorical",granularity:h.granularity,supportedGranularities:h.supported_granularities,format:h.format})),c=(i.metrics??[]).filter(od).map(h=>({ref:`${i.name}.${h.name}`,name:h.name,model:i.name,label:h.label||Le(h.name),description:h.description,agg:h.agg,type:h.type,format:h.format})),f=Ny(a,i.default_time_dimension);return{name:i.name,label:Le(i.name),description:i.description,table:i.table,dimensions:a,metrics:c,timeDimension:f,defaultGrain:i.default_grain||(f==null?void 0:f.granularity)||"day"}}),t=(n.metrics??[]).filter(od).map(i=>({ref:i.name,name:i.name,ownerModel:jy(i,e),baseMetric:i.base_metric,label:i.label||Le(i.name),description:i.description,type:i.type,format:i.format}));return{models:e,graphMetrics:t,dialect:n.dialect}}function _b(n){const e=n??{},t=(e.models??[]).map(a=>{const c=(a.dimensions??[]).map(m=>({ref:`${a.name}.${m}`,name:m,model:a.name,label:Le(m),type:_y.test(m)?"time":"categorical"})),f=(a.metrics??[]).map(m=>({ref:`${a.name}.${m}`,name:m,model:a.name,label:Le(m)})),h=Ny(c);return{name:a.name,label:Le(a.name),table:a.table,dimensions:c,metrics:f,timeDimension:h,defaultGrain:(h==null?void 0:h.granularity)||"day"}}),i=(e.graph_metrics??[]).map(a=>({ref:a.name,name:a.name,ownerModel:jy(a,t),baseMetric:a.base_metric,label:Le(a.name),type:a.type,description:a.description}));return{models:t,graphMetrics:i,joinablePairs:e.joinable_pairs??[]}}function Nb(n,e){return{...n,joinablePairs:(e??{}).joinable_pairs??n.joinablePairs??[]}}function Di(n,e){const t=new Set;for(const i of n.joinablePairs??[])i.from===e&&t.add(i.to),i.to===e&&t.add(i.from);return n.graphMetrics.filter(i=>i.ownerModel?i.ownerModel===e||t.has(i.ownerModel):!0)}function Oe(n,e,t,i){function a(c){return c instanceof t?c:new t(function(f){f(c)})}return new(t||(t=Promise))(function(c,f){function h(v){try{g(i.next(v))}catch(x){f(x)}}function m(v){try{g(i.throw(v))}catch(x){f(x)}}function g(v){v.done?c(v.value):a(v.value).then(h,m)}g((i=i.apply(n,e||[])).next())})}function fm(n){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&n[e],i=0;if(t)return t.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Ae(n){return this instanceof Ae?(this.v=n,this):new Ae(n)}function Zn(n,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=t.apply(n,e||[]),a,c=[];return a=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),h("next"),h("throw"),h("return",f),a[Symbol.asyncIterator]=function(){return this},a;function f(w){return function(_){return Promise.resolve(_).then(w,x)}}function h(w,_){i[w]&&(a[w]=function(C){return new Promise(function(T,V){c.push([w,C,T,V])>1||m(w,C)})},_&&(a[w]=_(a[w])))}function m(w,_){try{g(i[w](_))}catch(C){b(c[0][3],C)}}function g(w){w.value instanceof Ae?Promise.resolve(w.value.v).then(v,x):b(c[0][2],w)}function v(w){m("next",w)}function x(w){m("throw",w)}function b(w,_){w(_),c.shift(),c.length&&m(c[0][0],c[0][1])}}function bl(n){var e,t;return e={},i("next"),i("throw",function(a){throw a}),i("return"),e[Symbol.iterator]=function(){return this},e;function i(a,c){e[a]=n[a]?function(f){return(t=!t)?{value:Ae(n[a](f)),done:!1}:c?c(f):f}:c}}function _i(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=n[Symbol.asyncIterator],t;return e?e.call(n):(n=typeof fm=="function"?fm(n):n[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(c){t[c]=n[c]&&function(f){return new Promise(function(h,m){f=n[c](f),a(h,m,f.done,f.value)})}}function a(c,f,h,m){Promise.resolve(m).then(function(g){c({value:g,done:h})},f)}}const jb=new TextDecoder("utf-8"),kd=n=>jb.decode(n),kb=new TextEncoder,zd=n=>kb.encode(n),Ib=n=>typeof n=="number",Mb=n=>typeof n=="boolean",Tt=n=>typeof n=="function",En=n=>n!=null&&Object(n)===n,Vo=n=>En(n)&&Tt(n.then),uc=n=>En(n)&&Tt(n[Symbol.iterator]),Vd=n=>En(n)&&Tt(n[Symbol.asyncIterator]),Id=n=>En(n)&&En(n.schema),ky=n=>En(n)&&"done"in n&&"value"in n,Iy=n=>En(n)&&Tt(n.stat)&&Ib(n.fd),My=n=>En(n)&&Wd(n.body),Dy=n=>"_getDOMStream"in n&&"_getNodeStream"in n,Wd=n=>En(n)&&Tt(n.cancel)&&Tt(n.getReader)&&!Dy(n),Cy=n=>En(n)&&Tt(n.read)&&Tt(n.pipe)&&Mb(n.readable)&&!Dy(n),Db=n=>En(n)&&Tt(n.clear)&&Tt(n.bytes)&&Tt(n.position)&&Tt(n.setPosition)&&Tt(n.capacity)&&Tt(n.getBufferIdentifier)&&Tt(n.createLong),Hd=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:ArrayBuffer;function Cb(n){const e=n[0]?[n[0]]:[];let t,i,a,c;for(let f,h,m=0,g=0,v=n.length;++mv+x.byteLength,0);let a,c,f,h=0,m=-1;const g=Math.min(e||Number.POSITIVE_INFINITY,i);for(const v=t.length;++mKe(Int32Array,n),pm=n=>Ke(BigInt64Array,n),$e=n=>Ke(Uint8Array,n),Md=n=>(n.next(),n);function*Fb(n,e){const t=function*(a){yield a},i=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof Hd?t(e):uc(e)?e:t(e);return yield*Md((function*(a){let c=null;do c=a.next(yield Ke(n,c));while(!c.done)})(i[Symbol.iterator]())),new n}const Ob=n=>Fb(Uint8Array,n);function Fy(n,e){return Zn(this,arguments,function*(){if(Vo(e))return yield Ae(yield Ae(yield*bl(_i(Fy(n,yield Ae(e))))));const i=function(f){return Zn(this,arguments,function*(){yield yield Ae(yield Ae(f))})},a=function(f){return Zn(this,arguments,function*(){yield Ae(yield*bl(_i(Md((function*(h){let m=null;do m=h.next(yield m==null?void 0:m.value);while(!m.done)})(f[Symbol.iterator]())))))})},c=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof Hd?i(e):uc(e)?a(e):Vd(e)?e:i(e);return yield Ae(yield*bl(_i(Md((function(f){return Zn(this,arguments,function*(){let h=null;do h=yield Ae(f.next(yield yield Ae(Ke(n,h))));while(!h.done)})})(c[Symbol.asyncIterator]()))))),yield Ae(new n)})}const Tb=n=>Fy(Uint8Array,n);function Ab(n,e){let t=0;const i=n.length;if(i!==e.length)return!1;if(i>0)do if(n[t]!==e[t])return!1;while(++t(n.next(),n);function*Bb(n){let e,t=!1,i=[],a,c,f,h=0;function m(){return c==="peek"?tr(i,f)[0]:([a,i,h]=tr(i,f),a)}({cmd:c,size:f}=(yield null)||{cmd:"read",size:0});const g=Ob(n)[Symbol.iterator]();try{do if({done:e,value:a}=Number.isNaN(f-h)?g.next():g.next(f-h),!e&&a.byteLength>0&&(i.push(a),h+=a.byteLength),e||f<=h)do({cmd:c,size:f}=yield m());while(f0&&(a.push(c),m+=c.byteLength),t||h<=m)do({cmd:f,size:h}=yield yield Ae(g()));while(h0&&(a.push($e(c)),m+=c.byteLength),t||h<=m)do({cmd:f,size:h}=yield yield Ae(g()));while(h{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(e){return Oe(this,void 0,void 0,function*(){const{reader:t,source:i}=this;t&&(yield t.cancel(e).catch(()=>{})),i&&i.locked&&this.releaseLock()})}read(e){return Oe(this,void 0,void 0,function*(){if(e===0)return{done:this.reader==null,value:new Uint8Array(0)};const t=yield this.reader.read();return!t.done&&(t.value=$e(t)),t})}}const ad=(n,e)=>{const t=a=>i([e,a]);let i;return[e,t,new Promise(a=>(i=a)&&n.once(e,t))]};function Ub(n){return Zn(this,arguments,function*(){const t=[];let i="error",a=!1,c=null,f,h,m=0,g=[],v;function x(){return f==="peek"?tr(g,h)[0]:([v,g,m]=tr(g,h),v)}if({cmd:f,size:h}=(yield yield Ae(null))||{cmd:"read",size:0},n.isTTY)return yield yield Ae(new Uint8Array(0)),yield Ae(null);try{t[0]=ad(n,"end"),t[1]=ad(n,"error");do{if(t[2]=ad(n,"readable"),[i,c]=yield Ae(Promise.race(t.map(w=>w[2]))),i==="error")break;if((a=i==="end")||(Number.isFinite(h-m)?(v=$e(n.read(h-m)),v.byteLength0&&(g.push(v),m+=v.byteLength)),a||h<=m)do({cmd:f,size:h}=yield yield Ae(x()));while(h{for(const[V,$]of w)n.off(V,$);try{const V=n.destroy;V&&V.call(n,_),_=void 0}catch(V){_=V||_}finally{_!=null?T(_):C()}})}})}var ht;(function(n){n[n.V1=0]="V1",n[n.V2=1]="V2",n[n.V3=2]="V3",n[n.V4=3]="V4",n[n.V5=4]="V5"})(ht||(ht={}));var Yt;(function(n){n[n.Sparse=0]="Sparse",n[n.Dense=1]="Dense"})(Yt||(Yt={}));var Dt;(function(n){n[n.HALF=0]="HALF",n[n.SINGLE=1]="SINGLE",n[n.DOUBLE=2]="DOUBLE"})(Dt||(Dt={}));var xn;(function(n){n[n.DAY=0]="DAY",n[n.MILLISECOND=1]="MILLISECOND"})(xn||(xn={}));var _e;(function(n){n[n.SECOND=0]="SECOND",n[n.MILLISECOND=1]="MILLISECOND",n[n.MICROSECOND=2]="MICROSECOND",n[n.NANOSECOND=3]="NANOSECOND"})(_e||(_e={}));var nr;(function(n){n[n.YEAR_MONTH=0]="YEAR_MONTH",n[n.DAY_TIME=1]="DAY_TIME",n[n.MONTH_DAY_NANO=2]="MONTH_DAY_NANO"})(nr||(nr={}));const ld=2,Kn=4,br=4,He=4,es=new Int32Array(2),mm=new Float32Array(es.buffer),ym=new Float64Array(es.buffer),dl=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var Dd;(function(n){n[n.UTF8_BYTES=1]="UTF8_BYTES",n[n.UTF16_STRING=2]="UTF16_STRING"})(Dd||(Dd={}));let Ci=class Oy{constructor(e){this.bytes_=e,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(e){return new Oy(new Uint8Array(e))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(e){this.position_=e}capacity(){return this.bytes_.length}readInt8(e){return this.readUint8(e)<<24>>24}readUint8(e){return this.bytes_[e]}readInt16(e){return this.readUint16(e)<<16>>16}readUint16(e){return this.bytes_[e]|this.bytes_[e+1]<<8}readInt32(e){return this.bytes_[e]|this.bytes_[e+1]<<8|this.bytes_[e+2]<<16|this.bytes_[e+3]<<24}readUint32(e){return this.readInt32(e)>>>0}readInt64(e){return BigInt.asIntN(64,BigInt(this.readUint32(e))+(BigInt(this.readUint32(e+4))<>8}writeUint16(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8}writeInt32(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24}writeUint32(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24}writeInt64(e,t){this.writeInt32(e,Number(BigInt.asIntN(32,t))),this.writeInt32(e+4,Number(BigInt.asIntN(32,t>>BigInt(32))))}writeUint64(e,t){this.writeUint32(e,Number(BigInt.asUintN(32,t))),this.writeUint32(e+4,Number(BigInt.asUintN(32,t>>BigInt(32))))}writeFloat32(e,t){mm[0]=t,this.writeInt32(e,es[0])}writeFloat64(e,t){ym[0]=t,this.writeInt32(e,es[dl?0:1]),this.writeInt32(e+4,es[dl?1:0])}getBufferIdentifier(){if(this.bytes_.lengththis.minalign&&(this.minalign=e);const i=~(this.bb.capacity()-this.space+t)+1&e-1;for(;this.space=0&&this.vtable[t]==0;t--);const i=t+1;for(;t>=0;t--)this.addInt16(this.vtable[t]!=0?e-this.vtable[t]:0);const a=2;this.addInt16(e-this.object_start);const c=(i+a)*ld;this.addInt16(c);let f=0;const h=this.space;e:for(t=0;t=0;f--)this.writeInt8(c.charCodeAt(f))}this.prep(this.minalign,Kn+a),this.addOffset(e),a&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(e,t){this.finish(e,t,!0)}requiredField(e,t){const i=this.bb.capacity()-e,a=i-this.bb.readInt32(i);if(!(t=0;i--)e.addInt32(t[i]);return e.endVector()}static startTypeIdsVector(e,t){e.startVector(4,t,4)}static endUnion(e){return e.endObject()}static createUnion(e,t,i){return Ht.startUnion(e),Ht.addMode(e,t),Ht.addTypeIds(e,i),Ht.endUnion(e)}}let _m=class $o{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsUtf8(e,t){return(t||new $o).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsUtf8(e,t){return e.setPosition(e.position()+He),(t||new $o).__init(e.readInt32(e.position())+e.position(),e)}static startUtf8(e){e.startObject(0)}static endUtf8(e){return e.endObject()}static createUtf8(e){return $o.startUtf8(e),$o.endUtf8(e)}};var Ze;(function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.FloatingPoint=3]="FloatingPoint",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct_=13]="Struct_",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Duration=18]="Duration",n[n.LargeBinary=19]="LargeBinary",n[n.LargeUtf8=20]="LargeUtf8",n[n.LargeList=21]="LargeList",n[n.RunEndEncoded=22]="RunEndEncoded"})(Ze||(Ze={}));let hn=class kl{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsField(e,t){return(t||new kl).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsField(e,t){return e.setPosition(e.position()+He),(t||new kl).__init(e.readInt32(e.position())+e.position(),e)}name(e){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__string(this.bb_pos+t,e):null}nullable(){const e=this.bb.__offset(this.bb_pos,6);return e?!!this.bb.readInt8(this.bb_pos+e):!1}typeType(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readUint8(this.bb_pos+e):Ze.NONE}type(e){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__union(e,this.bb_pos+t):null}dictionary(e){const t=this.bb.__offset(this.bb_pos,12);return t?(e||new wr).__init(this.bb.__indirect(this.bb_pos+t),this.bb):null}children(e,t){const i=this.bb.__offset(this.bb_pos,14);return i?(t||new kl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}childrenLength(){const e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,16);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__vector_len(this.bb_pos+e):0}static startField(e){e.startObject(7)}static addName(e,t){e.addFieldOffset(0,t,0)}static addNullable(e,t){e.addFieldInt8(1,+t,0)}static addTypeType(e,t){e.addFieldInt8(2,t,Ze.NONE)}static addType(e,t){e.addFieldOffset(3,t,0)}static addDictionary(e,t){e.addFieldOffset(4,t,0)}static addChildren(e,t){e.addFieldOffset(5,t,0)}static createChildrenVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startChildrenVector(e,t){e.startVector(4,t,4)}static addCustomMetadata(e,t){e.addFieldOffset(6,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endField(e){return e.endObject()}},Gn=class mr{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsSchema(e,t){return(t||new mr).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsSchema(e,t){return e.setPosition(e.position()+He),(t||new mr).__init(e.readInt32(e.position())+e.position(),e)}endianness(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Fi.Little}fields(e,t){const i=this.bb.__offset(this.bb_pos,6);return i?(t||new hn).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}fieldsLength(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,8);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}features(e){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt64(this.bb.__vector(this.bb_pos+t)+e*8):BigInt(0)}featuresLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}static startSchema(e){e.startObject(4)}static addEndianness(e,t){e.addFieldInt16(0,t,Fi.Little)}static addFields(e,t){e.addFieldOffset(1,t,0)}static createFieldsVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startFieldsVector(e,t){e.startVector(4,t,4)}static addCustomMetadata(e,t){e.addFieldOffset(2,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static addFeatures(e,t){e.addFieldOffset(3,t,0)}static createFeaturesVector(e,t){e.startVector(8,t.length,8);for(let i=t.length-1;i>=0;i--)e.addInt64(t[i]);return e.endVector()}static startFeaturesVector(e,t){e.startVector(8,t,8)}static endSchema(e){return e.endObject()}static finishSchemaBuffer(e,t){e.finish(t)}static finishSizePrefixedSchemaBuffer(e,t){e.finish(t,void 0,!0)}static createSchema(e,t,i,a,c){return mr.startSchema(e),mr.addEndianness(e,t),mr.addFields(e,i),mr.addCustomMetadata(e,a),mr.addFeatures(e,c),mr.endSchema(e)}};var Ve;(function(n){n[n.NONE=0]="NONE",n[n.Schema=1]="Schema",n[n.DictionaryBatch=2]="DictionaryBatch",n[n.RecordBatch=3]="RecordBatch",n[n.Tensor=4]="Tensor",n[n.SparseTensor=5]="SparseTensor"})(Ve||(Ve={}));var M;(function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.Float=3]="Float",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct=13]="Struct",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Duration=18]="Duration",n[n.LargeBinary=19]="LargeBinary",n[n.LargeUtf8=20]="LargeUtf8",n[n.Dictionary=-1]="Dictionary",n[n.Int8=-2]="Int8",n[n.Int16=-3]="Int16",n[n.Int32=-4]="Int32",n[n.Int64=-5]="Int64",n[n.Uint8=-6]="Uint8",n[n.Uint16=-7]="Uint16",n[n.Uint32=-8]="Uint32",n[n.Uint64=-9]="Uint64",n[n.Float16=-10]="Float16",n[n.Float32=-11]="Float32",n[n.Float64=-12]="Float64",n[n.DateDay=-13]="DateDay",n[n.DateMillisecond=-14]="DateMillisecond",n[n.TimestampSecond=-15]="TimestampSecond",n[n.TimestampMillisecond=-16]="TimestampMillisecond",n[n.TimestampMicrosecond=-17]="TimestampMicrosecond",n[n.TimestampNanosecond=-18]="TimestampNanosecond",n[n.TimeSecond=-19]="TimeSecond",n[n.TimeMillisecond=-20]="TimeMillisecond",n[n.TimeMicrosecond=-21]="TimeMicrosecond",n[n.TimeNanosecond=-22]="TimeNanosecond",n[n.DenseUnion=-23]="DenseUnion",n[n.SparseUnion=-24]="SparseUnion",n[n.IntervalDayTime=-25]="IntervalDayTime",n[n.IntervalYearMonth=-26]="IntervalYearMonth",n[n.DurationSecond=-27]="DurationSecond",n[n.DurationMillisecond=-28]="DurationMillisecond",n[n.DurationMicrosecond=-29]="DurationMicrosecond",n[n.DurationNanosecond=-30]="DurationNanosecond"})(M||(M={}));var gr;(function(n){n[n.OFFSET=0]="OFFSET",n[n.DATA=1]="DATA",n[n.VALIDITY=2]="VALIDITY",n[n.TYPE=3]="TYPE"})(gr||(gr={}));const $b=void 0;function Wo(n){if(n===null)return"null";if(n===$b)return"undefined";switch(typeof n){case"number":return`${n}`;case"bigint":return`${n}`;case"string":return`"${n}"`}return typeof n[Symbol.toPrimitive]=="function"?n[Symbol.toPrimitive]("string"):ArrayBuffer.isView(n)?n instanceof BigInt64Array||n instanceof BigUint64Array?`[${[...n].map(e=>Wo(e))}]`:`[${n}]`:ArrayBuffer.isView(n)?`[${n}]`:JSON.stringify(n,(e,t)=>typeof t=="bigint"?`${t}`:t)}function tt(n){if(typeof n=="bigint"&&(nNumber.MAX_SAFE_INTEGER))throw new TypeError(`${n} is not safe to convert to a number.`);return Number(n)}function Ry(n,e){return tt(n/e)+tt(n%e)/tt(e)}const Pb=Symbol.for("isArrowBigNum");function Ln(n,...e){return e.length===0?Object.setPrototypeOf(Ke(this.TypedArray,n),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(n,...e),this.constructor.prototype)}Ln.prototype[Pb]=!0;Ln.prototype.toJSON=function(){return`"${Go(this)}"`};Ln.prototype.valueOf=function(n){return Ly(this,n)};Ln.prototype.toString=function(){return Go(this)};Ln.prototype[Symbol.toPrimitive]=function(n="default"){switch(n){case"number":return Ly(this);case"string":return Go(this);case"default":return Wb(this)}return Go(this)};function Ni(...n){return Ln.apply(this,n)}function ji(...n){return Ln.apply(this,n)}function Ho(...n){return Ln.apply(this,n)}Object.setPrototypeOf(Ni.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(ji.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(Ho.prototype,Object.create(Uint32Array.prototype));Object.assign(Ni.prototype,Ln.prototype,{constructor:Ni,signed:!0,TypedArray:Int32Array,BigIntArray:BigInt64Array});Object.assign(ji.prototype,Ln.prototype,{constructor:ji,signed:!1,TypedArray:Uint32Array,BigIntArray:BigUint64Array});Object.assign(Ho.prototype,Ln.prototype,{constructor:Ho,signed:!0,TypedArray:Uint32Array,BigIntArray:BigUint64Array});const zb=BigInt(4294967296)*BigInt(4294967296),Vb=zb-BigInt(1);function Ly(n,e){const{buffer:t,byteOffset:i,byteLength:a,signed:c}=n,f=new BigUint64Array(t,i,a/8),h=c&&f.at(-1)&BigInt(1)<=0)return cd(n);e=e.slice();let i=1;for(let c=0;c(n.children=null,n.ArrayType=Array,n.OffsetArrayType=Int32Array,n[Symbol.toStringTag]="DataType"))(me.prototype);class ss extends me{constructor(){super(M.Null)}toString(){return"Null"}}$y=Symbol.toStringTag;ss[$y]=(n=>n[Symbol.toStringTag]="Null")(ss.prototype);class Cs extends me{constructor(e,t){super(M.Int),this.isSigned=e,this.bitWidth=t}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?BigInt64Array:BigUint64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}Py=Symbol.toStringTag;Cs[Py]=(n=>(n.isSigned=null,n.bitWidth=null,n[Symbol.toStringTag]="Int"))(Cs.prototype);class Yo extends Cs{constructor(){super(!0,32)}get ArrayType(){return Int32Array}}Object.defineProperty(Yo.prototype,"ArrayType",{value:Int32Array});class Tl extends me{constructor(e){super(M.Float),this.precision=e}get ArrayType(){switch(this.precision){case Dt.HALF:return Uint16Array;case Dt.SINGLE:return Float32Array;case Dt.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}}zy=Symbol.toStringTag;Tl[zy]=(n=>(n.precision=null,n[Symbol.toStringTag]="Float"))(Tl.prototype);class Al extends me{constructor(){super(M.Binary)}toString(){return"Binary"}}Vy=Symbol.toStringTag;Al[Vy]=(n=>(n.ArrayType=Uint8Array,n[Symbol.toStringTag]="Binary"))(Al.prototype);class Bl extends me{constructor(){super(M.LargeBinary)}toString(){return"LargeBinary"}}Wy=Symbol.toStringTag;Bl[Wy]=(n=>(n.ArrayType=Uint8Array,n.OffsetArrayType=BigInt64Array,n[Symbol.toStringTag]="LargeBinary"))(Bl.prototype);class El extends me{constructor(){super(M.Utf8)}toString(){return"Utf8"}}Hy=Symbol.toStringTag;El[Hy]=(n=>(n.ArrayType=Uint8Array,n[Symbol.toStringTag]="Utf8"))(El.prototype);class Rl extends me{constructor(){super(M.LargeUtf8)}toString(){return"LargeUtf8"}}Gy=Symbol.toStringTag;Rl[Gy]=(n=>(n.ArrayType=Uint8Array,n.OffsetArrayType=BigInt64Array,n[Symbol.toStringTag]="LargeUtf8"))(Rl.prototype);class Ll extends me{constructor(){super(M.Bool)}toString(){return"Bool"}}Yy=Symbol.toStringTag;Ll[Yy]=(n=>(n.ArrayType=Uint8Array,n[Symbol.toStringTag]="Bool"))(Ll.prototype);class Ul extends me{constructor(e,t,i=128){super(M.Decimal),this.scale=e,this.precision=t,this.bitWidth=i}toString(){return`Decimal[${this.precision}e${this.scale>0?"+":""}${this.scale}]`}}Qy=Symbol.toStringTag;Ul[Qy]=(n=>(n.scale=null,n.precision=null,n.ArrayType=Uint32Array,n[Symbol.toStringTag]="Decimal"))(Ul.prototype);class $l extends me{constructor(e){super(M.Date),this.unit=e}toString(){return`Date${(this.unit+1)*32}<${xn[this.unit]}>`}get ArrayType(){return this.unit===xn.DAY?Int32Array:BigInt64Array}}Ky=Symbol.toStringTag;$l[Ky]=(n=>(n.unit=null,n[Symbol.toStringTag]="Date"))($l.prototype);class Pl extends me{constructor(e,t){super(M.Time),this.unit=e,this.bitWidth=t}toString(){return`Time${this.bitWidth}<${_e[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return BigInt64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}}Jy=Symbol.toStringTag;Pl[Jy]=(n=>(n.unit=null,n.bitWidth=null,n[Symbol.toStringTag]="Time"))(Pl.prototype);class zl extends me{constructor(e,t){super(M.Timestamp),this.unit=e,this.timezone=t}toString(){return`Timestamp<${_e[this.unit]}${this.timezone?`, ${this.timezone}`:""}>`}}qy=Symbol.toStringTag;zl[qy]=(n=>(n.unit=null,n.timezone=null,n.ArrayType=BigInt64Array,n[Symbol.toStringTag]="Timestamp"))(zl.prototype);class Vl extends me{constructor(e){super(M.Interval),this.unit=e}toString(){return`Interval<${nr[this.unit]}>`}}Zy=Symbol.toStringTag;Vl[Zy]=(n=>(n.unit=null,n.ArrayType=Int32Array,n[Symbol.toStringTag]="Interval"))(Vl.prototype);class Wl extends me{constructor(e){super(M.Duration),this.unit=e}toString(){return`Duration<${_e[this.unit]}>`}}Xy=Symbol.toStringTag;Wl[Xy]=(n=>(n.unit=null,n.ArrayType=BigInt64Array,n[Symbol.toStringTag]="Duration"))(Wl.prototype);class Hl extends me{constructor(e){super(M.List),this.children=[e]}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}}eg=Symbol.toStringTag;Hl[eg]=(n=>(n.children=null,n[Symbol.toStringTag]="List"))(Hl.prototype);class At extends me{constructor(e){super(M.Struct),this.children=e}toString(){return`Struct<{${this.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}tg=Symbol.toStringTag;At[tg]=(n=>(n.children=null,n[Symbol.toStringTag]="Struct"))(At.prototype);class Gl extends me{constructor(e,t,i){super(M.Union),this.mode=e,this.children=i,this.typeIds=t=Int32Array.from(t),this.typeIdToChildIndex=t.reduce((a,c,f)=>(a[c]=f)&&a||a,Object.create(null))}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(e=>`${e.type}`).join(" | ")}>`}}ng=Symbol.toStringTag;Gl[ng]=(n=>(n.mode=null,n.typeIds=null,n.children=null,n.typeIdToChildIndex=null,n.ArrayType=Int8Array,n[Symbol.toStringTag]="Union"))(Gl.prototype);class Yl extends me{constructor(e){super(M.FixedSizeBinary),this.byteWidth=e}toString(){return`FixedSizeBinary[${this.byteWidth}]`}}rg=Symbol.toStringTag;Yl[rg]=(n=>(n.byteWidth=null,n.ArrayType=Uint8Array,n[Symbol.toStringTag]="FixedSizeBinary"))(Yl.prototype);class Ql extends me{constructor(e,t){super(M.FixedSizeList),this.listSize=e,this.children=[t]}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}sg=Symbol.toStringTag;Ql[sg]=(n=>(n.children=null,n.listSize=null,n[Symbol.toStringTag]="FixedSizeList"))(Ql.prototype);class Kl extends me{constructor(e,t=!1){var i,a,c;if(super(M.Map),this.children=[e],this.keysSorted=t,e&&(e.name="entries",!((i=e==null?void 0:e.type)===null||i===void 0)&&i.children)){const f=(a=e==null?void 0:e.type)===null||a===void 0?void 0:a.children[0];f&&(f.name="key");const h=(c=e==null?void 0:e.type)===null||c===void 0?void 0:c.children[1];h&&(h.name="value")}}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}ig=Symbol.toStringTag;Kl[ig]=(n=>(n.children=null,n.keysSorted=null,n[Symbol.toStringTag]="Map_"))(Kl.prototype);const Hb=(n=>()=>++n)(-1);class Oi extends me{constructor(e,t,i,a){super(M.Dictionary),this.indices=t,this.dictionary=e,this.isOrdered=a||!1,this.id=i==null?Hb():tt(i)}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}}og=Symbol.toStringTag;Oi[og]=(n=>(n.id=null,n.indices=null,n.isOrdered=null,n.dictionary=null,n[Symbol.toStringTag]="Dictionary"))(Oi.prototype);function vr(n){const e=n;switch(n.typeId){case M.Decimal:return n.bitWidth/32;case M.Interval:return 1+e.unit;case M.FixedSizeList:return e.listSize;case M.FixedSizeBinary:return e.byteWidth;default:return 1}}class Ue{visitMany(e,...t){return e.map((i,a)=>this.visit(i,...t.map(c=>c[a])))}visit(...e){return this.getVisitFn(e[0],!1).apply(this,e)}getVisitFn(e,t=!0){return Gb(this,e,t)}getVisitFnByTypeId(e,t=!0){return xi(this,e,t)}visitNull(e,...t){return null}visitBool(e,...t){return null}visitInt(e,...t){return null}visitFloat(e,...t){return null}visitUtf8(e,...t){return null}visitLargeUtf8(e,...t){return null}visitBinary(e,...t){return null}visitLargeBinary(e,...t){return null}visitFixedSizeBinary(e,...t){return null}visitDate(e,...t){return null}visitTimestamp(e,...t){return null}visitTime(e,...t){return null}visitDecimal(e,...t){return null}visitList(e,...t){return null}visitStruct(e,...t){return null}visitUnion(e,...t){return null}visitDictionary(e,...t){return null}visitInterval(e,...t){return null}visitDuration(e,...t){return null}visitFixedSizeList(e,...t){return null}visitMap(e,...t){return null}}function Gb(n,e,t=!0){return typeof e=="number"?xi(n,e,t):typeof e=="string"&&e in M?xi(n,M[e],t):e&&e instanceof me?xi(n,Nm(e),t):e!=null&&e.type&&e.type instanceof me?xi(n,Nm(e.type),t):xi(n,M.NONE,t)}function xi(n,e,t=!0){let i=null;switch(e){case M.Null:i=n.visitNull;break;case M.Bool:i=n.visitBool;break;case M.Int:i=n.visitInt;break;case M.Int8:i=n.visitInt8||n.visitInt;break;case M.Int16:i=n.visitInt16||n.visitInt;break;case M.Int32:i=n.visitInt32||n.visitInt;break;case M.Int64:i=n.visitInt64||n.visitInt;break;case M.Uint8:i=n.visitUint8||n.visitInt;break;case M.Uint16:i=n.visitUint16||n.visitInt;break;case M.Uint32:i=n.visitUint32||n.visitInt;break;case M.Uint64:i=n.visitUint64||n.visitInt;break;case M.Float:i=n.visitFloat;break;case M.Float16:i=n.visitFloat16||n.visitFloat;break;case M.Float32:i=n.visitFloat32||n.visitFloat;break;case M.Float64:i=n.visitFloat64||n.visitFloat;break;case M.Utf8:i=n.visitUtf8;break;case M.LargeUtf8:i=n.visitLargeUtf8;break;case M.Binary:i=n.visitBinary;break;case M.LargeBinary:i=n.visitLargeBinary;break;case M.FixedSizeBinary:i=n.visitFixedSizeBinary;break;case M.Date:i=n.visitDate;break;case M.DateDay:i=n.visitDateDay||n.visitDate;break;case M.DateMillisecond:i=n.visitDateMillisecond||n.visitDate;break;case M.Timestamp:i=n.visitTimestamp;break;case M.TimestampSecond:i=n.visitTimestampSecond||n.visitTimestamp;break;case M.TimestampMillisecond:i=n.visitTimestampMillisecond||n.visitTimestamp;break;case M.TimestampMicrosecond:i=n.visitTimestampMicrosecond||n.visitTimestamp;break;case M.TimestampNanosecond:i=n.visitTimestampNanosecond||n.visitTimestamp;break;case M.Time:i=n.visitTime;break;case M.TimeSecond:i=n.visitTimeSecond||n.visitTime;break;case M.TimeMillisecond:i=n.visitTimeMillisecond||n.visitTime;break;case M.TimeMicrosecond:i=n.visitTimeMicrosecond||n.visitTime;break;case M.TimeNanosecond:i=n.visitTimeNanosecond||n.visitTime;break;case M.Decimal:i=n.visitDecimal;break;case M.List:i=n.visitList;break;case M.Struct:i=n.visitStruct;break;case M.Union:i=n.visitUnion;break;case M.DenseUnion:i=n.visitDenseUnion||n.visitUnion;break;case M.SparseUnion:i=n.visitSparseUnion||n.visitUnion;break;case M.Dictionary:i=n.visitDictionary;break;case M.Interval:i=n.visitInterval;break;case M.IntervalDayTime:i=n.visitIntervalDayTime||n.visitInterval;break;case M.IntervalYearMonth:i=n.visitIntervalYearMonth||n.visitInterval;break;case M.Duration:i=n.visitDuration;break;case M.DurationSecond:i=n.visitDurationSecond||n.visitDuration;break;case M.DurationMillisecond:i=n.visitDurationMillisecond||n.visitDuration;break;case M.DurationMicrosecond:i=n.visitDurationMicrosecond||n.visitDuration;break;case M.DurationNanosecond:i=n.visitDurationNanosecond||n.visitDuration;break;case M.FixedSizeList:i=n.visitFixedSizeList;break;case M.Map:i=n.visitMap;break}if(typeof i=="function")return i;if(!t)return()=>null;throw new Error(`Unrecognized type '${M[e]}'`)}function Nm(n){switch(n.typeId){case M.Null:return M.Null;case M.Int:{const{bitWidth:e,isSigned:t}=n;switch(e){case 8:return t?M.Int8:M.Uint8;case 16:return t?M.Int16:M.Uint16;case 32:return t?M.Int32:M.Uint32;case 64:return t?M.Int64:M.Uint64}return M.Int}case M.Float:switch(n.precision){case Dt.HALF:return M.Float16;case Dt.SINGLE:return M.Float32;case Dt.DOUBLE:return M.Float64}return M.Float;case M.Binary:return M.Binary;case M.LargeBinary:return M.LargeBinary;case M.Utf8:return M.Utf8;case M.LargeUtf8:return M.LargeUtf8;case M.Bool:return M.Bool;case M.Decimal:return M.Decimal;case M.Time:switch(n.unit){case _e.SECOND:return M.TimeSecond;case _e.MILLISECOND:return M.TimeMillisecond;case _e.MICROSECOND:return M.TimeMicrosecond;case _e.NANOSECOND:return M.TimeNanosecond}return M.Time;case M.Timestamp:switch(n.unit){case _e.SECOND:return M.TimestampSecond;case _e.MILLISECOND:return M.TimestampMillisecond;case _e.MICROSECOND:return M.TimestampMicrosecond;case _e.NANOSECOND:return M.TimestampNanosecond}return M.Timestamp;case M.Date:switch(n.unit){case xn.DAY:return M.DateDay;case xn.MILLISECOND:return M.DateMillisecond}return M.Date;case M.Interval:switch(n.unit){case nr.DAY_TIME:return M.IntervalDayTime;case nr.YEAR_MONTH:return M.IntervalYearMonth}return M.Interval;case M.Duration:switch(n.unit){case _e.SECOND:return M.DurationSecond;case _e.MILLISECOND:return M.DurationMillisecond;case _e.MICROSECOND:return M.DurationMicrosecond;case _e.NANOSECOND:return M.DurationNanosecond}return M.Duration;case M.Map:return M.Map;case M.List:return M.List;case M.Struct:return M.Struct;case M.Union:switch(n.mode){case Yt.Dense:return M.DenseUnion;case Yt.Sparse:return M.SparseUnion}return M.Union;case M.FixedSizeBinary:return M.FixedSizeBinary;case M.FixedSizeList:return M.FixedSizeList;case M.Dictionary:return M.Dictionary}throw new Error(`Unrecognized type '${M[n.typeId]}'`)}Ue.prototype.visitInt8=null;Ue.prototype.visitInt16=null;Ue.prototype.visitInt32=null;Ue.prototype.visitInt64=null;Ue.prototype.visitUint8=null;Ue.prototype.visitUint16=null;Ue.prototype.visitUint32=null;Ue.prototype.visitUint64=null;Ue.prototype.visitFloat16=null;Ue.prototype.visitFloat32=null;Ue.prototype.visitFloat64=null;Ue.prototype.visitDateDay=null;Ue.prototype.visitDateMillisecond=null;Ue.prototype.visitTimestampSecond=null;Ue.prototype.visitTimestampMillisecond=null;Ue.prototype.visitTimestampMicrosecond=null;Ue.prototype.visitTimestampNanosecond=null;Ue.prototype.visitTimeSecond=null;Ue.prototype.visitTimeMillisecond=null;Ue.prototype.visitTimeMicrosecond=null;Ue.prototype.visitTimeNanosecond=null;Ue.prototype.visitDenseUnion=null;Ue.prototype.visitSparseUnion=null;Ue.prototype.visitIntervalDayTime=null;Ue.prototype.visitIntervalYearMonth=null;Ue.prototype.visitDuration=null;Ue.prototype.visitDurationSecond=null;Ue.prototype.visitDurationMillisecond=null;Ue.prototype.visitDurationMicrosecond=null;Ue.prototype.visitDurationNanosecond=null;const ag=new Float64Array(1),di=new Uint32Array(ag.buffer);function lg(n){const e=(n&31744)>>10,t=(n&1023)/1024,i=Math.pow(-1,(n&32768)>>15);switch(e){case 31:return i*(t?Number.NaN:1/0);case 0:return i*(t?6103515625e-14*t:0)}return i*Math.pow(2,e-15)*(1+t)}function Yb(n){if(n!==n)return 32256;ag[0]=n;const e=(di[1]&2147483648)>>16&65535;let t=di[1]&2146435072,i=0;return t>=1089470464?di[0]>0?t=31744:(t=(t&2080374784)>>16,i=(di[1]&1048575)>>10):t<=1056964608?(i=1048576+(di[1]&1048575),i=1048576+(i<<(t>>20)-998)>>21,t=0):(t=t-1056964608>>10,i=(di[1]&1048575)+512>>10),e|t|i&65535}class Ne extends Ue{}function Ie(n){return(e,t,i)=>{if(e.setValid(t,i!=null))return n(e,t,i)}}const Qb=(n,e,t)=>{n[e]=Math.floor(t/864e5)},cg=(n,e,t,i)=>{if(t+1{const a=n+t;i?e[a>>3]|=1<>3]&=~(1<{n[e]=t},Yd=({values:n},e,t)=>{n[e]=t},ug=({values:n},e,t)=>{n[e]=Yb(t)},Jb=(n,e,t)=>{switch(n.type.precision){case Dt.HALF:return ug(n,e,t);case Dt.SINGLE:case Dt.DOUBLE:return Yd(n,e,t)}},dg=({values:n},e,t)=>{Qb(n,e,t.valueOf())},fg=({values:n},e,t)=>{n[e]=BigInt(t)},qb=({stride:n,values:e},t,i)=>{e.set(i.subarray(0,n),n*t)},hg=({values:n,valueOffsets:e},t,i)=>cg(n,e,t,i),pg=({values:n,valueOffsets:e},t,i)=>cg(n,e,t,zd(i)),Zb=(n,e,t)=>{n.type.unit===xn.DAY?dg(n,e,t):fg(n,e,t)},mg=({values:n},e,t)=>{n[e]=BigInt(t/1e3)},yg=({values:n},e,t)=>{n[e]=BigInt(t)},gg=({values:n},e,t)=>{n[e]=BigInt(t*1e3)},vg=({values:n},e,t)=>{n[e]=BigInt(t*1e6)},Xb=(n,e,t)=>{switch(n.type.unit){case _e.SECOND:return mg(n,e,t);case _e.MILLISECOND:return yg(n,e,t);case _e.MICROSECOND:return gg(n,e,t);case _e.NANOSECOND:return vg(n,e,t)}},xg=({values:n},e,t)=>{n[e]=t},bg=({values:n},e,t)=>{n[e]=t},wg=({values:n},e,t)=>{n[e]=t},Sg=({values:n},e,t)=>{n[e]=t},ew=(n,e,t)=>{switch(n.type.unit){case _e.SECOND:return xg(n,e,t);case _e.MILLISECOND:return bg(n,e,t);case _e.MICROSECOND:return wg(n,e,t);case _e.NANOSECOND:return Sg(n,e,t)}},tw=({values:n,stride:e},t,i)=>{n.set(i.subarray(0,e),e*t)},nw=(n,e,t)=>{const i=n.children[0],a=n.valueOffsets,c=bn.getVisitFn(i);if(Array.isArray(t))for(let f=-1,h=a[e],m=a[e+1];h{const i=n.children[0],{valueOffsets:a}=n,c=bn.getVisitFn(i);let{[e]:f,[e+1]:h}=a;const m=t instanceof Map?t.entries():Object.entries(t);for(const g of m)if(c(i,f,g),++f>=h)break},sw=(n,e)=>(t,i,a,c)=>i&&t(i,n,e[c]),iw=(n,e)=>(t,i,a,c)=>i&&t(i,n,e.get(c)),ow=(n,e)=>(t,i,a,c)=>i&&t(i,n,e.get(a.name)),aw=(n,e)=>(t,i,a,c)=>i&&t(i,n,e[a.name]),lw=(n,e,t)=>{const i=n.type.children.map(c=>bn.getVisitFn(c.type)),a=t instanceof Map?ow(e,t):t instanceof Je?iw(e,t):Array.isArray(t)?sw(e,t):aw(e,t);n.type.children.forEach((c,f)=>a(i[f],n.children[f],c,f))},cw=(n,e,t)=>{n.type.mode===Yt.Dense?_g(n,e,t):Ng(n,e,t)},_g=(n,e,t)=>{const i=n.type.typeIdToChildIndex[n.typeIds[e]],a=n.children[i];bn.visit(a,n.valueOffsets[e],t)},Ng=(n,e,t)=>{const i=n.type.typeIdToChildIndex[n.typeIds[e]],a=n.children[i];bn.visit(a,e,t)},uw=(n,e,t)=>{var i;(i=n.dictionary)===null||i===void 0||i.set(n.values[e],t)},dw=(n,e,t)=>{n.type.unit===nr.DAY_TIME?jg(n,e,t):kg(n,e,t)},jg=({values:n},e,t)=>{n.set(t.subarray(0,2),2*e)},kg=({values:n},e,t)=>{n[e]=t[0]*12+t[1]%12},Ig=({values:n},e,t)=>{n[e]=t},Mg=({values:n},e,t)=>{n[e]=t},Dg=({values:n},e,t)=>{n[e]=t},Cg=({values:n},e,t)=>{n[e]=t},fw=(n,e,t)=>{switch(n.type.unit){case _e.SECOND:return Ig(n,e,t);case _e.MILLISECOND:return Mg(n,e,t);case _e.MICROSECOND:return Dg(n,e,t);case _e.NANOSECOND:return Cg(n,e,t)}},hw=(n,e,t)=>{const{stride:i}=n,a=n.children[0],c=bn.getVisitFn(a);if(Array.isArray(t))for(let f=-1,h=e*i;++f`${Wo(e)}: ${Wo(t)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}[Symbol.iterator](){return new pw(this[On],this[ki])}}class pw{constructor(e,t){this.childIndex=0,this.children=e.children,this.rowIndex=t,this.childFields=e.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){const e=this.childIndex;return et.name)}has(e,t){return e[On].type.children.findIndex(i=>i.name===t)!==-1}getOwnPropertyDescriptor(e,t){if(e[On].type.children.findIndex(i=>i.name===t)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,t){if(Reflect.has(e,t))return e[t];const i=e[On].type.children.findIndex(a=>a.name===t);if(i!==-1){const a=Qt.visit(e[On].children[i],e[ki]);return Reflect.set(e,t,a),a}}set(e,t,i){const a=e[On].type.children.findIndex(c=>c.name===t);return a!==-1?(bn.visit(e[On].children[a],e[ki],i),Reflect.set(e,t,i)):Reflect.has(e,t)||typeof t=="symbol"?Reflect.set(e,t,i):!1}}class xe extends Ue{}function je(n){return(e,t)=>e.getValid(t)?n(e,t):null}const yw=(n,e)=>864e5*n[e],gw=(n,e)=>null,Fg=(n,e,t)=>{if(t+1>=e.length)return null;const i=tt(e[t]),a=tt(e[t+1]);return n.subarray(i,a)},vw=({offset:n,values:e},t)=>{const i=n+t;return(e[i>>3]&1<yw(n,e),Tg=({values:n},e)=>tt(n[e]),as=({stride:n,values:e},t)=>e[n*t],xw=({stride:n,values:e},t)=>lg(e[n*t]),Ag=({values:n},e)=>n[e],bw=({stride:n,values:e},t)=>e.subarray(n*t,n*(t+1)),Bg=({values:n,valueOffsets:e},t)=>Fg(n,e,t),Eg=({values:n,valueOffsets:e},t)=>{const i=Fg(n,e,t);return i!==null?kd(i):null},ww=({values:n},e)=>n[e],Sw=({type:n,values:e},t)=>n.precision!==Dt.HALF?e[t]:lg(e[t]),_w=(n,e)=>n.type.unit===xn.DAY?Og(n,e):Tg(n,e),Rg=({values:n},e)=>1e3*tt(n[e]),Lg=({values:n},e)=>tt(n[e]),Ug=({values:n},e)=>Ry(n[e],BigInt(1e3)),$g=({values:n},e)=>Ry(n[e],BigInt(1e6)),Nw=(n,e)=>{switch(n.type.unit){case _e.SECOND:return Rg(n,e);case _e.MILLISECOND:return Lg(n,e);case _e.MICROSECOND:return Ug(n,e);case _e.NANOSECOND:return $g(n,e)}},Pg=({values:n},e)=>n[e],zg=({values:n},e)=>n[e],Vg=({values:n},e)=>n[e],Wg=({values:n},e)=>n[e],jw=(n,e)=>{switch(n.type.unit){case _e.SECOND:return Pg(n,e);case _e.MILLISECOND:return zg(n,e);case _e.MICROSECOND:return Vg(n,e);case _e.NANOSECOND:return Wg(n,e)}},kw=({values:n,stride:e},t)=>Gd.decimal(n.subarray(e*t,e*(t+1))),Iw=(n,e)=>{const{valueOffsets:t,stride:i,children:a}=n,{[e*i]:c,[e*i+1]:f}=t,m=a[0].slice(c,f-c);return new Je([m])},Mw=(n,e)=>{const{valueOffsets:t,children:i}=n,{[e]:a,[e+1]:c}=t,f=i[0];return new Kd(f.slice(a,c-a))},Dw=(n,e)=>new Qd(n,e),Cw=(n,e)=>n.type.mode===Yt.Dense?Hg(n,e):Gg(n,e),Hg=(n,e)=>{const t=n.type.typeIdToChildIndex[n.typeIds[e]],i=n.children[t];return Qt.visit(i,n.valueOffsets[e])},Gg=(n,e)=>{const t=n.type.typeIdToChildIndex[n.typeIds[e]],i=n.children[t];return Qt.visit(i,e)},Fw=(n,e)=>{var t;return(t=n.dictionary)===null||t===void 0?void 0:t.get(n.values[e])},Ow=(n,e)=>n.type.unit===nr.DAY_TIME?Yg(n,e):Qg(n,e),Yg=({values:n},e)=>n.subarray(2*e,2*(e+1)),Qg=({values:n},e)=>{const t=n[e],i=new Int32Array(2);return i[0]=Math.trunc(t/12),i[1]=Math.trunc(t%12),i},Kg=({values:n},e)=>n[e],Jg=({values:n},e)=>n[e],qg=({values:n},e)=>n[e],Zg=({values:n},e)=>n[e],Tw=(n,e)=>{switch(n.type.unit){case _e.SECOND:return Kg(n,e);case _e.MILLISECOND:return Jg(n,e);case _e.MICROSECOND:return qg(n,e);case _e.NANOSECOND:return Zg(n,e)}},Aw=(n,e)=>{const{stride:t,children:i}=n,c=i[0].slice(e*t,t);return new Je([c])};xe.prototype.visitNull=je(gw);xe.prototype.visitBool=je(vw);xe.prototype.visitInt=je(ww);xe.prototype.visitInt8=je(as);xe.prototype.visitInt16=je(as);xe.prototype.visitInt32=je(as);xe.prototype.visitInt64=je(Ag);xe.prototype.visitUint8=je(as);xe.prototype.visitUint16=je(as);xe.prototype.visitUint32=je(as);xe.prototype.visitUint64=je(Ag);xe.prototype.visitFloat=je(Sw);xe.prototype.visitFloat16=je(xw);xe.prototype.visitFloat32=je(as);xe.prototype.visitFloat64=je(as);xe.prototype.visitUtf8=je(Eg);xe.prototype.visitLargeUtf8=je(Eg);xe.prototype.visitBinary=je(Bg);xe.prototype.visitLargeBinary=je(Bg);xe.prototype.visitFixedSizeBinary=je(bw);xe.prototype.visitDate=je(_w);xe.prototype.visitDateDay=je(Og);xe.prototype.visitDateMillisecond=je(Tg);xe.prototype.visitTimestamp=je(Nw);xe.prototype.visitTimestampSecond=je(Rg);xe.prototype.visitTimestampMillisecond=je(Lg);xe.prototype.visitTimestampMicrosecond=je(Ug);xe.prototype.visitTimestampNanosecond=je($g);xe.prototype.visitTime=je(jw);xe.prototype.visitTimeSecond=je(Pg);xe.prototype.visitTimeMillisecond=je(zg);xe.prototype.visitTimeMicrosecond=je(Vg);xe.prototype.visitTimeNanosecond=je(Wg);xe.prototype.visitDecimal=je(kw);xe.prototype.visitList=je(Iw);xe.prototype.visitStruct=je(Dw);xe.prototype.visitUnion=je(Cw);xe.prototype.visitDenseUnion=je(Hg);xe.prototype.visitSparseUnion=je(Gg);xe.prototype.visitDictionary=je(Fw);xe.prototype.visitInterval=je(Ow);xe.prototype.visitIntervalDayTime=je(Yg);xe.prototype.visitIntervalYearMonth=je(Qg);xe.prototype.visitDuration=je(Tw);xe.prototype.visitDurationSecond=je(Kg);xe.prototype.visitDurationMillisecond=je(Jg);xe.prototype.visitDurationMicrosecond=je(qg);xe.prototype.visitDurationNanosecond=je(Zg);xe.prototype.visitFixedSizeList=je(Aw);xe.prototype.visitMap=je(Mw);const Qt=new xe,bi=Symbol.for("keys"),Ii=Symbol.for("vals"),wi=Symbol.for("kKeysAsStrings"),Od=Symbol.for("_kKeysAsStrings");class Kd{constructor(e){return this[bi]=new Je([e.children[0]]).memoize(),this[Ii]=e.children[1],new Proxy(this,new Ew)}get[wi](){return this[Od]||(this[Od]=Array.from(this[bi].toArray(),String))}[Symbol.iterator](){return new Bw(this[bi],this[Ii])}get size(){return this[bi].length}toArray(){return Object.values(this.toJSON())}toJSON(){const e=this[bi],t=this[Ii],i={};for(let a=-1,c=e.length;++a`${Wo(e)}: ${Wo(t)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}}class Bw{constructor(e,t){this.keys=e,this.vals=t,this.keyIndex=0,this.numKeys=e.length}[Symbol.iterator](){return this}next(){const e=this.keyIndex;return e===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(e),Qt.visit(this.vals,e)]})}}class Ew{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(e){return e[wi]}has(e,t){return e[wi].includes(t)}getOwnPropertyDescriptor(e,t){if(e[wi].indexOf(t)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,t){if(Reflect.has(e,t))return e[t];const i=e[wi].indexOf(t);if(i!==-1){const a=Qt.visit(Reflect.get(e,Ii),i);return Reflect.set(e,t,a),a}}set(e,t,i){const a=e[wi].indexOf(t);return a!==-1?(bn.visit(Reflect.get(e,Ii),a,i),Reflect.set(e,t,i)):Reflect.has(e,t)?Reflect.set(e,t,i):!1}}Object.defineProperties(Kd.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[bi]:{writable:!0,enumerable:!1,configurable:!1,value:null},[Ii]:{writable:!0,enumerable:!1,configurable:!1,value:null},[Od]:{writable:!0,enumerable:!1,configurable:!1,value:null}});let jm;function Xg(n,e,t,i){const{length:a=0}=n;let c=typeof e!="number"?0:e,f=typeof t!="number"?a:t;return c<0&&(c=(c%a+a)%a),f<0&&(f=(f%a+a)%a),fa&&(f=a),i?i(n,c,f):[c,f]}const Jd=(n,e)=>n<0?e+n:n,km=n=>n!==n;function Ri(n){if(typeof n!=="object"||n===null)return km(n)?km:t=>t===n;if(n instanceof Date){const t=n.valueOf();return i=>i instanceof Date?i.valueOf()===t:!1}return ArrayBuffer.isView(n)?t=>t?Ab(n,t):!1:n instanceof Map?Lw(n):Array.isArray(n)?Rw(n):n instanceof Je?Uw(n):$w(n,!0)}function Rw(n){const e=[];for(let t=-1,i=n.length;++t!1;const i=[];for(let a=-1,c=t.length;++a{if(!t||typeof t!="object")return!1;switch(t.constructor){case Array:return Pw(n,t);case Map:return Im(n,t,t.keys());case Kd:case Qd:case Object:case void 0:return Im(n,t,e||Object.keys(t))}return t instanceof Je?zw(n,t):!1}}function Pw(n,e){const t=n.length;if(e.length!==t)return!1;for(let i=-1;++i>i}function Mm(n,e,t){const i=t.byteLength+7&-8;if(n>0||t.byteLength>3):Td(new qd(t,n,e,null,ev)).subarray(0,i)),a}return t}function Td(n){const e=[];let t=0,i=0,a=0;for(const f of n)f&&(a|=1<0)&&(e[t++]=a);const c=new Uint8Array(e.length+7&-8);return c.set(e),c}class qd{constructor(e,t,i,a,c){this.bytes=e,this.length=i,this.context=a,this.get=c,this.bit=t%8,this.byteIndex=t>>3,this.byte=e[this.byteIndex++],this.index=0}next(){return this.index>3<<3,a=e+(e%8===0?0:8-e%8);return Ad(n,e,a)+Ad(n,i,t)+Ww(n,a>>3,i-a>>3)}function Ww(n,e,t){let i=0,a=Math.trunc(e);const c=new DataView(n.buffer,n.byteOffset,n.byteLength),f=t===void 0?n.byteLength:a+t;for(;f-a>=4;)i+=ud(c.getUint32(a)),a+=4;for(;f-a>=2;)i+=ud(c.getUint16(a)),a+=2;for(;f-a>=1;)i+=ud(c.getUint8(a)),a+=1;return i}function ud(n){let e=Math.trunc(n);return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24}const Hw=-1;class Ye{get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get nullable(){if(this._nullCount!==0){const{type:e}=this;return me.isSparseUnion(e)?this.children.some(t=>t.nullable):me.isDenseUnion(e)?this.children.some(t=>t.nullable):this.nullBitmap&&this.nullBitmap.byteLength>0}return!0}get byteLength(){let e=0;const{valueOffsets:t,values:i,nullBitmap:a,typeIds:c}=this;return t&&(e+=t.byteLength),i&&(e+=i.byteLength),a&&(e+=a.byteLength),c&&(e+=c.byteLength),this.children.reduce((f,h)=>f+h.byteLength,e)}get nullCount(){if(me.isUnion(this.type))return this.children.reduce((i,a)=>i+a.nullCount,0);let e=this._nullCount,t;return e<=Hw&&(t=this.nullBitmap)&&(this._nullCount=e=t.length===0?0:this.length-Ad(t,this.offset,this.offset+this.length)),e}constructor(e,t,i,a,c,f=[],h){this.type=e,this.children=f,this.dictionary=h,this.offset=Math.floor(Math.max(t||0,0)),this.length=Math.floor(Math.max(i||0,0)),this._nullCount=Math.floor(Math.max(a||0,-1));let m;c instanceof Ye?(this.stride=c.stride,this.values=c.values,this.typeIds=c.typeIds,this.nullBitmap=c.nullBitmap,this.valueOffsets=c.valueOffsets):(this.stride=vr(e),c&&((m=c[0])&&(this.valueOffsets=m),(m=c[1])&&(this.values=m),(m=c[2])&&(this.nullBitmap=m),(m=c[3])&&(this.typeIds=m)))}getValid(e){const{type:t}=this;if(me.isUnion(t)){const i=t,a=this.children[i.typeIdToChildIndex[this.typeIds[e]]],c=i.mode===Yt.Dense?this.valueOffsets[e]:e;return a.getValid(c)}if(this.nullable&&this.nullCount>0){const i=this.offset+e;return(this.nullBitmap[i>>3]&1<>3;(!c||c.byteLength<=v)&&(c=new Uint8Array((f+h+63&-64)>>3).fill(255),this.nullCount>0?(c.set(Mm(f,h,this.nullBitmap),0),Object.assign(this,{nullBitmap:c})):Object.assign(this,{nullBitmap:c,_nullCount:0}));const x=c[v];i=(x&g)!==0,c[v]=t?x|g:x&~g}return i!==!!t&&(this._nullCount=this.nullCount+(t?-1:1)),t}clone(e=this.type,t=this.offset,i=this.length,a=this._nullCount,c=this,f=this.children){return new Ye(e,t,i,a,c,f,this.dictionary)}slice(e,t){const{stride:i,typeId:a,children:c}=this,f=+(this._nullCount===0)-1,h=a===16?i:1,m=this._sliceBuffers(e,t,i,a);return this.clone(this.type,this.offset+e,t,f,m,c.length===0||this.valueOffsets?c:this._sliceChildren(c,h*e,h*t))}_changeLengthAndBackfillNullBitmap(e){if(this.typeId===M.Null)return this.clone(this.type,0,e,0);const{length:t,nullCount:i}=this,a=new Uint8Array((e+63&-64)>>3).fill(255,0,t>>3);a[t>>3]=(1<0&&a.set(Mm(this.offset,t,this.nullBitmap),0);const c=this.buffers;return c[gr.VALIDITY]=a,this.clone(this.type,0,e,i+(e-t),c)}_sliceBuffers(e,t,i,a){let c;const{buffers:f}=this;return(c=f[gr.TYPE])&&(f[gr.TYPE]=c.subarray(e,e+t)),(c=f[gr.OFFSET])&&(f[gr.OFFSET]=c.subarray(e,e+t+1))||(c=f[gr.DATA])&&(f[gr.DATA]=a===6?c:c.subarray(i*e,i*(e+t))),f}_sliceChildren(e,t,i){return e.map(a=>a.slice(t,i))}}Ye.prototype.children=Object.freeze([]);class zo extends Ue{visit(e){return this.getVisitFn(e.type).call(this,e)}visitNull(e){const{["type"]:t,["offset"]:i=0,["length"]:a=0}=e;return new Ye(t,i,a,a)}visitBool(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length>>3,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitInt(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitFloat(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitUtf8(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.data),c=$e(e.nullBitmap),f=Fo(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,c])}visitLargeUtf8(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.data),c=$e(e.nullBitmap),f=pm(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,c])}visitBinary(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.data),c=$e(e.nullBitmap),f=Fo(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,c])}visitLargeBinary(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.data),c=$e(e.nullBitmap),f=pm(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,c])}visitFixedSizeBinary(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitDate(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitTimestamp(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitTime(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitDecimal(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitList(e){const{["type"]:t,["offset"]:i=0,["child"]:a}=e,c=$e(e.nullBitmap),f=Fo(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,void 0,c],[a])}visitStruct(e){const{["type"]:t,["offset"]:i=0,["children"]:a=[]}=e,c=$e(e.nullBitmap),{length:f=a.reduce((m,{length:g})=>Math.max(m,g),0),nullCount:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,void 0,c],a)}visitUnion(e){const{["type"]:t,["offset"]:i=0,["children"]:a=[]}=e,c=Ke(t.ArrayType,e.typeIds),{["length"]:f=c.length,["nullCount"]:h=-1}=e;if(me.isSparseUnion(t))return new Ye(t,i,f,h,[void 0,void 0,void 0,c],a);const m=Fo(e.valueOffsets);return new Ye(t,i,f,h,[m,void 0,void 0,c],a)}visitDictionary(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),c=Ke(t.indices.ArrayType,e.data),{["dictionary"]:f=new Je([new zo().visit({type:t.dictionary})])}=e,{["length"]:h=c.length,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[void 0,c,a],[],f)}visitInterval(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitDuration(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitFixedSizeList(e){const{["type"]:t,["offset"]:i=0,["child"]:a=new zo().visit({type:t.valueType})}=e,c=$e(e.nullBitmap),{["length"]:f=a.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,void 0,c],[a])}visitMap(e){const{["type"]:t,["offset"]:i=0,["child"]:a=new zo().visit({type:t.childType})}=e,c=$e(e.nullBitmap),f=Fo(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,void 0,c],[a])}}const Gw=new zo;function Re(n){return Gw.visit(n)}class Dm{constructor(e=0,t){this.numChunks=e,this.getChunkIterator=t,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndexe.nullable)}function tv(n){return n.reduce((e,t)=>e+t.nullCount,0)}function nv(n){return n.reduce((e,t,i)=>(e[i+1]=e[i]+t.length,e),new Uint32Array(n.length+1))}function rv(n,e,t,i){const a=[];for(let c=-1,f=n.length;++c=i)break;if(t>=m+g)continue;if(m>=t&&m+g<=i){a.push(h);continue}const v=Math.max(0,t-m),x=Math.min(i-m,g);a.push(h.slice(v,x-v))}return a.length===0&&a.push(n[0].slice(0,0)),a}function Zd(n,e,t,i){let a=0,c=0,f=e.length-1;do{if(a>=f-1)return t0?0:-1}function Kw(n,e){const{nullBitmap:t}=n;if(!t||n.nullCount<=0)return-1;let i=0;for(const a of new qd(t,n.offset+(e||0),n.length,t,ev)){if(!a)return i;++i}return-1}function De(n,e,t){if(e===void 0)return-1;if(e===null)switch(n.typeId){case M.Union:break;case M.Dictionary:break;default:return Kw(n,t)}const i=Qt.getVisitFn(n),a=Ri(e);for(let c=(t||0)-1,f=n.length;++c{const a=n.data[i];return a.values.subarray(0,a.length)[Symbol.iterator]()});let t=0;return new Dm(n.data.length,i=>{const c=n.data[i].length,f=n.slice(t,t+c);return t+=c,new Jw(f)})}class Jw{constructor(e){this.vector=e,this.index=0}next(){return this.indexh.data):e;if(c.length===0||c.some(h=>!(h instanceof Ye)))throw new TypeError("Vector constructor expects an Array of Data instances.");const f=(t=c[0])===null||t===void 0?void 0:t.type;switch(c.length){case 0:this._offsets=[0];break;case 1:{const{get:h,set:m,indexOf:g}=lv[f.typeId],v=c[0];this.isValid=x=>Xd(v,x),this.get=x=>h(v,x),this.set=(x,b)=>m(v,x,b),this.indexOf=x=>g(v,x),this._offsets=[0,v.length];break}default:Object.setPrototypeOf(this,cv[f.typeId]),this._offsets=nv(c);break}this.data=c,this.type=f,this.stride=vr(f),this.numChildren=(a=(i=f.children)===null||i===void 0?void 0:i.length)!==null&&a!==void 0?a:0,this.length=this._offsets.at(-1)}get byteLength(){return this.data.reduce((e,t)=>e+t.byteLength,0)}get nullable(){return Yw(this.data)}get nullCount(){return tv(this.data)}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${M[this.type.typeId]}Vector`}isValid(e){return!1}get(e){return null}at(e){return this.get(Jd(e,this.length))}set(e,t){}indexOf(e,t){return-1}includes(e,t){return this.indexOf(e,t)>-1}[Symbol.iterator](){return ef.visit(this)}concat(...e){return new Je(this.data.concat(e.flatMap(t=>t.data).flat(Number.POSITIVE_INFINITY)))}slice(e,t){return new Je(Xg(this,e,t,({data:i,_offsets:a},c,f)=>rv(i,a,c,f)))}toJSON(){return[...this]}toArray(){const{type:e,data:t,length:i,stride:a,ArrayType:c}=this;switch(e.typeId){case M.Int:case M.Float:case M.Decimal:case M.Time:case M.Timestamp:switch(t.length){case 0:return new c;case 1:return t[0].values.subarray(0,i*a);default:return t.reduce((f,{values:h,length:m})=>(f.array.set(h.subarray(0,m*a),f.offset),f.offset+=m*a,f),{array:new c(i*a),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(",")}]`}getChild(e){var t;return this.getChildAt((t=this.type.children)===null||t===void 0?void 0:t.findIndex(i=>i.name===e))}getChildAt(e){return e>-1&&et[e])):null}get isMemoized(){return me.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(me.isDictionary(this.type)){const e=new Zl(this.data[0].dictionary),t=this.data.map(i=>{const a=i.clone();return a.dictionary=e,a});return new Je(t)}return new Zl(this)}unmemoize(){if(me.isDictionary(this.type)&&this.isMemoized){const e=this.data[0].dictionary.unmemoize(),t=this.data.map(i=>{const a=i.clone();return a.dictionary=e,a});return new Je(t)}return this}}av=Symbol.toStringTag;Je[av]=(n=>{n.type=me.prototype,n.data=[],n.length=0,n.stride=1,n.numChildren=0,n._offsets=new Uint32Array([0]),n[Symbol.isConcatSpreadable]=!0;const e=Object.keys(M).map(t=>M[t]).filter(t=>typeof t=="number"&&t!==M.NONE);for(const t of e){const i=Qt.getVisitFnByTypeId(t),a=bn.getVisitFnByTypeId(t),c=ql.getVisitFnByTypeId(t);lv[t]={get:i,set:a,indexOf:c},cv[t]=Object.create(n,{isValid:{value:Jl(Xd)},get:{value:Jl(Qt.getVisitFnByTypeId(t))},set:{value:sv(bn.getVisitFnByTypeId(t))},indexOf:{value:iv(ql.getVisitFnByTypeId(t))}})}return"Vector"})(Je.prototype);class Zl extends Je{constructor(e){super(e.data);const t=this.get,i=this.set,a=this.slice,c=new Array(this.length);Object.defineProperty(this,"get",{value(f){const h=c[f];if(h!==void 0)return h;const m=t.call(this,f);return c[f]=m,m}}),Object.defineProperty(this,"set",{value(f,h){i.call(this,f,h),c[f]=h}}),Object.defineProperty(this,"slice",{value:(f,h)=>new Zl(a.call(this,f,h))}),Object.defineProperty(this,"isMemoized",{value:!0}),Object.defineProperty(this,"unmemoize",{value:()=>new Je(this.data)}),Object.defineProperty(this,"memoize",{value:()=>this})}}class Bd{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(e,t,i,a){return e.prep(8,24),e.writeInt64(BigInt(a??0)),e.pad(4),e.writeInt32(i),e.writeInt64(BigInt(t??0)),e.offset()}}class tn{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsFooter(e,t){return(t||new tn).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsFooter(e,t){return e.setPosition(e.position()+He),(t||new tn).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):ht.V1}schema(e){const t=this.bb.__offset(this.bb_pos,6);return t?(e||new Gn).__init(this.bb.__indirect(this.bb_pos+t),this.bb):null}dictionaries(e,t){const i=this.bb.__offset(this.bb_pos,8);return i?(t||new Bd).__init(this.bb.__vector(this.bb_pos+i)+e*24,this.bb):null}dictionariesLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}recordBatches(e,t){const i=this.bb.__offset(this.bb_pos,10);return i?(t||new Bd).__init(this.bb.__vector(this.bb_pos+i)+e*24,this.bb):null}recordBatchesLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,12);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startFooter(e){e.startObject(5)}static addVersion(e,t){e.addFieldInt16(0,t,ht.V1)}static addSchema(e,t){e.addFieldOffset(1,t,0)}static addDictionaries(e,t){e.addFieldOffset(2,t,0)}static startDictionariesVector(e,t){e.startVector(24,t,8)}static addRecordBatches(e,t){e.addFieldOffset(3,t,0)}static startRecordBatchesVector(e,t){e.startVector(24,t,8)}static addCustomMetadata(e,t){e.addFieldOffset(4,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endFooter(e){return e.endObject()}static finishFooterBuffer(e,t){e.finish(t)}static finishSizePrefixedFooterBuffer(e,t){e.finish(t,void 0,!0)}}class We{constructor(e=[],t,i,a=ht.V5){this.fields=e||[],this.metadata=t||new Map,i||(i=Ed(this.fields)),this.dictionaries=i,this.metadataVersion=a}get[Symbol.toStringTag](){return"Schema"}get names(){return this.fields.map(e=>e.name)}toString(){return`Schema<{ ${this.fields.map((e,t)=>`${t}: ${e}`).join(", ")} }>`}select(e){const t=new Set(e),i=this.fields.filter(a=>t.has(a.name));return new We(i,this.metadata)}selectAt(e){const t=e.map(i=>this.fields[i]).filter(Boolean);return new We(t,this.metadata)}assign(...e){const t=e[0]instanceof We?e[0]:Array.isArray(e[0])?new We(e[0]):new We(e),i=[...this.fields],a=fl(fl(new Map,this.metadata),t.metadata),c=t.fields.filter(h=>{const m=i.findIndex(g=>g.name===h.name);return~m?(i[m]=h.clone({metadata:fl(fl(new Map,i[m].metadata),h.metadata)}))&&!1:!0}),f=Ed(c,new Map);return new We([...i,...c],a,new Map([...this.dictionaries,...f]))}}We.prototype.fields=null;We.prototype.metadata=null;We.prototype.dictionaries=null;class nt{static new(...e){let[t,i,a,c]=e;return e[0]&&typeof e[0]=="object"&&({name:t}=e[0],i===void 0&&(i=e[0].type),a===void 0&&(a=e[0].nullable),c===void 0&&(c=e[0].metadata)),new nt(`${t}`,i,a,c)}constructor(e,t,i=!1,a){this.name=e,this.type=t,this.nullable=i,this.metadata=a||new Map}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return"Field"}toString(){return`${this.name}: ${this.type}`}clone(...e){let[t,i,a,c]=e;return!e[0]||typeof e[0]!="object"?[t=this.name,i=this.type,a=this.nullable,c=this.metadata]=e:{name:t=this.name,type:i=this.type,nullable:a=this.nullable,metadata:c=this.metadata}=e[0],nt.new(t,i,a,c)}}nt.prototype.type=null;nt.prototype.name=null;nt.prototype.nullable=null;nt.prototype.metadata=null;function fl(n,e){return new Map([...n||new Map,...e||new Map])}function Ed(n,e=new Map){for(let t=-1,i=n.length;++t0&&Ed(c.children,e)}return e}var qw=Ty,Zw=Ci;class tf{static decode(e){e=new Zw($e(e));const t=tn.getRootAsFooter(e),i=We.decode(t.schema(),new Map,t.version());return new Xw(i,t)}static encode(e){const t=new qw,i=We.encode(t,e.schema);tn.startRecordBatchesVector(t,e.numRecordBatches);for(const f of[...e.recordBatches()].slice().reverse())Ti.encode(t,f);const a=t.endVector();tn.startDictionariesVector(t,e.numDictionaries);for(const f of[...e.dictionaryBatches()].slice().reverse())Ti.encode(t,f);const c=t.endVector();return tn.startFooter(t),tn.addSchema(t,i),tn.addVersion(t,ht.V5),tn.addRecordBatches(t,a),tn.addDictionaries(t,c),tn.finishFooterBuffer(t,tn.endFooter(t)),t.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}constructor(e,t=ht.V5,i,a){this.schema=e,this.version=t,i&&(this._recordBatches=i),a&&(this._dictionaryBatches=a)}*recordBatches(){for(let e,t=-1,i=this.numRecordBatches;++t=0&&e=0&&e=0&&e=0&&ethis._closedPromiseResolve=e)}get closed(){return this._closedPromise}cancel(e){return Oe(this,void 0,void 0,function*(){yield this.return(e)})}write(e){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(e):this.resolvers.shift().resolve({done:!1,value:e}))}abort(e){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:e}:this.resolvers.shift().reject({done:!0,value:e}))}close(){if(this._closedPromiseResolve){const{resolvers:e}=this;for(;e.length>0;)e.shift().resolve(at);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(e){return pn.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,e)}toNodeStream(e){return pn.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,e)}throw(e){return Oe(this,void 0,void 0,function*(){return yield this.abort(e),at})}return(e){return Oe(this,void 0,void 0,function*(){return yield this.close(),at})}read(e){return Oe(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return Oe(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(...e){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((t,i)=>{this.resolvers.push({resolve:t,reject:i})}):Promise.resolve(at)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error("AsyncQueue is closed")}}class t1 extends e1{write(e){if((e=$e(e)).byteLength>0)return super.write(e)}toString(e=!1){return e?kd(this.toUint8Array(!0)):this.toUint8Array(!1).then(kd)}toUint8Array(e=!1){return e?tr(this._values)[0]:Oe(this,void 0,void 0,function*(){var t,i,a,c;const f=[];let h=0;try{for(var m=!0,g=_i(this),v;v=yield g.next(),t=v.done,!t;m=!0){c=v.value,m=!1;const x=c;f.push(x),h+=x.byteLength}}catch(x){i={error:x}}finally{try{!m&&!t&&(a=g.return)&&(yield a.call(g))}finally{if(i)throw i.error}}return tr(f,h)[0]})}}class Xl{constructor(e){e&&(this.source=new n1(pn.fromIterable(e)))}[Symbol.iterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class Ai{constructor(e){e instanceof Ai?this.source=e.source:e instanceof t1?this.source=new ks(pn.fromAsyncIterable(e)):Cy(e)?this.source=new ks(pn.fromNodeStream(e)):Wd(e)?this.source=new ks(pn.fromDOMStream(e)):My(e)?this.source=new ks(pn.fromDOMStream(e.body)):uc(e)?this.source=new ks(pn.fromIterable(e)):Vo(e)?this.source=new ks(pn.fromAsyncIterable(e)):Vd(e)&&(this.source=new ks(pn.fromAsyncIterable(e)))}[Symbol.asyncIterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}get closed(){return this.source.closed}cancel(e){return this.source.cancel(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class n1{constructor(e){this.source=e}cancel(e){this.return(e)}peek(e){return this.next(e,"peek").value}read(e){return this.next(e,"read").value}next(e,t="read"){return this.source.next({cmd:t,size:e})}throw(e){return Object.create(this.source.throw&&this.source.throw(e)||at)}return(e){return Object.create(this.source.return&&this.source.return(e)||at)}}class ks{constructor(e){this.source=e,this._closedPromise=new Promise(t=>this._closedPromiseResolve=t)}cancel(e){return Oe(this,void 0,void 0,function*(){yield this.return(e)})}get closed(){return this._closedPromise}read(e){return Oe(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return Oe(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(e){return Oe(this,arguments,void 0,function*(t,i="read"){return yield this.source.next({cmd:i,size:t})})}throw(e){return Oe(this,void 0,void 0,function*(){const t=this.source.throw&&(yield this.source.throw(e))||at;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(t)})}return(e){return Oe(this,void 0,void 0,function*(){const t=this.source.return&&(yield this.source.return(e))||at;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(t)})}}class Fm extends Xl{constructor(e,t){super(),this.position=0,this.buffer=$e(e),this.size=t===void 0?this.buffer.byteLength:t}readInt32(e){const{buffer:t,byteOffset:i}=this.readAt(e,4);return new DataView(t,i).getInt32(0,!0)}seek(e){return this.position=Math.min(e,this.size),e>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),i=new Uint32Array([e.buffer[1]>>>16,e.buffer[1]&65535,e.buffer[0]>>>16,e.buffer[0]&65535]);let a=t[3]*i[3];this.buffer[0]=a&65535;let c=a>>>16;return a=t[2]*i[3],c+=a,a=t[3]*i[2]>>>0,c+=a,this.buffer[0]+=c<<16,this.buffer[1]=c>>>0>>16,this.buffer[1]+=t[1]*i[3]+t[2]*i[2]+t[3]*i[1],this.buffer[1]+=t[0]*i[3]+t[1]*i[2]+t[2]*i[1]+t[3]*i[0]<<16,this}_plus(e){const t=this.buffer[0]+e.buffer[0]>>>0;this.buffer[1]+=e.buffer[1],t>>0&&++this.buffer[1],this.buffer[0]=t}lessThan(e){return this.buffer[1]>>0,t[2]=this.buffer[2]+e.buffer[2]>>>0,t[1]=this.buffer[1]+e.buffer[1]>>>0,t[0]=this.buffer[0]+e.buffer[0]>>>0,t[0]>>0&&++t[1],t[1]>>0&&++t[2],t[2]>>0&&++t[3],this.buffer[3]=t[3],this.buffer[2]=t[2],this.buffer[1]=t[1],this.buffer[0]=t[0],this}hex(){return`${Si(this.buffer[3])} ${Si(this.buffer[2])} ${Si(this.buffer[1])} ${Si(this.buffer[0])}`}static multiply(e,t){return new Yn(new Uint32Array(e.buffer)).times(t)}static add(e,t){return new Yn(new Uint32Array(e.buffer)).plus(t)}static from(e,t=new Uint32Array(4)){return Yn.fromString(typeof e=="string"?e:e.toString(),t)}static fromNumber(e,t=new Uint32Array(4)){return Yn.fromString(e.toString(),t)}static fromString(e,t=new Uint32Array(4)){const i=e.startsWith("-"),a=e.length,c=new Yn(t);for(let f=i?1:0;f0&&this.readData(e,i)||new Uint8Array(0)}readOffsets(e,t){return this.readData(e,t)}readTypeIds(e,t){return this.readData(e,t)}readData(e,{length:t,offset:i}=this.nextBufferRange()){return this.bytes.subarray(i,i+t)}readDictionary(e){return this.dictionaries.get(e.id)}}class s1 extends fv{constructor(e,t,i,a,c){super(new Uint8Array(0),t,i,a,c),this.sources=e}readNullBitmap(e,t,{offset:i}=this.nextBufferRange()){return t<=0?new Uint8Array(0):Td(this.sources[i])}readOffsets(e,{offset:t}=this.nextBufferRange()){return Ke(Uint8Array,Ke(e.OffsetArrayType,this.sources[t]))}readTypeIds(e,{offset:t}=this.nextBufferRange()){return Ke(Uint8Array,Ke(e.ArrayType,this.sources[t]))}readData(e,{offset:t}=this.nextBufferRange()){const{sources:i}=this;return me.isTimestamp(e)||(me.isInt(e)||me.isTime(e))&&e.bitWidth===64||me.isDuration(e)||me.isDate(e)&&e.unit===xn.MILLISECOND?Ke(Uint8Array,Wt.convertArray(i[t])):me.isDecimal(e)?Ke(Uint8Array,Yn.convertArray(i[t])):me.isBinary(e)||me.isLargeBinary(e)||me.isFixedSizeBinary(e)?i1(i[t]):me.isBool(e)?Td(i[t]):me.isUtf8(e)||me.isLargeUtf8(e)?zd(i[t].join("")):Ke(Uint8Array,Ke(e.ArrayType,i[t].map(a=>+a)))}}function i1(n){const e=n.join(""),t=new Uint8Array(e.length/2);for(let i=0;i>1]=Number.parseInt(e.slice(i,i+2),16);return t}class Se extends Ue{compareSchemas(e,t){return e===t||t instanceof e.constructor&&this.compareManyFields(e.fields,t.fields)}compareManyFields(e,t){return e===t||Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((i,a)=>this.compareFields(i,t[a]))}compareFields(e,t){return e===t||t instanceof e.constructor&&e.name===t.name&&e.nullable===t.nullable&&this.visit(e.type,t.type)}}function Bt(n,e){return e instanceof n.constructor}function Bs(n,e){return n===e||Bt(n,e)}function Mr(n,e){return n===e||Bt(n,e)&&n.bitWidth===e.bitWidth&&n.isSigned===e.isSigned}function fc(n,e){return n===e||Bt(n,e)&&n.precision===e.precision}function o1(n,e){return n===e||Bt(n,e)&&n.byteWidth===e.byteWidth}function rf(n,e){return n===e||Bt(n,e)&&n.unit===e.unit}function Jo(n,e){return n===e||Bt(n,e)&&n.unit===e.unit&&n.timezone===e.timezone}function qo(n,e){return n===e||Bt(n,e)&&n.unit===e.unit&&n.bitWidth===e.bitWidth}function a1(n,e){return n===e||Bt(n,e)&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}function l1(n,e){return n===e||Bt(n,e)&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}function sf(n,e){return n===e||Bt(n,e)&&n.mode===e.mode&&n.typeIds.every((t,i)=>t===e.typeIds[i])&&is.compareManyFields(n.children,e.children)}function c1(n,e){return n===e||Bt(n,e)&&n.id===e.id&&n.isOrdered===e.isOrdered&&is.visit(n.indices,e.indices)&&is.visit(n.dictionary,e.dictionary)}function of(n,e){return n===e||Bt(n,e)&&n.unit===e.unit}function Zo(n,e){return n===e||Bt(n,e)&&n.unit===e.unit}function u1(n,e){return n===e||Bt(n,e)&&n.listSize===e.listSize&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}function d1(n,e){return n===e||Bt(n,e)&&n.keysSorted===e.keysSorted&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}Se.prototype.visitNull=Bs;Se.prototype.visitBool=Bs;Se.prototype.visitInt=Mr;Se.prototype.visitInt8=Mr;Se.prototype.visitInt16=Mr;Se.prototype.visitInt32=Mr;Se.prototype.visitInt64=Mr;Se.prototype.visitUint8=Mr;Se.prototype.visitUint16=Mr;Se.prototype.visitUint32=Mr;Se.prototype.visitUint64=Mr;Se.prototype.visitFloat=fc;Se.prototype.visitFloat16=fc;Se.prototype.visitFloat32=fc;Se.prototype.visitFloat64=fc;Se.prototype.visitUtf8=Bs;Se.prototype.visitLargeUtf8=Bs;Se.prototype.visitBinary=Bs;Se.prototype.visitLargeBinary=Bs;Se.prototype.visitFixedSizeBinary=o1;Se.prototype.visitDate=rf;Se.prototype.visitDateDay=rf;Se.prototype.visitDateMillisecond=rf;Se.prototype.visitTimestamp=Jo;Se.prototype.visitTimestampSecond=Jo;Se.prototype.visitTimestampMillisecond=Jo;Se.prototype.visitTimestampMicrosecond=Jo;Se.prototype.visitTimestampNanosecond=Jo;Se.prototype.visitTime=qo;Se.prototype.visitTimeSecond=qo;Se.prototype.visitTimeMillisecond=qo;Se.prototype.visitTimeMicrosecond=qo;Se.prototype.visitTimeNanosecond=qo;Se.prototype.visitDecimal=Bs;Se.prototype.visitList=a1;Se.prototype.visitStruct=l1;Se.prototype.visitUnion=sf;Se.prototype.visitDenseUnion=sf;Se.prototype.visitSparseUnion=sf;Se.prototype.visitDictionary=c1;Se.prototype.visitInterval=of;Se.prototype.visitIntervalDayTime=of;Se.prototype.visitIntervalYearMonth=of;Se.prototype.visitDuration=Zo;Se.prototype.visitDurationSecond=Zo;Se.prototype.visitDurationMillisecond=Zo;Se.prototype.visitDurationMicrosecond=Zo;Se.prototype.visitDurationNanosecond=Zo;Se.prototype.visitFixedSizeList=u1;Se.prototype.visitMap=d1;const is=new Se;function f1(n,e){return is.compareSchemas(n,e)}function dd(n,e){return h1(n,e.map(t=>t.data.concat()))}function h1(n,e){const t=[...n.fields],i=[],a={numBatches:e.reduce((x,b)=>Math.max(x,b.length),0)};let c=0,f=0,h=-1;const m=e.length;let g,v=[];for(;a.numBatches-- >0;){for(f=Number.POSITIVE_INFINITY,h=-1;++h0&&(i[c++]=Re({type:new At(t),length:f,nullCount:0,children:v.slice()})))}return[n=n.assign(t),i.map(x=>new Tn(n,x))]}function p1(n,e,t,i,a){var c;const f=(e+63&-64)>>3;for(let h=-1,m=i.length;++h=e)v===e?t[h]=g:(t[h]=g.slice(0,e),a.numBatches=Math.max(a.numBatches,i[h].unshift(g.slice(e,v-e))));else{const x=n[h];n[h]=x.clone({nullable:!0}),t[h]=(c=g==null?void 0:g._changeLengthAndBackfillNullBitmap(e))!==null&&c!==void 0?c:Re({type:x.type,length:e,nullCount:e,nullBitmap:new Uint8Array(f)})}}return t}var hv;class gn{constructor(...e){var t,i;if(e.length===0)return this.batches=[],this.schema=new We([]),this._offsets=[0],this;let a,c;e[0]instanceof We&&(a=e.shift()),e.at(-1)instanceof Uint32Array&&(c=e.pop());const f=m=>{if(m){if(m instanceof Tn)return[m];if(m instanceof gn)return m.batches;if(m instanceof Ye){if(m.type instanceof At)return[new Tn(new We(m.type.children),m)]}else{if(Array.isArray(m))return m.flatMap(g=>f(g));if(typeof m[Symbol.iterator]=="function")return[...m].flatMap(g=>f(g));if(typeof m=="object"){const g=Object.keys(m),v=g.map(w=>new Je([m[w]])),x=a??new We(g.map((w,_)=>new nt(String(w),v[_].type,v[_].nullable))),[,b]=dd(x,v);return b.length===0?[new Tn(m)]:b}}}return[]},h=e.flatMap(m=>f(m));if(a=(i=a??((t=h[0])===null||t===void 0?void 0:t.schema))!==null&&i!==void 0?i:new We([]),!(a instanceof We))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");for(const m of h){if(!(m instanceof Tn))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");if(!f1(a,m.schema))throw new TypeError("Table and inner RecordBatch schemas must be equivalent.")}this.schema=a,this.batches=h,this._offsets=c??nv(this.data)}get data(){return this.batches.map(({data:e})=>e)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((e,t)=>e+t.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=tv(this.data)),this._nullCount}isValid(e){return!1}get(e){return null}at(e){return this.get(Jd(e,this.numRows))}set(e,t){}indexOf(e,t){return-1}[Symbol.iterator](){return this.batches.length>0?ef.visit(new Je(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[ + ${this.toArray().join(`, + `)} +]`}concat(...e){const t=this.schema,i=this.data.concat(e.flatMap(({data:a})=>a));return new gn(t,i.map(a=>new Tn(t,a)))}slice(e,t){const i=this.schema;[e,t]=Xg({length:this.numRows},e,t);const a=rv(this.data,this._offsets,e,t);return new gn(i,a.map(c=>new Tn(i,c)))}getChild(e){return this.getChildAt(this.schema.fields.findIndex(t=>t.name===e))}getChildAt(e){if(e>-1&&ei.children[e]);if(t.length===0){const{type:i}=this.schema.fields[e],a=Re({type:i,length:0,nullCount:0});t.push(a._changeLengthAndBackfillNullBitmap(this.numRows))}return new Je(t)}return null}setChild(e,t){var i;return this.setChildAt((i=this.schema.fields)===null||i===void 0?void 0:i.findIndex(a=>a.name===e),t)}setChildAt(e,t){let i=this.schema,a=[...this.batches];if(e>-1&&ethis.getChildAt(g));[c[e],h[e]]=[f,t],[i,a]=dd(i,h)}return new gn(i,a)}select(e){const t=this.schema.fields.reduce((i,a,c)=>i.set(a.name,c),new Map);return this.selectAt(e.map(i=>t.get(i)).filter(i=>i>-1))}selectAt(e){const t=this.schema.selectAt(e),i=this.batches.map(a=>a.selectAt(e));return new gn(t,i)}assign(e){const t=this.schema.fields,[i,a]=e.schema.fields.reduce((h,m,g)=>{const[v,x]=h,b=t.findIndex(w=>w.name===m.name);return~b?x[b]=g:v.push(g),h},[[],[]]),c=this.schema.assign(e.schema),f=[...t.map((h,m)=>[m,a[m]]).map(([h,m])=>m===void 0?this.getChildAt(h):e.getChildAt(m)),...i.map(h=>e.getChildAt(h))].filter(Boolean);return new gn(...dd(c,f))}}hv=Symbol.toStringTag;gn[hv]=(n=>(n.schema=null,n.batches=[],n._offsets=new Uint32Array([0]),n._nullCount=-1,n[Symbol.isConcatSpreadable]=!0,n.isValid=Jl(Xd),n.get=Jl(Qt.getVisitFn(M.Struct)),n.set=sv(bn.getVisitFn(M.Struct)),n.indexOf=iv(ql.getVisitFn(M.Struct)),"Table"))(gn.prototype);var pv;let Tn=class Po{constructor(...e){switch(e.length){case 2:{if([this.schema]=e,!(this.schema instanceof We))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");if([,this.data=Re({nullCount:0,type:new At(this.schema.fields),children:this.schema.fields.map(t=>Re({type:t.type,nullCount:0}))})]=e,!(this.data instanceof Ye))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");[this.schema,this.data]=Om(this.schema,this.data.children);break}case 1:{const[t]=e,{fields:i,children:a,length:c}=Object.keys(t).reduce((m,g,v)=>(m.children[v]=t[g],m.length=Math.max(m.length,t[g].length),m.fields[v]=nt.new({name:g,type:t[g].type,nullable:!0}),m),{length:0,fields:new Array,children:new Array}),f=new We(i),h=Re({type:new At(i),length:c,children:a,nullCount:0});[this.schema,this.data]=Om(f,h.children,c);break}default:throw new TypeError("RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.")}}get dictionaries(){return this._dictionaries||(this._dictionaries=mv(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(e){return this.data.getValid(e)}get(e){return Qt.visit(this.data,e)}at(e){return this.get(Jd(e,this.numRows))}set(e,t){return bn.visit(this.data,e,t)}indexOf(e,t){return ql.visit(this.data,e,t)}[Symbol.iterator](){return ef.visit(new Je([this.data]))}toArray(){return[...this]}concat(...e){return new gn(this.schema,[this,...e])}slice(e,t){const[i]=new Je([this.data]).slice(e,t).data;return new Po(this.schema,i)}getChild(e){var t;return this.getChildAt((t=this.schema.fields)===null||t===void 0?void 0:t.findIndex(i=>i.name===e))}getChildAt(e){return e>-1&&ea.name===e),t)}setChildAt(e,t){let i=this.schema,a=this.data;if(e>-1&&eh.name===c);~f&&(a[f]=this.data.children[f])}return new Po(t,Re({type:i,length:this.numRows,children:a}))}selectAt(e){const t=this.schema.selectAt(e),i=e.map(c=>this.data.children[c]).filter(Boolean),a=Re({type:new At(t.fields),length:this.numRows,children:i});return new Po(t,a)}};pv=Symbol.toStringTag;Tn[pv]=(n=>(n._nullCount=-1,n[Symbol.isConcatSpreadable]=!0,"RecordBatch"))(Tn.prototype);function Om(n,e,t=e.reduce((i,a)=>Math.max(i,a.length),0)){var i;const a=[...n.fields],c=[...e],f=(t+63&-64)>>3;for(const[h,m]of n.fields.entries()){const g=e[h];(!g||g.length!==t)&&(a[h]=m.clone({nullable:!0}),c[h]=(i=g==null?void 0:g._changeLengthAndBackfillNullBitmap(t))!==null&&i!==void 0?i:Re({type:m.type,length:t,nullCount:t,nullBitmap:new Uint8Array(f)}))}return[n.assign(a),Re({type:new At(a),length:t,children:c})]}function mv(n,e,t=new Map){var i,a;if(((i=n==null?void 0:n.length)!==null&&i!==void 0?i:0)>0&&(n==null?void 0:n.length)===(e==null?void 0:e.length))for(let c=-1,f=n.length;++cRe({type:a.type})),i=Re({type:new At(e.fields),nullCount:0,children:t});super(e,i)}}let qr=class Hn{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsMessage(e,t){return(t||new Hn).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsMessage(e,t){return e.setPosition(e.position()+He),(t||new Hn).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):ht.V1}headerType(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint8(this.bb_pos+e):Ve.NONE}header(e){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__union(e,this.bb_pos+t):null}bodyLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readInt64(this.bb_pos+e):BigInt("0")}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,12);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startMessage(e){e.startObject(5)}static addVersion(e,t){e.addFieldInt16(0,t,ht.V1)}static addHeaderType(e,t){e.addFieldInt8(1,t,Ve.NONE)}static addHeader(e,t){e.addFieldOffset(2,t,0)}static addBodyLength(e,t){e.addFieldInt64(3,t,BigInt("0"))}static addCustomMetadata(e,t){e.addFieldOffset(4,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endMessage(e){return e.endObject()}static finishMessageBuffer(e,t){e.finish(t)}static finishSizePrefixedMessageBuffer(e,t){e.finish(t,void 0,!0)}static createMessage(e,t,i,a,c,f){return Hn.startMessage(e),Hn.addVersion(e,t),Hn.addHeaderType(e,i),Hn.addHeader(e,a),Hn.addBodyLength(e,c),Hn.addCustomMetadata(e,f),Hn.endMessage(e)}};class m1 extends Ue{visit(e,t){return e==null||t==null?void 0:super.visit(e,t)}visitNull(e,t){return Sm.startNull(t),Sm.endNull(t)}visitInt(e,t){return nn.startInt(t),nn.addBitWidth(t,e.bitWidth),nn.addIsSigned(t,e.isSigned),nn.endInt(t)}visitFloat(e,t){return Jn.startFloatingPoint(t),Jn.addPrecision(t,e.precision),Jn.endFloatingPoint(t)}visitBinary(e,t){return gm.startBinary(t),gm.endBinary(t)}visitLargeBinary(e,t){return xm.startLargeBinary(t),xm.endLargeBinary(t)}visitBool(e,t){return vm.startBool(t),vm.endBool(t)}visitUtf8(e,t){return _m.startUtf8(t),_m.endUtf8(t)}visitLargeUtf8(e,t){return bm.startLargeUtf8(t),bm.endLargeUtf8(t)}visitDecimal(e,t){return pi.startDecimal(t),pi.addScale(t,e.scale),pi.addPrecision(t,e.precision),pi.addBitWidth(t,e.bitWidth),pi.endDecimal(t)}visitDate(e,t){return wl.startDate(t),wl.addUnit(t,e.unit),wl.endDate(t)}visitTime(e,t){return mn.startTime(t),mn.addUnit(t,e.unit),mn.addBitWidth(t,e.bitWidth),mn.endTime(t)}visitTimestamp(e,t){const i=e.timezone&&t.createString(e.timezone)||void 0;return yn.startTimestamp(t),yn.addUnit(t,e.unit),i!==void 0&&yn.addTimezone(t,i),yn.endTimestamp(t)}visitInterval(e,t){return qn.startInterval(t),qn.addUnit(t,e.unit),qn.endInterval(t)}visitDuration(e,t){return Sl.startDuration(t),Sl.addUnit(t,e.unit),Sl.endDuration(t)}visitList(e,t){return wm.startList(t),wm.endList(t)}visitStruct(e,t){return Is.startStruct_(t),Is.endStruct_(t)}visitUnion(e,t){Ht.startTypeIdsVector(t,e.typeIds.length);const i=Ht.createTypeIdsVector(t,e.typeIds);return Ht.startUnion(t),Ht.addMode(t,e.mode),Ht.addTypeIds(t,i),Ht.endUnion(t)}visitDictionary(e,t){const i=this.visit(e.indices,t);return wr.startDictionaryEncoding(t),wr.addId(t,BigInt(e.id)),wr.addIsOrdered(t,e.isOrdered),i!==void 0&&wr.addIndexType(t,i),wr.endDictionaryEncoding(t)}visitFixedSizeBinary(e,t){return _l.startFixedSizeBinary(t),_l.addByteWidth(t,e.byteWidth),_l.endFixedSizeBinary(t)}visitFixedSizeList(e,t){return Nl.startFixedSizeList(t),Nl.addListSize(t,e.listSize),Nl.endFixedSizeList(t)}visitMap(e,t){return jl.startMap(t),jl.addKeysSorted(t,e.keysSorted),jl.endMap(t)}}const fd=new m1;function y1(n,e=new Map){return new We(v1(n,e),Il(n.metadata),e)}function gv(n){return new Rn(n.count,vv(n.columns),xv(n.columns))}function g1(n){return new kr(gv(n.data),n.id,n.isDelta)}function v1(n,e){return(n.fields||[]).filter(Boolean).map(t=>nt.fromJSON(t,e))}function Tm(n,e){return(n.children||[]).filter(Boolean).map(t=>nt.fromJSON(t,e))}function vv(n){return(n||[]).reduce((e,t)=>[...e,new Li(t.count,x1(t.VALIDITY)),...vv(t.children)],[])}function xv(n,e=[]){for(let t=-1,i=(n||[]).length;++te+ +(t===0),0)}function b1(n,e){let t,i,a,c,f,h;return!e||!(c=n.dictionary)?(f=Bm(n,Tm(n,e)),a=new nt(n.name,f,n.nullable,Il(n.metadata))):e.has(t=c.id)?(i=(i=c.indexType)?Am(i):new Yo,h=new Oi(e.get(t),i,t,c.isOrdered),a=new nt(n.name,h,n.nullable,Il(n.metadata))):(i=(i=c.indexType)?Am(i):new Yo,e.set(t,f=Bm(n,Tm(n,e))),h=new Oi(f,i,t,c.isOrdered),a=new nt(n.name,h,n.nullable,Il(n.metadata))),a||null}function Il(n=[]){return new Map(n.map(({key:e,value:t})=>[e,t]))}function Am(n){return new Cs(n.isSigned,n.bitWidth)}function Bm(n,e){const t=n.type.name;switch(t){case"NONE":return new ss;case"null":return new ss;case"binary":return new Al;case"largebinary":return new Bl;case"utf8":return new El;case"largeutf8":return new Rl;case"bool":return new Ll;case"list":return new Hl((e||[])[0]);case"struct":return new At(e||[]);case"struct_":return new At(e||[])}switch(t){case"int":{const i=n.type;return new Cs(i.isSigned,i.bitWidth)}case"floatingpoint":{const i=n.type;return new Tl(Dt[i.precision])}case"decimal":{const i=n.type;return new Ul(i.scale,i.precision,i.bitWidth)}case"date":{const i=n.type;return new $l(xn[i.unit])}case"time":{const i=n.type;return new Pl(_e[i.unit],i.bitWidth)}case"timestamp":{const i=n.type;return new zl(_e[i.unit],i.timezone)}case"interval":{const i=n.type;return new Vl(nr[i.unit])}case"duration":{const i=n.type;return new Wl(_e[i.unit])}case"union":{const i=n.type,[a,...c]=(i.mode+"").toLowerCase(),f=a.toUpperCase()+c.join("");return new Gl(Yt[f],i.typeIds||[],e||[])}case"fixedsizebinary":{const i=n.type;return new Yl(i.byteWidth)}case"fixedsizelist":{const i=n.type;return new Ql(i.listSize,(e||[])[0])}case"map":{const i=n.type;return new Kl((e||[])[0],i.keysSorted)}}throw new Error(`Unrecognized type: "${t}"`)}var w1=Ty,S1=Ci;class An{static fromJSON(e,t){const i=new An(0,ht.V5,t);return i._createHeader=_1(e,t),i}static decode(e){e=new S1($e(e));const t=qr.getRootAsMessage(e),i=t.bodyLength(),a=t.version(),c=t.headerType(),f=new An(i,a,c);return f._createHeader=N1(t,c),f}static encode(e){const t=new w1;let i=-1;return e.isSchema()?i=We.encode(t,e.header()):e.isRecordBatch()?i=Rn.encode(t,e.header()):e.isDictionaryBatch()&&(i=kr.encode(t,e.header())),qr.startMessage(t),qr.addVersion(t,ht.V5),qr.addHeader(t,i),qr.addHeaderType(t,e.headerType),qr.addBodyLength(t,BigInt(e.bodyLength)),qr.finishMessageBuffer(t,qr.endMessage(t)),t.asUint8Array()}static from(e,t=0){if(e instanceof We)return new An(0,ht.V5,Ve.Schema,e);if(e instanceof Rn)return new An(t,ht.V5,Ve.RecordBatch,e);if(e instanceof kr)return new An(t,ht.V5,Ve.DictionaryBatch,e);throw new Error(`Unrecognized Message header: ${e}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===Ve.Schema}isRecordBatch(){return this.headerType===Ve.RecordBatch}isDictionaryBatch(){return this.headerType===Ve.DictionaryBatch}constructor(e,t,i,a){this._version=t,this._headerType=i,this.body=new Uint8Array(0),a&&(this._createHeader=()=>a),this._bodyLength=tt(e)}}class Rn{get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}constructor(e,t,i){this._nodes=t,this._buffers=i,this._length=tt(e)}}class kr{get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}constructor(e,t,i=!1){this._data=e,this._isDelta=i,this._id=tt(t)}}class _r{constructor(e,t){this.offset=tt(e),this.length=tt(t)}}class Li{constructor(e,t){this.length=tt(e),this.nullCount=tt(t)}}function _1(n,e){return(()=>{switch(e){case Ve.Schema:return We.fromJSON(n);case Ve.RecordBatch:return Rn.fromJSON(n);case Ve.DictionaryBatch:return kr.fromJSON(n)}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)})}function N1(n,e){return(()=>{switch(e){case Ve.Schema:return We.decode(n.header(new Gn),new Map,n.version());case Ve.RecordBatch:return Rn.decode(n.header(new yr),n.version());case Ve.DictionaryBatch:return kr.decode(n.header(new fi),n.version())}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)})}nt.encode=B1;nt.decode=T1;nt.fromJSON=b1;We.encode=A1;We.decode=j1;We.fromJSON=y1;Rn.encode=E1;Rn.decode=k1;Rn.fromJSON=gv;kr.encode=R1;kr.decode=I1;kr.fromJSON=g1;Li.encode=L1;Li.decode=D1;_r.encode=U1;_r.decode=M1;function j1(n,e=new Map,t=ht.V5){const i=O1(n,e);return new We(i,Ml(n),e,t)}function k1(n,e=ht.V5){if(n.compression()!==null)throw new Error("Record batch compression not implemented");return new Rn(n.length(),C1(n),F1(n,e))}function I1(n,e=ht.V5){return new kr(Rn.decode(n.data(),e),n.id(),n.isDelta())}function M1(n){return new _r(n.offset(),n.length())}function D1(n){return new Li(n.length(),n.nullCount())}function C1(n){const e=[];for(let t,i=-1,a=-1,c=n.nodesLength();++int.encode(n,c));Gn.startFieldsVector(n,t.length);const i=Gn.createFieldsVector(n,t),a=e.metadata&&e.metadata.size>0?Gn.createCustomMetadataVector(n,[...e.metadata].map(([c,f])=>{const h=n.createString(`${c}`),m=n.createString(`${f}`);return gt.startKeyValue(n),gt.addKey(n,h),gt.addValue(n,m),gt.endKeyValue(n)})):-1;return Gn.startSchema(n),Gn.addFields(n,i),Gn.addEndianness(n,$1?Fi.Little:Fi.Big),a!==-1&&Gn.addCustomMetadata(n,a),Gn.endSchema(n)}function B1(n,e){let t=-1,i=-1,a=-1;const c=e.type;let f=e.typeId;me.isDictionary(c)?(f=c.dictionary.typeId,a=fd.visit(c,n),i=fd.visit(c.dictionary,n)):i=fd.visit(c,n);const h=(c.children||[]).map(v=>nt.encode(n,v)),m=hn.createChildrenVector(n,h),g=e.metadata&&e.metadata.size>0?hn.createCustomMetadataVector(n,[...e.metadata].map(([v,x])=>{const b=n.createString(`${v}`),w=n.createString(`${x}`);return gt.startKeyValue(n),gt.addKey(n,b),gt.addValue(n,w),gt.endKeyValue(n)})):-1;return e.name&&(t=n.createString(e.name)),hn.startField(n),hn.addType(n,i),hn.addTypeType(n,f),hn.addChildren(n,m),hn.addNullable(n,!!e.nullable),t!==-1&&hn.addName(n,t),a!==-1&&hn.addDictionary(n,a),g!==-1&&hn.addCustomMetadata(n,g),hn.endField(n)}function E1(n,e){const t=e.nodes||[],i=e.buffers||[];yr.startNodesVector(n,t.length);for(const f of t.slice().reverse())Li.encode(n,f);const a=n.endVector();yr.startBuffersVector(n,i.length);for(const f of i.slice().reverse())_r.encode(n,f);const c=n.endVector();return yr.startRecordBatch(n),yr.addLength(n,BigInt(e.length)),yr.addNodes(n,a),yr.addBuffers(n,c),yr.endRecordBatch(n)}function R1(n,e){const t=Rn.encode(n,e.data);return fi.startDictionaryBatch(n),fi.addId(n,BigInt(e.id)),fi.addIsDelta(n,e.isDelta),fi.addData(n,t),fi.endDictionaryBatch(n)}function L1(n,e){return Ey.createFieldNode(n,BigInt(e.length),BigInt(e.nullCount))}function U1(n,e){return By.createBuffer(n,BigInt(e.offset),BigInt(e.length))}const $1=(()=>{const n=new ArrayBuffer(2);return new DataView(n).setInt16(0,256,!0),new Int16Array(n)[0]===256})(),af=n=>`Expected ${Ve[n]} Message in stream, but was null or length 0.`,lf=n=>`Header pointer of flatbuffer-encoded ${Ve[n]} Message is null or length 0.`,bv=(n,e)=>`Expected to read ${n} metadata bytes, but only read ${e}.`,wv=(n,e)=>`Expected to read ${n} bytes for message body, but only read ${e}.`;class Sv{constructor(e){this.source=e instanceof Xl?e:new Xl(e)}[Symbol.iterator](){return this}next(){let e;return(e=this.readMetadataLength()).done||e.value===-1&&(e=this.readMetadataLength()).done||(e=this.readMetadata(e.value)).done?at:e}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}readMessage(e){let t;if((t=this.next()).done)return null;if(e!=null&&t.value.headerType!==e)throw new Error(af(e));return t.value}readMessageBody(e){if(e<=0)return new Uint8Array(0);const t=$e(this.source.read(e));if(t.byteLength[...a,...c.VALIDITY&&[c.VALIDITY]||[],...c.TYPE_ID&&[c.TYPE_ID]||[],...c.OFFSET&&[c.OFFSET]||[],...c.DATA&&[c.DATA]||[],...t(c.children)],[])}}readMessage(e){let t;if((t=this.next()).done)return null;if(e!=null&&t.value.headerType!==e)throw new Error(af(e));return t.value}readSchema(){const e=Ve.Schema,t=this.readMessage(e),i=t==null?void 0:t.header();if(!t||!i)throw new Error(lf(e));return i}}const hc=4,Rd="ARROW1",tc=new Uint8Array(Rd.length);for(let n=0;nthis):this}readRecordBatch(e){return this._impl.isFile()?this._impl.readRecordBatch(e):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return pn.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return pn.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,t){throw new Error('"throughDOM" not available in this environment')}static from(e){return e instanceof jr?e:Id(e)?Y1(e):Iy(e)?J1(e):Vo(e)?Oe(this,void 0,void 0,function*(){return yield jr.from(yield e)}):My(e)||Wd(e)||Cy(e)||Vd(e)?K1(new Ai(e)):Q1(new Xl(e))}static readAll(e){return e instanceof jr?e.isSync()?Um(e):$m(e):Id(e)||ArrayBuffer.isView(e)||uc(e)||ky(e)?Um(e):$m(e)}}class nc extends jr{constructor(e){super(e),this._impl=e}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return Zn(this,arguments,function*(){yield Ae(yield*bl(_i(this[Symbol.iterator]())))})}}class rc extends jr{constructor(e){super(e),this._impl=e}readAll(){return Oe(this,void 0,void 0,function*(){var e,t,i,a;const c=new Array;try{for(var f=!0,h=_i(this),m;m=yield h.next(),e=m.done,!e;f=!0){a=m.value,f=!1;const g=a;c.push(g)}}catch(g){t={error:g}}finally{try{!f&&!e&&(i=h.return)&&(yield i.call(h))}finally{if(t)throw t.error}}return c})}[Symbol.iterator](){throw new Error("AsyncRecordBatchStreamReader is not Iterable")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}}class Nv extends nc{constructor(e){super(e),this._impl=e}}class W1 extends rc{constructor(e){super(e),this._impl=e}}class jv{get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}constructor(e=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=e}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(e){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=e,this.dictionaries=new Map,this}_loadRecordBatch(e,t){const i=this._loadVectors(e,t,this.schema.fields),a=Re({type:new At(this.schema.fields),length:e.length,children:i});return new Tn(this.schema,a)}_loadDictionaryBatch(e,t){const{id:i,isDelta:a}=e,{dictionaries:c,schema:f}=this,h=c.get(i),m=f.dictionaries.get(i),g=this._loadVectors(e.data,t,[m]);return(h&&a?h.concat(new Je(g)):new Je(g)).memoize()}_loadVectors(e,t,i){return new fv(t,e.nodes,e.buffers,this.dictionaries,this.schema.metadataVersion).visitMany(i)}}class sc extends jv{constructor(e,t){super(t),this._reader=Id(e)?new z1(this._handle=e):new Sv(this._handle=e)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(e){return this.closed||(this.autoDestroy=Iv(this,e),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(e):at}return(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(e):at}next(){if(this.closed)return at;let e;const{_reader:t}=this;for(;e=this._readNextMessageAndValidate();)if(e.isSchema())this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const i=e.header(),a=t.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(i,a)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const i=e.header(),a=t.readMessageBody(e.bodyLength),c=this._loadDictionaryBatch(i,a);this.dictionaries.set(i.id,c)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new yv(this.schema)}):this.return()}_readNextMessageAndValidate(e){return this._reader.readMessage(e)}}class ic extends jv{constructor(e,t){super(t),this._reader=new P1(this._handle=e)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return Oe(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(e){return Oe(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=Iv(this,e),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(e){return Oe(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(e):at})}return(e){return Oe(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(e):at})}next(){return Oe(this,void 0,void 0,function*(){if(this.closed)return at;let e;const{_reader:t}=this;for(;e=yield this._readNextMessageAndValidate();)if(e.isSchema())yield this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const i=e.header(),a=yield t.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(i,a)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const i=e.header(),a=yield t.readMessageBody(e.bodyLength),c=this._loadDictionaryBatch(i,a);this.dictionaries.set(i.id,c)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new yv(this.schema)}):yield this.return()})}_readNextMessageAndValidate(e){return Oe(this,void 0,void 0,function*(){return yield this._reader.readMessage(e)})}}class kv extends sc{get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}constructor(e,t){super(e instanceof Fm?e:new Fm(e),t)}isSync(){return!0}isFile(){return!0}open(e){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(const t of this._footer.dictionaryBatches())t&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(e)}readRecordBatch(e){var t;if(this.closed)return null;this._footer||this.open();const i=(t=this._footer)===null||t===void 0?void 0:t.getRecordBatch(e);if(i&&this._handle.seek(i.offset)){const a=this._reader.readMessage(Ve.RecordBatch);if(a!=null&&a.isRecordBatch()){const c=a.header(),f=this._reader.readMessageBody(a.bodyLength);return this._loadRecordBatch(c,f)}}return null}_readDictionaryBatch(e){var t;const i=(t=this._footer)===null||t===void 0?void 0:t.getDictionaryBatch(e);if(i&&this._handle.seek(i.offset)){const a=this._reader.readMessage(Ve.DictionaryBatch);if(a!=null&&a.isDictionaryBatch()){const c=a.header(),f=this._reader.readMessageBody(a.bodyLength),h=this._loadDictionaryBatch(c,f);this.dictionaries.set(c.id,h)}}}_readFooter(){const{_handle:e}=this,t=e.size-_v,i=e.readInt32(t),a=e.readAt(t-i,i);return tf.decode(a)}_readNextMessageAndValidate(e){var t;if(this._footer||this.open(),this._footer&&this._recordBatchIndexsuper.open}});return Oe(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(const i of this._footer.dictionaryBatches())i&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield t.open.call(this,e)})}readRecordBatch(e){return Oe(this,void 0,void 0,function*(){var t;if(this.closed)return null;this._footer||(yield this.open());const i=(t=this._footer)===null||t===void 0?void 0:t.getRecordBatch(e);if(i&&(yield this._handle.seek(i.offset))){const a=yield this._reader.readMessage(Ve.RecordBatch);if(a!=null&&a.isRecordBatch()){const c=a.header(),f=yield this._reader.readMessageBody(a.bodyLength);return this._loadRecordBatch(c,f)}}return null})}_readDictionaryBatch(e){return Oe(this,void 0,void 0,function*(){var t;const i=(t=this._footer)===null||t===void 0?void 0:t.getDictionaryBatch(e);if(i&&(yield this._handle.seek(i.offset))){const a=yield this._reader.readMessage(Ve.DictionaryBatch);if(a!=null&&a.isDictionaryBatch()){const c=a.header(),f=yield this._reader.readMessageBody(a.bodyLength),h=this._loadDictionaryBatch(c,f);this.dictionaries.set(c.id,h)}}})}_readFooter(){return Oe(this,void 0,void 0,function*(){const{_handle:e}=this;e._pending&&(yield e._pending);const t=e.size-_v,i=yield e.readInt32(t),a=yield e.readAt(t-i,i);return tf.decode(a)})}_readNextMessageAndValidate(e){return Oe(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex=4?cf(e)?new Nv(new kv(n.read())):new nc(new sc(n)):new nc(new sc((function*(){})()))}function K1(n){return Oe(this,void 0,void 0,function*(){const e=yield n.peek(Xo+7&-8);return e&&e.byteLength>=4?cf(e)?new Nv(new kv(yield n.read())):new rc(new ic(n)):new rc(new ic((function(){return Zn(this,arguments,function*(){})})()))})}function J1(n){return Oe(this,void 0,void 0,function*(){const{size:e}=yield n.stat(),t=new ec(n,e);return e>=V1&&cf(yield t.readAt(0,Xo+7&-8))?new W1(new H1(t)):new rc(new ic(t))})}function Mv(n){const e=jr.from(n);return Vo(e)?e.then(t=>Mv(t)):e.isAsync()?e.readAll().then(t=>new gn(t)):new gn(e.readAll())}function q1(n){if(n==null)return null;if(typeof n=="bigint"){const e=Number(n);return Number.isSafeInteger(e)?e:n.toString()}if(n instanceof Date){const e=n.toISOString();return e.endsWith("T00:00:00.000Z")?e.slice(0,10):e}return typeof n=="object"?String(n):n}function Z1(n){const e=Mv(n),t=e.schema.fields.map(a=>a.name),i=new Array(e.numRows);for(let a=0;a({...e,charts:e.charts.map(t=>{var f,h;const i=t.query,a=(f=t.interactions)==null?void 0:f.brush,c=(h=t.interactions)==null?void 0:h.select;return{...t,query:{...i,metrics:Zr(i.metrics)??[],dimensions:Zr(i.dimensions),filters:Zr(i.filters),segments:Zr(i.segments),order_by:Zr(i.order_by),orderBy:Zr(i.orderBy)},interactions:t.interactions?{...t.interactions,brush:typeof a=="object"?{...a,fields:Zr(a.fields)}:a,select:typeof c=="object"?{...c,fields:Zr(c.fields)}:c}:void 0}})}))}}const eS="application/vnd.apache.arrow.stream";class tS{constructor(e){Mn(this,"active",0);Mn(this,"waiters",[]);this.max=e}async run(e){var t;this.active>=this.max&&await new Promise(i=>this.waiters.push(i)),this.active+=1;try{return await e()}finally{this.active-=1,(t=this.waiters.shift())==null||t()}}}function nS(n){var t,i,a,c,f;const e={};return(t=n.metrics)!=null&&t.length&&(e.metrics=n.metrics),(i=n.dimensions)!=null&&i.length&&(e.dimensions=n.dimensions),(a=n.filters)!=null&&a.length&&(e.filters=n.filters),(c=n.segments)!=null&&c.length&&(e.segments=n.segments),(f=n.orderBy)!=null&&f.length&&(e.order_by=n.orderBy),n.limit!=null&&(e.limit=n.limit),n.offset!=null&&(e.offset=n.offset),n.ungrouped&&(e.ungrouped=!0),n.parameters&&(e.parameters=n.parameters),n.usePreaggregations!=null&&(e.use_preaggregations=n.usePreaggregations),n.timezone&&n.timezone!=="UTC"&&(e.timezone=n.timezone),e}class rS{constructor(e={}){Mn(this,"baseUrl");Mn(this,"token");Mn(this,"sessionToken");Mn(this,"transport");Mn(this,"usePreaggregations");Mn(this,"gate");Mn(this,"onUnauthorized");this.baseUrl=(e.baseUrl??"").replace(/\/$/,""),this.token=e.token,this.transport=e.transport??"json",this.usePreaggregations=e.usePreaggregations??!0,this.gate=new tS(e.maxConcurrency??6),this.onUnauthorized=e.onUnauthorized}body(e){return nS({usePreaggregations:this.usePreaggregations,...e})}headers(e){const t={...e};return this.sessionToken?t.Authorization=`Sidemantic-Session ${this.sessionToken}`:this.token&&(t.Authorization=`Bearer ${this.token}`),t}isCrossOrigin(){return!this.baseUrl||typeof globalThis.location>"u"?!1:new URL(this.baseUrl,globalThis.location.href).origin!==globalThis.location.origin}url(e){return`${this.baseUrl}${e}`}async getJson(e){const t=await fetch(this.url(e),{headers:this.headers(),credentials:"include"});if(!t.ok)throw new Error(await this.errorText(t,e));return await t.json()}async errorText(e,t){var a;e.status===401&&((a=this.onUnauthorized)==null||a.call(this));let i="";try{const c=await e.json();i=c.error??c.detail??""}catch{}return`${t} failed (${e.status})${i?`: ${i}`:""}`}async health(){try{return(await fetch(this.url("/health"),{headers:this.headers(),credentials:"include"})).ok}catch{return!1}}async getCatalog(){try{const t=await fetch(this.url("/describe"),{headers:this.headers(),credentials:"include"});if(t.ok){const i=Sb(await t.json());try{return Nb(i,await this.getJson("/graph"))}catch{return i}}}catch{}const e=await this.getJson("/graph");return _b(e)}async getDashboard(){try{const e=await fetch(this.url("/dashboard"),{headers:this.headers()});if(e.status===404)return null;if(!e.ok)throw new Error(await this.errorText(e,"/dashboard"));if(!(e.headers.get("content-type")??"").includes("application/json"))return null;const t=await e.json();return typeof t.title=="string"&&Array.isArray(t.tabs)?X1(t):null}catch{return null}}async compile(e){const t=await fetch(this.url("/compile"),{method:"POST",headers:this.headers({"Content-Type":"application/json"}),credentials:"include",body:JSON.stringify(this.body(e))});if(!t.ok)throw new Error(await this.errorText(t,"/compile"));return(await t.json()).sql}async runQuery(e){return this.gate.run(()=>this.transport==="arrow"?this.runQueryArrow(e):this.runQueryJson(e))}async runQueryJson(e){const t=await fetch(this.url("/query"),{method:"POST",headers:this.headers({"Content-Type":"application/json"}),credentials:"include",body:JSON.stringify(this.body(e))});if(!t.ok)throw new Error(await this.errorText(t,"/query"));const i=await t.json(),a=i.rows??[];return{columns:a.length?Object.keys(a[0]):[],rows:a,rowCount:i.row_count??a.length,sql:i.sql??""}}async runQueryArrow(e){const t=await fetch(this.url("/query?format=arrow"),{method:"POST",headers:this.headers({"Content-Type":"application/json",Accept:eS}),credentials:"include",body:JSON.stringify(this.body(e))});if(!t.ok)throw new Error(await this.errorText(t,"/query"));const i=new Uint8Array(await t.arrayBuffer()),{columns:a,rows:c}=Z1(i),f=t.headers.get("X-Sidemantic-Sql")??"";return{columns:a,rows:c,rowCount:c.length,sql:f}}async createBrowserSession(e){var a;const t=this.isCrossOrigin(),i=await fetch(this.url("/auth/session"),{method:"POST",headers:{Authorization:`Bearer ${e}`,...t?{"X-Sidemantic-Session-Mode":"header"}:{}},credentials:"include"});if(i.status===404||i.ok&&!((a=i.headers.get("content-type"))!=null&&a.includes("application/json"))){this.token=e;return}if(!i.ok)throw new Error(await this.errorText(i,"/auth/session"));if(t){const c=await i.json();if(!c.session_token)throw new Error("/auth/session did not return a cross-origin session token");this.sessionToken=c.session_token}this.token=void 0}}function Dv({brand:n,toolbar:e,filters:t,rail:i,children:a,drawer:c,showRail:f=!0,openRailRequest:h}){const[m,g]=I.useState(()=>typeof window<"u"&&window.matchMedia("(max-width: 767px)").matches),[v,x]=I.useState(()=>typeof window>"u"||!window.matchMedia("(max-width: 767px)").matches),b=I.useId(),w=I.useRef(null),_=I.useRef(null),C=f&&v;return I.useEffect(()=>{const T=window.matchMedia("(max-width: 767px)"),V=()=>{g(T.matches),x(!T.matches)};return T.addEventListener("change",V),()=>T.removeEventListener("change",V)},[]),I.useEffect(()=>{h&&!m&&x(!0)},[h,m]),I.useEffect(()=>{if(!m||!v)return;const T=_.current,V=document.body.style.overflow;document.body.style.overflow="hidden",window.requestAnimationFrame(()=>{var R,O;return(O=(R=w.current)==null?void 0:R.querySelector("button"))==null?void 0:O.focus()});function $(R){var L;if(R.key==="Escape"){R.preventDefault(),x(!1);return}if(R.key!=="Tab")return;const O=(L=w.current)==null?void 0:L.querySelectorAll('button:not(:disabled), select:not(:disabled), input:not(:disabled), [href], [tabindex]:not([tabindex="-1"])');if(!(O!=null&&O.length))return;const E=O[0],D=O[O.length-1];R.shiftKey&&document.activeElement===E?(R.preventDefault(),D.focus()):!R.shiftKey&&document.activeElement===D&&(R.preventDefault(),E.focus())}return document.addEventListener("keydown",$,!0),()=>{document.body.style.overflow=V,document.removeEventListener("keydown",$,!0),T==null||T.focus()}},[m,v]),u.jsxs("div",{className:"flex h-[100dvh] min-w-0 flex-col overflow-hidden bg-bg text-ink",children:[u.jsxs("header",{className:"relative z-40 flex shrink-0 flex-col gap-2 border-b border-line bg-surface px-3 py-2 md:flex-row md:items-center md:justify-between md:gap-3",children:[u.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[f?u.jsx("button",{ref:_,type:"button","aria-label":m?"Open catalog":v?"Collapse sidebar":"Expand sidebar","aria-expanded":v,"aria-controls":b,onClick:()=>x(T=>!T),className:"grid size-7 shrink-0 place-items-center border border-line text-faint hover:border-faint hover:text-ink",children:v?"‹":"›"}):null,n]}),u.jsx("div",{className:"flex w-full min-w-0 flex-wrap items-center gap-2 overflow-visible md:w-auto md:shrink-0 md:flex-nowrap",children:e})]}),t?u.jsx("div",{className:"flex min-h-9 shrink-0 flex-wrap items-center gap-2 overflow-x-auto border-b border-line bg-surface px-3 py-2 md:h-9 md:flex-nowrap md:py-0",children:t}):null,u.jsxs("div",{className:`grid min-h-0 min-w-0 flex-1 grid-cols-1 ${C?"md:grid-cols-[260px_minmax(0,1fr)]":"md:grid-cols-1"}`,children:[f&&C?u.jsxs(u.Fragment,{children:[m?u.jsx("button",{type:"button","aria-label":"Close catalog",className:"fixed inset-0 z-40 bg-black/35 backdrop-blur-[2px]",onClick:()=>x(!1)}):null,u.jsxs("aside",{id:b,ref:w,role:m?"dialog":void 0,"aria-modal":m?"true":void 0,"aria-label":m?"Data catalog":void 0,onClick:T=>{m&&T.target.closest("[data-catalog-metric], [data-catalog-dimension]")&&x(!1)},onChange:()=>m&&x(!1),className:"fixed inset-y-0 left-0 z-50 min-h-0 w-[min(88vw,320px)] overflow-y-auto bg-surface shadow-[var(--shadow)] md:static md:z-auto md:w-auto md:border-r md:border-line md:shadow-none",children:[m?u.jsxs("div",{"data-testid":"catalog-drawer-header",className:"sticky top-0 z-10 flex items-center justify-between border-b border-line bg-surface px-4 py-3",children:[u.jsxs("div",{children:[u.jsx("p",{className:"text-sm font-semibold text-ink",children:"Catalog"}),u.jsx("p",{className:"text-xs text-muted",children:"Choose a model and fields"})]}),u.jsx("button",{type:"button","aria-label":"Close catalog",onClick:()=>x(!1),className:"grid size-10 place-items-center rounded-full bg-surface-soft text-muted hover:bg-line hover:text-ink",children:u.jsx("span",{"aria-hidden":"true",className:"text-xl leading-none",children:"×"})})]}):null,i]})]}):null,u.jsxs("main",{className:"relative min-h-0 min-w-0 overflow-hidden",children:[u.jsx("div",{className:`h-full overflow-y-auto ${c?"pb-8":""}`,children:a}),c]})]})]})}function sS({dashboardTitle:n,modelLabel:e,onHome:t}){const i=u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"text-sm font-semibold text-ink",children:n??"Sidemantic"}),n===void 0&&e?u.jsx("span",{className:"truncate text-2xs text-faint",children:e}):null]});return n!==void 0?u.jsx("span",{className:"flex min-w-0 items-baseline gap-2",children:i}):u.jsx("button",{type:"button",onClick:t,"aria-label":"Home",className:"flex min-w-0 items-baseline gap-2",children:i})}const iS=new Set(["second","minute","hour","day","week","month","quarter","year"]);function hl(n){return n===void 0?[]:Array.isArray(n)?n:[n]}function pl(n,e){return n.models.flatMap(t=>t.dimensions).find(t=>e===t.ref||e.startsWith(`${t.ref}__`))}function oS(n,e){const t=n.split("__").at(-1);return t&&iS.has(t)?t:e}function aS(n){var a;const e=(a=n.defaults)==null?void 0:a.query;if(!e||typeof e!="object")return;const t=e,i=t.use_preaggregations??t.usePreaggregations;return typeof i=="boolean"?i:void 0}function lS(n,e){var c;const t=(c=n.defaults)==null?void 0:c.query,i=t&&typeof t=="object"?t:{},a=e.query.interaction_preaggregations??e.query.interactionPreaggregations??e.interaction_preaggregations??e.interactionPreaggregations??i.interaction_preaggregations??i.interactionPreaggregations;return typeof a=="boolean"?a:void 0}function Fs(n,e,t){var O,E,D,L,G,W,Y;if(!(e!=null&&e.tabs.length))return null;const i=e.tabs.find(P=>P.id===t)??e.tabs[0],a=i.charts[0];if(!a)return null;const c=hl(a.query.dimensions),f=hl(a.query.metrics),h=f.map(P=>{var ee;return(ee=n.graphMetrics.find(X=>X.ref===P))==null?void 0:ee.ownerModel}).find(P=>!!P),m=((O=f.find(P=>P.includes(".")))==null?void 0:O.split(".")[0])??h??((E=c.find(P=>P.includes(".")))==null?void 0:E.split(".")[0]),g=n.models.find(P=>P.name===m)??n.models[0];if(!g)return null;const v=[...n.models.flatMap(P=>P.metrics),...Di(n,g.name)],x=f.map(P=>v.find(ee=>ee.ref===P)).filter(P=>!!P),b=c.map(P=>pl(n,P)).filter((P,ee,X)=>!!P&&X.findIndex(oe=>(oe==null?void 0:oe.ref)===(P==null?void 0:P.ref))===ee),w=(D=a.encoding)==null?void 0:D.y,C=(Array.isArray(w)?w:w?[w]:[]).find(P=>x.some(ee=>ee.ref===P))??((L=x[0])==null?void 0:L.ref)??((G=g.metrics[0])==null?void 0:G.ref)??"",T=(W=a.encoding)==null?void 0:W.x,V=(T&&((Y=pl(n,T))==null?void 0:Y.type)==="time"?T:void 0)??c.find(P=>{var ee;return((ee=pl(n,P))==null?void 0:ee.type)==="time"}),$=g.defaultGrain??"month",R=V?pl(n,V):g.timeDimension;return{id:i.id,label:i.label??i.id,title:a.title??e.title,model:g,metrics:x.length?x:g.metrics,dimensions:b.length?b:g.dimensions,timeDimension:R,selectedMetric:C,grain:V?oS(V,$):$,filters:hl(a.query.filters),segments:hl(a.query.segments),usePreaggregations:lS(e,a)??a.query.use_preaggregations??a.query.usePreaggregations??aS(e)}}const Ld=["second","minute","hour","day","week","month","quarter","year"];function cS(n,e){if(n!=null&&n.length){const i=new Set(n.map(c=>c.toLowerCase())),a=Ld.filter(c=>i.has(c));if(a.length)return a}const t=["day","week","month","quarter","year"];return e&&!t.includes(e)?Ld.filter(i=>i===e||t.includes(i)):t}function Mi(n){return n.toISOString().slice(0,10)}function uf(n){return n.slice(0,10)}function Ei(n){const e=n.trim();return/^\d{4}-\d{2}-\d{2}$/.test(e)?`${e}T00:00:00Z`:/[zZ]|[+-]\d{2}:?\d{2}$/.test(e)?e:`${e.replace(" ","T")}Z`}function Os(n){return new Date(`${uf(n)}T00:00:00Z`)}function Qo(n,e){const t=Os(n);return t.setUTCDate(t.getUTCDate()+e),Mi(t)}function uS(n){return Math.round((Os(n.to).getTime()-Os(n.from).getTime())/864e5)+1}function dS(n){if(n.from.includes("T")||n.to.includes("T")){const a=Date.parse(Ei(n.from)),f=Date.parse(Ei(n.to))-a;return{from:new Date(a-f).toISOString().slice(0,19),to:new Date(a).toISOString().slice(0,19)}}const e=uS(n),t=Qo(n.from,-1);return{from:Qo(t,-(e-1)),to:t}}function Pm(n){if(n.includes("T")){const f=new Date(Ei(n)),h=f.getUTCFullYear()-1,m=f.getUTCMonth(),g=new Date(Date.UTC(h,m+1,0)).getUTCDate();return new Date(Date.UTC(h,m,Math.min(f.getUTCDate(),g),f.getUTCHours(),f.getUTCMinutes(),f.getUTCSeconds())).toISOString().slice(0,19)}const e=Os(n),t=e.getUTCFullYear()-1,i=e.getUTCMonth(),a=e.getUTCDate(),c=new Date(Date.UTC(t,i+1,0)).getUTCDate();return Mi(new Date(Date.UTC(t,i,Math.min(a,c))))}function fS(n){return{from:Pm(n.from),to:Pm(n.to)}}function hS(n,e){const t=n.trim(),i=t.slice(0,10);if(e!=="second"&&e!=="minute"&&e!=="hour")return i||n;const a=t.slice(10).match(/(\d{2}):(\d{2})(?::(\d{2}))?/);if(!a)return i||n;const c=e==="second"&&a[3]?`${a[1]}:${a[2]}:${a[3]}`:`${a[1]}:${a[2]}`;return`${i} ${c}`}const pS=[{key:"7d",label:"Last 7 days",days:7},{key:"28d",label:"Last 28 days",days:28},{key:"90d",label:"Last 90 days",days:90},{key:"180d",label:"Last 180 days",days:180},{key:"365d",label:"Last 12 months",days:365}];function mS(n,e=new Date){const t=Mi(e);return{from:Qo(t,-(n-1)),to:t}}function yS(n,e){return e.from.includes("T")||e.to.includes("T")?[`${n} >= cast('${e.from}' as timestamp)`,`${n} < cast('${e.to}' as timestamp)`]:[`${n} >= cast('${e.from}' as date)`,`${n} < cast('${Qo(e.to,1)}' as date)`]}function zm(n,e,t){if(t==="second"||t==="minute"||t==="hour"){const f=t==="second"?1e3:t==="minute"?6e4:36e5;return Math.round((Date.parse(Ei(e))-Date.parse(Ei(n)))/f)}const i=Os(n),a=Os(e),c=(a.getUTCFullYear()-i.getUTCFullYear())*12+(a.getUTCMonth()-i.getUTCMonth());switch(t){case"week":return Math.round((a.getTime()-i.getTime())/(7*864e5));case"month":return c;case"quarter":return Math.round(c/3);case"year":return a.getUTCFullYear()-i.getUTCFullYear();default:return Math.round((a.getTime()-i.getTime())/864e5)}}function hd(n,e){return new Date(Date.parse(Ei(n))+e).toISOString().slice(0,19)}function gS(n,e){const t=uf(n),i=Os(t);switch(e){case"second":return hd(n,1e3);case"minute":return hd(n,6e4);case"hour":return hd(n,36e5);case"day":return t;case"week":return Qo(n,6);case"month":return Mi(new Date(Date.UTC(i.getUTCFullYear(),i.getUTCMonth()+1,0)));case"quarter":{const a=Math.floor(i.getUTCMonth()/3)*3+3;return Mi(new Date(Date.UTC(i.getUTCFullYear(),a,0)))}case"year":return Mi(new Date(Date.UTC(i.getUTCFullYear(),12,0)));default:return n}}function df(n){return n.mode==="contains"?!n.pattern:n.values.length===0}function ff(n){return Object.fromEntries(n.map(e=>[e.ref,e.type]))}function pc(n){return ff(n.models.flatMap(e=>e.dimensions))}function Vm(n,e,t){if((e==="numeric"||e==="number")&&n.trim()!==""&&Number.isFinite(Number(n)))return n;if(e==="boolean"){const i=n.toLowerCase();if(i==="true"||i==="false")return i}return Qn(n,t)}function vS(n){return n.replaceAll("\\","\\\\").replaceAll("%","\\%").replaceAll("_","\\_")}function Cv(n,e,t){const i=Qn(`%${vS(e)}%`,t);return`CAST(${n} AS VARCHAR) ILIKE ${i}${t==="clickhouse"?"":" ESCAPE '\\'"}`}function xS(n,e,t,i){const a=e.mode==="exclude",c=e.values.includes(er),f=e.values.filter(m=>m!==er);let h=null;if(f.length===1)h=`${n} ${a?"!=":"="} ${Vm(f[0],t,i)}`;else if(f.length>1){const m=f.map(g=>Vm(g,t,i)).join(", ");h=`${n} ${a?"NOT IN":"IN"} (${m})`}if(!a){const m=[];return h&&m.push(h),c&&m.push(`${n} IS NULL`),m.length===0?null:m.length===1?m[0]:`(${m.join(" OR ")})`}if(c){const m=[];return h&&m.push(h),m.push(`${n} IS NOT NULL`),m.length===1?m[0]:`(${m.join(" AND ")})`}return h?`(${h} OR ${n} IS NULL)`:null}function Fv(n,e={}){var i;const t=[];for(const[a,c]of Object.entries(n)){if(a===e.excludeDim||df(c))continue;const f=(i=e.types)==null?void 0:i[a];if(c.mode==="contains"){t.push(Cv(a,c.pattern??"",e.dialect));continue}const h=xS(a,c,f,e.dialect);h&&t.push(h)}return t}function Ts(n,e={}){const t=Fv(n,{types:e.types,excludeDim:e.excludeDim,dialect:e.dialect});return e.timeRef&&e.range&&t.push(...yS(e.timeRef,e.range)),t}function pd(n,e,t,i){return{metrics:n,filters:e,...t!=null&&t.length?{segments:t}:{},...i!=null?{usePreaggregations:i}:{}}}const bS={second:2e3,minute:2e3,hour:9600,day:4e3,week:800,month:240,quarter:120,year:60};function Wm(n,e,t,i,a,c,f=!1){const h=`${e}__${t}`,m=t==="second"||t==="minute",g=m&&!f;return{metrics:n,dimensions:[h],filters:i,...a!=null&&a.length?{segments:a}:{},...c!=null?{usePreaggregations:c}:{},orderBy:[`${h} ${g?"DESC":"ASC"}`],...!m||g?{limit:bS[t]??2e3}:{}}}function Hm(n,e,t,i=6,a,c){return{metrics:[n],dimensions:[e],filters:t,...a!=null&&a.length?{segments:a}:{},...c!=null?{usePreaggregations:c}:{},orderBy:[`${n} DESC`],limit:i}}function wS(n,e,t=50,i,a){return{dimensions:[n],filters:e,...i!=null&&i.length?{segments:i}:{},...a!=null?{usePreaggregations:a}:{},orderBy:[`${n} ASC`],limit:t}}function SS(n,e,t,i,a=500){return{metrics:n,dimensions:e,filters:t,orderBy:i,limit:a}}function _S(n,e,t=50,i,a){return{dimensions:n.dimensions,metrics:n.metrics,filters:e,...i!=null&&i.length?{segments:i}:{},...a!=null?{usePreaggregations:a}:{},ungrouped:!0,limit:t}}function NS(n,e){const t=n??[];return t.includes(e)?t.filter(i=>i!==e):[...t,e]}function ml(n,e,t){const i={...n};return df(t)?delete i[e]:i[e]=t,i}function jS(n,e){switch(e.type){case"hydrate":return e.state;case"setView":return{...n,view:e.view};case"setDashboardTab":return{...n,view:"explore",dashboardTab:e.tab,model:e.model,selectedMetric:e.metric,grain:e.grain,filters:{},dateRange:void 0,pivotDims:[],pivotMetrics:[]};case"setModel":return{...n,model:e.model,selectedMetric:e.metric,grain:e.grain,filters:{},pivotDims:[],pivotMetrics:[]};case"setMetric":return{...n,selectedMetric:e.metric};case"toggleFilter":{const t=n.filters[e.dim],i=e.mode??(t&&t.mode!=="contains"?t.mode:"include"),a=t&&t.mode===i?t.values:[],c=NS(a,e.value);return{...n,filters:ml(n.filters,e.dim,{mode:i,values:c})}}case"setFilterMode":{const t=n.filters[e.dim],i={mode:e.mode,values:(t==null?void 0:t.values)??[],pattern:t==null?void 0:t.pattern};return{...n,filters:ml(n.filters,e.dim,i)}}case"setFilterPattern":{const t=n.filters[e.dim],i={mode:"contains",values:(t==null?void 0:t.values)??[],pattern:e.pattern};return{...n,filters:ml(n.filters,e.dim,i)}}case"removeFilterValue":{const t=n.filters[e.dim];if(!t)return n;const i=t.values.filter(a=>a!==e.value);return{...n,filters:ml(n.filters,e.dim,{...t,values:i})}}case"removeFilterDim":{const t={...n.filters};return delete t[e.dim],{...n,filters:t}}case"clearFilters":return{...n,filters:{}};case"setGrain":return{...n,grain:e.grain};case"setTimezone":return{...n,timezone:e.timezone};case"setDateRange":return{...n,dateRange:e.range};case"setContextColumn":return{...n,contextColumn:e.column};case"setComparison":return{...n,comparison:e.comparison,comparisonRange:e.comparison==="custom"?e.range:void 0};case"setPivotDims":return{...n,pivotDims:e.dims};case"setPivotMetrics":return{...n,pivotMetrics:e.metrics};case"reset":return{...e.initial,view:n.view};default:return n}}function kS(n){return n.models.find(e=>e.timeDimension)??n.models[0]}function Ov(n,e){var t,i;return((t=n==null?void 0:n.metrics[0])==null?void 0:t.ref)??(n?(i=Di(e,n.name)[0])==null?void 0:i.ref:void 0)??""}function Tv(n,e,t){const i=Fs(n,e,t),a=(i==null?void 0:i.model)??kS(n),c=(i==null?void 0:i.selectedMetric)??Ov(a,n);return{view:i?"explore":"home",dashboardTab:i==null?void 0:i.id,model:(a==null?void 0:a.name)??"",selectedMetric:c,filters:{},grain:(i==null?void 0:i.grain)??(a==null?void 0:a.defaultGrain)??"month",timezone:"UTC",dateRange:void 0,contextColumn:"none",comparison:"previous",comparisonRange:void 0,pivotDims:[],pivotMetrics:[]}}function IS(n,e,t){const i=new URLSearchParams(t),a=i.get("metric"),c=i.get("grain"),f=a===n.selectedMetric&&e.metrics.some(m=>m.ref===a),h=c===n.grain;return{...n,view:"explore",dashboardTab:e.id,model:e.model.name,selectedMetric:f?n.selectedMetric:e.selectedMetric,grain:h?n.grain:e.grain}}const MS=["home","explore","pivot"],DS=new Set(Ld),CS=new Set(["none","pctTotal","delta","deltaPct"]),FS=new Set(["off","previous","year","custom"]),OS="none",TS="previous",AS="UTC";function BS(n){return n!=null&&/^[A-Za-z][A-Za-z0-9/_+-]{0,63}$/.test(n)}function md(n){if(n)try{return JSON.parse(n)}catch{return}}function oc(n){return Array.isArray(n)&&n.every(e=>typeof e=="string")}function yl(n){return n!=null&&/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2})?$/.test(n)&&!Number.isNaN(Date.parse(n))}const ES=new Set(["include","exclude","contains"]);function RS(n){if(oc(n))return{mode:"include",values:n};if(typeof n!="object"||n===null||Array.isArray(n))return null;const e=n;if(!ES.has(e.mode))return null;const t=e.mode,i=oc(e.values)?e.values:[],a=typeof e.pattern=="string"?e.pattern:void 0,c={mode:t,values:i,pattern:a};return df(c)?null:c}function LS(n){if(typeof n!="object"||n===null||Array.isArray(n))return null;const e={};for(const[t,i]of Object.entries(n)){const a=RS(i);a&&(e[t]=a)}return e}function US(n){const e={};for(const[t,i]of Object.entries(n))e[t]=i.mode==="include"?i.values:i;return e}function $S(n){const e=new URLSearchParams;return e.set("view",n.view),n.dashboardTab&&e.set("tab",n.dashboardTab),n.model&&e.set("model",n.model),n.selectedMetric&&e.set("metric",n.selectedMetric),n.grain&&e.set("grain",n.grain),n.timezone&&n.timezone!==AS&&e.set("tz",n.timezone),n.dateRange&&(e.set("from",n.dateRange.from),e.set("to",n.dateRange.to)),n.contextColumn!==OS&&e.set("ctx",n.contextColumn),n.comparison!==TS&&e.set("cmp",n.comparison),n.comparison==="custom"&&n.comparisonRange&&(e.set("cfrom",n.comparisonRange.from),e.set("cto",n.comparisonRange.to)),Object.keys(n.filters).length&&e.set("filters",JSON.stringify(US(n.filters))),n.pivotDims.length&&e.set("pdims",JSON.stringify(n.pivotDims)),n.pivotMetrics.length&&e.set("pmetrics",JSON.stringify(n.pivotMetrics)),e.toString()}function PS(n,e){const t=new URLSearchParams(n),i={...e},a=t.get("view");a&&MS.includes(a)&&(i.view=a);const c=t.get("tab");c&&(i.dashboardTab=c);const f=t.get("model");f&&(i.model=f);const h=t.get("metric");h&&(i.selectedMetric=h);const m=t.get("grain");m&&DS.has(m)&&(i.grain=m);const g=t.get("tz");BS(g)&&(i.timezone=g);const v=t.get("from"),x=t.get("to");yl(v)&&yl(x)&&Date.parse(v)<=Date.parse(x)&&(i.dateRange={from:v,to:x});const b=t.get("ctx");b&&CS.has(b)&&(i.contextColumn=b);const w=t.get("cmp");w&&FS.has(w)&&(i.comparison=w);const _=t.get("cfrom"),C=t.get("cto");i.comparison==="custom"&&yl(_)&&yl(C)&&Date.parse(_)<=Date.parse(C)&&(i.comparisonRange={from:_,to:C});const T=LS(md(t.get("filters")));T&&(i.filters=T);const V=md(t.get("pdims"));oc(V)&&(i.pivotDims=V);const $=md(t.get("pmetrics"));return oc($)&&(i.pivotMetrics=$),i}const Av=I.createContext(null);function Gm(n){const e=$S(n);return e?`?${e}`:""}function Ym(n,e,t,i){const a=PS(n,i),c=Fs(e,t,a.dashboardTab);return c?IS(a,c,n):a}const Qm=n=>n.startsWith("?")?n.slice(1):n;function zS({catalog:n,backend:e,dashboard:t,initialSearch:i,onSearchChange:a,children:c}){const f=I.useMemo(()=>Tv(n,t),[n,t]),[h,m]=I.useReducer(jS,void 0,()=>{const b=i??(typeof window>"u"?"":window.location.search);return Ym(b,n,t,f)}),g=I.useRef(i);I.useEffect(()=>{i===void 0||i===g.current||(g.current=i,Qm(i)!==Qm(Gm(h))&&m({type:"hydrate",state:Ym(i,n,t,f)}))},[i,h,n,t,f]);const v=I.useRef(a);v.current=a,I.useEffect(()=>{const b=Gm(h),w=v.current;if(w){w(b);return}typeof window>"u"||window.history.replaceState(null,"",`${window.location.pathname}${b}`)},[h]);const x=I.useMemo(()=>({state:h,dispatch:m,catalog:n,backend:e,initial:f,dashboard:t}),[h,n,e,f,t]);return u.jsx(Av.Provider,{value:x,children:c})}function ls(){const n=I.useContext(Av);if(!n)throw new Error("useExplorer must be used within ExplorerProvider");return n}const Ms={active:0,listeners:new Set};function Bv(){for(const n of Ms.listeners)n()}function VS(){Ms.active+=1,Bv()}function WS(){Ms.active=Math.max(0,Ms.active-1),Bv()}function Ev(){return I.useSyncExternalStore(n=>(Ms.listeners.add(n),()=>Ms.listeners.delete(n)),()=>Ms.active>0,()=>!1)}const HS=80;function Bn(n,e){const[t,i]=I.useState({loading:!1}),a=I.useRef(0),c=e?JSON.stringify(e):null;return I.useEffect(()=>{if(!e){i({loading:!1});return}const f=++a.current;i(m=>({result:m.result,resultKey:m.resultKey,loading:!0}));const h=setTimeout(()=>{VS(),n.runQuery(e).then(m=>{f===a.current&&i({result:m,resultKey:c??void 0,loading:!1})}).catch(m=>{f===a.current&&i({loading:!1,error:m instanceof Error?m.message:String(m)})}).finally(()=>WS())},HS);return()=>clearTimeout(h)},[c,n]),{...t,queryKey:c??void 0}}const GS=[{mode:"include",label:"Include"},{mode:"exclude",label:"Exclude"},{mode:"contains",label:"Contains"}],YS=50,Km=200;function Jm(n,e){const[t,i]=I.useState(n);return I.useEffect(()=>{const a=setTimeout(()=>i(n),e);return()=>clearTimeout(a)},[n,e]),t}function Rv({dim:n,model:e,onClose:t}){var H,N;const{state:i,dispatch:a,backend:c,catalog:f,dashboard:h}=ls(),m=I.useMemo(()=>Fs(f,h,i.dashboardTab),[f,h,i.dashboardTab]),g=i.filters[n.ref],[v,x]=I.useState((g==null?void 0:g.mode)??"include"),b=I.useMemo(()=>new Set((g==null?void 0:g.mode)!=="contains"?(g==null?void 0:g.values)??[]:[]),[g]),w=I.useRef(null),_=I.useRef(null),C=I.useId(),[T,V]=I.useState(""),$=Jm(T,Km),R=(g==null?void 0:g.mode)==="contains"?g.pattern??"":"",[O,E]=I.useState(R),D=Jm(O,Km);I.useEffect(()=>{var te;const F=document.activeElement;return(te=_.current)==null||te.focus(),()=>{var he;return(he=F==null?void 0:F.focus)==null?void 0:he.call(F)}},[]),I.useEffect(()=>{function F(he){he.key==="Escape"&&(he.stopPropagation(),t())}function te(he){w.current&&!w.current.contains(he.target)&&t()}return document.addEventListener("keydown",F,!0),document.addEventListener("mousedown",te,!0),()=>{document.removeEventListener("keydown",F,!0),document.removeEventListener("mousedown",te,!0)}},[t]),I.useEffect(()=>{v==="contains"&&D!==R&&a({type:"setFilterPattern",dim:n.ref,pattern:D})},[D,v,n.ref,a]);const L=((H=m==null?void 0:m.timeDimension)==null?void 0:H.ref)??((N=e.timeDimension)==null?void 0:N.ref),G=I.useMemo(()=>pc(f),[f]),W=I.useMemo(()=>{const F=[...(m==null?void 0:m.filters)??[],...Ts(i.filters,{timeRef:L,range:i.dateRange,excludeDim:n.ref,types:G,dialect:f.dialect})];return $.trim()&&F.push(Cv(n.ref,$.trim(),f.dialect)),F},[m,i.filters,L,i.dateRange,n.ref,$,G,f.dialect]),Y=v!=="contains",{result:P,loading:ee,error:X}=Bn(c,Y?wS(n.ref,W,YS,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations):null),oe=Sr(n.ref),ae=I.useMemo(()=>P?P.rows.map(F=>{const te=F[oe];return te==null?er:String(te)}):[],[P,oe]),se=!!P&&P.rows.length>0&&!P.columns.includes(oe),ne=Y&&(ee||se);function A(F){x(F),g&&a({type:"setFilterMode",dim:n.ref,mode:F}),F==="contains"&&E(R)}function Q(F){var pe;if(F.key!=="Tab")return;const te=(pe=w.current)==null?void 0:pe.querySelectorAll('button, input, [href], select, textarea, [tabindex]:not([tabindex="-1"])');if(!te||te.length===0)return;const he=te[0],re=te[te.length-1];F.shiftKey&&document.activeElement===he?(F.preventDefault(),re.focus()):!F.shiftKey&&document.activeElement===re&&(F.preventDefault(),he.focus())}return u.jsxs("div",{ref:w,role:"dialog","aria-modal":"true","aria-labelledby":C,onKeyDown:Q,className:"absolute left-0 z-50 mt-1 w-64 border border-line bg-surface p-2 text-2xs shadow-lg",children:[u.jsxs("div",{id:C,className:"mb-2 flex items-baseline justify-between gap-2",children:[u.jsx("span",{className:"truncate font-semibold text-ink",children:n.label}),u.jsx("button",{type:"button","aria-label":"Close filter editor",onClick:t,className:"grid size-4 place-items-center rounded-full bg-surface-soft text-faint hover:bg-line hover:text-ink",children:"×"})]}),u.jsx("div",{role:"group","aria-label":"Filter mode",className:"mb-2 grid grid-cols-3 gap-px border border-line bg-line",children:GS.map(({mode:F,label:te})=>u.jsx("button",{type:"button","aria-pressed":v===F,onClick:()=>A(F),className:`px-1.5 py-1 text-center ${v===F?"bg-accent-soft font-medium text-accent":"bg-surface text-muted hover:bg-surface-soft"}`,children:te},F))}),v==="contains"?u.jsx("input",{ref:_,type:"text","aria-label":`${n.label} contains`,placeholder:"Substring…",value:O,onChange:F=>E(F.target.value),className:"w-full border border-line bg-surface px-1.5 py-1 text-2xs text-ink placeholder:text-faint"}):u.jsxs(u.Fragment,{children:[u.jsx("input",{ref:_,type:"text","aria-label":`Search ${n.label} values`,placeholder:"Search values…",value:T,onChange:F=>V(F.target.value),className:"w-full border border-line bg-surface px-1.5 py-1 text-2xs text-ink placeholder:text-faint"}),u.jsx("div",{className:"mt-2 max-h-56 overflow-y-auto",role:"group","aria-label":`${n.label} values`,children:X?u.jsx("p",{className:"px-1 py-2 text-danger",children:X}):ne?u.jsx("div",{className:"space-y-1.5 p-1",children:[0,1,2,3,4].map(F=>u.jsx("div",{className:"skeleton h-4 w-full"},F))}):ae.length===0?u.jsx("p",{className:"px-1 py-2 text-faint",children:"No values"}):ae.map(F=>{const te=b.has(F);return u.jsxs("label",{className:"flex cursor-pointer items-center gap-2 px-1 py-1 hover:bg-surface-soft",children:[u.jsx("input",{type:"checkbox",checked:te,onChange:()=>a({type:"toggleFilter",dim:n.ref,value:F,mode:v}),className:"size-3 accent-[var(--accent)]"}),u.jsx("span",{className:"min-w-0 truncate text-ink",children:rs(F)})]},F)})})]}),u.jsxs("div",{className:"mt-2 flex items-center justify-between border-t border-line pt-2",children:[u.jsx("button",{type:"button",onClick:()=>a({type:"removeFilterDim",dim:n.ref}),className:"text-muted underline-offset-2 hover:text-ink hover:underline",children:"Clear"}),u.jsx("button",{type:"button",onClick:t,className:"border border-line px-2 py-1 text-muted hover:bg-surface-soft",children:"Done"})]})]})}function QS({model:n}){const e=n.dimensions.filter(m=>m.type!=="time"),[t,i]=I.useState(!1),[a,c]=I.useState(null),f=I.useRef(null);I.useEffect(()=>{if(!t)return;function m(v){v.key==="Escape"&&h()}function g(v){a||f.current&&!f.current.contains(v.target)&&h()}return document.addEventListener("keydown",m,!0),document.addEventListener("mousedown",g,!0),()=>{document.removeEventListener("keydown",m,!0),document.removeEventListener("mousedown",g,!0)}},[t,a]);function h(){i(!1),c(null)}return e.length===0?null:u.jsxs("span",{ref:f,className:"relative inline-flex",children:[u.jsx("button",{type:"button","aria-haspopup":"dialog","aria-expanded":t,onClick:()=>t?h():i(!0),className:"inline-flex h-7 shrink-0 items-center rounded-full border border-dashed border-line px-3 text-xs text-muted hover:border-faint hover:text-ink",children:"+ Filter"}),t&&!a?u.jsx("div",{role:"menu","aria-label":"Add a filter for a dimension",className:"absolute left-0 z-50 mt-1 max-h-64 w-48 overflow-y-auto rounded-xl border border-line bg-surface p-1.5 text-2xs shadow-[var(--shadow)]",children:e.map(m=>u.jsx("button",{type:"button",role:"menuitem",onClick:()=>c(m),className:"block w-full truncate px-1.5 py-1 text-left text-muted hover:bg-surface-soft hover:text-ink",children:m.label},m.ref))}):null,t&&a?u.jsx(Rv,{dim:a,model:n,onClose:h}):null]})}function yd(n,e){return n.includes(e)?n.filter(t=>t!==e):[...n,e]}function qm({metric:n,selected:e,multiple:t,onSelect:i}){return u.jsxs("button",{type:"button","data-catalog-metric":n.ref,"data-selected":e||void 0,"aria-pressed":e,title:n.description,onClick:i,className:"flex w-full items-center justify-between gap-2 border-l-2 px-3 py-1 text-left text-xs hover:bg-surface-soft data-[selected=true]:border-l-accent data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent border-l-transparent text-muted",children:[u.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[t?u.jsx("span",{"aria-hidden":"true",className:"w-3 shrink-0 text-center text-accent",children:e?"✓":""}):null,u.jsx("span",{className:"truncate",children:n.label})]}),n.agg?u.jsx("span",{className:"shrink-0 text-2xs text-faint",children:n.agg}):null]})}function KS({dimension:n,selected:e,onSelect:t}){return u.jsxs("button",{type:"button","data-catalog-dimension":n.ref,"data-selected":e||void 0,"aria-pressed":e,title:n.description,onClick:t,className:"flex w-full items-center justify-between gap-2 border-l-2 border-l-transparent px-3 py-1 text-left text-xs text-muted hover:bg-surface-soft data-[selected=true]:border-l-accent data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent",children:[u.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[u.jsx("span",{"aria-hidden":"true",className:"w-3 shrink-0 text-center",children:e?"✓":""}),u.jsx("span",{className:"truncate",children:n.label})]}),u.jsx("span",{className:"shrink-0 text-2xs text-faint",children:n.type==="time"?"time":""})]})}function JS(){const{state:n,dispatch:e,catalog:t}=ls(),i=t.models.find(h=>h.name===n.model),a=Di(t,n.model),c=n.view==="pivot",f=n.pivotMetrics.length?n.pivotMetrics:n.selectedMetric?[n.selectedMetric]:[];return u.jsxs("nav",{"aria-label":"Semantic layer catalog",className:"flex flex-col gap-4 py-3 text-sm",children:[u.jsxs("section",{className:"px-3",children:[u.jsx("h2",{className:"mb-1 text-xs font-medium text-muted",children:"Model"}),u.jsx("select",{"aria-label":"Model",value:n.model,onChange:h=>{var v,x;const m=t.models.find(b=>b.name===h.target.value),g=((v=m==null?void 0:m.metrics[0])==null?void 0:v.ref)??((x=Di(t,h.target.value)[0])==null?void 0:x.ref)??"";e({type:"setModel",model:h.target.value,metric:g,grain:(m==null?void 0:m.defaultGrain)??"month"})},className:"w-full border border-line bg-surface px-2 py-1 text-xs text-ink",children:t.models.map(h=>u.jsx("option",{value:h.name,children:h.label},h.name))})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-1 px-3 text-xs font-medium text-muted",children:"Metrics"}),u.jsx("div",{children:((i==null?void 0:i.metrics)??[]).map(h=>u.jsx(qm,{metric:h,selected:c?f.includes(h.ref):n.selectedMetric===h.ref,multiple:c,onSelect:()=>e(c?{type:"setPivotMetrics",metrics:yd(f,h.ref)}:{type:"setMetric",metric:h.ref})},h.ref))}),a.length?u.jsxs(u.Fragment,{children:[u.jsx("h3",{className:"mb-1 mt-3 px-3 text-xs font-medium text-muted",children:"Shared metrics"}),u.jsx("div",{children:a.map(h=>u.jsx(qm,{metric:h,selected:c?f.includes(h.ref):n.selectedMetric===h.ref,multiple:c,onSelect:()=>e(c?{type:"setPivotMetrics",metrics:yd(f,h.ref)}:{type:"setMetric",metric:h.ref})},h.ref))})]}):null]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-1 px-3 text-xs font-medium text-muted",children:"Dimensions"}),c?u.jsx("div",{children:((i==null?void 0:i.dimensions)??[]).map(h=>u.jsx(KS,{dimension:h,selected:n.pivotDims.includes(h.ref),onSelect:()=>e({type:"setPivotDims",dims:yd(n.pivotDims,h.ref)})},h.ref))}):u.jsx("ul",{className:"px-3 text-xs text-muted",children:((i==null?void 0:i.dimensions)??[]).map(h=>u.jsxs("li",{className:"flex items-center justify-between gap-2 py-0.5",title:h.description,children:[u.jsx("span",{className:"truncate",children:h.label}),u.jsx("span",{className:"shrink-0 text-2xs text-faint",children:h.type==="time"?"time":""})]},h.ref))})]})]})}class qS extends I.Component{constructor(){super(...arguments);Mn(this,"state",{})}static getDerivedStateFromError(t){return{error:t}}render(){return this.state.error?u.jsx("div",{className:"p-4",children:u.jsxs("div",{className:"border border-danger/40 bg-surface p-4",children:[u.jsx("p",{className:"text-sm font-semibold text-danger",children:"Something went wrong rendering this view."}),u.jsx("p",{className:"mt-1 break-words text-xs text-muted",children:this.state.error.message}),u.jsxs("div",{className:"mt-3 flex gap-2",children:[u.jsx("button",{type:"button",onClick:()=>this.setState({error:void 0}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Retry"}),u.jsx("button",{type:"button",onClick:()=>window.location.reload(),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Reload"})]})]})}):this.props.children}}const ZS=[{key:"off",label:"Off"},{key:"previous",label:"Previous period"},{key:"year",label:"Previous year"},{key:"custom",label:"Custom range"}];function Lv({range:n,disabled:e,onChange:t,comparison:i,comparisonRange:a,onComparisonChange:c}){const f=I.useRef(null),[h,m]=I.useState((n==null?void 0:n.from)??""),[g,v]=I.useState((n==null?void 0:n.to)??""),[x,b]=I.useState((a==null?void 0:a.from)??""),[w,_]=I.useState((a==null?void 0:a.to)??"");function C(){f.current&&(f.current.open=!1)}function T(O){t(O),C()}function V(O){O==="custom"?c("custom",x&&w?{from:x,to:w}:void 0):c(O)}const $=n?`${n.from} → ${n.to}`:"All time",R=!n;return u.jsxs("details",{ref:f,className:"relative text-xs",onToggle:O=>{e&&(O.currentTarget.open=!1)},children:[u.jsxs("summary",{"aria-disabled":e||void 0,tabIndex:e?-1:void 0,onClick:O=>e&&O.preventDefault(),onKeyDown:O=>{e&&(O.key==="Enter"||O.key===" ")&&O.preventDefault()},className:`flex h-7 cursor-pointer items-center gap-1.5 rounded-full border border-line bg-surface px-3 text-ink ${e?"cursor-not-allowed opacity-50":""}`,children:[u.jsx("span",{className:"text-faint",children:"Range"}),u.jsx("span",{className:"tnum",children:$}),u.jsx("span",{"aria-hidden":"true",className:"text-faint",children:"▾"})]}),u.jsxs("div",{className:"absolute right-0 z-50 mt-1 w-64 rounded-xl border border-line bg-surface p-1.5 shadow-[var(--shadow)]",children:[u.jsx("button",{type:"button",onClick:()=>T(void 0),className:"w-full rounded-lg px-2.5 py-1.5 text-left text-xs text-muted hover:bg-surface-soft hover:text-ink",children:"All time"}),u.jsx("div",{className:"grid grid-cols-2",children:pS.map(O=>u.jsx("button",{type:"button",onClick:()=>T(mS(O.days)),className:"rounded-lg px-2.5 py-1.5 text-left text-xs text-muted hover:bg-surface-soft hover:text-ink",children:O.label},O.key))}),u.jsxs("div",{className:"mt-2 px-1 pb-1",children:[u.jsxs("div",{className:"flex items-center gap-1.5",children:[u.jsx("input",{type:"date","aria-label":"From date",value:h,onChange:O=>m(O.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"}),u.jsx("span",{className:"text-faint",children:"→"}),u.jsx("input",{type:"date","aria-label":"To date",value:g,onChange:O=>v(O.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"})]}),u.jsx("button",{type:"button",disabled:!h||!g,onClick:()=>T({from:h,to:g}),className:"mt-1.5 inline-flex h-7 w-full items-center justify-center rounded-full border border-accent bg-accent-soft text-xs font-medium text-accent hover:bg-accent hover:text-surface disabled:pointer-events-none disabled:opacity-50",children:"Apply custom range"})]}),u.jsxs("div",{className:"mt-1 px-1 pb-1","data-testid":"comparison-picker",children:[u.jsx("p",{className:"mb-1 px-1.5 text-2xs text-faint",children:"Compare to"}),u.jsx("div",{className:`grid grid-cols-2 ${R?"opacity-50":""}`,children:ZS.map(O=>u.jsx("button",{type:"button",disabled:R,"data-comparison":O.key,"data-active":i===O.key||void 0,onClick:()=>V(O.key),className:"rounded-lg px-2.5 py-1.5 text-left text-xs text-muted hover:bg-surface-soft hover:text-ink data-[active=true]:bg-accent-soft data-[active=true]:text-accent",children:O.label},O.key))}),i==="custom"&&!R?u.jsxs("div",{className:"mt-1.5",children:[u.jsxs("div",{className:"flex items-center gap-1.5",children:[u.jsx("input",{type:"date","aria-label":"Comparison from date",value:x,onChange:O=>b(O.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"}),u.jsx("span",{className:"text-faint",children:"→"}),u.jsx("input",{type:"date","aria-label":"Comparison to date",value:w,onChange:O=>_(O.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"})]}),u.jsx("button",{type:"button",disabled:!x||!w,onClick:()=>c("custom",{from:x,to:w}),className:"mt-1.5 inline-flex h-7 w-full items-center justify-center rounded-full border border-accent bg-accent-soft text-xs font-medium text-accent hover:bg-accent hover:text-surface disabled:pointer-events-none disabled:opacity-50",children:"Apply comparison"})]}):null]})]})]})}function Ud(n){const[e,t]=I.useState(!1);if(!("dim"in n))return u.jsxs("span",{"data-dimension":n.dimension,"data-value":n.value,className:"inline-flex max-w-full items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 text-2xs leading-4 text-muted",children:[u.jsxs("span",{className:"truncate",children:[u.jsxs("span",{className:"text-faint",children:[n.dimensionLabel??n.dimension,":"]})," ",n.value]}),n.onRemove?u.jsx("button",{type:"button","aria-label":`Remove filter ${n.value}`,onClick:n.onRemove,className:"-mr-0.5 px-0.5 text-faint hover:text-ink",children:"×"}):null]});const{dim:i,model:a,filter:c,onRemove:f}=n;return u.jsxs("span",{className:"relative inline-flex max-w-full items-center","data-dimension":i.ref,"data-mode":c.mode,children:[u.jsxs("span",{className:"inline-flex max-w-full items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 text-2xs leading-4 text-muted",children:[u.jsxs("button",{type:"button","aria-label":`Edit filter ${i.label}`,"aria-haspopup":"dialog","aria-expanded":e,onClick:()=>t(h=>!h),className:"min-w-0 truncate text-left hover:text-ink",children:[u.jsx("span",{className:"text-faint",children:i.label})," ",bb(c)]}),u.jsx("button",{type:"button","aria-label":`Remove filter ${i.label}`,onClick:f,className:"grid size-3.5 shrink-0 place-items-center rounded-full bg-surface-soft text-faint hover:bg-line hover:text-ink",children:"×"})]}),e?u.jsx(Rv,{dim:i,model:a,onClose:()=>t(!1)}):null]})}function $d({grain:n,options:e,disabled:t,onChange:i}){return u.jsxs("label",{className:"flex items-center gap-1.5 text-xs text-faint",children:[u.jsx("span",{className:"hidden sm:inline",children:"Grain"}),u.jsx("select",{"aria-label":"Time grain",value:n,disabled:t,onChange:a=>i(a.target.value),className:"h-7 rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50",children:e.map(a=>u.jsx("option",{value:a,children:Le(a)},a))})]})}const XS=["UTC","America/Los_Angeles","America/Denver","America/Chicago","America/New_York","America/Sao_Paulo","Europe/London","Europe/Berlin","Europe/Paris","Europe/Moscow","Asia/Dubai","Asia/Kolkata","Asia/Singapore","Asia/Shanghai","Asia/Tokyo","Australia/Sydney"];let gl=null;function Zm(){if(gl)return gl;const n=typeof Intl.supportedValuesOf=="function"?Intl.supportedValuesOf("timeZone"):[];return gl=[...new Set(["UTC",...n])].sort(),gl}function e_(n){if(!n)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:n}),!0}catch{return!1}}function t_(n,e=new Date){var t;try{const c=(((t=new Intl.DateTimeFormat("en-US",{timeZone:n,timeZoneName:"shortOffset"}).formatToParts(e).find(g=>g.type==="timeZoneName"))==null?void 0:t.value)??"").match(/([+-])(\d{1,2})(?::(\d{2}))?/);if(!c)return n==="UTC"?"+00:00":"";const f=c[1],h=c[2].padStart(2,"0"),m=c[3]??"00";return`${f}${h}:${m}`}catch{return""}}const Xm="__search__";function n_({timezone:n,disabled:e,onChange:t}){const i=I.useId(),[a,c]=I.useState(!1),[f,h]=I.useState(""),m=I.useMemo(()=>{const b=new Set(XS);return n&&b.add(n),[...b]},[n]),g=I.useMemo(()=>a?Zm():[],[a]);function v(b){const w=b.trim();e_(w)&&(t(w),c(!1),h(""))}if(a)return u.jsxs("label",{className:"flex items-center gap-1.5 text-2xs text-faint",children:[u.jsx("span",{className:"hidden sm:inline",children:"Zone"}),u.jsx("input",{type:"text",list:i,autoFocus:!0,"aria-label":"Search timezone",placeholder:"Region/City…",value:f,disabled:e,onChange:b=>{h(b.target.value),Zm().includes(b.target.value)&&v(b.target.value)},onKeyDown:b=>{b.key==="Enter"?v(f):b.key==="Escape"&&(c(!1),h(""))},onBlur:()=>{c(!1),h("")},className:"h-7 w-36 rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50"}),u.jsx("datalist",{id:i,children:g.map(b=>u.jsx("option",{value:b},b))})]});const x=t_(n);return u.jsxs("label",{className:"flex items-center gap-1.5 text-2xs text-faint",children:[u.jsx("span",{className:"hidden sm:inline",children:"Zone"}),u.jsxs("select",{"aria-label":"Timezone",value:n,disabled:e,onChange:b=>{b.target.value===Xm?c(!0):t(b.target.value)},className:"h-7 max-w-[11rem] rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50",children:[m.map(b=>u.jsxs("option",{value:b,children:[b,b==="UTC"?"":x&&b===n?` (${x})`:""]},b)),u.jsx("option",{value:Xm,children:"Search…"})]})]})}function r_(n,e,t){if(t==="count")return n.length;const i=n.map(c=>typeof c[e]=="number"?c[e]:Number(c[e])).filter(Number.isFinite);if(i.length===0)return Number.NaN;if(t==="min")return Math.min(...i);if(t==="max")return Math.max(...i);const a=i.reduce((c,f)=>c+f,0);return t==="avg"?a/i.length:a}const s_={sum:"Σ",avg:"avg",min:"min",max:"max",count:"n"};function Ui({columns:n,rows:e,loading:t,sortKey:i,sortDir:a,onSort:c,renderCell:f,pageSize:h=50,searchable:m,totals:g,stickyHeader:v=!0}){const[x,b]=I.useState(0),[w,_]=I.useState(""),C=I.useMemo(()=>{const D=w.trim().toLowerCase();return!m||!D?e:e.filter(L=>n.some(G=>String(L[G.key]??"").toLowerCase().includes(D)))},[e,n,w,m]),{paginate:T,pageCount:V,safePage:$,start:R,visibleRows:O}=yb(C,x,h);I.useEffect(()=>{b(0)},[e,h,i,a,w]);const E=g&&n.some(D=>g[D.key]);return u.jsxs("div",{children:[m?u.jsxs("div",{className:"mb-2 flex items-center justify-end gap-2",children:[w?u.jsxs("span",{className:"whitespace-nowrap text-2xs text-faint tnum",children:[C.length.toLocaleString()," of ",e.length.toLocaleString()]}):null,u.jsx("input",{type:"search","aria-label":"Search rows",placeholder:"Search…",value:w,onChange:D=>_(D.target.value),className:"h-7 w-full max-w-64 rounded-full border border-line bg-surface px-2.5 text-xs text-ink placeholder:text-faint"})]}):null,u.jsx("div",{className:"overflow-auto border border-line bg-surface",children:u.jsxs("table",{className:"w-max min-w-full border-collapse text-xs","data-testid":"pivot-table",children:[u.jsx("thead",{children:u.jsx("tr",{className:"bg-surface-soft",children:n.map(D=>{const L=i===D.key;return u.jsx("th",{className:`max-w-80 whitespace-nowrap border-b border-line bg-surface-soft px-3 py-1.5 font-semibold text-faint ${D.numeric?"min-w-32 text-right":"min-w-40 text-left"} ${v?"sticky top-0 z-10":""}`,children:D.sortable&&c?u.jsxs("button",{type:"button",onClick:()=>c(D.key),"aria-label":`Sort by ${D.label}${L?`, currently ${a==="asc"?"ascending":"descending"}`:""}`,className:`table-sort inline-flex max-w-full items-center gap-1 whitespace-nowrap hover:text-ink ${L?"text-ink":""}`,children:[u.jsx("span",{className:"truncate",children:D.label}),u.jsx("span",{"aria-hidden":"true",className:"text-[9px]",children:L?a==="asc"?"▲":"▼":"↕"})]}):u.jsx("span",{className:"block truncate",title:D.label,children:D.label})},D.key)})})}),u.jsx("tbody",{children:t&&C.length===0?u.jsx("tr",{children:u.jsx("td",{colSpan:n.length,className:"px-3 py-6 text-center text-faint",children:"Loading…"})}):C.length===0?u.jsx("tr",{children:u.jsx("td",{colSpan:n.length,className:"px-3 py-6 text-center text-faint",children:w?"No matching rows":"No rows"})}):O.map((D,L)=>u.jsx("tr",{className:"hover:bg-surface-soft",children:n.map(G=>{const W=f(G,D[G.key]);return u.jsx("td",{className:`max-w-80 whitespace-nowrap border-b border-line px-3 py-1.5 text-muted ${G.numeric?"min-w-32 text-right font-mono tnum text-ink":"min-w-40"}`,children:u.jsx("span",{className:"block max-w-80 truncate",title:W,children:W})},G.key)})},R+L))}),E&&C.length>0?u.jsx("tfoot",{children:u.jsx("tr",{className:"bg-surface-soft","data-testid":"table-totals",children:n.map(D=>{const L=g==null?void 0:g[D.key];if(!L)return u.jsx("td",{className:"border-t border-line px-3 py-1.5"},D.key);const G=r_(C,D.key,L),W=L==="count"?G.toLocaleString():Number.isFinite(G)?f(D,G):"—";return u.jsxs("td",{"data-total":L,className:`whitespace-nowrap border-t border-line px-3 py-1.5 font-mono tnum font-medium text-ink ${D.numeric?"text-right":"text-left"}`,children:[u.jsx("span",{"aria-hidden":"true",className:"mr-1 text-2xs text-faint",children:s_[L]}),W]},D.key)})})}):null]})}),T?u.jsxs("div",{"data-testid":"pivot-table-pager",className:"mt-1.5 flex items-center justify-between gap-3 text-2xs text-faint",children:[u.jsxs("span",{className:"tnum",children:[R+1,"–",Math.min(R+h,C.length)," of ",C.length.toLocaleString(),t?" · Updating…":""]}),u.jsxs("div",{className:"flex gap-1",children:[u.jsx("button",{type:"button",disabled:$===0,onClick:()=>b(D=>Math.max(0,D-1)),className:"table-pager-button px-2 py-1 text-muted hover:text-ink disabled:cursor-not-allowed disabled:opacity-40",children:"Prev"}),u.jsx("button",{type:"button",disabled:$>=V-1,onClick:()=>b(D=>Math.min(V-1,D+1)),className:"table-pager-button px-2 py-1 text-muted hover:text-ink disabled:cursor-not-allowed disabled:opacity-40",children:"Next"})]})]}):null]})}function i_(n,e){const t=e.filter(i=>n.some(a=>a.ref===i));return t.length?t:n.slice(0,6).map(i=>i.ref)}function o_(){var $,R;const[n,e]=I.useState(!1),{state:t,catalog:i,backend:a,dashboard:c}=ls(),f=i.models.find(O=>O.name===t.model),h=I.useMemo(()=>Fs(i,c,t.dashboardTab),[i,c,t.dashboardTab]),m=(h==null?void 0:h.dimensions)??(f==null?void 0:f.dimensions)??[],g=i_(m,t.pivotDims),v=(($=h==null?void 0:h.timeDimension)==null?void 0:$.ref)??((R=f==null?void 0:f.timeDimension)==null?void 0:R.ref),x=I.useMemo(()=>pc(i),[i]),b=I.useMemo(()=>[...(h==null?void 0:h.filters)??[],...Ts(t.filters,{timeRef:v,range:t.dateRange,types:x,dialect:i.dialect})],[h,t.filters,v,t.dateRange,x,i.dialect]),w=n&&f?_S({dimensions:g,metrics:[]},b,50,h==null?void 0:h.segments,h==null?void 0:h.usePreaggregations):null,{result:_,loading:C,error:T}=Bn(a,w),V=[...g.map(O=>{var E;return{key:Sr(O),label:((E=m.find(D=>D.ref===O))==null?void 0:E.label)??Le(O)}})];return u.jsxs("section",{"data-testid":"row-preview-drawer","data-open":n||void 0,className:"absolute inset-x-0 bottom-0 z-30 border-t border-line bg-surface shadow-[0_-8px_24px_rgba(0,0,0,0.16)]",children:[u.jsxs("button",{type:"button","aria-expanded":n,onClick:()=>e(O=>!O),className:"flex h-8 w-full items-center justify-between px-3 text-left text-xs font-medium text-muted hover:bg-surface-soft hover:text-ink",children:[u.jsx("span",{children:"Rows preview"}),u.jsx("span",{"aria-hidden":"true",children:n?"▼":"▲"})]}),n?u.jsx("div",{className:"max-h-[45vh] overflow-auto border-t border-line",children:T?u.jsx("p",{role:"alert",className:"p-3 text-xs text-danger",children:T}):V.length===0?u.jsx("p",{className:"p-3 text-xs text-faint",children:"No preview fields are available."}):u.jsx(Ui,{columns:V,rows:(_==null?void 0:_.rows)??[],loading:C,pageSize:10,renderCell:(O,E)=>E==null||E===""?"—":String(E)})}):null]})}function hf({tone:n,title:e,message:t}){const i=n==="danger";return u.jsx("div",{className:`grid min-h-[200px] place-items-center border bg-surface p-6 text-center ${i?"border-danger/40":"border-line"}`,"data-state":n,role:i?"alert":"status","aria-live":i?"assertive":"polite",children:u.jsxs("div",{className:"max-w-md",children:[n==="loading"?u.jsx("span",{"aria-hidden":"true",className:"motion-safe:animate-pulse inline-block size-2 rounded-full bg-accent"}):null,e?u.jsx("h3",{className:`text-sm font-semibold ${i?"text-danger":"text-ink"}`,children:e}):null,u.jsx("p",{className:`mt-1 text-xs ${i?"text-danger":"text-muted"}`,children:t})]})})}function mc({title:n="Loading",message:e="Loading metrics…"}){return u.jsx(hf,{tone:"loading",title:n,message:e})}function Xn({title:n="No results",message:e}){return u.jsx(hf,{tone:"muted",title:n,message:e})}function $i({title:n="Query failed",message:e}){return u.jsx(hf,{tone:"danger",title:n,message:e})}function gd({status:n}){const e=n==="ok"?"bg-success":n==="loading"?"bg-faint animate-pulse":"bg-line";return u.jsx("span",{"aria-hidden":"true",className:`inline-block size-2 rounded-full ${e}`})}const Uv="sidemantic-theme";function pf(){var e;const n=localStorage.getItem(Uv);return n==="light"||n==="dark"?n:(e=window.matchMedia)!=null&&e.call(window,"(prefers-color-scheme: dark)").matches?"dark":"light"}function $v(n){document.documentElement.dataset.theme=n}function a_(){$v(pf())}function l_(){const n=pf()==="dark"?"light":"dark";return localStorage.setItem(Uv,n),$v(n),n}function Ko(){const[n,e]=I.useState(pf());return u.jsx("button",{type:"button","aria-label":n==="dark"?"Switch to light theme":"Switch to dark theme",title:n==="dark"?"Light theme":"Dark theme",onClick:()=>e(l_()),className:"grid size-7 place-items-center border border-line bg-surface text-faint hover:border-faint hover:text-ink",children:n==="dark"?u.jsxs("svg",{viewBox:"0 0 24 24",className:"size-3.5",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[u.jsx("circle",{cx:"12",cy:"12",r:"4"}),u.jsx("path",{d:"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"})]}):u.jsx("svg",{viewBox:"0 0 24 24",className:"size-3.5",fill:"none",stroke:"currentColor",strokeWidth:"2",children:u.jsx("path",{d:"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z"})})})}const Oo=[{key:"explore",label:"Explore"},{key:"pivot",label:"Pivot"}];function Pv({view:n,onChange:e}){const t=I.useRef(null);function i(a){const c=Math.max(0,Oo.findIndex(h=>h.key===n)),f=Oo[(c+a+Oo.length)%Oo.length];e(f.key),window.requestAnimationFrame(()=>{var h,m;return(m=(h=t.current)==null?void 0:h.querySelector(`[data-view="${f.key}"]`))==null?void 0:m.focus()})}return u.jsx("div",{ref:t,role:"tablist","aria-label":"View",className:"inline-flex items-center gap-0.5 rounded-full border border-line bg-surface p-px",children:Oo.map(a=>u.jsx("button",{role:"tab",type:"button","aria-selected":n===a.key,tabIndex:n===a.key?0:-1,"data-view":a.key,"data-selected":n===a.key||void 0,onClick:()=>e(a.key),onKeyDown:c=>{c.key==="ArrowLeft"?(c.preventDefault(),i(-1)):c.key==="ArrowRight"&&(c.preventDefault(),i(1))},className:"inline-flex h-6 items-center rounded-full px-2.5 text-xs font-medium text-muted hover:bg-surface-soft hover:text-ink data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent",children:a.label},a.key))})}const zv="dashboard_filters",Vv="dashboard_ranges",Wv="dashboard_filter_sources",Hv="dashboard_range_sources",Gv="dashboard_chart_filters",Yv="dashboard_chart_ranges";function c_(n,e){if(n==="/explore")return!0;const t=new URLSearchParams(e).get("view");return t==="explore"||t==="pivot"}function mf(n,e){var i,a;if(!e||!(n.query.dimensions??[]).includes(e))return!1;const t=(i=n.interactions)==null?void 0:i.select;return t===!0?!0:t?!((a=t.fields)!=null&&a.length)||t.fields.includes(e):!1}function u_(n){return(n.query.dimensions??[]).find(e=>mf(n,e))}function d_(n,e){var i,a;if(!e||!(n.query.dimensions??[]).includes(e))return!1;const t=(i=n.interactions)==null?void 0:i.brush;return t===!0?!0:!t||t.channel&&t.channel!=="x"?!1:!((a=t.fields)!=null&&a.length)||t.fields.includes(e)}function ac(n){return n==null?er:String(n)}function f_(n){let e=n.trim().replaceAll(/[^A-Za-z0-9_]/g,"_").replaceAll(/^_+|_+$/g,"")||"field";return/^\d/.test(e)&&(e=`field_${e}`),e}function xr(n,e){const t=Sr(n),i=f_(n);return i!==t&&e.includes(i)?i:e.includes(t)?t:e.find(a=>a.endsWith(t))??t}function h_(n){var t;const e=(t=n.encoding)==null?void 0:t.y;return Array.isArray(e)&&e.length?e:typeof e=="string"?[e]:n.query.metrics.slice(0,1)}function p_(n,e,t,i,a){return Object.fromEntries([[e,t],...i.map((c,f)=>[c,a[f]])].filter(c=>typeof c[1]=="string"&&mf(n,c[0])))}function m_(n,e,t){return[e,...t].some(i=>mf(n,i))}const y_=new Set(["second","minute","hour","day","week","month","quarter","year"]);function Ds(n){const e=n.lastIndexOf("__");if(e<0)return null;const t=n.slice(e+2);return y_.has(t)?{baseDimension:n.slice(0,e),grain:t}:null}function Qv(n,e){var c,f;if(n.type&&n.type!=="auto")return n.type;const t=((c=n.encoding)==null?void 0:c.x)??((f=n.query.dimensions)==null?void 0:f[0])??"",i=Ds(t);return(e[t]??(i?e[i.baseDimension]:void 0))==="time"?"line":"bar"}function Kv(n,e){const t=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?$/.test(n)?`${n}Z`:n,i=new Date(t);return Number.isFinite(i.getTime())?(e==="second"?i.setUTCSeconds(i.getUTCSeconds()+1):e==="minute"?i.setUTCMinutes(i.getUTCMinutes()+1):e==="hour"?i.setUTCHours(i.getUTCHours()+1):e==="day"?i.setUTCDate(i.getUTCDate()+1):e==="week"?i.setUTCDate(i.getUTCDate()+7):e==="month"?i.setUTCMonth(i.getUTCMonth()+1):e==="quarter"?i.setUTCMonth(i.getUTCMonth()+3):e==="year"&&i.setUTCFullYear(i.getUTCFullYear()+1),/^\d{4}-\d{2}-\d{2}$/.test(n)?i.toISOString().slice(0,10):i.toISOString()):null}function Jv(n,e,t){const i=Ds(n);if(i){const a=Kv(e.to,i.grain);return a?`${i.baseDimension} >= ${Qn(e.from,t)} AND ${i.baseDimension} < ${Qn(a,t)}`:`${i.baseDimension} >= ${Qn(e.from,t)} AND ${i.baseDimension} <= ${Qn(e.to,t)}`}return`${n} >= ${Qn(e.from,t)} AND ${n} <= ${Qn(e.to,t)}`}function g_(n,e,t,i){const a=Ds(n);return a?e===er?[`${a.baseDimension} IS NULL`]:[Jv(n,{from:e,to:e},i)]:Fv({[n]:{mode:"include",values:[e]}},{types:t,dialect:i})}function lc(n,e){const t=n.tabs.find(i=>i.charts.includes(e));return`${(t==null?void 0:t.id)??"dashboard"}:${e.id}`}function yf(n,e,t){var f,h,m,g,v;const i=((h=(f=n.defaults)==null?void 0:f.interactions)==null?void 0:h.scope)??"dashboard";if(i==="dashboard")return t;if(i==="chart"){const x=lc(n,e);return{filters:{...Object.fromEntries(Object.entries(t.filters).filter(([b])=>t.filterSources[b]===x)),...((m=t.chartFilters)==null?void 0:m[x])??{}},ranges:{...Object.fromEntries(Object.entries(t.ranges).filter(([b])=>t.rangeSources[b]===x)),...((g=t.chartRanges)==null?void 0:g[x])??{}}}}const a=((v=n.tabs.find(x=>x.charts.includes(e)))==null?void 0:v.charts)??[e],c=new Set(a.flatMap(x=>x.query.dimensions??[]));return{filters:Object.fromEntries(Object.entries(t.filters).filter(([x])=>c.has(x))),ranges:Object.fromEntries(Object.entries(t.ranges).filter(([x])=>c.has(x)))}}function v_(n,e,t,i,a={},c={filterSources:{},rangeSources:{}},f){var w,_,C,T,V,$;const h=yf(n,e,{filters:t,ranges:a,...c}),m=((w=e.encoding)==null?void 0:w.x)??((_=e.query.dimensions)==null?void 0:_[0])??"",g=e.query.order_by??e.query.orderBy,v=m&&["line","area"].includes(Qv(e,i))?[`${m} ASC`]:void 0,x={metrics:e.query.metrics,dimensions:e.query.dimensions,filters:[...e.query.filters??[],...Object.entries(h.filters).flatMap(([R,O])=>g_(R,O,i,f)),...Object.entries(h.ranges).map(([R,O])=>Jv(R,O,f))],segments:e.query.segments,orderBy:g??v,limit:e.query.limit??500},b=e.query.use_preaggregations??e.query.usePreaggregations??((T=(C=n.defaults)==null?void 0:C.query)==null?void 0:T.use_preaggregations)??(($=(V=n.defaults)==null?void 0:V.query)==null?void 0:$.usePreaggregations);return b!==void 0&&(x.usePreaggregations=b),x}function ey(n){const e=/^(\d{4}-\d{2}-\d{2})/.exec(n);return(e==null?void 0:e[1])??null}function ty(n,e){const t=ey(e.from);if(!t)return null;const i=Ds(n);if(!i){const f=ey(e.to);return f?{from:t,to:f}:null}const a=Kv(e.to,i.grain);if(!a)return null;const c=new Date(a);return c.setUTCMilliseconds(c.getUTCMilliseconds()-1),{from:t,to:c.toISOString().slice(0,10)}}function x_(n,e,t,i={},a){var O,E,D;const c=(O=e.encoding)==null?void 0:O.y,f=(Array.isArray(c)?c[0]:c)??e.query.metrics[0]??"",h=e.query.dimensions??[],m=a==null?void 0:a.graphMetrics.find(L=>L.ref===f),g=f.includes(".")?f.split(".")[0]:((E=h[0])==null?void 0:E.split(".")[0])??(m==null?void 0:m.ownerModel)??(m==null?void 0:m.model)??"",v=yf(n,e,t),x=Object.entries(v.filters).flatMap(([L,G])=>{const W=Ds(L);return W?[{dimension:L,value:G,baseDimension:W.baseDimension}]:[]}),b=Object.fromEntries(Object.entries(v.filters).flatMap(([L,G])=>{const W=Ds(L);return W?G===er?[[W.baseDimension,[G]]]:[]:[[L,[G]]]})),w=new URLSearchParams({view:"explore",model:g,metric:f});Object.keys(b).length&&w.set("filters",JSON.stringify(b));const _=((D=e.encoding)==null?void 0:D.x)??h[0],C=x.find(({baseDimension:L,value:G})=>G!==er&&(!g||L.startsWith(`${g}.`))),T=Object.keys(v.ranges),V=[_,...T].find((L,G,W)=>{if(!L||W.indexOf(L)!==G||!v.ranges[L])return!1;const Y=Ds(L);return((i[L]??(Y?i[Y.baseDimension]:void 0))==="time"||!!Y)&&(!g||L.startsWith(`${g}.`))}),$=V?v.ranges[V]:void 0,R=C?ty(C.dimension,{from:C.value,to:C.value}):V&&$?ty(V,$):null;return R&&(w.set("from",R.from),w.set("to",R.to)),`/explore?${w}`}function b_(n,e,t,i){const a=new Map;for(const c of n){const f=Number(c[t]);if(!Number.isFinite(f))continue;const h=i.map(b=>ac(c[b])),m=JSON.stringify(h),g=h.length?h.map(rs).join(" · "):"Current",v=a.get(m)??{label:g,filterValues:h,data:[]},x=ac(c[e]);v.data.push({label:rs(x),filterValue:x,value:f}),a.set(m,v)}return[...a.values()]}function w_(n,e,t,i){const a=[],c=new Set,f=new Map;for(const h of n){if(h[e]==null)continue;const m=String(h[e]),g=Number(h[t]);if(!Number.isFinite(g))continue;c.has(m)||(c.add(m),a.push(m));const v=i.map(_=>ac(h[_])),x=JSON.stringify(v),b=v.length?v.map(rs).join(" · "):"Current",w=f.get(x)??{label:b,values:new Map};w.values.set(m,g),f.set(x,w)}return[...f.values()].map(h=>({label:h.label,points:a.map(m=>({x:m,y:h.values.get(m)??Number.NaN}))}))}function gf(n,e){if(typeof n!="object"||n===null||Array.isArray(n))return{};const t={};for(const[i,a]of Object.entries(n))e.has(i)&&typeof a=="string"&&(t[i]=a);return t}function vf(n,e){if(typeof n!="object"||n===null||Array.isArray(n))return{};const t={};for(const[i,a]of Object.entries(n)){if(!e.has(i)||typeof a!="object"||a===null||Array.isArray(a))continue;const c=a;typeof c.from=="string"&&typeof c.to=="string"&&(t[i]={from:c.from,to:c.to})}return t}function cc(n,e){return typeof n!="object"||n===null||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).filter(t=>e.has(t[0])&&typeof t[1]=="string"))}function qv(n,e){return typeof n!="object"||n===null||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).flatMap(([t,i])=>{const a=e.get(t);if(!a)return[];const c=gf(i,a);return Object.keys(c).length?[[t,c]]:[]}))}function Zv(n,e){return typeof n!="object"||n===null||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).flatMap(([t,i])=>{const a=e.get(t);if(!a)return[];const c=vf(i,a);return Object.keys(c).length?[[t,c]]:[]}))}function Xv(n){return new Set(n.tabs.flatMap(e=>e.charts.flatMap(t=>t.query.dimensions??[])))}function e0(n){return new Map(n.tabs.flatMap(e=>e.charts.map(t=>[lc(n,t),new Set(t.query.dimensions??[])])))}function S_(n,e){var _;const t=new URLSearchParams(n),i=((_=e.tabs[0])==null?void 0:_.id)??"",a=t.get("tab"),c=e.tabs.some(C=>C.id===a)?a??i:i;let f,h,m,g,v,x;try{f=JSON.parse(t.get(zv)??"{}")}catch{f={}}try{h=JSON.parse(t.get(Vv)??"{}")}catch{h={}}try{m=JSON.parse(t.get(Wv)??"{}")}catch{m={}}try{g=JSON.parse(t.get(Hv)??"{}")}catch{g={}}try{v=JSON.parse(t.get(Gv)??"{}")}catch{v={}}try{x=JSON.parse(t.get(Yv)??"{}")}catch{x={}}const b=Xv(e),w=e0(e);return{tab:c,filters:gf(f,b),ranges:vf(h,b),filterSources:cc(m,b),rangeSources:cc(g,b),chartFilters:qv(v,w),chartRanges:Zv(x,w)}}function __(n,e){var c;const t=new URLSearchParams;n.tab&&n.tab!==((c=e.tabs[0])==null?void 0:c.id)&&t.set("tab",n.tab),Object.keys(n.filters).length&&t.set(zv,JSON.stringify(n.filters)),Object.keys(n.ranges).length&&t.set(Vv,JSON.stringify(n.ranges));const i=Object.fromEntries(Object.entries(n.filterSources).filter(([f])=>f in n.filters)),a=Object.fromEntries(Object.entries(n.rangeSources).filter(([f])=>f in n.ranges));return Object.keys(i).length&&t.set(Wv,JSON.stringify(i)),Object.keys(a).length&&t.set(Hv,JSON.stringify(a)),Object.keys(n.chartFilters??{}).length&&t.set(Gv,JSON.stringify(n.chartFilters)),Object.keys(n.chartRanges??{}).length&&t.set(Yv,JSON.stringify(n.chartRanges)),t.toString()}function t0(n){return`sidemantic-dashboard-views:${`${n.schema??"sidemantic.dashboard.v1"}:${n.title}`}`}function N_(n){try{const e=JSON.parse(localStorage.getItem(t0(n))??"[]");if(!Array.isArray(e))return[];const t=Xv(n);return e.flatMap(i=>{var m;if(typeof i!="object"||i===null||Array.isArray(i))return[];const a=i;if(typeof a.name!="string"||!a.name.trim())return[];if(typeof a.state!="object"||a.state===null||Array.isArray(a.state))return[];const c=a.state,f=n.tabs.some(g=>g.id===c.tab)?String(c.tab):((m=n.tabs[0])==null?void 0:m.id)??"",h=e0(n);return[{name:a.name,state:{tab:f,filters:gf(c.filters,t),ranges:vf(c.ranges,t),filterSources:cc(c.filterSources,t),rangeSources:cc(c.rangeSources,t),chartFilters:qv(c.chartFilters,h),chartRanges:Zv(c.chartRanges,h)}}]})}catch{return[]}}function j_(n,e){try{return localStorage.setItem(t0(n),JSON.stringify(e)),!0}catch{return!1}}function ny(n){if(n==null)return"";let e=String(n);return typeof n!="number"&&typeof n!="bigint"&&/^[\s\u0000-\u001f]*[=+@-]/.test(e)&&(e=`'${e}`),/[",\r\n]/.test(e)?`"${e.replaceAll('"','""')}"`:e}function k_(n,e){return[n.map(ny).join(","),...e.map(t=>n.map(i=>ny(t[i])).join(","))].join(`\r +`)}function I_(n){var e;return((e=n.label)==null?void 0:e.trim())||n.id}function vd(n,e){return`${n} ${e}${n===1?"":"s"}`}function M_(){const{catalog:n,dispatch:e}=ls(),t=i=>{const a=n.models.find(h=>h.name===i),c=Ov(a,n),f=(a==null?void 0:a.defaultGrain)??"month";e({type:"setModel",model:i,metric:c,grain:f}),e({type:"setView",view:"explore"})};return u.jsxs("div",{className:"mx-auto w-full max-w-5xl p-6",children:[u.jsxs("div",{className:"mb-4",children:[u.jsx("h1",{className:"text-base font-semibold text-ink",children:"Explore"}),u.jsxs("p",{className:"text-2xs text-muted",children:[vd(n.models.length,"model")," · pick one to explore"]})]}),u.jsx("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3",children:n.models.map(i=>u.jsxs("button",{type:"button","data-testid":"explore-card","data-model":i.name,onClick:()=>t(i.name),className:"flex min-h-32 flex-col gap-2 rounded-xl border border-line bg-surface p-4 text-left shadow-[var(--shadow-sm)] transition-colors hover:border-line-strong",children:[u.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[u.jsx("span",{className:"truncate text-sm font-medium text-ink",children:i.label}),i.timeDimension?u.jsx("span",{className:"shrink-0 text-2xs text-faint",children:"time series"}):null]}),i.description?u.jsx("p",{className:"line-clamp-2 text-2xs text-muted",children:i.description}):null,u.jsx("div",{className:"mt-auto flex flex-wrap gap-1 pt-1",children:i.metrics.slice(0,3).map(a=>u.jsx("span",{className:"rounded-full bg-surface-soft px-2 py-0.5 text-2xs text-muted",children:a.label},a.ref))}),u.jsxs("div",{className:"text-2xs text-faint",children:[vd(i.metrics.length,"metric")," · ",vd(i.dimensions.length,"dimension")]})]},i.name))})]})}const D_="600px";function C_(n){for(let e=n.parentElement;e;e=e.parentElement){const t=getComputedStyle(e).overflowY;if(t==="auto"||t==="scroll")return e}return null}function F_(n,e,t=D_){if(typeof IntersectionObserver>"u")return e(),()=>{};const i=new IntersectionObserver(a=>{a.some(c=>c.isIntersecting)&&(i.disconnect(),e())},{root:C_(n),rootMargin:t});return i.observe(n),()=>i.disconnect()}const O_={positive:"text-success",negative:"text-danger",neutral:"text-faint"};function n0({dimension:n,title:e,metricLabel:t,rows:i,selectedValues:a=[],loading:c,formatMetric:f,onToggle:h,contextColumn:m="none",contextOptions:g,onContextColumn:v,collapsedLimit:x=6,expanded:b=!1,onExpandedChange:w,containerRef:_}){const C=new Set(a),T=b?i:i.slice(0,x),V=Math.max(1,...T.map(E=>Math.abs(E.metric))),$=b||i.length>x,R=m!=="none",O=R?"grid-cols-[minmax(0,1fr)_auto_auto]":"grid-cols-[minmax(0,1fr)_auto]";return u.jsxs("section",{ref:_,"data-testid":"dimension-leaderboard","data-dimension":n,"data-expanded":b||void 0,"aria-label":`${e}, ranked by ${t}`,className:"flex min-h-40 flex-col border-b border-r border-line bg-surface data-[expanded=true]:col-span-full",children:[u.jsxs("header",{className:"flex items-center justify-between gap-3 px-3 pb-2 pt-2.5",children:[u.jsxs("div",{className:"flex min-w-0 items-baseline gap-2",children:[u.jsx("h3",{className:"truncate text-sm font-semibold text-ink",children:e}),u.jsxs("p",{className:"sr-only",children:["Ranked by ",t]})]}),g&&v?u.jsx("div",{role:"group","aria-label":"Context column","data-testid":"leaderboard-context-toggle",className:"flex shrink-0 overflow-hidden border border-line text-2xs",children:g.map(E=>u.jsx("button",{type:"button",title:E.title,"aria-pressed":m===E.key,"data-context":E.key,"data-active":m===E.key||void 0,onClick:()=>v(E.key),className:"border-l border-line px-1.5 py-0.5 font-mono text-faint first:border-l-0 hover:bg-surface-soft data-[active=true]:bg-accent-soft data-[active=true]:text-accent",children:E.label},E.key))}):null]}),u.jsx("div",{"data-testid":"leaderboard-rows",children:c&&i.length===0?u.jsx("div",{className:"space-y-2 p-3",children:[0,1,2,3].map(E=>u.jsx("div",{className:"skeleton h-5 w-full"},E))}):i.length===0?u.jsx("p",{className:"px-3 py-4 text-xs text-faint",children:"No values"}):T.map(E=>{var W,Y,P;const D=E.metric<0?"negative":"positive",L=C.has(E.value),G=`${Math.round(Math.abs(E.metric)/V*100)}%`;return u.jsxs("button",{type:"button","data-dimension":n,"data-value":E.value,"data-selected":L||void 0,"data-tone":D,onClick:()=>h==null?void 0:h(E.value),"aria-pressed":L,className:`leaderboard-row relative grid w-full ${O} items-center gap-3 overflow-hidden border-0 bg-transparent px-3 py-1 text-left text-xs text-ink data-[selected=true]:bg-chart-primary-selected`,children:[u.jsx("span",{"aria-hidden":"true",className:`absolute inset-y-0 left-0 ${D==="negative"?"bg-danger-soft":"bg-chart-primary-soft"}`,style:{width:G}}),u.jsx("span",{className:"relative min-w-0 truncate text-muted",children:rs(E.value)}),u.jsx("strong",{className:"relative tnum font-semibold text-ink",children:f(E.metric)}),R?u.jsx("span",{"data-testid":"leaderboard-context","data-tone":((W=E.context)==null?void 0:W.tone)??"neutral",className:`relative w-14 text-right font-mono tnum text-2xs ${O_[((Y=E.context)==null?void 0:Y.tone)??"neutral"]}`,children:((P=E.context)==null?void 0:P.label)??"—"}):null]},`${n}:${E.value}`)})}),$&&!c?u.jsx("button",{type:"button","data-action":b?"leaderboard-back":"leaderboard-expand","aria-expanded":b,onClick:()=>w==null?void 0:w(!b),className:"leaderboard-expand border-0 border-t border-line bg-transparent px-3 py-1 text-left text-xs font-normal text-faint hover:text-accent",children:b?"← All dimensions":`Expand table (${i.length})`}):null]})}const T_=[{key:"none",label:"—",title:"No context column"},{key:"pctTotal",label:"%",title:"Share of total"},{key:"delta",label:"Δ",title:"Absolute change vs comparison period"},{key:"deltaPct",label:"Δ%",title:"Percent change vs comparison period"}],A_=[],B_=[];function E_({dim:n,model:e,timeDimensionRef:t,rankMetric:i,contextColumn:a,metricTotal:c,comparisonRange:f,baseFilters:h=A_,baseSegments:m=B_,usePreaggregations:g,limit:v=6,expanded:x=!1,onExpandedChange:b}){var he;const{state:w,dispatch:_,backend:C,catalog:T}=ls(),V=I.useRef(null),[$,R]=I.useState(!1);I.useEffect(()=>{if(!($||!V.current))return F_(V.current,()=>R(!0))},[$]);const O=t??((he=e.timeDimension)==null?void 0:he.ref),E=I.useMemo(()=>pc(T),[T]),D=I.useMemo(()=>[...h,...Ts(w.filters,{timeRef:O,range:w.dateRange,excludeDim:n.ref,types:E,dialect:T.dialect})],[h,w.filters,O,w.dateRange,n.ref,E,T.dialect]),{result:L,loading:G,error:W}=Bn(C,$?Hm(i.ref,n.ref,D,v,m,g):null),Y=w.filters[n.ref],P=(Y==null?void 0:Y.mode)==="include"?Y.values:void 0,ee=[i.ref,n.ref],X=Fn(n.ref,ee),oe=a==="delta"||a==="deltaPct",ae=I.useMemo(()=>{if(!L||!L.columns.includes(X))return null;const re=[];let pe=!1;for(const Fe of L.rows){const Be=Fe[X];Be==null?pe=!0:re.push(String(Be))}const Ce=[];return re.length&&Ce.push(`CAST(${n.ref} AS VARCHAR) IN (${re.map(Fe=>Qn(Fe,T.dialect)).join(", ")})`),pe&&Ce.push(`${n.ref} IS NULL`),Ce.length?Ce.length===1?Ce[0]:`(${Ce.join(" OR ")})`:null},[L,X,n.ref,T.dialect]),se=I.useMemo(()=>oe&&f&&O&&ae?[...h,...Ts(w.filters,{timeRef:O,range:f,excludeDim:n.ref,types:E,dialect:T.dialect}),ae]:null,[oe,f,O,w.filters,n.ref,E,T.dialect,ae,h]),ne=Bn(C,se?Hm(i.ref,n.ref,se,v,m,g):null),A=Fn(i.ref,ee),Q=!!L&&L.rows.length>0&&!L.columns.includes(A),H=I.useMemo(()=>{const re=new Map;if(!ne.result||!ne.result.columns.includes(A))return re;for(const pe of ne.result.rows){const Ce=pe[X],Fe=Ce==null?er:String(Ce);re.set(Fe,Number(pe[A]))}return re},[ne.result,X,A]),N={format:i.format,type:i.type};function F(re,pe){switch(a){case"pctTotal":return c===void 0?void 0:gb(pe,c);case"delta":return vb(pe,H.get(re),N);case"deltaPct":return xb(pe,H.get(re));default:return}}const te=L&&!Q?L.rows.map(re=>{const pe=re[X],Ce=pe==null?er:String(pe),Fe=Number(re[A]??0);return{value:Ce,metric:Fe,context:F(Ce,Fe)}}):[];return W?u.jsx($i,{title:n.label,message:W}):u.jsx(n0,{dimension:n.ref,title:n.label,metricLabel:i.label,rows:te,containerRef:V,loading:!$||G||Q,selectedValues:P,formatMetric:re=>Gt(re,N),onToggle:re=>_({type:"toggleFilter",dim:n.ref,value:re}),contextColumn:a,contextOptions:T_,onContextColumn:re=>_({type:"setContextColumn",column:re}),collapsedLimit:v,expanded:x,onExpandedChange:b})}function Dr(){const[n,e]=I.useState(null);return{tip:n,handlers:i=>({onMouseEnter:a=>e({content:i,x:a.clientX,y:a.clientY}),onMouseMove:a=>e({content:i,x:a.clientX,y:a.clientY}),onMouseLeave:()=>e(null)})}}function rr({tip:n,position:e="fixed",offset:t=12,className:i,style:a}){return n?u.jsx("div",{role:"tooltip",style:{position:e,left:n.x+t,top:n.y+t,pointerEvents:"none",zIndex:50,...a},className:i||"rounded-lg border border-line bg-surface px-2.5 py-1.5 text-xs text-ink shadow-[var(--shadow)]",children:n.content}):null}function os({title:n,rows:e}){return u.jsxs("div",{className:"min-w-28",children:[n?u.jsx("div",{className:"mb-0.5 font-mono text-faint",children:n}):null,e.map((t,i)=>u.jsxs("div",{className:"flex items-center justify-between gap-3",children:[u.jsxs("span",{className:"flex items-center gap-1 text-muted",children:[t.swatch?u.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-sm",style:{background:t.swatch}}):null,t.label]}),u.jsx("span",{className:"font-mono tnum font-medium text-ink",children:t.value})]},i))]})}function r0({values:n,labels:e,height:t=44,ariaLabel:i,formatValue:a=h=>h.toLocaleString(void 0,{maximumFractionDigits:2}),onHover:c,onBrush:f}){const h=I.useRef(null),m=I.useId(),g=I.useRef(null),v=I.useRef(null),[x,b]=I.useState(200),[w,_]=I.useState(null),[C,T]=I.useState(null),[V,$]=I.useState(null);I.useEffect(()=>{const H=h.current;if(!H||typeof ResizeObserver>"u")return;const N=new ResizeObserver(F=>{for(const te of F)b(Math.max(40,te.contentRect.width))});return N.observe(H),()=>N.disconnect()},[]);const R=n.map((H,N)=>({index:N,value:H})).filter(H=>Number.isFinite(H.value));if(R.length<2)return u.jsx("svg",{ref:g,role:"img","aria-label":i||"No trend data",className:"h-11 w-full",viewBox:`0 0 ${x} ${t}`});const O=3,E=Math.min(...R.map(H=>H.value)),L=Math.max(...R.map(H=>H.value))-E||1,G=R.map((H,N)=>({...H,x:O+N/(R.length-1)*(x-O*2),y:O+(1-(H.value-E)/L)*(t-O*2)})),W=G.map(({x:H,y:N})=>`${H.toFixed(1)},${N.toFixed(1)}`).join(" L "),Y=`M ${G[0].x.toFixed(1)},${t-O} L ${W} L ${G.at(-1).x.toFixed(1)},${t-O} Z`,P=G.at(-1),ee=i||`Trend of ${R.length} points, latest ${a(P.value)}`;function X(H){var F;const N=(F=g.current)==null?void 0:F.getBoundingClientRect();return N?Math.max(O,Math.min(x-O,(H.clientX-N.left)/N.width*x)):O}function oe(H){return Math.max(0,Math.min(G.length-1,Math.round((H-O)/(x-O*2)*(G.length-1))))}function ae(H){const N=X(H),F=oe(N),te=G[F];_(F),$({content:`${e!=null&&e[te.index]?`${e[te.index]}: `:""}${a(te.value)}`,x:H.clientX,y:H.clientY}),c==null||c({index:te.index,label:e==null?void 0:e[te.index],value:te.value}),v.current!==null&&T({a:v.current,b:N})}function se(H){if(!f||!(e!=null&&e.length))return;H.currentTarget.setPointerCapture(H.pointerId);const N=X(H);v.current=N,T({a:N,b:N})}function ne(H){if(v.current===null||!f||!(e!=null&&e.length))return;H.currentTarget.hasPointerCapture(H.pointerId)&&H.currentTarget.releasePointerCapture(H.pointerId);const N=X(H);if(Math.abs(N-v.current)>6){const F=G[oe(Math.min(v.current,N))],te=G[oe(Math.max(v.current,N))];f({from:e[F.index],to:e[te.index]})}v.current=null,T(null)}function A(){_(null),$(null),c==null||c(null),v.current===null&&T(null)}const Q=w===null?null:G[w];return u.jsxs("span",{ref:h,className:"relative block w-full",children:[u.jsxs("svg",{ref:g,role:"img","aria-label":ee,className:`h-11 w-full overflow-hidden text-chart-primary ${f?"touch-none select-none":""}`,viewBox:`0 0 ${x} ${t}`,preserveAspectRatio:"none",onPointerMove:ae,onPointerDown:se,onPointerUp:ne,onPointerCancel:A,onPointerLeave:A,onDoubleClick:()=>f==null?void 0:f(null),children:[u.jsx("defs",{children:u.jsxs("linearGradient",{id:m,x1:"0",y1:"0",x2:"0",y2:"1",children:[u.jsx("stop",{offset:"0%",stopColor:"currentColor",stopOpacity:.16}),u.jsx("stop",{offset:"100%",stopColor:"currentColor",stopOpacity:0})]})}),u.jsx("path",{d:Y,fill:`url(#${m})`}),u.jsx("path",{d:`M ${W}`,fill:"none",stroke:"currentColor",strokeWidth:1.5,vectorEffect:"non-scaling-stroke"}),C?u.jsx("rect",{x:Math.min(C.a,C.b),y:0,width:Math.abs(C.b-C.a),height:t,fill:"currentColor",opacity:.12}):null,Q?u.jsxs(u.Fragment,{children:[u.jsx("line",{x1:Q.x,x2:Q.x,y1:0,y2:t,stroke:"currentColor",strokeWidth:1,opacity:.45}),u.jsx("circle",{cx:Q.x,cy:Q.y,r:2.5,fill:"currentColor"})]}):u.jsx("circle",{cx:P.x,cy:P.y,r:2.25,fill:"currentColor"})]}),u.jsx(rr,{tip:V})]})}const R_={positive:"text-success",negative:"text-danger",neutral:"text-faint"},L_={positive:"▲",negative:"▼",neutral:"·"};function Nr({metric:n,label:e,value:t,valueText:i,format:a,delta:c,comparison:f,sparkValues:h=[],sparkLabels:m,selected:g,loading:v,onSelect:x,onSparkHover:b,onSparkBrush:w}){const[_,C]=I.useState(null),T=u.jsxs(u.Fragment,{children:[u.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[u.jsx("span",{className:"truncate text-xs font-medium text-muted",children:e}),_!=null&&_.label?u.jsx("span",{className:"shrink-0 font-mono text-2xs text-faint",children:_.label}):null]}),u.jsx("div",{className:"font-mono tnum text-[19px] font-semibold leading-tight tracking-tight text-ink",children:v?u.jsx("span",{className:"skeleton inline-block h-6 w-24 align-middle"}):_?pt(_.value,a):i??pt(t,a)}),c||f?u.jsxs("div",{className:"flex items-baseline gap-1 text-2xs",children:[c?u.jsxs("span",{"data-tone":c.tone,className:`font-mono tnum font-medium ${R_[c.tone]}`,children:[u.jsx("span",{"aria-hidden":"true",className:"mr-0.5 text-[8px]",children:L_[c.tone]}),c.label]}):null,f?u.jsx("span",{className:"truncate text-faint",children:f}):null]}):null]}),V="group flex w-full flex-col gap-1.5 overflow-hidden rounded-xl border border-line bg-surface px-3.5 pt-3 text-left shadow-[var(--shadow-sm)] transition-colors hover:border-line-strong data-[selected=true]:border-accent",$=u.jsx("div",{className:"-mx-3.5 mt-auto",children:u.jsx(r0,{values:h,labels:m,onHover:R=>{C(R),b==null||b(R)},onBrush:w,formatValue:R=>pt(R,a)})});return x?u.jsxs("article",{"data-metric":n,"data-selected":g||void 0,className:V,children:[u.jsx("button",{type:"button","data-metric":n,"aria-pressed":!!g,onClick:()=>x(n),className:"-m-1 flex flex-col gap-1 border-0 bg-transparent p-1 text-left transition hover:opacity-75",children:T}),$]}):u.jsxs("article",{"data-metric":n,"data-selected":g||void 0,className:V,children:[T,$]})}const vl=280,Xt={top:14,right:18,bottom:26,left:60},ry=["var(--accent)","var(--danger)","#0f9f8f","#d98921","#a66dd4","#3b82c4"];function xd(n){return ry[n%ry.length]}function sy(n,e,t){return Math.min(Math.max(n,e),t)}function ea({points:n,seriesLabel:e="Current",additionalSeries:t=[],comparison:i,formatValue:a,formatAxis:c=a,formatLabel:f=v=>v,comparisonLabel:h="Previous",ariaLabel:m,onBrush:g}){var us;const v=I.useRef(null),x=I.useRef(null),b=I.useRef(!1),w=I.useRef(null),[_,C]=I.useState(820),[T,V]=I.useState(null),[$,R]=I.useState(null);I.useEffect(()=>{const ce=v.current;if(!ce)return;const Te=new ResizeObserver(st=>{for(const Ct of st)C(Math.max(320,Ct.contentRect.width))});return Te.observe(ce),()=>Te.disconnect()},[]);const O=n.length,E=[{label:e,points:n},...t],D=[...E.flatMap(ce=>ce.points),...i??[]].map(ce=>ce.y).filter(Number.isFinite),L=O<2||D.length===0,G=L?0:Math.min(0,...D),W=L?1:Math.max(...D),Y=W-G||1,P=_-Xt.left-Xt.right,ee=vl-Xt.top-Xt.bottom,X=ce=>Xt.left+(O<=1?0:ce/(O-1)*P),oe=ce=>Xt.top+(1-(ce-G)/Y)*ee,ae=ce=>sy(Math.round((ce-Xt.left)/P*(O-1)),0,O-1),se=ce=>{const Te=[];let st=[];return ce.forEach((Ct,Un)=>{Number.isFinite(Ct.y)?st.push(`${X(Un).toFixed(1)},${oe(Ct.y).toFixed(1)}`):st.length&&(Te.push(st.join(" L ")),st=[])}),st.length&&Te.push(st.join(" L ")),Te.map(Ct=>`M ${Ct}`).join(" ")},ne=L||n.some(ce=>!Number.isFinite(ce.y))?"":`M ${X(0).toFixed(1)},${oe(G).toFixed(1)} L ${n.map((ce,Te)=>`${X(Te).toFixed(1)},${oe(ce.y).toFixed(1)}`).join(" L ")} L ${X(O-1).toFixed(1)},${oe(G).toFixed(1)} Z`;function A(ce){var st;const Te=(st=x.current)==null?void 0:st.getBoundingClientRect();return Te?ce.clientX-Te.left:0}function Q(ce){if(L)return;const Te=A(ce);V(ae(Te)),b.current&&w.current&&(w.current={a:w.current.a,b:Te},R({...w.current}))}function H(ce){if(L||!g)return;ce.currentTarget.setPointerCapture(ce.pointerId),b.current=!0;const Te=A(ce);w.current={a:Te,b:Te},R({...w.current})}function N(ce){ce.currentTarget.hasPointerCapture(ce.pointerId)&&ce.currentTarget.releasePointerCapture(ce.pointerId);const Te=w.current;if(b.current&&Te&&g){const st=ae(Math.min(Te.a,Te.b)),Ct=ae(Math.max(Te.a,Te.b));Ct>st&&g({from:n[st].x,to:n[Ct].x})}b.current=!1,w.current=null,R(null)}function F(){V(null),b.current=!1,w.current=null,R(null)}const te=Math.max(1,Math.ceil(O/8)),he=[W,G+Y*.66,G+Y*.33,G],re=T!=null&&T>=0&&T{const st=ce.points[re];return st&&Number.isFinite(st.y)?[{...ce,point:st,index:Te}]:[]}),dt=re!=null?(i==null?void 0:i[re])??null:null,St=dt&&Number.isFinite(dt.y)?dt:null,Es=re!=null?sy(X(re),80,_-80):0,Et=Ce&&St&&St.y!==0?(Ce.y-St.y)/Math.abs(St.y)*100:null,sr=m??(L?"Time series chart: not enough data to plot.":`Time series chart, ${O} points from ${f(n[0].x)} to ${f(n[O-1].x)}.`);return u.jsxs("div",{className:"relative text-chart-primary",children:[u.jsxs("div",{className:"flex flex-wrap items-center justify-end gap-x-3 gap-y-0.5 px-3 pt-2 text-2xs text-faint",children:[E.map((ce,Te)=>u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx("span",{className:"inline-block h-0.5 w-3",style:{backgroundColor:xd(Te)}})," ",ce.label]},`${ce.label}-${Te}`)),i!=null&&i.length?u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx("span",{className:"inline-block h-0 w-3 border-t border-dashed border-faint"})," ",h]}):null]}),u.jsx("div",{ref:v,className:"w-full",children:L?u.jsx("div",{className:"grid h-[280px] place-items-center text-xs text-faint",children:"Not enough data to chart."}):u.jsxs("svg",{ref:x,width:_,height:vl,role:"img","aria-label":sr,className:"block touch-none select-none",onPointerMove:Q,onPointerDown:H,onPointerUp:N,onPointerLeave:F,onPointerCancel:F,onDoubleClick:()=>g==null?void 0:g(null),children:[u.jsx("defs",{children:u.jsxs("linearGradient",{id:"ts-fill",x1:"0",y1:"0",x2:"0",y2:"1",children:[u.jsx("stop",{offset:"0%",stopColor:"currentColor",stopOpacity:.18}),u.jsx("stop",{offset:"100%",stopColor:"currentColor",stopOpacity:0})]})}),he.map((ce,Te)=>u.jsxs("g",{children:[u.jsx("line",{x1:Xt.left,x2:_-Xt.right,y1:oe(ce),y2:oe(ce),className:"stroke-line"}),u.jsx("text",{x:Xt.left-8,y:oe(ce)+3,textAnchor:"end",className:"fill-faint font-mono text-[10px]",children:c(ce)})]},Te)),i&&i.length>=2?u.jsx("path",{d:se(i),fill:"none",className:"stroke-faint",strokeWidth:1.25,strokeDasharray:"4 3"}):null,ne?u.jsx("path",{d:ne,fill:"url(#ts-fill)"}):null,E.map((ce,Te)=>u.jsx("path",{d:se(ce.points),fill:"none",stroke:xd(Te),strokeWidth:1.75},`${ce.label}-${Te}`)),$?u.jsx("rect",{x:Math.min($.a,$.b),y:Xt.top,width:Math.abs($.b-$.a),height:ee,className:"fill-chart-primary",opacity:.12}):null,re!=null&&Be.length?u.jsxs("g",{children:[u.jsx("line",{x1:X(re),x2:X(re),y1:Xt.top,y2:vl-Xt.bottom,className:"stroke-faint",strokeDasharray:"3 3"}),St?u.jsx("circle",{cx:X(re),cy:oe(St.y),r:3,className:"fill-faint"}):null,Be.map(ce=>u.jsx("circle",{cx:X(re),cy:oe(ce.point.y),r:3.5,fill:xd(ce.index)},`${ce.label}-${ce.index}`))]}):null,n.map((ce,Te)=>Te%te===0||Te===O-1?u.jsx("text",{x:X(Te),y:vl-8,textAnchor:"middle",className:"fill-faint font-mono text-[10px]",children:f(ce.x)},ce.x):null)]})}),Be.length&&Fe?u.jsxs("div",{className:"pointer-events-none absolute top-8 z-20 -translate-x-1/2 whitespace-nowrap border border-line bg-surface px-2 py-1.5 text-2xs shadow-[var(--shadow)]",style:{left:Es},children:[u.jsx("div",{className:"mb-0.5 font-mono text-faint",children:f(Fe)}),Be.map(ce=>u.jsxs("div",{className:"flex items-center justify-between gap-3",children:[u.jsx("span",{className:"text-muted",children:ce.label}),u.jsx("span",{className:"font-mono tnum font-medium text-ink",children:a(ce.point.y)})]},`${ce.label}-${ce.index}`)),St?u.jsxs("div",{className:"flex items-center justify-between gap-3",children:[u.jsx("span",{className:"text-muted",children:h}),u.jsx("span",{className:"font-mono tnum text-muted",children:a(St.y)})]}):null,Et!=null?u.jsxs("div",{className:`mt-0.5 text-right font-mono ${Et>0?"text-success":Et<0?"text-danger":"text-faint"}`,children:[Et.toLocaleString(void 0,{maximumFractionDigits:1,signDisplay:"exceptZero"}),"%"]}):null]}):null]})}const U_={positive:"text-success",negative:"text-danger",neutral:"text-faint"};function $_({metric:n,points:e,comparisonPoints:t,total:i,prevTotal:a,hasTime:c,loading:f,activeRange:h,comparisonLabel:m="Prev period",formatLabel:g,onBrush:v}){const x={format:n.format,type:n.type},b=a!==void 0?Sy(i,a):null,w=`${n.label} over time. Total ${pt(i,x)}${b?`, ${b.label} versus the ${m.toLowerCase()}`:""}.`;return u.jsxs("section",{className:"flex flex-col gap-2",children:[u.jsxs("header",{className:"flex flex-wrap items-baseline gap-x-3 gap-y-0.5 px-0.5",children:[u.jsx("h2",{className:"text-xs font-medium text-muted",children:n.label}),u.jsx("span",{className:"font-mono tnum text-xl font-semibold text-ink",children:pt(i,x)}),b?u.jsxs("span",{className:`text-xs ${U_[b.tone]}`,children:[b.label," vs ",m.toLowerCase()]}):null,c?null:u.jsx("span",{className:"text-2xs text-faint",children:"No time dimension"}),h?u.jsx("button",{type:"button",onClick:()=>v(null),className:"ml-auto inline-flex h-7 items-center rounded-full border border-line bg-surface px-3 text-xs text-muted hover:border-line-strong hover:text-ink",children:"Reset zoom"}):null]}),c?f&&e.length<2?u.jsx("div",{className:"skeleton h-[280px] w-full"}):u.jsx(ea,{points:e,comparison:t,formatValue:_=>pt(_,x),formatAxis:_=>Gt(_,x),formatLabel:g,comparisonLabel:m,ariaLabel:w,onBrush:v}):null]})}const P_=new Set(["and","as","asc","by","case","cast","count","date_trunc","desc","else","end","from","group","in","is","join","left","limit","not","null","on","or","order","over","partition","select","sum","then","when","where","with"]);function z_(n){const e=[];let t=0;for(;ta).map(([a,c])=>`-- ${a} +${c}`).join(` + +`),i=z_(t||"No queries yet.");return u.jsxs("details",{className:"border border-line bg-surface",children:[u.jsx("summary",{className:"cursor-pointer px-3 py-2 text-xs font-medium text-muted",children:"Generated SQL"}),Object.keys(e).length>0?u.jsx("div",{"data-testid":"query-inputs",className:"grid gap-px border-t border-line bg-line sm:grid-cols-2",children:Object.entries(e).map(([a,c])=>c?u.jsxs("section",{className:"min-w-0 bg-surface px-3 py-2 text-2xs",children:[u.jsx("h3",{className:"mb-1 font-semibold text-ink",children:a}),[["Metrics",c.metrics],["Dimensions",c.dimensions],["Filters",c.filters]].map(([f,h])=>h!=null&&h.length?u.jsxs("p",{className:"truncate text-muted",title:h.join(", "),children:[u.jsxs("strong",{className:"font-medium text-faint",children:[f,":"]})," ",h.join(", ")]},f):null)]},a):null)}):null,u.jsx("pre",{"data-testid":"query-debug",className:"max-h-72 overflow-auto whitespace-pre-wrap border-t border-line px-3 py-2 font-mono text-2xs text-muted",children:i.map((a,c)=>iy[a.kind]?u.jsx("span",{className:iy[a.kind],"data-token":a.kind,children:a.value},c):a.value)})]})}function V_(n){return{format:n==null?void 0:n.format,type:n==null?void 0:n.type}}const W_=new Set(["cohort","conversion","retention"]);function bd(n){return!n.type||!W_.has(n.type)}function H_(n,e){return!!(n&&n===e)}function G_(n,e){return n&&e.some(t=>t.ref===n)?n:null}function oy(n,e){return[...n].sort((t,i)=>String(t[e]??"").localeCompare(String(i[e]??"")))}function Y_(n,e){return{from:e==="second"||e==="minute"||e==="hour"?n.from.replace(" ","T"):uf(n.from),to:gS(n.to,e)}}function Q_(){var Un,ir,Rs,Pi,zi,Vi,Wi,Ls,ds,Hi,Cr,Fr,ta;const{state:n,dispatch:e,catalog:t,backend:i,dashboard:a}=ls(),[c,f]=I.useState(null),h=t.models.find(ye=>ye.name===n.model),m=I.useMemo(()=>Fs(t,a,n.dashboardTab),[t,a,n.dashboardTab]);I.useEffect(()=>{f(null)},[n.dashboardTab,n.model]);const g=(m==null?void 0:m.metrics)??(h==null?void 0:h.metrics)??[],v=g.filter(bd),x=new Set(g.map(ye=>ye.ref)),b=Di(t,n.model).filter(ye=>!m||x.has(ye.ref)),w=((Un=m==null?void 0:m.timeDimension)==null?void 0:Un.ref)??((ir=h==null?void 0:h.timeDimension)==null?void 0:ir.ref),_=g.find(ye=>ye.ref===n.selectedMetric)??b.find(ye=>ye.ref===n.selectedMetric)??g[0],C=_&&!bd(_)?_:void 0,T=!!_&&v.some(ye=>ye.ref===_.ref),V=I.useMemo(()=>{const ye=v.map(vt=>vt.ref);return _&&bd(_)&&!T?[...ye,_.ref]:ye},[v,_,T]),$=I.useMemo(()=>pc(t),[t]),R=I.useMemo(()=>[...(m==null?void 0:m.filters)??[],...Ts(n.filters,{timeRef:w,range:n.dateRange,types:$,dialect:t.dialect})],[m,n.filters,w,n.dateRange,$,t.dialect]),O=I.useMemo(()=>n.comparison==="off"||!n.dateRange?null:n.comparison==="year"?fS(n.dateRange):n.comparison==="custom"?n.comparisonRange??null:dS(n.dateRange),[n.comparison,n.dateRange,n.comparisonRange]),E=I.useMemo(()=>O&&w?[...(m==null?void 0:m.filters)??[],...Ts(n.filters,{timeRef:w,range:O,types:$,dialect:t.dialect})]:null,[m,n.filters,w,O,$,t.dialect]),D=n.timezone,L=ye=>ye?{...ye,timezone:D}:null,G=Bn(i,!C&&V.length?L(pd(V,R,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations)):null),W=Bn(i,!C&&V.length&&w?L(Wm(V,w,n.grain,R,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations,!!n.dateRange)):null),Y=Bn(i,!C&&V.length&&E?L(pd(V,E,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations)):null),P=Bn(i,C?L(pd([C.ref],R,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations)):null),ee=Bn(i,!C&&_&&w&&E?L(Wm([_.ref],w,n.grain,E,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations,!0)):null),X=G.error??W.error??Y.error??ee.error??P.error;if(!h)return u.jsx("div",{className:"p-4",children:u.jsx(Xn,{message:"No model available in this semantic layer."})});const oe=((m==null?void 0:m.dimensions)??h.dimensions).filter(ye=>ye.type!=="time"),ae=G_(c,oe),se=n.comparison==="year"?"Prev year":n.comparison==="custom"?"Comparison":"Prev period",ne=w?`${w}__${n.grain}`:"",A=ne?[...V,ne]:V,Q=_&&ne?[_.ref,ne]:[],H=v[0]?Fn(v[0].ref,V):_?Fn(_.ref,V):null,N=ye=>!ye||!H||ye.columns.includes(H),F=N(G.result)?(Rs=G.result)==null?void 0:Rs.rows[0]:void 0,te=N(Y.result)?(Pi=Y.result)==null?void 0:Pi.rows[0]:void 0,he=N(W.result)?((zi=W.result)==null?void 0:zi.rows)??[]:[],re=_?Fn(_.ref,V):"",pe=_?Fn(_.ref,A):"",Ce=_?Fn(_.ref,Q):"",Fe=ne?Fn(ne,A):"",Be=ne?Fn(ne,Q):"",dt=Fe?oy(he,Fe):he,St=F&&re?Number(F[re]):NaN,Es=te&&re?Number(te[re]):void 0,Et=pe?dt.map(ye=>({x:String(ye[Fe]??""),y:Number(ye[pe])})):[],sr=Be?oy(((Vi=ee.result)==null?void 0:Vi.rows)??[],Be):[],us=Ce&&Et.length>0&&sr.length>0?(()=>{const ye=String(sr[0][Be]??""),vt=Et[0].x,Us=new Map;for(const rn of sr)Us.set(zm(ye,String(rn[Be]??""),n.grain),Number(rn[Ce]));return Et.map(rn=>({x:rn.x,y:Us.get(zm(vt,rn.x,n.grain))??NaN}))})():[],ce=H_(P.resultKey,P.queryKey),Te=ce?((Wi=P.result)==null?void 0:Wi.rows)??[]:[],st=(ce?((Ls=P.result)==null?void 0:Ls.columns)??[]:[]).map(ye=>({key:ye,label:Le(ye),numeric:Te.some(vt=>typeof vt[ye]=="number")}));function Ct(ye){e(ye?{type:"setDateRange",range:Y_(ye,n.grain)}:{type:"setDateRange",range:void 0})}return u.jsxs("div",{className:"flex flex-col gap-4 p-4",children:[X?u.jsx($i,{message:X}):null,C?null:u.jsx("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-3 lg:grid-cols-4 xl:grid-cols-6","data-testid":"metric-totals",children:v.length===0?u.jsx("div",{className:"col-span-full",children:u.jsx(Xn,{message:"This model has no metrics."})}):v.map(ye=>{const vt=Fn(ye.ref,V),Us=Fn(ye.ref,A),rn=F?Number(F[vt]):NaN,$s=te?Number(te[vt]):void 0,Gi=dt.map(fs=>Number(fs[Us])).filter(Number.isFinite);return u.jsx(Nr,{metric:ye.ref,label:ye.label,valueText:pt(rn,V_(ye)),delta:$s!==void 0?Sy(rn,$s):null,sparkValues:Gi,selected:n.selectedMetric===ye.ref,loading:G.loading&&!F,onSelect:fs=>e({type:"setMetric",metric:fs})},ye.ref)})}),C?u.jsxs("section",{className:"flex flex-col gap-2","data-testid":"single-metric-result",children:[u.jsxs("div",{children:[u.jsx("h2",{className:"text-sm font-semibold text-ink",children:C.label}),C.description?u.jsx("p",{className:"mt-0.5 text-xs text-muted",children:C.description}):null]}),P.error?null:ce?u.jsx(Ui,{columns:st,rows:Te,searchable:!0,renderCell:(ye,vt)=>vt==null||vt===""?"—":String(vt)}):u.jsx(mc,{message:`Loading ${C.label}…`})]}):_?u.jsx($_,{metric:_,points:Et,comparisonPoints:O?us:void 0,total:St,prevTotal:O?Es:void 0,hasTime:!!w,loading:W.loading,activeRange:n.dateRange,comparisonLabel:se,formatLabel:ye=>hS(ye,n.grain),onBrush:Ct}):null,C?null:u.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(220px,1fr))] gap-0 border-l border-t border-line",children:_&&oe.length?oe.filter(ye=>ae===null||ae===ye.ref).map(ye=>u.jsx(E_,{dim:ye,model:h,timeDimensionRef:w,rankMetric:_,contextColumn:n.contextColumn,metricTotal:Number.isFinite(St)?St:void 0,comparisonRange:O??void 0,baseFilters:m==null?void 0:m.filters,baseSegments:m==null?void 0:m.segments,usePreaggregations:m==null?void 0:m.usePreaggregations,expanded:ae===ye.ref,onExpandedChange:vt=>f(vt?ye.ref:null)},ye.ref)):u.jsx(Xn,{message:"No categorical dimensions to break down."})}),u.jsx(yc,{queries:{Totals:(ds=G.result)==null?void 0:ds.sql,Series:(Hi=W.result)==null?void 0:Hi.sql,Comparison:(Cr=Y.result)==null?void 0:Cr.sql,"Prev series":(Fr=ee.result)==null?void 0:Fr.sql,"Focused metric":(ta=P.result)==null?void 0:ta.sql}})]})}function K_(){var oe,ae;const{state:n,catalog:e,backend:t}=ls(),i=e.models.find(se=>se.name===n.model),a=(i==null?void 0:i.dimensions)??[],c=Di(e,n.model),f=I.useMemo(()=>[...(i==null?void 0:i.metrics)??[],...c],[i,c]),h=(oe=i==null?void 0:i.timeDimension)==null?void 0:oe.ref,m=se=>a.some(ne=>ne.ref===se),g=se=>f.some(ne=>ne.ref===se),v=n.pivotDims.filter(m),x=n.pivotMetrics.filter(g),b=g(n.selectedMetric)?n.selectedMetric:(ae=i==null?void 0:i.metrics[0])==null?void 0:ae.ref,w=x.length?x:b?[b]:[],[_,C]=I.useState(null),T=I.useMemo(()=>ff(a),[a]),V=I.useMemo(()=>Ts(n.filters,{timeRef:h,range:n.dateRange,types:T,dialect:e.dialect}),[n.filters,h,n.dateRange,T,e.dialect]),$=_??(w[0]?{ref:w[0],dir:"desc"}:null),R=$?[`${$.ref} ${$.dir.toUpperCase()}`]:void 0,O=w.length||v.length?SS(w,v,V,R,500):null,E=O?{...O,timezone:n.timezone}:null,{result:D,loading:L,error:G}=Bn(t,E),W=I.useMemo(()=>new Map(f.map(se=>[se.ref,se])),[f]),Y=I.useMemo(()=>{const se=new Map;for(const ne of[...v,...w])se.set(Sr(ne),ne);return se},[v,w]),P=[...v.map(se=>{var ne;return{key:Sr(se),label:((ne=a.find(A=>A.ref===se))==null?void 0:ne.label)??Le(se),numeric:!1}}),...w.map(se=>{var ne;return{key:Sr(se),label:((ne=W.get(se))==null?void 0:ne.label)??Le(se),numeric:!0,sortable:!0}})];function ee(se){const ne=Y.get(se);ne&&C(A=>A&&A.ref===ne?{ref:ne,dir:A.dir==="desc"?"asc":"desc"}:{ref:ne,dir:"desc"})}function X(se,ne){if(se.numeric){const A=W.get(Y.get(se.key)??"");return pt(ne,{format:A==null?void 0:A.format,type:A==null?void 0:A.type})}return ne==null||ne===""?"—":String(ne)}return i?u.jsxs("div",{className:"flex flex-col gap-4 p-4",children:[G?u.jsx($i,{message:G}):P.length===0?u.jsx(Xn,{title:"Nothing selected",message:"Pick at least one metric or dimension above."}):u.jsx(Ui,{columns:P,rows:(D==null?void 0:D.rows)??[],loading:L,sortKey:$?Sr($.ref):void 0,sortDir:$==null?void 0:$.dir,onSort:ee,renderCell:X}),u.jsx(yc,{queries:{Pivot:D==null?void 0:D.sql}})]}):u.jsx("div",{className:"p-4",children:u.jsx(Xn,{message:"No model available."})})}const Dn={top:12,right:14,bottom:26,left:44};function J_(n,e,t=4){if(!(e>n))return[n];const i=(e-n)/(t-1);return Array.from({length:t},(a,c)=>n+i*c)}function s0({data:n,height:e=200,ariaLabel:t,selectedLabel:i,onSelect:a}){const c=I.useRef(null),[f,h]=I.useState(640),{tip:m,handlers:g}=Dr();I.useEffect(()=>{const D=c.current;if(!D||typeof ResizeObserver>"u")return;const L=new ResizeObserver(G=>{for(const W of G)h(Math.max(160,W.contentRect.width))});return L.observe(D),()=>L.disconnect()},[]);const v=n.map(D=>Number.isFinite(D.value)?D.value:0),x=Math.min(0,...v),b=Math.max(0,...v),w=b-x||1,_=f-Dn.left-Dn.right,C=e-Dn.top-Dn.bottom,T=D=>Dn.top+(1-(D-x)/w)*C,V=T(0),$=_/Math.max(n.length,1),R=Math.max(8,Math.min(48,$*.62)),O=J_(x,b,4),E=t||`Bar chart, ${n.length} categories, up to ${Gt(b)}`;return u.jsxs(u.Fragment,{children:[u.jsxs("svg",{ref:c,role:"img","aria-label":E,className:"h-[200px] w-full overflow-hidden",viewBox:`0 0 ${f} ${e}`,children:[O.map((D,L)=>{const G=T(D);return u.jsxs("g",{children:[u.jsx("line",{x1:Dn.left,x2:f-Dn.right,y1:G,y2:G,className:"stroke-line"}),u.jsx("text",{x:Dn.left-6,y:G+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Gt(D)})]},L)}),u.jsx("line",{x1:Dn.left,x2:f-Dn.right,y1:V,y2:V,className:"stroke-line"}),n.map((D,L)=>{const G=D.filterValue??D.label,W=v[L]??0,Y=T(W),P=Math.abs(Y-V),ee=Dn.left+$*L+($-R)/2,X=Math.min(Y,V);return u.jsxs("g",{role:a?"button":void 0,tabIndex:a?0:void 0,"aria-label":a?`Filter to ${D.label}`:void 0,"aria-pressed":a?i===G:void 0,onClick:a?()=>a(G):void 0,onKeyDown:a?oe=>{(oe.key==="Enter"||oe.key===" ")&&a(G)}:void 0,className:a?"cursor-pointer":void 0,children:[u.jsx("rect",{x:ee,y:X,width:R,height:P,"data-label":D.label,"data-value":W,"data-tone":W<0?"negative":"positive",className:i===G?"fill-accent":W<0?"fill-danger":"fill-chart-primary",...g(`${D.label}: ${pt(W)}`)}),u.jsx("text",{x:ee+R/2,y:e-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:D.label.slice(0,8)})]},`${G}-${L}`)})]}),u.jsx(rr,{tip:m})]})}const wd=7;function vn(n){return`var(--viz-${(n%wd+wd)%wd+1})`}function As(n,e,t=4){if(!(e>n))return[n];const i=(e-n)/(t-1);return Array.from({length:t},(a,c)=>n+i*c)}function cs(n,e,t){if(!n||typeof ResizeObserver>"u")return()=>{};const i=new ResizeObserver(a=>{for(const c of a)t(Math.max(e,c.contentRect.width))});return i.observe(n),()=>i.disconnect()}const Vt={top:12,right:14,bottom:30,left:48};function i0({points:n,height:e=240,xLabel:t,yLabel:i,formatX:a=Gt,formatY:c=Gt,ariaLabel:f}){const h=I.useRef(null),[m,g]=I.useState(640),{tip:v,handlers:x}=Dr();I.useEffect(()=>cs(h.current,200,g),[]);const b=n.filter(P=>Number.isFinite(P.x)&&Number.isFinite(P.y));if(b.length===0)return u.jsx("div",{className:"grid h-[240px] place-items-center text-xs text-faint",children:"No points to chart."});const w=[...new Set(b.map(P=>P.series??""))],_=b.map(P=>P.x),C=b.map(P=>P.y),T=Math.min(..._),V=Math.max(..._),$=Math.min(...C),R=Math.max(...C),O=V-T||1,E=R-$||1,D=m-Vt.left-Vt.right,L=e-Vt.top-Vt.bottom,G=P=>Vt.left+(P-T)/O*D,W=P=>Vt.top+(1-(P-$)/E)*L,Y=f||`Scatter plot, ${b.length} points${t&&i?` of ${i} by ${t}`:""}`;return u.jsxs(u.Fragment,{children:[w.length>1?u.jsx("div",{className:"mb-1 flex flex-wrap items-center gap-3 text-2xs text-faint",children:w.map((P,ee)=>u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-full",style:{background:vn(ee)}}),P||"(default)"]},P||"(default)"))}):null,u.jsxs("svg",{ref:h,role:"img","aria-label":Y,className:"w-full overflow-hidden",style:{height:e},viewBox:`0 0 ${m} ${e}`,children:[As($,R,4).map((P,ee)=>{const X=W(P);return u.jsxs("g",{children:[u.jsx("line",{x1:Vt.left,x2:m-Vt.right,y1:X,y2:X,className:"stroke-line"}),u.jsx("text",{x:Vt.left-6,y:X+3,textAnchor:"end",className:"fill-faint text-[10px]",children:c(P)})]},`y${ee}`)}),As(T,V,5).map((P,ee)=>{const X=G(P);return u.jsxs("g",{children:[u.jsx("line",{x1:X,x2:X,y1:Vt.top,y2:e-Vt.bottom,className:"stroke-line"}),u.jsx("text",{x:X,y:e-14,textAnchor:"middle",className:"fill-faint text-[10px]",children:a(P)})]},`x${ee}`)}),t?u.jsx("text",{x:Vt.left+D/2,y:e-2,textAnchor:"middle",className:"fill-muted text-[10px]",children:t}):null,i?u.jsx("text",{x:10,y:Vt.top+L/2,textAnchor:"middle",transform:`rotate(-90 10 ${Vt.top+L/2})`,className:"fill-muted text-[10px]",children:i}):null,b.map((P,ee)=>u.jsx("circle",{cx:G(P.x),cy:W(P.y),r:3.5,fill:vn(w.indexOf(P.series??"")),fillOpacity:.75,"data-x":P.x,"data-y":P.y,"data-label":P.label,...x(u.jsx(os,{title:P.label??P.series,rows:[{label:t??"x",value:a(P.x)},{label:i??"y",value:c(P.y)}]}))},ee))]}),u.jsx(rr,{tip:v})]})}function q_(){const n=Ev();return u.jsx("span",{className:"text-2xs text-faint",children:n?"Querying…":"Live data"})}function Sd(n,e){for(const i of n.models){const a=i.metrics.find(c=>c.ref===e);if(a)return{format:a.format,type:a.type}}const t=n.graphMetrics.find(i=>i.ref===e);return{format:t==null?void 0:t.format,type:t==null?void 0:t.type}}function Z_(n){return ff(n.models.flatMap(e=>e.dimensions))}function X_(n){var t;const e=(t=n.encoding)==null?void 0:t.y;return(Array.isArray(e)?e[0]:e)??n.query.metrics[0]??""}function e2({chart:n,columns:e,rows:t}){const i=k_(e,t);return u.jsx("a",{href:`data:text/csv;charset=utf-8,${encodeURIComponent(i)}`,download:`${n.id}.csv`,className:"border border-line px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Export CSV"})}function t2({chart:n,columns:e,rows:t,loading:i,onDrill:a}){const c=e.map(g=>({key:g,label:Le(g),numeric:n.query.metrics.some(v=>xr(v,e)===g)})),f=u_(n),h=f?xr(f,e):void 0,m=!!f;return u.jsxs("div",{className:"border-t border-line bg-surface-soft p-3","data-testid":`chart-details-${n.id}`,children:[u.jsxs("div",{className:"mb-2 flex items-center justify-between gap-2",children:[u.jsx("span",{className:"text-2xs font-semibold uppercase tracking-wide text-faint",children:"Drill details"}),m&&f&&h?u.jsxs("span",{className:"text-2xs text-faint",children:["Choose a ",Le(f)," value to filter every chart."]}):null]}),u.jsx(Ui,{columns:c,rows:t,loading:i,pageSize:20,renderCell:(g,v)=>String(v??"—")}),m&&f&&h&&t.length?u.jsx("div",{className:"mt-2 flex flex-wrap gap-1","aria-label":`Drill by ${Le(f)}`,children:t.slice(0,12).map((g,v)=>{const x=ac(g[h]);return u.jsxs("button",{type:"button",onClick:()=>a(f,x),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-accent hover:text-ink",children:["Filter to ",rs(x)]},`${String(x)}-${v}`)})}):null]})}function n2({document:n,chart:e,catalog:t,backend:i,state:a,setFilters:c,setRange:f}){var P,ee,X,oe,ae,se,ne;const[h,m]=I.useState(!1),g=I.useMemo(()=>Z_(t),[t]),v=I.useMemo(()=>v_(n,e,a.filters,g,a.ranges,a,t.dialect),[e,n,a,g,t.dialect]),x=Bn(i,v),b=((P=x.result)==null?void 0:P.rows)??[],w=((ee=x.result)==null?void 0:ee.columns)??[],_=e.query.dimensions??[],C=((X=e.encoding)==null?void 0:X.x)??_[0]??"",T=h_(e),V=T[0]??X_(e),$=xr(C,w),R=yf(n,e,a),O=Qv(e,g),E=d_(e,C),D=((oe=e.title)==null?void 0:oe.trim())||Le(e.id),L=[(ae=e.encoding)==null?void 0:ae.color,..._.filter(A=>A!==C)].filter((A,Q,H)=>!!A&&H.indexOf(A)===Q),G=m_(e,C,L),W=L.map(A=>xr(A,w));let Y;if(x.loading&&!x.result)Y=u.jsx(mc,{title:`Loading ${D}`});else if(x.error)Y=u.jsx($i,{title:`Could not load ${D}`,message:x.error});else if(!b.length)Y=u.jsx(Xn,{title:D,message:"The query returned no rows."});else if(_.length)if(O==="scatter"||O==="point"){const A=(se=e.encoding)!=null&&se.color?xr(e.encoding.color,w):W[0];Y=u.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(260px,1fr))] gap-3",children:T.map(Q=>{const H=xr(Q,w),N=b.map(F=>({x:Number(F[$]),y:Number(F[H]),label:String(F[$]??""),series:A?String(F[A]??""):void 0}));return u.jsxs("div",{className:"min-w-0",children:[T.length>1?u.jsx("h3",{className:"mb-1 text-2xs font-semibold text-muted",children:Le(Q)}):null,u.jsx(i0,{points:N,xLabel:Le(C),yLabel:Le(Q),formatY:F=>pt(F,Sd(t,Q)),ariaLabel:`${D}, ${Le(Q)} by ${Le(C)}, ${N.length} points`})]},Q)})})}else O==="line"||O==="area"?Y=u.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(260px,1fr))] gap-3",children:T.map(A=>{const Q=w_(b,$,xr(A,w),W),H=Q[0]??{label:"Current",points:[]},N=Sd(t,A);return u.jsxs("div",{className:"min-w-0",children:[T.length>1?u.jsx("h3",{className:"mb-1 text-2xs font-semibold text-muted",children:Le(A)}):null,u.jsx(ea,{points:H.points,seriesLabel:H.label,additionalSeries:Q.slice(1),formatValue:F=>pt(F,N),ariaLabel:`${D}, ${Le(A)}, ${Q.length} series and ${H.points.length} buckets`,onBrush:E?F=>f(C,F):void 0})]},A)})}):Y=u.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(260px,1fr))] gap-3",children:T.map(A=>{const Q=xr(A,w),H=b_(b,$,Q,W);return H.map((N,F)=>{const te=N.data.slice(0,30),he=T.length>1||H.length>1,re=[T.length>1?Le(A):"",H.length>1?N.label:""].filter(Boolean).join(" · ");return u.jsxs("div",{className:"min-w-0",children:[he?u.jsx("h3",{className:"mb-1 text-2xs font-semibold text-muted",children:re}):null,u.jsx(s0,{data:te,ariaLabel:`${D}, ${re||Le(A)}, ${te.length} categories`,selectedLabel:R.filters[C],onSelect:G?pe=>{c(p_(e,C,pe,L,N.filterValues)),m(!0)}:void 0})]},`${A}-${N.label}-${F}`)})})});else{const A=b[0];Y=u.jsx("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2",children:e.query.metrics.map(Q=>u.jsx(Nr,{metric:Q,label:Le(Q),value:A[xr(Q,w)],format:Sd(t,Q)},Q))})}return u.jsxs("article",{className:"min-w-0 overflow-hidden border border-line bg-surface","data-testid":"dashboard-chart","data-chart-id":e.id,children:[u.jsxs("header",{className:"flex min-h-12 flex-wrap items-center justify-between gap-2 border-b border-line px-3 py-2",children:[u.jsxs("div",{className:"min-w-0",children:[u.jsx("h2",{className:"truncate text-sm font-semibold text-ink",children:D}),u.jsxs("p",{className:"text-2xs text-faint",children:[Le(V),C?` by ${Le(C)}`:""]})]}),u.jsxs("div",{className:"flex flex-wrap gap-1",children:[u.jsx("button",{type:"button","aria-expanded":h,onClick:()=>m(A=>!A),className:"border border-line px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:h?"Hide details":"Drill details"}),u.jsx("a",{href:x_(n,e,a,g,t),className:"border border-line px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Explore from here"}),u.jsx(e2,{chart:e,columns:w,rows:b})]})]}),u.jsx("div",{className:"min-h-64 overflow-hidden p-3",children:Y}),h?u.jsx(t2,{chart:e,columns:w,rows:b,loading:x.loading,onDrill:(A,Q)=>c({[A]:Q})}):null,(ne=x.result)!=null&&ne.sql?u.jsx("div",{className:"border-t border-line px-3 py-2",children:u.jsx(yc,{queries:{Query:x.result.sql}})}):null]})}function r2({document:n,state:e,onLoad:t}){const[i,a]=I.useState(""),[c,f]=I.useState(()=>N_(n)),[h,m]=I.useState(!1);function g(v){f(v),m(!j_(n,v))}return u.jsxs("details",{className:"relative",children:[u.jsx("summary",{className:"cursor-pointer list-none border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Saved views"}),u.jsxs("div",{className:"absolute right-0 z-50 mt-1 w-72 border border-line bg-surface p-3 shadow-[var(--shadow)]",children:[u.jsx("p",{className:"mb-2 text-2xs text-faint",children:"Stored only in this browser. Nothing is written to the server."}),u.jsxs("div",{className:"flex gap-1",children:[u.jsx("input",{value:i,onChange:v=>a(v.target.value),placeholder:"View name","aria-label":"Saved view name",className:"min-w-0 flex-1 border border-line bg-bg px-2 py-1 text-xs text-ink"}),u.jsx("button",{type:"button",disabled:!i.trim(),onClick:()=>{const v=[...c.filter(x=>x.name!==i.trim()),{name:i.trim(),state:e}];g(v),a("")},className:"border border-line px-2 py-1 text-2xs text-muted hover:text-ink disabled:opacity-40",children:"Save"})]}),h?u.jsx("p",{role:"alert",className:"mt-2 text-2xs text-danger",children:"Browser storage is unavailable."}):null,u.jsx("div",{className:"mt-2 flex flex-col gap-1",children:c.length?c.map(v=>u.jsxs("div",{className:"flex items-center justify-between gap-2 border-t border-line pt-1",children:[u.jsx("button",{type:"button",onClick:()=>t(v.state),className:"min-w-0 flex-1 truncate text-left text-xs text-muted hover:text-ink",children:v.name}),u.jsx("button",{type:"button","aria-label":`Delete saved view ${v.name}`,onClick:()=>g(c.filter(x=>x.name!==v.name)),className:"text-2xs text-faint hover:text-danger",children:"Delete"})]},v.name)):u.jsx("span",{className:"text-2xs text-faint",children:"No local views yet."})})]})]})}function s2(){const[n,e]=I.useState(!1);return u.jsx("button",{type:"button",title:"Copies the active tab, filters, and brushed ranges. Data is queried live; local saved views are not shared.",onClick:async()=>{await navigator.clipboard.writeText(window.location.href),e(!0),window.setTimeout(()=>e(!1),1200)},className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:n?"Share URL copied":"Copy share URL"})}function i2({document:n,catalog:e,backend:t}){const[i,a]=I.useState(()=>S_(window.location.search,n)),c=n.tabs.find(b=>b.id===i.tab)??n.tabs[0];I.useEffect(()=>{window.document.title=n.title},[n.title]),I.useEffect(()=>{const b=__(i,n);window.history.replaceState(null,"",`${window.location.pathname}${b?`?${b}`:""}`)},[n,i]);function f(b,w){var C,T;const _=lc(n,b);if((((T=(C=n.defaults)==null?void 0:C.interactions)==null?void 0:T.scope)??"dashboard")==="chart"){a(V=>{var $;return{...V,chartFilters:{...V.chartFilters??{},[_]:{...(($=V.chartFilters)==null?void 0:$[_])??{},...w}}}});return}a(V=>({...V,filters:{...V.filters,...w},filterSources:{...V.filterSources,...Object.fromEntries(Object.keys(w).map($=>[$,_]))}}))}function h(b,w,_){var T,V;const C=lc(n,b);if((((V=(T=n.defaults)==null?void 0:T.interactions)==null?void 0:V.scope)??"dashboard")==="chart"){a($=>{const R={...$.chartRanges??{}},O={...R[C]??{}};return _?O[w]=_:delete O[w],Object.keys(O).length?R[C]=O:delete R[C],{...$,chartRanges:R}});return}a($=>{const R={...$.ranges},O={...$.rangeSources};return _?(R[w]=_,O[w]=C):(delete R[w],delete O[w]),{...$,ranges:R,rangeSources:O}})}const m=u.jsxs(u.Fragment,{children:[u.jsx(r2,{document:n,state:i,onLoad:a}),u.jsx(s2,{}),u.jsx(Ko,{}),u.jsx(q_,{})]}),g=Object.entries(i.chartFilters??{}).flatMap(([b,w])=>Object.entries(w).map(([_,C])=>({source:b,dimension:_,value:C}))),v=Object.entries(i.chartRanges??{}).flatMap(([b,w])=>Object.entries(w).map(([_,C])=>({source:b,dimension:_,range:C}))),x=Object.entries(i.filters).length||Object.entries(i.ranges).length||g.length||v.length?u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"shrink-0 text-2xs font-semibold uppercase tracking-wide text-faint",children:"Filters"}),Object.entries(i.filters).map(([b,w])=>u.jsxs("button",{type:"button","aria-label":`Remove filter ${Le(b)} ${w}`,onClick:()=>a(_=>{const C={..._.filters},T={..._.filterSources};return delete C[b],delete T[b],{..._,filters:C,filterSources:T}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Le(b)," = ",w," ×"]},b)),Object.entries(i.ranges).map(([b,w])=>u.jsxs("button",{type:"button","aria-label":`Remove range ${Le(b)} ${w.from} to ${w.to}`,onClick:()=>a(_=>{const C={..._.ranges},T={..._.rangeSources};return delete C[b],delete T[b],{..._,ranges:C,rangeSources:T}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Le(b),": ",w.from,"–",w.to," ×"]},`range-${b}`)),g.map(({source:b,dimension:w,value:_})=>u.jsxs("button",{type:"button","aria-label":`Remove filter ${Le(w)} ${_} from ${b}`,onClick:()=>a(C=>{const T={...C.chartFilters??{}},V={...T[b]??{}};return delete V[w],Object.keys(V).length?T[b]=V:delete T[b],{...C,chartFilters:T}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Le(w)," = ",_," · ",b," ×"]},`chart-filter-${b}-${w}`)),v.map(({source:b,dimension:w,range:_})=>u.jsxs("button",{type:"button","aria-label":`Remove range ${Le(w)} ${_.from} to ${_.to} from ${b}`,onClick:()=>a(C=>{const T={...C.chartRanges??{}},V={...T[b]??{}};return delete V[w],Object.keys(V).length?T[b]=V:delete T[b],{...C,chartRanges:T}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Le(w),": ",_.from,"–",_.to," · ",b," ×"]},`chart-range-${b}-${w}`)),u.jsx("button",{type:"button",onClick:()=>a(b=>({...b,filters:{},ranges:{},filterSources:{},rangeSources:{},chartFilters:{},chartRanges:{}})),className:"text-2xs text-muted hover:text-ink",children:"Clear all"})]}):void 0;return u.jsx(Dv,{brand:u.jsxs("div",{className:"min-w-0",children:[u.jsx("h1",{className:"truncate text-sm font-semibold text-ink",children:n.title}),u.jsx("p",{className:"text-2xs text-faint",children:"Declarative dashboard"})]}),toolbar:m,filters:x,rail:null,showRail:!1,children:u.jsxs("div",{"data-testid":"dashboard-document",className:"flex min-h-full flex-col",children:[u.jsx("nav",{className:"flex shrink-0 gap-1 overflow-x-auto border-b border-line bg-surface px-3 pt-2","aria-label":"Dashboard tabs",children:n.tabs.map(b=>u.jsx("button",{type:"button",role:"tab","aria-selected":b.id===(c==null?void 0:c.id),"data-tab-id":b.id,onClick:()=>a(w=>{var _,C;return w.tab===b.id?w:(((C=(_=n.defaults)==null?void 0:_.interactions)==null?void 0:C.scope)??"dashboard")==="dashboard"?{...w,tab:b.id}:{...w,tab:b.id,filters:{},ranges:{},filterSources:{},rangeSources:{},chartFilters:{},chartRanges:{}}}),className:"border border-b-0 border-line px-3 py-2 text-xs text-muted aria-selected:border-accent aria-selected:bg-bg aria-selected:text-ink",children:I_(b)},b.id))}),c?u.jsx("section",{className:"grid min-w-0 grid-cols-1 gap-3 p-3 xl:grid-cols-2","data-testid":"dashboard-chart-grid","data-tab-id":c.id,children:c.charts.map(b=>u.jsx(n2,{document:n,chart:b,catalog:e,backend:t,state:i,setFilters:w=>f(b,w),setRange:(w,_)=>h(b,w,_)},b.id))}):u.jsx(Xn,{title:"No dashboard tabs",message:"This dashboard document has no tabs to render."})]})})}function ay(){const n=Ev();return u.jsxs("span",{role:"status","aria-live":"polite","aria-atomic":"true",className:"flex items-center gap-1.5 text-2xs text-faint",title:n?"Updating data":"Data is up to date",children:[n?u.jsx("svg",{"aria-hidden":"true",viewBox:"0 0 24 24",className:"spinner size-3.5 text-accent",fill:"none",stroke:"currentColor",strokeWidth:"3",children:u.jsx("path",{d:"M12 3a9 9 0 1 0 9 9",strokeLinecap:"round"})}):u.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-full bg-accent"}),u.jsx("span",{className:"sr-only",children:n?"Updating data":"Data is up to date"})]})}function o2(){const[n,e]=I.useState(!1);return u.jsx("button",{type:"button",onClick:async()=>{await navigator.clipboard.writeText(window.location.href),e(!0),window.setTimeout(()=>e(!1),1200)},className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:n?"Copied":"Copy link"})}function xl({children:n}){return u.jsx("div",{className:"grid h-screen place-items-center bg-bg p-6",children:n})}function a2({backend:n,onAuthenticated:e}){const[t,i]=I.useState(""),[a,c]=I.useState(null),[f,h]=I.useState(!1);return u.jsxs("div",{className:"w-full max-w-sm border border-line bg-surface p-6 shadow-sm",children:[u.jsx("h1",{className:"text-base font-semibold text-ink",children:"Connect to Sidemantic"}),u.jsx("p",{className:"mt-2 text-xs leading-5 text-muted",children:"Enter the API bearer once. It is exchanged for a short-lived, HttpOnly browser session where supported, and is never placed in the URL or browser storage."}),u.jsxs("form",{className:"mt-5 space-y-3",onSubmit:async m=>{m.preventDefault(),h(!0),c(null);try{await n.createBrowserSession(t),i(""),e()}catch(g){c(g instanceof Error?g.message:String(g))}finally{h(!1)}},children:[u.jsx("label",{className:"block text-xs font-medium text-ink",htmlFor:"api-token",children:"API bearer token"}),u.jsx("input",{id:"api-token",type:"password",autoComplete:"off",required:!0,value:t,onChange:m=>i(m.target.value),className:"w-full border border-line bg-bg px-3 py-2 text-sm text-ink outline-none focus:border-accent"}),a?u.jsx("p",{className:"text-xs text-red-700",children:a}):null,u.jsx("button",{type:"submit",disabled:f||!t,className:"w-full bg-accent px-3 py-2 text-xs font-semibold text-white disabled:opacity-50",children:f?"Connecting…":"Connect"})]})]})}function l2(){const{state:n,dispatch:e,catalog:t,initial:i,dashboard:a}=ls(),c=!!a,f=n.view==="home"&&!c,h=t.models.find(R=>R.name===n.model),m=I.useMemo(()=>Fs(t,a,n.dashboardTab),[t,a,n.dashboardTab]),g=I.useMemo(()=>a?Tv(t,a,n.dashboardTab):i,[t,a,i,n.dashboardTab]),v=n.dateRange!=null||Object.keys(n.filters).length>0,x=(m==null?void 0:m.timeDimension)??(h==null?void 0:h.timeDimension),b=!!x,w=cS(x==null?void 0:x.supportedGranularities,n.grain),_=I.useMemo(()=>{const R=new Map;for(const O of t.models)for(const E of O.dimensions)R.set(E.ref,{dim:E,model:O});return R},[t]),C=Object.entries(n.filters).flatMap(([R,O])=>{const E=_.get(R);return E?[u.jsx(Ud,{dim:E.dim,model:E.model,filter:O,onRemove:()=>e({type:"removeFilterDim",dim:R})},R)]:[]}),T=u.jsx(sS,{dashboardTitle:a==null?void 0:a.title,modelLabel:!f&&!c?h==null?void 0:h.label:void 0,onHome:()=>e({type:"setView",view:"home"})}),V=f?u.jsxs(u.Fragment,{children:[u.jsx(Ko,{}),u.jsx(ay,{})]}):u.jsxs(u.Fragment,{children:[a?u.jsx("div",{className:"flex items-center border border-line bg-surface",role:"tablist","aria-label":"Dashboard tabs",children:a.tabs.map(R=>{const O=R.id===n.dashboardTab;return u.jsx("button",{type:"button",role:"tab","aria-selected":O,className:`px-2 py-1 text-2xs ${O?"bg-accent text-white":"text-muted hover:text-ink"}`,onClick:()=>{const E=Fs(t,a,R.id);E&&e({type:"setDashboardTab",tab:E.id,model:E.model.name,metric:E.selectedMetric,grain:E.grain})},children:R.label??R.id},R.id)})}):u.jsx(Pv,{view:n.view,onChange:R=>e({type:"setView",view:R})}),u.jsx(Lv,{range:n.dateRange,disabled:!b,onChange:R=>e({type:"setDateRange",range:R}),comparison:n.comparison,comparisonRange:n.comparisonRange,onComparisonChange:(R,O)=>e({type:"setComparison",comparison:R,range:O})}),u.jsx($d,{grain:n.grain,options:w,disabled:!b,onChange:R=>e({type:"setGrain",grain:R})}),u.jsx(n_,{timezone:n.timezone,disabled:!b,onChange:R=>e({type:"setTimezone",timezone:R})}),v?u.jsx("button",{type:"button",onClick:()=>e({type:"reset",initial:g}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Reset"}):null,u.jsx(o2,{}),u.jsx(Ko,{}),u.jsx(ay,{})]}),$=u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"shrink-0 text-xs font-medium text-muted",children:"Filters"}),C.length?C:u.jsx("span",{className:"text-2xs text-faint",children:"None"}),h?u.jsx(QS,{model:h}):null,C.length?u.jsx("button",{type:"button",onClick:()=>e({type:"clearFilters"}),className:"shrink-0 text-2xs text-muted underline-offset-2 hover:text-ink hover:underline",children:"Clear"}):null]});return u.jsx(Dv,{brand:T,toolbar:V,filters:f?void 0:$,rail:u.jsx(JS,{}),showRail:!f&&!c,openRailRequest:n.view==="pivot",drawer:f?void 0:u.jsx(o_,{}),children:u.jsxs(qS,{children:[n.view==="home"?u.jsx(M_,{}):null,n.view==="explore"?u.jsx(Q_,{}):null,n.view==="pivot"?u.jsx(K_,{}):null]},n.view)})}function c2(){const[n,e]=I.useState(!1),t=I.useMemo(()=>new rS({transport:"json",onUnauthorized:()=>e(!0)}),[]),[i,a]=I.useState(null),[c,f]=I.useState(null),[h,m]=I.useState(0),g=c_(window.location.pathname,window.location.search);return I.useEffect(()=>{let v=!0;return Promise.all([t.getCatalog(),g?Promise.resolve(null):t.getDashboard()]).then(([x,b])=>v&&a({catalog:x,dashboard:b})).catch(x=>v&&f(x instanceof Error?x.message:String(x))),()=>{v=!1}},[t,g,h]),n?u.jsx(xl,{children:u.jsx(a2,{backend:t,onAuthenticated:()=>{e(!1),f(null),m(v=>v+1)}})}):c?u.jsx(xl,{children:u.jsx($i,{title:"Could not load semantic layer",message:c})}):i?i.catalog.models.length?i.dashboard?u.jsx(i2,{document:i.dashboard,catalog:i.catalog,backend:t}):u.jsx(zS,{catalog:i.catalog,backend:t,children:u.jsx(l2,{})}):u.jsx(xl,{children:u.jsx(Xn,{title:"Empty semantic layer",message:"No models were found."})}):u.jsx(xl,{children:u.jsx(mc,{title:"Loading semantic layer",message:"Reading models and metrics…"})})}const en={top:14,right:48,bottom:26,left:48};function u2({data:n,barLabel:e="Bars",lineLabel:t="Line",height:i=220,formatBar:a=pt,formatLine:c=pt,ariaLabel:f}){const h=I.useRef(null),[m,g]=I.useState(640),{tip:v,handlers:x}=Dr();if(I.useEffect(()=>cs(h.current,240,g),[]),n.length===0)return u.jsx("div",{className:"grid h-[220px] place-items-center text-xs text-faint",children:"No data to chart."});const b=n.map(ae=>Number.isFinite(ae.bar)?ae.bar:0),w=n.map(ae=>Number.isFinite(ae.line)?ae.line:0),_=Math.min(0,...b),C=Math.max(0,...b),T=C-_||1,V=Math.min(...w),$=Math.max(...w),R=$-V||1,O=m-en.left-en.right,E=i-en.top-en.bottom,D=ae=>en.top+(1-(ae-_)/T)*E,L=ae=>en.top+(1-(ae-V)/R)*E,G=O/n.length,W=Math.max(8,Math.min(48,G*.55)),Y=ae=>en.left+G*ae+G/2,P=D(0),ee=n.map((ae,se)=>`${Y(se).toFixed(1)},${L(w[se]).toFixed(1)}`).join(" L "),X=vn(1),oe=f||`Combo chart, ${n.length} categories: ${e} bars with a ${t} line`;return u.jsxs(u.Fragment,{children:[u.jsxs("div",{className:"mb-1 flex items-center gap-3 text-2xs text-faint",children:[u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx("span",{"aria-hidden":"true",className:"inline-block h-2 w-3 bg-chart-primary"})," ",e]}),u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx("span",{"aria-hidden":"true",className:"inline-block h-0.5 w-3",style:{background:X}})," ",t]})]}),u.jsxs("svg",{ref:h,role:"img","aria-label":oe,className:"w-full overflow-hidden",style:{height:i},viewBox:`0 0 ${m} ${i}`,children:[As(_,C,4).map((ae,se)=>{const ne=D(ae);return u.jsxs("g",{children:[u.jsx("line",{x1:en.left,x2:m-en.right,y1:ne,y2:ne,className:"stroke-line"}),u.jsx("text",{x:en.left-6,y:ne+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Gt(ae)})]},se)}),As(V,$,4).map((ae,se)=>u.jsx("text",{x:m-en.right+6,y:L(ae)+3,textAnchor:"start",className:"text-[10px]",fill:X,children:c(ae)},se)),u.jsx("line",{x1:en.left,x2:m-en.right,y1:P,y2:P,className:"stroke-line"}),n.map((ae,se)=>{const ne=b[se],A=D(ne);return u.jsxs("g",{children:[u.jsx("rect",{x:Y(se)-W/2,y:Math.min(A,P),width:W,height:Math.abs(A-P),"data-label":ae.label,"data-bar":ne,"data-line":w[se],className:ne<0?"fill-danger":"fill-chart-primary",...x(u.jsx(os,{title:ae.label,rows:[{label:e,value:a(ne),swatch:"var(--chart-primary)"},{label:t,value:c(w[se]),swatch:X}]}))}),u.jsx("text",{x:Y(se),y:i-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:ae.label.slice(0,8)})]},ae.label)}),u.jsx("path",{d:`M ${ee}`,fill:"none",stroke:X,strokeWidth:1.75}),n.map((ae,se)=>u.jsx("circle",{cx:Y(se),cy:L(w[se]),r:3,fill:X,...x(u.jsx(os,{title:ae.label,rows:[{label:e,value:a(b[se]),swatch:"var(--chart-primary)"},{label:t,value:c(w[se]),swatch:X}]}))},ae.label))]}),u.jsx(rr,{tip:v})]})}const d2={primary:"border-accent bg-accent-soft font-medium text-accent hover:bg-accent hover:text-surface",secondary:"border-line bg-surface text-ink hover:bg-surface-soft",ghost:"border-transparent bg-transparent text-muted hover:bg-surface-soft hover:text-ink",danger:"border-danger bg-danger-soft font-medium text-danger hover:bg-danger hover:text-surface"};function To({variant:n="secondary",size:e="md",type:t="button",className:i,...a}){const c=e==="sm"?"h-6 px-2.5 text-2xs":"h-7 px-3 text-xs";return u.jsx("button",{type:t,"data-variant":n,className:`inline-flex items-center justify-center rounded-full border ${c} ${d2[n]} disabled:pointer-events-none disabled:opacity-50 ${i??""}`,...a})}function f2(n,e){const t=e.trim().toLowerCase();return t?n.filter(i=>i.value.toLowerCase().includes(t)||(i.label??"").toLowerCase().includes(t)):n}function ly(n){const{options:e,placeholder:t="Search…",ariaLabel:i,disabled:a,maxVisible:c=50}=n,f=I.useId(),h=I.useRef(null),[m,g]=I.useState(!1),[v,x]=I.useState(""),[b,w]=I.useState(0),_=I.useMemo(()=>f2(e,v).slice(0,c),[e,v,c]),C=n.multiple?n.values:n.value!=null?[n.value]:[],T=new Set(C),V=D=>{var L;return((L=e.find(G=>G.value===D))==null?void 0:L.label)??D};I.useEffect(()=>{if(!m)return;function D(L){h.current&&!h.current.contains(L.target)&&g(!1)}return document.addEventListener("mousedown",D,!0),()=>document.removeEventListener("mousedown",D,!0)},[m]);function $(D){if(D){if(n.multiple){const L=T.has(D.value)?n.values.filter(G=>G!==D.value):[...n.values,D.value];n.onChange(L);return}n.onChange(D.value),x(""),g(!1)}}function R(){n.multiple?n.onChange([]):n.onChange(null),x("")}function O(D){D.key==="ArrowDown"?(D.preventDefault(),g(!0),w(L=>Math.min(L+1,_.length-1))):D.key==="ArrowUp"?(D.preventDefault(),w(L=>Math.max(L-1,0))):D.key==="Enter"?(D.preventDefault(),m&&$(_[b])):D.key==="Escape"?g(!1):D.key==="Backspace"&&n.multiple&&!v&&n.values.length&&n.onChange(n.values.slice(0,-1))}const E=!n.multiple&&n.value!=null?V(n.value):t;return u.jsxs("div",{ref:h,className:"relative inline-flex min-w-40 flex-wrap items-center gap-1 text-xs",children:[n.multiple?n.values.map(D=>u.jsxs("span",{"data-chip":D,className:"inline-flex items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 leading-4 text-muted",children:[u.jsx("span",{className:"max-w-32 truncate",children:V(D)}),u.jsx("button",{type:"button","aria-label":`Remove ${V(D)}`,disabled:a,onClick:()=>n.onChange(n.values.filter(L=>L!==D)),className:"text-faint hover:text-ink",children:"×"})]},D)):null,u.jsxs("span",{className:"relative min-w-28 flex-1",children:[u.jsx("input",{type:"text",role:"combobox","aria-expanded":m,"aria-controls":f,"aria-autocomplete":"list","aria-activedescendant":m&&_[b]?`${f}-${b}`:void 0,"aria-label":i,disabled:a,placeholder:E,value:v,onChange:D=>{x(D.target.value),w(0),g(!0)},onFocus:()=>g(!0),onKeyDown:O,className:"h-7 w-full rounded-full border border-line bg-surface px-3 text-ink placeholder:text-faint disabled:opacity-50"}),C.length>0?u.jsx("button",{type:"button","aria-label":"Clear selection",disabled:a,onClick:R,className:"absolute right-1 top-1/2 -translate-y-1/2 px-1 text-faint hover:text-ink",children:"×"}):null]}),m?u.jsxs("ul",{id:f,role:"listbox","aria-multiselectable":n.multiple||void 0,className:"absolute left-0 top-full z-50 mt-1 max-h-56 w-full min-w-40 overflow-y-auto rounded-xl border border-line bg-surface p-1.5 shadow-[var(--shadow)]",children:[_.length===0?u.jsx("li",{className:"px-1.5 py-1 text-faint",children:"No matches"}):null,_.map((D,L)=>u.jsxs("li",{id:`${f}-${L}`,role:"option","aria-selected":T.has(D.value),"data-active":L===b||void 0,onMouseEnter:()=>w(L),onMouseDown:G=>{G.preventDefault(),$(D)},className:"cursor-pointer truncate rounded-md px-2 py-1 text-muted data-[active=true]:bg-surface-soft data-[active=true]:text-ink",children:[D.label??D.value,T.has(D.value)?u.jsx("span",{className:"float-right text-accent",children:"✓"}):null]},D.value))]}):null]})}function h2({title:n,eyebrow:e="Sidemantic",status:t,toolbar:i,children:a}){return u.jsxs("main",{className:"mx-auto max-w-6xl px-4 py-5 text-ink sm:px-6",children:[u.jsxs("header",{className:"flex flex-wrap items-end justify-between gap-4 border-b border-line pb-4",children:[u.jsxs("div",{children:[u.jsx("p",{className:"text-xs font-medium text-faint",children:e}),u.jsx("h1",{className:"mt-1 text-2xl font-semibold text-ink",children:n})]}),t?u.jsx("div",{className:"text-sm text-muted",children:t}):null]}),i?u.jsx("section",{className:"flex flex-wrap gap-2 py-3",children:i}):null,u.jsx("section",{className:"grid gap-4 py-4",children:a})]})}const p2=["Su","Mo","Tu","We","Th","Fr","Sa"],cy=["January","February","March","April","May","June","July","August","September","October","November","December"];function o0(n,e,t){return`${String(n).padStart(4,"0")}-${String(e+1).padStart(2,"0")}-${String(t).padStart(2,"0")}`}function m2(n,e){const t=new Date(Date.UTC(n,e,1)),i=new Date(t);i.setUTCDate(1-t.getUTCDay());const a=[],c=new Date(i);do{const f=[];for(let h=0;h<7;h+=1)f.push({iso:o0(c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()),day:c.getUTCDate(),inMonth:c.getUTCMonth()===e}),c.setUTCDate(c.getUTCDate()+1);a.push(f)}while(c.getUTCMonth()===e);return a}function _d(){const n=new Date;return o0(n.getFullYear(),n.getMonth(),n.getDate())}function uy(n){var O;const{inline:e,ariaLabel:t,disabled:i}=n,a=n.mode==="range",c=a?((O=n.value)==null?void 0:O.from)??null:n.value,[f,h]=I.useState(()=>Number((c??_d()).slice(0,4))),[m,g]=I.useState(()=>Number((c??_d()).slice(5,7))-1),[v,x]=I.useState(null),b=I.useRef(null);function w(E){const D=new Date(Date.UTC(f,m+E,1));h(D.getUTCFullYear()),g(D.getUTCMonth())}function _(E){if(!a){n.onChange(E),b.current&&(b.current.open=!1);return}if(!v){x(E);return}const[D,L]=v<=E?[v,E]:[E,v];n.onChange({from:D,to:L}),x(null),b.current&&(b.current.open=!1)}function C(E){return a?v?E===v:n.value!=null&&E>=n.value.from&&E<=n.value.to:E===n.value}function T(E){return a?v?E===v:n.value!=null&&(E===n.value.from||E===n.value.to):E===n.value}const V=_d(),$=u.jsxs("div",{className:"w-56 select-none rounded-xl border border-line bg-surface p-2.5 text-2xs","aria-label":t??"Calendar",children:[u.jsxs("div",{className:"mb-1 flex items-center justify-between",children:[u.jsx("button",{type:"button","aria-label":"Previous month",onClick:()=>w(-1),className:"px-1.5 py-0.5 text-muted hover:bg-surface-soft hover:text-ink",children:"‹"}),u.jsxs("span",{className:"font-medium text-ink",children:[cy[m]," ",f]}),u.jsx("button",{type:"button","aria-label":"Next month",onClick:()=>w(1),className:"px-1.5 py-0.5 text-muted hover:bg-surface-soft hover:text-ink",children:"›"})]}),u.jsx("div",{className:"grid grid-cols-7 text-center text-faint",children:p2.map(E=>u.jsx("span",{className:"py-0.5",children:E},E))}),u.jsx("div",{role:"grid","aria-label":`${cy[m]} ${f}`,children:m2(f,m).map((E,D)=>u.jsx("div",{role:"row",className:"grid grid-cols-7",children:E.map(L=>u.jsx("button",{type:"button",role:"gridcell","aria-selected":C(L.iso),"data-date":L.iso,onClick:()=>_(L.iso),className:`py-1 text-center tnum ${T(L.iso)?"bg-accent text-surface":C(L.iso)?"bg-accent-soft text-accent":L.inMonth?"text-ink hover:bg-surface-soft":"text-faint hover:bg-surface-soft"} ${L.iso===V?"underline underline-offset-2":""}`,children:L.day},L.iso))},D))}),a&&v?u.jsxs("p",{className:"mt-1 text-faint",children:["Start ",v," — pick an end date."]}):null,n.value!=null?u.jsx("button",{type:"button",onClick:()=>n.onChange(null),className:"mt-1 w-full rounded-lg border border-line px-2 py-1 text-left text-muted hover:bg-surface-soft",children:"Clear"}):null]});if(e)return $;const R=a?n.value?`${n.value.from} → ${n.value.to}`:"Any dates":n.value??"Any date";return u.jsxs("details",{ref:b,className:"relative inline-block text-xs",children:[u.jsxs("summary",{className:`flex cursor-pointer items-center h-7 gap-1.5 rounded-full border border-line bg-surface px-3 text-ink ${i?"pointer-events-none opacity-50":""}`,children:[u.jsx("span",{className:"text-faint",children:t??"Date"}),u.jsx("span",{className:"tnum",children:R}),u.jsx("span",{"aria-hidden":"true",className:"text-faint",children:"▾"})]}),u.jsx("div",{className:"absolute left-0 z-50 mt-1 shadow-[var(--shadow)]",children:$})]})}function y2({result:n,pageSize:e=10}){const t=(n==null?void 0:n.columns)??[];return u.jsx(Ui,{columns:t.map(i=>({key:i,label:Le(i),numeric:n==null?void 0:n.sample_rows.some(a=>typeof a[i]=="number")})),rows:(n==null?void 0:n.sample_rows)??[],pageSize:e,renderCell:(i,a)=>pt(a)})}function g2({data:n,height:e=200,ariaLabel:t}){return u.jsx("div",{style:{minHeight:e},children:u.jsx(ea,{points:n.map(({label:i,value:a})=>({x:i,y:a})),formatValue:i=>pt(i),ariaLabel:t})})}const a0=Math.PI*2;function v2(n){const e=n.map((a,c)=>({...a,colorIndex:c})).filter(a=>Number.isFinite(a.value)&&a.value>0),t=e.reduce((a,c)=>a+c.value,0);if(t<=0)return[];let i=-Math.PI/2;return e.map(a=>{const c=a.value/t,f=i;return i+=c*a0,{label:a.label,value:a.value,share:c,startAngle:f,endAngle:i,colorIndex:a.colorIndex}})}function x2(n,e,t,i,a,c){const f=Math.min(c-a,a0-1e-4),h=a+f,m=f>Math.PI?1:0,g=n+i*Math.cos(a),v=e+i*Math.sin(a),x=n+i*Math.cos(h),b=e+i*Math.sin(h),w=n+t*Math.cos(h),_=e+t*Math.sin(h),C=n+t*Math.cos(a),T=e+t*Math.sin(a);return[`M ${g.toFixed(2)} ${v.toFixed(2)}`,`A ${i} ${i} 0 ${m} 1 ${x.toFixed(2)} ${b.toFixed(2)}`,`L ${w.toFixed(2)} ${_.toFixed(2)}`,`A ${t} ${t} 0 ${m} 0 ${C.toFixed(2)} ${T.toFixed(2)}`,"Z"].join(" ")}function b2({data:n,height:e=200,centerLabel:t="Total",format:i=pt,ariaLabel:a}){const c=I.useRef(null),[f,h]=I.useState(360),{tip:m,handlers:g}=Dr();I.useEffect(()=>cs(c.current,220,h),[]);const v=v2(n),x=v.reduce(($,R)=>$+R.value,0),b=Math.min(e,f*.55),w=b/2,_=e/2,C=b/2-6,T=Math.max(C*.62,C-34),V=a||`Donut chart, ${v.length} segments totaling ${Gt(x)}`;return v.length===0?u.jsx("div",{className:"grid h-[200px] place-items-center text-xs text-faint",children:"No positive values to chart."}):u.jsxs("div",{ref:c,className:"flex w-full items-center gap-4",style:{height:e},children:[u.jsxs("svg",{role:"img","aria-label":V,width:b,height:e,className:"shrink-0 overflow-hidden",children:[v.map($=>u.jsx("path",{d:x2(w,_,T,C,$.startAngle,$.endAngle),fill:vn($.colorIndex),stroke:"var(--surface)",strokeWidth:1,"data-label":$.label,"data-value":$.value,...g(u.jsx(os,{title:$.label,rows:[{label:"Value",value:i($.value),swatch:vn($.colorIndex)},{label:"Share",value:`${($.share*100).toFixed(1)}%`}]}))},$.label)),u.jsx("text",{x:w,y:_-4,textAnchor:"middle",className:"fill-ink font-mono tnum text-sm font-medium",children:Gt(x)}),u.jsx("text",{x:w,y:_+12,textAnchor:"middle",className:"fill-faint text-[10px]",children:t})]}),u.jsx("ul",{className:"min-w-0 flex-1 space-y-1 text-2xs",children:v.map($=>u.jsxs("li",{className:"flex items-center gap-2","data-label":$.label,children:[u.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 shrink-0",style:{background:vn($.colorIndex)}}),u.jsx("span",{className:"truncate text-muted",children:$.label}),u.jsx("span",{className:"ml-auto font-mono tnum text-ink",children:i($.value)}),u.jsxs("span",{className:"w-10 text-right font-mono tnum text-faint",children:[($.share*100).toFixed(1),"%"]})]},$.label))}),u.jsx(rr,{tip:m})]})}const pr={top:8,right:8,bottom:26,left:76};function dy(n,e,t){if(t!=null&&t.length)return t;const i=[];for(const a of n)i.includes(a[e])||i.push(a[e]);return i}function w2({cells:n,xLabels:e,yLabels:t,height:i=240,format:a=pt,ariaLabel:c}){const f=I.useRef(null),[h,m]=I.useState(640),{tip:g,handlers:v}=Dr();I.useEffect(()=>cs(f.current,240,m),[]);const x=dy(n,"x",e),b=dy(n,"y",t);if(x.length===0||b.length===0)return u.jsx("div",{className:"grid h-[240px] place-items-center text-xs text-faint",children:"No cells to chart."});const w=new Map(n.map(D=>[`${D.x}\0${D.y}`,D.value])),_=n.map(D=>Math.abs(D.value)).filter(Number.isFinite),C=Math.max(..._,0)||1,T=h-pr.left-pr.right,V=i-pr.top-pr.bottom,$=T/x.length,R=V/b.length,O=Math.max(1,Math.ceil(x.length/Math.max(1,Math.floor(T/56)))),E=c||`Heatmap, ${x.length} by ${b.length} cells`;return u.jsxs(u.Fragment,{children:[u.jsxs("svg",{ref:f,role:"img","aria-label":E,className:"w-full overflow-hidden",style:{height:i},viewBox:`0 0 ${h} ${i}`,children:[b.map((D,L)=>u.jsx("text",{x:pr.left-6,y:pr.top+L*R+R/2+3,textAnchor:"end",className:"fill-muted text-[10px]",children:D.slice(0,12)},D)),x.map((D,L)=>L%O===0?u.jsx("text",{x:pr.left+L*$+$/2,y:i-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:D.slice(0,8)},D):null),b.map((D,L)=>x.map((G,W)=>{const Y=w.get(`${G}\0${D}`),P=Y!=null&&Number.isFinite(Y),ee=P?.06+.94*(Math.abs(Y)/C):0;return u.jsx("rect",{x:pr.left+W*$+.5,y:pr.top+L*R+.5,width:Math.max(1,$-1),height:Math.max(1,R-1),"data-x":G,"data-y":D,"data-value":P?Y:void 0,className:P&&Y<0?"fill-danger":"fill-chart-primary",fillOpacity:P?ee:.03,...v(u.jsx(os,{title:`${D} / ${G}`,rows:[{label:"Value",value:P?a(Y):"no data"}]}))},`${G}\0${D}`)}))]}),u.jsx(rr,{tip:g})]})}function S2(n,e){const t=n.filter(Number.isFinite);if(t.length===0)return[];const i=Math.min(...t),a=Math.max(...t),c=Math.max(1,Math.floor(e??Math.min(40,Math.ceil(Math.log2(t.length)+1))));if(i===a)return[{x0:i,x1:a,count:t.length}];const f=(a-i)/c,h=Array.from({length:c},(m,g)=>({x0:i+g*f,x1:i+(g+1)*f,count:0}));for(const m of t){const g=Math.min(c-1,Math.floor((m-i)/f));h[g].count+=1}return h}const Cn={top:12,right:14,bottom:26,left:44};function _2({values:n,bins:e,height:t=200,format:i=Gt,ariaLabel:a}){const c=I.useRef(null),[f,h]=I.useState(640),{tip:m,handlers:g}=Dr();I.useEffect(()=>cs(c.current,160,h),[]);const v=S2(n,e);if(v.length===0)return u.jsx("div",{className:"grid h-[200px] place-items-center text-xs text-faint",children:"No numeric values to chart."});const x=Math.max(...v.map(R=>R.count),1),b=f-Cn.left-Cn.right,w=t-Cn.top-Cn.bottom,_=R=>Cn.top+(1-R/x)*w,C=b/v.length,T=As(0,x,4),V=Math.max(1,Math.ceil(v.length/6)),$=a||`Histogram, ${v.length} bins from ${i(v[0].x0)} to ${i(v[v.length-1].x1)}`;return u.jsxs(u.Fragment,{children:[u.jsxs("svg",{ref:c,role:"img","aria-label":$,className:"w-full overflow-hidden",style:{height:t},viewBox:`0 0 ${f} ${t}`,children:[T.map((R,O)=>{const E=_(R);return u.jsxs("g",{children:[u.jsx("line",{x1:Cn.left,x2:f-Cn.right,y1:E,y2:E,className:"stroke-line"}),u.jsx("text",{x:Cn.left-6,y:E+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Gt(R)})]},O)}),v.map((R,O)=>{const E=Cn.left+C*O,D=_(R.count);return u.jsx("rect",{x:E+.5,y:D,width:Math.max(1,C-1),height:Cn.top+w-D,"data-x0":R.x0,"data-x1":R.x1,"data-count":R.count,className:"fill-chart-primary",...g(u.jsx(os,{title:`${i(R.x0)} – ${i(R.x1)}`,rows:[{label:"Count",value:R.count.toLocaleString()}]}))},O)}),v.map((R,O)=>O%V===0?u.jsx("text",{x:Cn.left+C*O,y:t-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:i(R.x0)},O):null)]}),u.jsx(rr,{tip:m})]})}function N2(n){let e=2166136261;for(let t=0;t>>0}function j2(n){let e=n||1;return()=>{e|=0,e=e+1831565813|0;let t=Math.imul(e^e>>>15,1|e);return t=t+Math.imul(t^t>>>7,61|t)^t,((t^t>>>14)>>>0)/4294967296}}function k2(n,e,{width:t=640,height:i=320,iterations:a=150}={}){if(n.length===0)return[];const c=j2(N2(n.map(G=>G.id).join("\0"))),f=new Map(n.map((G,W)=>[G.id,W])),h=n.map(()=>c()*t),m=n.map(()=>c()*i),g=n.map(()=>0),v=n.map(()=>0),x=n.map(()=>0),b=[];for(const G of e){const W=f.get(G.source),Y=f.get(G.target);W==null||Y==null||W===Y||(b.push([W,Y]),x[W]+=1,x[Y]+=1)}const w=t*i,_=Math.sqrt(w/n.length);let C=Math.max(t,i)/8;const T=C/(a+1);for(let G=0;G({...G,x:V+(h[W]-$)/D*(t-V*2),y:V+(m[W]-O)/L*(i-V*2),degree:x[W]}))}function I2({nodes:n,links:e,height:t=320,ariaLabel:i}){const a=I.useRef(null),[c,f]=I.useState(640),{tip:h,handlers:m}=Dr();I.useEffect(()=>cs(a.current,240,f),[]);const g=I.useMemo(()=>k2(n,e,{width:c,height:t}),[n,e,c,t]),v=I.useMemo(()=>new Map(g.map(_=>[_.id,_])),[g]),x=I.useMemo(()=>[...new Set(n.map(_=>_.group??""))],[n]),b=Math.max(...e.map(_=>_.weight??1),1);if(g.length===0)return u.jsx("div",{className:"grid h-[320px] place-items-center text-xs text-faint",children:"No nodes to chart."});const w=i||`Network graph, ${n.length} nodes and ${e.length} links`;return u.jsxs(u.Fragment,{children:[x.length>1?u.jsx("div",{className:"mb-1 flex flex-wrap items-center gap-3 text-2xs text-faint",children:x.map((_,C)=>u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-full",style:{background:vn(C)}}),_||"(default)"]},_||"(default)"))}):null,u.jsxs("svg",{ref:a,role:"img","aria-label":w,className:"w-full overflow-hidden",style:{height:t},viewBox:`0 0 ${c} ${t}`,children:[e.map((_,C)=>{const T=v.get(_.source),V=v.get(_.target);return!T||!V?null:u.jsx("line",{x1:T.x,y1:T.y,x2:V.x,y2:V.y,className:"stroke-line",strokeWidth:.75+2.25*((_.weight??1)/b),"data-source":_.source,"data-target":_.target},C)}),g.map(_=>{const C=5+Math.min(9,_.degree*1.5);return u.jsxs("g",{children:[u.jsx("circle",{cx:_.x,cy:_.y,r:C,fill:vn(x.indexOf(_.group??"")),stroke:"var(--surface)",strokeWidth:1.5,"data-id":_.id,"data-degree":_.degree,...m(u.jsx(os,{title:_.label??_.id,rows:[{label:"Connections",value:String(_.degree)},..._.group?[{label:"Group",value:_.group,swatch:vn(x.indexOf(_.group))}]:[]]}))}),u.jsx("text",{x:_.x,y:_.y-C-4,textAnchor:"middle",className:"pointer-events-none fill-muted text-[10px]",children:(_.label??_.id).slice(0,14)})]},_.id)})]}),u.jsx(rr,{tip:h})]})}function Dl({value:n,options:e,onChange:t,label:i,ariaLabel:a,placeholder:c,disabled:f}){return u.jsxs("label",{className:"flex items-center gap-1.5 text-xs text-faint",children:[i?u.jsx("span",{className:"hidden sm:inline",children:i}):null,u.jsxs("select",{"aria-label":a??i,value:n,disabled:f,onChange:h=>t(h.target.value),className:"h-7 rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50",children:[c?u.jsx("option",{value:"",disabled:!0,children:c}):null,e.map(h=>u.jsx("option",{value:h.value,children:h.label??h.value},h.value))]})]})}const dn={top:12,right:14,bottom:26,left:48};function M2(n,e,t){return Math.min(Math.max(n,e),t)}function D2({labels:n,series:e,height:t=240,format:i=pt,formatLabel:a=f=>f,ariaLabel:c}){const f=I.useRef(null),[h,m]=I.useState(640),[g,v]=I.useState(null);I.useEffect(()=>cs(f.current,240,m),[]);const x=n.length;if(x<2||e.length===0)return u.jsx("div",{className:"grid h-[240px] place-items-center text-xs text-faint",children:"Not enough data to chart."});const b=e.map(W=>({name:W.name,values:n.map((Y,P)=>{const ee=W.values[P];return Number.isFinite(ee)&&ee>0?ee:0})})),w=[];let _=n.map(()=>0);for(const W of b){const Y=W.values.map((P,ee)=>_[ee]+P);w.push(Y),_=Y}const C=Math.max(..._,1),T=h-dn.left-dn.right,V=t-dn.top-dn.bottom,$=W=>dn.left+W/(x-1)*T,R=W=>dn.top+(1-W/C)*V,O=Math.max(1,Math.ceil(x/8)),E=c||`Stacked area chart, ${e.length} series over ${x} points`;function D(W){const Y=w[W],P=W===0?n.map(()=>0):w[W-1],ee=Y.map((oe,ae)=>`${$(ae).toFixed(1)},${R(oe).toFixed(1)}`).join(" L "),X=[...P.keys()].reverse().map(oe=>`${$(oe).toFixed(1)},${R(P[oe]).toFixed(1)}`).join(" L ");return`M ${ee} L ${X} Z`}function L(W){const Y=W.currentTarget.getBoundingClientRect(),P=(W.clientX-Y.left)/Y.width*h,ee=Math.round((P-dn.left)/T*(x-1));v(ee>=0&&eeu.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx("span",{"aria-hidden":"true",className:"inline-block size-2",style:{background:vn(Y)}}),W.name]},W.name))}),u.jsxs("svg",{role:"img","aria-label":E,className:"w-full overflow-hidden",style:{height:t},viewBox:`0 0 ${h} ${t}`,onMouseMove:L,onMouseLeave:()=>v(null),children:[As(0,C,4).map((W,Y)=>{const P=R(W);return u.jsxs("g",{children:[u.jsx("line",{x1:dn.left,x2:h-dn.right,y1:P,y2:P,className:"stroke-line"}),u.jsx("text",{x:dn.left-6,y:P+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Gt(W)})]},Y)}),b.map((W,Y)=>u.jsx("path",{d:D(Y),fill:vn(Y),fillOpacity:.8,"data-series":W.name},W.name)),g!=null?u.jsx("line",{x1:$(g),x2:$(g),y1:dn.top,y2:t-dn.bottom,className:"stroke-faint",strokeDasharray:"3 3"}):null,n.map((W,Y)=>Y%O===0||Y===x-1?u.jsx("text",{x:$(Y),y:t-8,textAnchor:"middle",className:"fill-faint font-mono text-[10px]",children:a(W)},W):null)]}),g!=null?u.jsxs("div",{className:"pointer-events-none absolute top-8 z-20 -translate-x-1/2 whitespace-nowrap border border-line bg-surface px-2 py-1.5 text-2xs shadow-[var(--shadow)]",style:{left:G},children:[u.jsx("div",{className:"mb-0.5 font-mono text-faint",children:a(n[g])}),b.map((W,Y)=>u.jsxs("div",{className:"flex items-center justify-between gap-3",children:[u.jsxs("span",{className:"flex items-center gap-1 text-muted",children:[u.jsx("span",{"aria-hidden":"true",className:"inline-block size-2",style:{background:vn(Y)}}),W.name]}),u.jsx("span",{className:"font-mono tnum text-ink",children:i(W.values[g])})]},W.name))]}):null]})}function C2({checked:n,onChange:e,label:t,ariaLabel:i,disabled:a}){return u.jsxs("label",{className:`flex items-center gap-1.5 text-xs ${a?"opacity-50":""}`,children:[u.jsx("button",{type:"button",role:"switch","aria-checked":n,"aria-label":i??t,disabled:a,onClick:()=>e(!n),"data-checked":n||void 0,className:`relative h-4 w-7 shrink-0 rounded-full border transition-colors ${n?"border-accent bg-accent":"border-line bg-surface-soft"}`,children:u.jsx("span",{"aria-hidden":"true",className:`absolute top-1/2 size-3 -translate-y-1/2 rounded-full bg-surface shadow transition-[left] ${n?"left-[14px]":"left-[2px]"}`})}),t?u.jsx("span",{className:"text-muted",children:t}):null]})}function F2({tabs:n,active:e,onChange:t,ariaLabel:i="Tabs"}){return u.jsx("div",{role:"tablist","aria-label":i,className:"inline-flex items-center gap-0.5 rounded-full border border-line bg-surface p-px",children:n.map(a=>u.jsx("button",{role:"tab",type:"button","aria-selected":e===a.key,"data-tab":a.key,"data-selected":e===a.key||void 0,onClick:()=>t(a.key),className:"inline-flex h-6 items-center rounded-full px-2.5 text-xs font-medium text-muted hover:bg-surface-soft hover:text-ink data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent",children:a.label},a.key))})}function O2({content:n,children:e,className:t}){const{tip:i,handlers:a}=Dr();return u.jsxs(u.Fragment,{children:[u.jsx("span",{className:t??"inline-flex",...a(n),children:e}),u.jsx(rr,{tip:i})]})}function T2(n){let e=0;return n.map(t=>{const i=Number.isFinite(t.value)?t.value:0;if(t.isTotal)return e=i,{...t,value:i,start:0,end:i};const a=e;return e+=i,{...t,value:i,start:a,end:e}})}const fn={top:12,right:14,bottom:26,left:48};function A2({data:n,height:e=220,format:t=pt,ariaLabel:i}){const a=I.useRef(null),[c,f]=I.useState(640),{tip:h,handlers:m}=Dr();I.useEffect(()=>cs(a.current,200,f),[]);const g=T2(n);if(g.length===0)return u.jsx("div",{className:"grid h-[220px] place-items-center text-xs text-faint",children:"No steps to chart."});const v=g.flatMap(E=>[E.start,E.end]),x=Math.min(0,...v),b=Math.max(0,...v),w=b-x||1,_=c-fn.left-fn.right,C=e-fn.top-fn.bottom,T=E=>fn.top+(1-(E-x)/w)*C,V=_/g.length,$=Math.max(10,Math.min(56,V*.62)),R=As(x,b,4),O=i||`Waterfall chart, ${g.length} steps ending at ${t(g[g.length-1].end)}`;return u.jsxs(u.Fragment,{children:[u.jsxs("svg",{ref:a,role:"img","aria-label":O,className:"w-full overflow-hidden",style:{height:e},viewBox:`0 0 ${c} ${e}`,children:[R.map((E,D)=>{const L=T(E);return u.jsxs("g",{children:[u.jsx("line",{x1:fn.left,x2:c-fn.right,y1:L,y2:L,className:"stroke-line"}),u.jsx("text",{x:fn.left-6,y:L+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Gt(E)})]},D)}),u.jsx("line",{x1:fn.left,x2:c-fn.right,y1:T(0),y2:T(0),className:"stroke-faint"}),g.map((E,D)=>{const L=fn.left+V*D+(V-$)/2,G=T(E.start),W=T(E.end),Y=E.isTotal?"total":E.value<0?"negative":"positive",P=E.isTotal?"fill-faint":E.value<0?"fill-danger":"fill-chart-primary",ee=g[D+1];return u.jsxs("g",{children:[u.jsx("rect",{x:L,y:Math.min(G,W),width:$,height:Math.max(1,Math.abs(W-G)),"data-label":E.label,"data-value":E.value,"data-tone":Y,className:P,...m(u.jsx(os,{title:E.label,rows:E.isTotal?[{label:"Total",value:t(E.end)}]:[{label:"Change",value:t(E.value)},{label:"Running",value:t(E.end)}]}))}),ee?u.jsx("line",{x1:L+$,x2:fn.left+V*(D+1)+(V-$)/2,y1:W,y2:W,className:"stroke-faint",strokeDasharray:"3 3"}):null,u.jsx("text",{x:L+$/2,y:e-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:E.label.slice(0,9)})]},`${E.label}-${D}`)})]}),u.jsx(rr,{tip:h})]})}function fy(n){return n==null?"∅":String(n)}function B2(n){const e=typeof n=="number"?n:Number(n);return Number.isFinite(e)?e:Number.NaN}function E2(n,e){const t=[],i=[],a=new Map;for(const c of n){const f=fy(c[e.x]),h=fy(c[e.series]);t.includes(f)||t.push(f),i.includes(h)||i.push(h),a.set(`${h}\0${f}`,B2(c[e.y]))}return{labels:t,series:i.map(c=>({name:c,values:t.map(f=>a.get(`${c}\0${f}`)??0)}))}}const R2=[{dimension:"orders.region",title:"Customer Region",rows:[["East",83262],["South",80579],["West",71561],["North",52889]].map(([n,e])=>({value:String(n),metric:Number(e)}))},{dimension:"orders.status",title:"Order Status",rows:[["completed",170379],["cancelled",64637],["pending",53275]].map(([n,e])=>({value:String(n),metric:Number(e)}))},{dimension:"products.category",title:"Product Category",rows:[["Electronics",202015],["Furniture",83848],["Office Supplies",2428]].map(([n,e])=>({value:String(n),metric:Number(e)}))},{dimension:"customers.name",title:"Top Customers",rows:[["Bob Smith",46690],["Carol Davis",42227],["Henry Taylor",41633],["Grace Lee",41035],["Frank Brown",33890],["David Wilson",29928],["Alice Johnson",27114],["Emma Martinez",24802]].map(([n,e])=>({value:String(n),metric:Number(e)}))}],L2=[{key:"region",label:"Region",sortable:!0},{key:"revenue",label:"Revenue",numeric:!0,sortable:!0},{key:"orders",label:"Orders",numeric:!0,sortable:!0}],hy=Array.from({length:17},(n,e)=>({region:["East","South","West","North"][e%4],revenue:91e3-e*2875,orders:420-e*11})),xf=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug"],U2=xf.flatMap((n,e)=>[{month:n,plan:"Basic",revenue:120+e*26},{month:n,plan:"Pro",revenue:60+e*24},{month:n,plan:"Enterprise",revenue:e<2?0:10+e*12}]),$2=Array.from({length:48},(n,e)=>({x:e+1,y:(e+1)*1.6+Math.sin(e*78.233)*43758.5453%18,label:`Account ${e+1}`,series:e%2?"Returning":"New"})),P2=Array.from({length:400},(n,e)=>Math.abs(Math.sin(e*12.9898)*43758.5453%1)*100),z2=["East","South","West","North"].flatMap((n,e)=>xf.map((t,i)=>({x:t,y:n,value:(e+1)*(i+1)*7-(i%4===3?80:0)}))),py=[{value:"orders.revenue",label:"Revenue"},{value:"orders.count",label:"Order count"},{value:"customers.count",label:"Customer count"},{value:"orders.margin",label:"Gross margin"}];function V2(){const[n,e]=I.useState("orders.revenue"),[t,i]=I.useState({}),[a,c]=I.useState(null),[f,h]=I.useState({"orders.region":["East","West"],"orders.status":["completed"]}),[m,g]=I.useState({from:"2025-01-01",to:"2025-06-30"}),[v,x]=I.useState("month"),[b,w]=I.useState("explore"),[_,C]=I.useState("previous"),[T,V]=I.useState("orders.revenue"),[$,R]=I.useState(["orders.revenue","orders.count"]),[O,E]=I.useState("apple"),[D,L]=I.useState(!0),[G,W]=I.useState("explore"),[Y,P]=I.useState("2025-06-15"),[ee,X]=I.useState({from:"2025-06-01",to:"2025-06-21"}),oe=I.useMemo(()=>E2(U2,{x:"month",y:"revenue",series:"plan"}),[]),[ae,se]=I.useState({key:"revenue",dir:"desc"}),ne=I.useMemo(()=>[...hy].sort((A,Q)=>{const H=A[ae.key],N=Q[ae.key],F=typeof H=="number"&&typeof N=="number"?H-N:String(H).localeCompare(String(N));return ae.dir==="asc"?F:-F}),[ae]);return u.jsxs("main",{className:"min-h-screen bg-bg text-ink",children:[u.jsxs("header",{className:"sticky top-0 z-20 flex items-center justify-between border-b border-line bg-surface px-4 py-3",children:[u.jsxs("div",{children:[u.jsx("h1",{className:"text-sm font-semibold",children:"Sidemantic component gallery"}),u.jsxs("p",{className:"text-2xs text-faint",children:["Canonical React primitives · ",u.jsx("a",{className:"text-accent hover:underline",href:"/typography",children:"typography workbench →"})]})]}),u.jsx(Ko,{})]}),u.jsxs("div",{className:"space-y-8 p-4",children:[u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Metric cards"}),u.jsxs("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-3",children:[u.jsx(Nr,{metric:"orders.revenue",label:"Revenue",value:288291,format:{format:"currency"},selected:n==="orders.revenue",sparkValues:[31,42,38,55,60,74],onSelect:e}),u.jsx(Nr,{metric:"orders.count",label:"Order Count",value:447,selected:n==="orders.count",sparkValues:[21,34,28,41,44,51],onSelect:e}),u.jsx(Nr,{metric:"orders.margin",label:"Gross Margin",value:.324,format:{format:"percent"},delta:{label:"+1.1pt",tone:"positive"},comparison:"vs previous month",sparkValues:[24,26,29,27,31,32],selected:n==="orders.margin",onSelect:e})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Leaderboard cards"}),u.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(220px,1fr))] gap-0 border-l border-t border-line",children:R2.filter(A=>a===null||a===A.dimension).map(A=>u.jsx(n0,{dimension:A.dimension,title:A.title,metricLabel:"Total Revenue",rows:A.rows,selectedValues:t[A.dimension],formatMetric:Q=>pt(Q,{format:"currency"}),onToggle:Q=>i(H=>{const N=H[A.dimension]??[];return{...H,[A.dimension]:N.includes(Q)?N.filter(F=>F!==Q):[...N,Q]}}),expanded:a===A.dimension,onExpandedChange:Q=>c(Q?A.dimension:null)},A.dimension))})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Filters and controls"}),u.jsxs("div",{className:"space-y-3",children:[u.jsxs("div",{"data-testid":"gallery-filter-pills",className:"flex min-h-8 flex-wrap items-center gap-2",children:[Object.entries(f).flatMap(([A,Q])=>Q.map(H=>u.jsx(Ud,{dimension:A,value:H,onRemove:()=>h(N=>({...N,[A]:N[A].filter(F=>F!==H)}))},`${A}:${H}`))),Object.values(f).every(A=>A.length===0)?u.jsx("span",{className:"text-2xs text-faint",children:"No active filters"}):null]}),u.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[u.jsx(Lv,{range:m,onChange:g,comparison:_,onComparisonChange:C}),u.jsx($d,{grain:v,options:["day","week","month","quarter","year"],onChange:x}),u.jsx(Pv,{view:b,onChange:w}),u.jsxs("span",{className:"inline-flex items-center gap-1.5 text-2xs text-muted",children:[u.jsx(gd,{status:"ok"})," Ready"]}),u.jsxs("span",{className:"inline-flex items-center gap-1.5 text-2xs text-muted",children:[u.jsx(gd,{status:"loading"})," Updating"]}),u.jsx("button",{type:"button",onClick:()=>h({"orders.region":["East","West"],"orders.status":["completed"]}),className:"inline-flex h-7 items-center rounded-full border border-line px-3 text-xs text-muted hover:bg-surface-soft",children:"Reset filters"})]})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Charts"}),u.jsxs("div",{className:"grid gap-3 xl:grid-cols-2",children:[u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Sparkline"}),u.jsx(r0,{values:[31,42,38,55,60,74,69,83],labels:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug"],ariaLabel:"Eight month revenue trend"})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Column chart"}),u.jsx(s0,{data:[{label:"East",value:83},{label:"South",value:81},{label:"West",value:72},{label:"Returns",value:-18}]})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Line chart compatibility export"}),u.jsx(g2,{data:[{label:"Jan",value:31},{label:"Feb",value:42},{label:"Mar",value:38},{label:"Apr",value:55},{label:"May",value:60}]})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Interactive time series"}),u.jsx(ea,{points:[31,42,38,55,60,74].map((A,Q)=>({x:`2025-0${Q+1}-01`,y:A})),comparison:[27,35,33,48,52,61].map((A,Q)=>({x:`2024-0${Q+1}-01`,y:A})),formatValue:A=>`$${A.toLocaleString()}k`})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Donut"}),u.jsx(b2,{data:[{label:"iOS",value:4200},{label:"Android",value:3100},{label:"Web",value:1900},{label:"Other",value:400}]})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Stacked area (long rows via rowsToSeries)"}),u.jsx(D2,{labels:oe.labels,series:oe.series,height:200})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Bar + line combo (dual axis)"}),u.jsx(u2,{data:xf.map((A,Q)=>({label:A,bar:200+Q*42,line:.02+Q*.004})),barLabel:"Revenue",lineLabel:"Conversion",formatLine:A=>`${(A*100).toFixed(1)}%`,height:200})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Histogram"}),u.jsx(_2,{values:P2,bins:20})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Scatter"}),u.jsx(i0,{points:$2,xLabel:"Sessions",yLabel:"Orders",height:200})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Heatmap"}),u.jsx(w2,{cells:z2,height:200})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Waterfall"}),u.jsx(A2,{data:[{label:"Gross",value:1e3,isTotal:!0},{label:"Refunds",value:-140},{label:"Discounts",value:-90},{label:"Upsells",value:130},{label:"Net",value:900,isTotal:!0}],height:200})]}),u.jsxs("article",{className:"min-w-0 xl:col-span-2",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Network"}),u.jsx(I2,{nodes:[{id:"orders",group:"fact"},{id:"payments",group:"fact"},{id:"customers",group:"dimension"},{id:"products",group:"dimension"},{id:"regions",group:"dimension"}],links:[{source:"orders",target:"customers",weight:3},{source:"orders",target:"products",weight:2},{source:"orders",target:"regions"},{source:"payments",target:"orders",weight:2},{source:"payments",target:"customers"}],height:260})]})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Inputs"}),u.jsxs("div",{className:"space-y-3",children:[u.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[u.jsx(To,{variant:"primary",children:"Primary"}),u.jsx(To,{children:"Secondary"}),u.jsx(To,{variant:"ghost",children:"Ghost"}),u.jsx(To,{variant:"danger",children:"Danger"}),u.jsx(To,{size:"sm",children:"Small"}),u.jsx(Dl,{label:"Fruit",value:O,onChange:E,options:[{value:"apple",label:"Apple"},{value:"banana",label:"Banana"},{value:"cherry",label:"Cherry"}]}),u.jsx(C2,{checked:D,onChange:L,label:"Compact rows"}),u.jsx(F2,{tabs:[{key:"explore",label:"Explore"},{key:"pivot",label:"Pivot"},{key:"sql",label:"SQL"}],active:G,onChange:W}),u.jsx(O2,{content:"Revenue in USD, net of refunds",children:u.jsx("span",{className:"cursor-help text-2xs text-muted underline decoration-dotted",children:"What is revenue?"})})]}),u.jsxs("div",{className:"flex flex-wrap items-start gap-3",children:[u.jsx(ly,{value:T,onChange:V,options:py,ariaLabel:"Metric"}),u.jsx(ly,{multiple:!0,values:$,onChange:R,options:py,ariaLabel:"Metrics"}),u.jsx(uy,{mode:"single",value:Y,onChange:P,ariaLabel:"Date"}),u.jsx(uy,{mode:"range",value:ee,onChange:X,ariaLabel:"Range"})]})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Analytical table"}),u.jsx(Ui,{columns:L2,rows:ne,pageSize:6,sortKey:ae.key,sortDir:ae.dir,onSort:A=>se(Q=>({key:A,dir:Q.key===A&&Q.dir==="desc"?"asc":"desc"})),renderCell:(A,Q)=>A.numeric?Number(Q).toLocaleString():String(Q),searchable:!0,totals:{region:"count",revenue:"sum",orders:"sum"}}),u.jsxs("div",{className:"mt-3",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold text-muted",children:"Distribution-friendly data preview"}),u.jsx(y2,{result:{columns:["region","revenue","orders"],sample_rows:hy.slice(0,8)},pageSize:4})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Query inspection"}),u.jsx(yc,{inputs:{Revenue:{metrics:["orders.revenue"],dimensions:["orders.region"],filters:["orders.status = 'completed'"]}},queries:{Revenue:`SELECT orders.region, SUM(orders.revenue) AS revenue +FROM orders +WHERE orders.status = 'completed' +GROUP BY orders.region +ORDER BY revenue DESC`}})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"States"}),u.jsxs("div",{className:"grid gap-2 lg:grid-cols-3",children:[u.jsx(mc,{message:"Loading metric results…"}),u.jsx(Xn,{message:"No matching rows."}),u.jsx($i,{message:"The query could not be completed."})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Dashboard shell"}),u.jsx("div",{children:u.jsx(h2,{eyebrow:"Embedded shell example",title:"Revenue overview",status:u.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[u.jsx(gd,{status:"ok"})," Connected"]}),toolbar:u.jsxs(u.Fragment,{children:[u.jsx(Ud,{dimension:"orders.region",value:"East"}),u.jsx($d,{grain:v,options:["day","month","quarter"],onChange:x})]}),children:u.jsxs("div",{className:"grid gap-2 sm:grid-cols-2",children:[u.jsx(Nr,{metric:"orders.revenue",label:"Revenue",value:288291,format:{format:"currency"},sparkValues:[31,42,38,55,60]}),u.jsx(Xn,{title:"Optional panel",message:"Shell content is composed from the same primitives."})]})})})]})]})]})}function ns(n){return`https://api.fontshare.com/v2/css?f[]=${n}&display=swap`}const my=[{value:"system",label:"System (SF Pro)",stack:"system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif"},{value:"geist",label:"Geist",gf:"Geist:wght@400;500;600",stack:"'Geist', system-ui, sans-serif"},{value:"inter",label:"Inter",gf:"Inter:wght@400;500;600",stack:"'Inter', system-ui, sans-serif"},{value:"instrument",label:"Instrument Sans",gf:"Instrument+Sans:wght@400;500;600",stack:"'Instrument Sans', system-ui, sans-serif"},{value:"plex",label:"IBM Plex Sans",gf:"IBM+Plex+Sans:wght@400;500;600",stack:"'IBM Plex Sans', system-ui, sans-serif"},{value:"schibsted",label:"Schibsted Grotesk",gf:"Schibsted+Grotesk:wght@400;500;600",stack:"'Schibsted Grotesk', system-ui, sans-serif"},{value:"figtree",label:"Figtree",gf:"Figtree:wght@400;500;600",stack:"'Figtree', system-ui, sans-serif"},{value:"manrope",label:"Manrope",gf:"Manrope:wght@400;500;600",stack:"'Manrope', system-ui, sans-serif"},{value:"publicsans",label:"Public Sans",gf:"Public+Sans:wght@400;500;600",stack:"'Public Sans', system-ui, sans-serif"},{value:"spacegrotesk",label:"Space Grotesk",gf:"Space+Grotesk:wght@400;500;600",stack:"'Space Grotesk', system-ui, sans-serif"},{value:"satoshi",label:"Satoshi ✦",url:ns("satoshi@400,500,700"),stack:"'Satoshi', system-ui, sans-serif"},{value:"generalsans",label:"General Sans ✦",url:ns("general-sans@400,500,600"),stack:"'General Sans', system-ui, sans-serif"},{value:"switzer",label:"Switzer ✦",url:ns("switzer@400,500,600"),stack:"'Switzer', system-ui, sans-serif"},{value:"cabinet",label:"Cabinet Grotesk ✦",url:ns("cabinet-grotesk@400,500,700"),stack:"'Cabinet Grotesk', system-ui, sans-serif"},{value:"bricolage",label:"Bricolage Grotesque ✦",gf:"Bricolage+Grotesque:wght@400;500;600",stack:"'Bricolage Grotesque', system-ui, sans-serif"},{value:"familjen",label:"Familjen Grotesk ✦",gf:"Familjen+Grotesk:wght@400;500;600",stack:"'Familjen Grotesk', system-ui, sans-serif"},{value:"hanken",label:"Hanken Grotesk ✦",gf:"Hanken+Grotesk:wght@400;500;600",stack:"'Hanken Grotesk', system-ui, sans-serif"},{value:"reddit",label:"Reddit Sans ✦",gf:"Reddit+Sans:wght@400;500;600",stack:"'Reddit Sans', system-ui, sans-serif"},{value:"chivo",label:"Chivo ✦",gf:"Chivo:wght@400;500;600",stack:"'Chivo', system-ui, sans-serif"},{value:"hostgrotesk",label:"Host Grotesk ✦",gf:"Host+Grotesk:wght@400;500;600",stack:"'Host Grotesk', system-ui, sans-serif"},{value:"sora",label:"Sora ✦",gf:"Sora:wght@400;500;600",stack:"'Sora', system-ui, sans-serif"}],yy=[{value:"system",label:"System (SF Mono)",stack:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},{value:"geistmono",label:"Geist Mono",gf:"Geist+Mono:wght@400;500",stack:"'Geist Mono', ui-monospace, monospace"},{value:"jetbrains",label:"JetBrains Mono",gf:"JetBrains+Mono:wght@400;500",stack:"'JetBrains Mono', ui-monospace, monospace"},{value:"plexmono",label:"IBM Plex Mono",gf:"IBM+Plex+Mono:wght@400;500",stack:"'IBM Plex Mono', ui-monospace, monospace"},{value:"firacode",label:"Fira Code",gf:"Fira+Code:wght@400;500",stack:"'Fira Code', ui-monospace, monospace"},{value:"splinemono",label:"Spline Sans Mono",gf:"Spline+Sans+Mono:wght@400;500",stack:"'Spline Sans Mono', ui-monospace, monospace"},{value:"dmmono",label:"DM Mono",gf:"DM+Mono:wght@400;500",stack:"'DM Mono', ui-monospace, monospace"},{value:"martianmono",label:"Martian Mono ✦",gf:"Martian+Mono:wght@400;500",stack:"'Martian Mono', ui-monospace, monospace"},{value:"fragment",label:"Fragment Mono ✦",gf:"Fragment+Mono",stack:"'Fragment Mono', ui-monospace, monospace"},{value:"redhatmono",label:"Red Hat Mono ✦",gf:"Red+Hat+Mono:wght@400;500",stack:"'Red Hat Mono', ui-monospace, monospace"},{value:"chivomono",label:"Chivo Mono ✦",gf:"Chivo+Mono:wght@400;500",stack:"'Chivo Mono', ui-monospace, monospace"},{value:"azeret",label:"Azeret Mono ✦",gf:"Azeret+Mono:wght@400;500",stack:"'Azeret Mono', ui-monospace, monospace"},{value:"spacemono",label:"Space Mono ✦",gf:"Space+Mono:wght@400;700",stack:"'Space Mono', ui-monospace, monospace"}],gy=[{value:"sans",label:"Same as sans",stack:""},{value:"newsreader",label:"Newsreader (serif)",gf:"Newsreader:opsz,wght@6..72,400..700",stack:"'Newsreader', Georgia, serif"},{value:"sourceserif",label:"Source Serif 4",gf:"Source+Serif+4:opsz,wght@8..60,400..700",stack:"'Source Serif 4', Georgia, serif"},{value:"fraunces",label:"Fraunces",gf:"Fraunces:opsz,wght@9..144,400..700",stack:"'Fraunces', Georgia, serif"},{value:"instrumentserif",label:"Instrument Serif",gf:"Instrument+Serif",stack:"'Instrument Serif', Georgia, serif"},{value:"spacegrotesk",label:"Space Grotesk",gf:"Space+Grotesk:wght@400;500;600",stack:"'Space Grotesk', system-ui, sans-serif"},{value:"clash",label:"Clash Display ✦",url:ns("clash-display@400,500,600"),stack:"'Clash Display', system-ui, sans-serif"},{value:"cabinetdisplay",label:"Cabinet Grotesk ✦",url:ns("cabinet-grotesk@500,700,800"),stack:"'Cabinet Grotesk', system-ui, sans-serif"},{value:"sentient",label:"Sentient (serif) ✦",url:ns("sentient@400,500,700"),stack:"'Sentient', Georgia, serif"},{value:"gambetta",label:"Gambetta (serif) ✦",url:ns("gambetta@400,500,700"),stack:"'Gambetta', Georgia, serif"},{value:"bricolagedisplay",label:"Bricolage Grotesque ✦",gf:"Bricolage+Grotesque:opsz,wght@12..96,400..700",stack:"'Bricolage Grotesque', system-ui, sans-serif"},{value:"youngserif",label:"Young Serif ✦",gf:"Young+Serif",stack:"'Young Serif', Georgia, serif"},{value:"unbounded",label:"Unbounded ✦",gf:"Unbounded:wght@400;500;600",stack:"'Unbounded', system-ui, sans-serif"}],W2=[{label:"Geist / Geist Mono",sans:"geist",mono:"geistmono",display:"sans"},{label:"Inter / JetBrains",sans:"inter",mono:"jetbrains",display:"sans"},{label:"IBM Plex",sans:"plex",mono:"plexmono",display:"sans"},{label:"Instrument / Spline",sans:"instrument",mono:"splinemono",display:"sans"},{label:"Schibsted / Fira",sans:"schibsted",mono:"firacode",display:"sans"},{label:"Editorial: Geist + Newsreader",sans:"geist",mono:"geistmono",display:"newsreader"},{label:"Satoshi / Martian ✦",sans:"satoshi",mono:"martianmono",display:"sans"},{label:"General Sans / Fragment ✦",sans:"generalsans",mono:"fragment",display:"sans"},{label:"Switzer + Clash headings ✦",sans:"switzer",mono:"redhatmono",display:"clash"},{label:"Cabinet + Gambetta ✦",sans:"cabinet",mono:"chivomono",display:"gambetta"},{label:"Bricolage all the way ✦",sans:"bricolage",mono:"spacemono",display:"bricolagedisplay"}],vy=new Set;function Nd(n){if(!n)return;const e=n.url??(n.gf?`https://fonts.googleapis.com/css2?family=${n.gf}&display=swap`:void 0);if(!e||vy.has(e))return;vy.add(e);const t=document.createElement("link");t.rel="stylesheet",t.href=e,document.head.appendChild(t)}function jd(n,e){return n.find(t=>t.value===e)??n[0]}const H2=[{px:"8",cls:"text-[8px]",usage:"MetricCard delta arrow glyph",sample:"▲"},{px:"9",cls:"text-[9px]",usage:"DataTable sort direction glyph",sample:"▲▼"},{px:"10",cls:"text-[10px]",usage:"Chart axis labels (all 9 charts)",sample:"Jan Feb Mar 12.4k 18.2k"},{px:"11",cls:"text-2xs",usage:"Captions, chips, table body, helper text (58 uses)",sample:"Canonical React primitives · updated 2h ago"},{px:"12",cls:"text-xs",usage:"Controls, labels, leaderboard rows — the workhorse (70 uses)",sample:"Revenue by region, last 28 days"},{px:"13",cls:"text-sm",usage:"Section titles, panel headers (9 uses); also the body default",sample:"Customer Region"},{px:"14",cls:"text-base",usage:"Explore index page title (1 use)",sample:"Explore"},{px:"19",cls:"text-[19px]",usage:"MetricCard value",sample:"$288,291"},{px:"20",cls:"text-xl",usage:"MetricTimeSeries headline total",sample:"$1,282,392"},{px:"24",cls:"text-2xl",usage:"DashboardShell page title",sample:"Revenue overview"}],G2=[{name:"A — Current",note:"11 / 12 / 13 base. Dense, reads small on 27″ displays.",caption:11,label:12,body:13,section:13,value:19,headline:20,title:24},{name:"B — One up",note:"12 / 13 / 14 base. Same hierarchy, comfortably legible.",caption:12,label:13,body:14,section:14,value:22,headline:24,title:28},{name:"C — Quiet UI, loud numbers",note:"Keeps the dense chrome, doubles down on data: bigger values and titles.",caption:11,label:12,body:13,section:13,value:24,headline:28,title:30}],Y2=[31,42,38,55,60,74],Q2=Array.from({length:12},(n,e)=>({x:`2025-${String(e+1).padStart(2,"0")}-01`,y:96e3+e*14e3+e%3*9e3})),K2=`select region, sum(revenue) as revenue +from orders +where created_at >= date '2025-01-01' +group by all +order by revenue desc`;function xy({family:n,size:e}){return u.jsxs("div",{className:"flex flex-wrap items-baseline gap-x-6 gap-y-1",style:{fontFamily:n},children:[u.jsx("span",{className:`${e} font-normal`,children:"Regular 400 — Revenue by payment method"}),u.jsx("span",{className:`${e} font-medium`,children:"Medium 500 — Revenue by payment method"}),u.jsx("span",{className:`${e} font-semibold`,children:"Semibold 600 — Revenue by payment method"})]})}function J2(){const[n,e]=I.useState("geist"),[t,i]=I.useState("geistmono"),[a,c]=I.useState("sans"),f=jd(my,n),h=jd(yy,t),m=jd(gy,a),g=m.stack||f.stack;I.useEffect(()=>{Nd(f),Nd(h),Nd(m)},[f,h,m]);const v={"--font-sans":f.stack,"--font-mono":h.stack,"--font-display":g,fontFamily:"var(--font-sans)"};return u.jsxs("main",{className:"min-h-screen bg-bg text-ink",children:[u.jsxs("header",{className:"sticky top-0 z-20 flex items-center justify-between gap-3 border-b border-line bg-surface px-4 py-3",children:[u.jsxs("div",{children:[u.jsx("h1",{className:"text-sm font-semibold",children:"Typography workbench"}),u.jsxs("p",{className:"text-2xs text-faint",children:["Pick faces, judge them on real components · ",u.jsx("a",{className:"text-accent hover:underline",href:"/components",children:"component gallery →"})]})]}),u.jsx(Ko,{})]}),u.jsxs("div",{className:"space-y-10 p-4",children:[u.jsx("section",{children:u.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[u.jsx(Dl,{label:"Sans",value:n,options:my.map(({value:x,label:b})=>({value:x,label:b})),onChange:e}),u.jsx(Dl,{label:"Mono",value:t,options:yy.map(({value:x,label:b})=>({value:x,label:b})),onChange:i}),u.jsx(Dl,{label:"Headings",value:a,options:gy.map(({value:x,label:b})=>({value:x,label:b})),onChange:c}),u.jsx("div",{className:"flex flex-wrap items-center gap-1.5",children:W2.map(x=>{const b=x.sans===n&&x.mono===t&&x.display===a;return u.jsx("button",{type:"button","data-selected":b||void 0,onClick:()=>{e(x.sans),i(x.mono),c(x.display)},className:`inline-flex h-7 items-center rounded-full border px-3 text-xs transition-colors ${b?"border-accent text-accent":"border-line bg-surface text-muted hover:border-line-strong"}`,children:x.label},x.label)})})]})}),u.jsxs("div",{style:v,className:"space-y-10",children:[u.jsxs("section",{children:[u.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"In context"}),u.jsxs("div",{className:"space-y-6",children:[u.jsxs("div",{children:[u.jsx("p",{className:"text-2xs text-faint",children:"Acme Analytics · production"}),u.jsx("h1",{className:"mt-1 text-2xl font-semibold text-ink",children:"Revenue overview"}),u.jsx("div",{className:"text-sm text-muted",children:"Updated 2 minutes ago · 448,214 rows scanned"})]}),u.jsxs("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-3",children:[u.jsx(Nr,{metric:"t.revenue",label:"Revenue",value:288291,format:{format:"currency"},delta:{label:"+12.4%",tone:"positive"},comparison:"vs previous month",sparkValues:Y2,selected:!0,onSelect:()=>{}}),u.jsx(Nr,{metric:"t.orders",label:"Order Count",value:447,delta:{label:"-2.1%",tone:"negative"},comparison:"vs previous month",sparkValues:[21,34,28,41,44,38],onSelect:()=>{}}),u.jsx(Nr,{metric:"t.margin",label:"Gross Margin",value:.324,format:{format:"percent"},delta:{label:"+1.1pt",tone:"positive"},comparison:"vs previous month",sparkValues:[24,26,29,27,31,32],onSelect:()=>{}})]}),u.jsx(ea,{points:Q2,formatValue:x=>`$${Math.round(x).toLocaleString("en-US")}`,formatAxis:x=>`$${Math.round(x/1e3)}k`,formatLabel:x=>x.slice(0,7),ariaLabel:"Twelve month revenue trend"}),u.jsxs("div",{className:"max-w-xl",children:[u.jsx("h3",{className:"text-sm font-semibold text-ink",children:"How the comparison works"}),u.jsx("p",{className:"mt-1 text-xs leading-5 text-muted",children:"The overlay shifts the previous period onto the current axis so both lines share a scale. Deltas are computed on the visible range only — zooming recomputes them. Hover any point for the exact pair of values; the quiet gray line is always the older period."})]}),u.jsx("pre",{className:"overflow-x-auto font-mono text-xs leading-5 text-muted",children:K2})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Numerals — mono, tabular"}),u.jsxs("div",{className:"flex flex-wrap gap-12",children:[u.jsx("div",{className:"font-mono tnum text-sm text-ink",children:["$1,204,918.24","$984,003.10","$88,214.00","$1,111,111.11"].map(x=>u.jsx("div",{className:"text-right",children:x},x))}),u.jsx("div",{className:"font-mono tnum text-sm text-ink",children:["2025-06-30 23:59:59","2025-07-01 00:00:00","2025-12-31 08:15:42"].map(x=>u.jsx("div",{children:x},x))}),u.jsxs("div",{className:"font-mono text-sm text-ink",children:["0O · 1lI · 5S · 8B · ","->"," ","=>"," ","!="," ",">="]})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Weights in use — 400 / 500 / 600 (no bold anywhere)"}),u.jsxs("div",{className:"space-y-2 text-ink",children:[u.jsx(xy,{family:"var(--font-sans)",size:"text-sm"}),u.jsx(xy,{family:"var(--font-sans)",size:"text-xs"}),u.jsx("div",{className:"text-xl font-semibold",style:{fontFamily:"var(--font-display)"},children:"Display 600 — Quarterly revenue, all regions"})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Current ramp — every size in the app and where it appears"}),u.jsx("div",{className:"space-y-1.5",children:H2.map(x=>u.jsxs("div",{className:"grid grid-cols-[3rem_7rem_1fr_1.2fr] items-baseline gap-3",children:[u.jsxs("span",{className:"font-mono tnum text-2xs text-faint",children:[x.px,"px"]}),u.jsx("span",{className:"font-mono text-2xs text-faint",children:x.cls}),u.jsx("span",{className:"truncate text-ink",style:{fontSize:`${x.px}px`,lineHeight:1.3},children:x.sample}),u.jsx("span",{className:"text-2xs text-faint",children:x.usage})]},x.px))})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Size ramp candidates"}),u.jsx("div",{className:"grid grid-cols-1 gap-8 lg:grid-cols-3",children:G2.map(x=>u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"text-sm font-semibold text-ink",children:x.name}),u.jsx("p",{className:"mt-0.5 text-2xs text-faint",children:x.note}),u.jsxs("div",{className:"mt-3 space-y-2",children:[u.jsxs("div",{className:"text-faint",style:{fontSize:x.caption,lineHeight:1.3},children:["Caption ",x.caption,"px · vs previous month"]}),u.jsxs("div",{className:"text-muted",style:{fontSize:x.label,lineHeight:1.35},children:["Label ",x.label,"px · Revenue by region"]}),u.jsxs("div",{className:"text-ink",style:{fontSize:x.body,lineHeight:1.45},children:["Body ",x.body,"px · The overlay shifts the previous period onto the current axis so both lines share a scale."]}),u.jsxs("div",{className:"font-semibold text-ink",style:{fontSize:x.section,lineHeight:1.35},children:["Section title ",x.section,"px"]}),u.jsx("div",{className:"font-mono tnum font-semibold text-ink",style:{fontSize:x.value,lineHeight:1.15},children:"$288,291"}),u.jsx("div",{className:"font-mono tnum font-semibold text-ink",style:{fontSize:x.headline,lineHeight:1.15},children:"$1,282,392"}),u.jsx("div",{className:"font-semibold text-ink",style:{fontFamily:"var(--font-display)",fontSize:x.title,lineHeight:1.2,letterSpacing:"-0.025em"},children:"Revenue overview"})]})]},x.name))})]})]})]})]})}a_();const l0=document.getElementById("root");if(!l0)throw new Error("Missing #root element");hb.createRoot(l0).render(u.jsx(I.StrictMode,{children:window.location.pathname==="/components"?u.jsx(V2,{}):window.location.pathname==="/typography"?u.jsx(J2,{}):u.jsx(c2,{})})); diff --git a/sidemantic/ui/static/assets/index-DZEAtY5b.js b/sidemantic/ui/static/assets/index-DZEAtY5b.js deleted file mode 100644 index 08bdb420a..000000000 --- a/sidemantic/ui/static/assets/index-DZEAtY5b.js +++ /dev/null @@ -1,55 +0,0 @@ -var rb=Object.defineProperty;var sb=(n,e,t)=>e in n?rb(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var Mn=(n,e,t)=>sb(n,typeof e!="symbol"?e+"":e,t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))i(a);new MutationObserver(a=>{for(const u of a)if(u.type==="childList")for(const f of u.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&i(f)}).observe(document,{childList:!0,subtree:!0});function t(a){const u={};return a.integrity&&(u.integrity=a.integrity),a.referrerPolicy&&(u.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?u.credentials="include":a.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function i(a){if(a.ep)return;a.ep=!0;const u=t(a);fetch(a.href,u)}})();var td={exports:{}},Co={},nd={exports:{}},Ee={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var rm;function ib(){if(rm)return Ee;rm=1;var n=Symbol.for("react.element"),e=Symbol.for("react.portal"),t=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),u=Symbol.for("react.provider"),f=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),v=Symbol.for("react.lazy"),x=Symbol.iterator;function b(N){return N===null||typeof N!="object"?null:(N=x&&N[x]||N["@@iterator"],typeof N=="function"?N:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_=Object.assign,C={};function A(N,F,ee){this.props=N,this.context=F,this.refs=C,this.updater=ee||w}A.prototype.isReactComponent={},A.prototype.setState=function(N,F){if(typeof N!="object"&&typeof N!="function"&&N!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,N,F,"setState")},A.prototype.forceUpdate=function(N){this.updater.enqueueForceUpdate(this,N,"forceUpdate")};function V(){}V.prototype=A.prototype;function $(N,F,ee){this.props=N,this.context=F,this.refs=C,this.updater=ee||w}var R=$.prototype=new V;R.constructor=$,_(R,A.prototype),R.isPureReactComponent=!0;var O=Array.isArray,E=Object.prototype.hasOwnProperty,D={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};function G(N,F,ee){var he,re={},pe=null,Ce=null;if(F!=null)for(he in F.ref!==void 0&&(Ce=F.ref),F.key!==void 0&&(pe=""+F.key),F)E.call(F,he)&&!L.hasOwnProperty(he)&&(re[he]=F[he]);var Te=arguments.length-2;if(Te===1)re.children=ee;else if(1>>1,F=T[N];if(0>>1;Na(re,H))pea(Ce,re)?(T[N]=Ce,T[pe]=H,N=pe):(T[N]=re,T[he]=H,N=he);else if(pea(Ce,H))T[N]=Ce,T[pe]=H,N=pe;else break e}}return Q}function a(T,Q){var H=T.sortIndex-Q.sortIndex;return H!==0?H:T.id-Q.id}if(typeof performance=="object"&&typeof performance.now=="function"){var u=performance;n.unstable_now=function(){return u.now()}}else{var f=Date,h=f.now();n.unstable_now=function(){return f.now()-h}}var m=[],g=[],v=1,x=null,b=3,w=!1,_=!1,C=!1,A=typeof setTimeout=="function"?setTimeout:null,V=typeof clearTimeout=="function"?clearTimeout:null,$=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function R(T){for(var Q=t(g);Q!==null;){if(Q.callback===null)i(g);else if(Q.startTime<=T)i(g),Q.sortIndex=Q.expirationTime,e(m,Q);else break;Q=t(g)}}function O(T){if(C=!1,R(T),!_)if(t(m)!==null)_=!0,se(E);else{var Q=t(g);Q!==null&&ne(O,Q.startTime-T)}}function E(T,Q){_=!1,C&&(C=!1,V(G),G=-1),w=!0;var H=b;try{for(R(Q),x=t(m);x!==null&&(!(x.expirationTime>Q)||T&&!P());){var N=x.callback;if(typeof N=="function"){x.callback=null,b=x.priorityLevel;var F=N(x.expirationTime<=Q);Q=n.unstable_now(),typeof F=="function"?x.callback=F:x===t(m)&&i(m),R(Q)}else i(m);x=t(m)}if(x!==null)var ee=!0;else{var he=t(g);he!==null&&ne(O,he.startTime-Q),ee=!1}return ee}finally{x=null,b=H,w=!1}}var D=!1,L=null,G=-1,W=5,Y=-1;function P(){return!(n.unstable_now()-YT||125N?(T.sortIndex=H,e(g,T),t(m)===null&&T===t(g)&&(C?(V(G),G=-1):C=!0,ne(O,H-N))):(T.sortIndex=F,e(m,T),_||w||(_=!0,se(E))),T},n.unstable_shouldYield=P,n.unstable_wrapCallback=function(T){var Q=b;return function(){var H=b;b=Q;try{return T.apply(this,arguments)}finally{b=H}}}})(id)),id}var lm;function ub(){return lm||(lm=1,sd.exports=lb()),sd.exports}/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var um;function cb(){if(um)return zt;um=1;var n=Pd(),e=ub();function t(r){for(var s="https://reactjs.org/docs/error-decoder.html?invariant="+r,o=1;o"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),m=Object.prototype.hasOwnProperty,g=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,v={},x={};function b(r){return m.call(x,r)?!0:m.call(v,r)?!1:g.test(r)?x[r]=!0:(v[r]=!0,!1)}function w(r,s,o,l){if(o!==null&&o.type===0)return!1;switch(typeof s){case"function":case"symbol":return!0;case"boolean":return l?!1:o!==null?!o.acceptsBooleans:(r=r.toLowerCase().slice(0,5),r!=="data-"&&r!=="aria-");default:return!1}}function _(r,s,o,l){if(s===null||typeof s>"u"||w(r,s,o,l))return!0;if(l)return!1;if(o!==null)switch(o.type){case 3:return!s;case 4:return s===!1;case 5:return isNaN(s);case 6:return isNaN(s)||1>s}return!1}function C(r,s,o,l,d,p,y){this.acceptsBooleans=s===2||s===3||s===4,this.attributeName=l,this.attributeNamespace=d,this.mustUseProperty=o,this.propertyName=r,this.type=s,this.sanitizeURL=p,this.removeEmptyString=y}var A={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(r){A[r]=new C(r,0,!1,r,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(r){var s=r[0];A[s]=new C(s,1,!1,r[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(r){A[r]=new C(r,2,!1,r.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(r){A[r]=new C(r,2,!1,r,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(r){A[r]=new C(r,3,!1,r.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(r){A[r]=new C(r,3,!0,r,null,!1,!1)}),["capture","download"].forEach(function(r){A[r]=new C(r,4,!1,r,null,!1,!1)}),["cols","rows","size","span"].forEach(function(r){A[r]=new C(r,6,!1,r,null,!1,!1)}),["rowSpan","start"].forEach(function(r){A[r]=new C(r,5,!1,r.toLowerCase(),null,!1,!1)});var V=/[\-:]([a-z])/g;function $(r){return r[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(r){var s=r.replace(V,$);A[s]=new C(s,1,!1,r,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(r){var s=r.replace(V,$);A[s]=new C(s,1,!1,r,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(r){var s=r.replace(V,$);A[s]=new C(s,1,!1,r,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(r){A[r]=new C(r,1,!1,r.toLowerCase(),null,!1,!1)}),A.xlinkHref=new C("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(r){A[r]=new C(r,1,!1,r.toLowerCase(),null,!0,!0)});function R(r,s,o,l){var d=A.hasOwnProperty(s)?A[s]:null;(d!==null?d.type!==0:l||!(2S||d[y]!==p[S]){var j=` -`+d[y].replace(" at new "," at ");return r.displayName&&j.includes("")&&(j=j.replace("",r.displayName)),j}while(1<=y&&0<=S);break}}}finally{ee=!1,Error.prepareStackTrace=o}return(r=r?r.displayName||r.name:"")?F(r):""}function re(r){switch(r.tag){case 5:return F(r.type);case 16:return F("Lazy");case 13:return F("Suspense");case 19:return F("SuspenseList");case 0:case 2:case 15:return r=he(r.type,!1),r;case 11:return r=he(r.type.render,!1),r;case 1:return r=he(r.type,!0),r;default:return""}}function pe(r){if(r==null)return null;if(typeof r=="function")return r.displayName||r.name||null;if(typeof r=="string")return r;switch(r){case L:return"Fragment";case D:return"Portal";case W:return"Profiler";case G:return"StrictMode";case X:return"Suspense";case oe:return"SuspenseList"}if(typeof r=="object")switch(r.$$typeof){case P:return(r.displayName||"Context")+".Consumer";case Y:return(r._context.displayName||"Context")+".Provider";case te:var s=r.render;return r=r.displayName,r||(r=s.displayName||s.name||"",r=r!==""?"ForwardRef("+r+")":"ForwardRef"),r;case ae:return s=r.displayName||null,s!==null?s:pe(r.type)||"Memo";case se:s=r._payload,r=r._init;try{return pe(r(s))}catch{}}return null}function Ce(r){var s=r.type;switch(r.tag){case 24:return"Cache";case 9:return(s.displayName||"Context")+".Consumer";case 10:return(s._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return r=s.render,r=r.displayName||r.name||"",s.displayName||(r!==""?"ForwardRef("+r+")":"ForwardRef");case 7:return"Fragment";case 5:return s;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return pe(s);case 8:return s===G?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof s=="function")return s.displayName||s.name||null;if(typeof s=="string")return s}return null}function Te(r){switch(typeof r){case"boolean":case"number":case"string":case"undefined":return r;case"object":return r;default:return""}}function Be(r){var s=r.type;return(r=r.nodeName)&&r.toLowerCase()==="input"&&(s==="checkbox"||s==="radio")}function dt(r){var s=Be(r)?"checked":"value",o=Object.getOwnPropertyDescriptor(r.constructor.prototype,s),l=""+r[s];if(!r.hasOwnProperty(s)&&typeof o<"u"&&typeof o.get=="function"&&typeof o.set=="function"){var d=o.get,p=o.set;return Object.defineProperty(r,s,{configurable:!0,get:function(){return d.call(this)},set:function(y){l=""+y,p.call(this,y)}}),Object.defineProperty(r,s,{enumerable:o.enumerable}),{getValue:function(){return l},setValue:function(y){l=""+y},stopTracking:function(){r._valueTracker=null,delete r[s]}}}}function St(r){r._valueTracker||(r._valueTracker=dt(r))}function Es(r){if(!r)return!1;var s=r._valueTracker;if(!s)return!0;var o=s.getValue(),l="";return r&&(l=Be(r)?r.checked?"true":"false":r.value),r=l,r!==o?(s.setValue(r),!0):!1}function Et(r){if(r=r||(typeof document<"u"?document:void 0),typeof r>"u")return null;try{return r.activeElement||r.body}catch{return r.body}}function sr(r,s){var o=s.checked;return H({},s,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:o??r._wrapperState.initialChecked})}function cs(r,s){var o=s.defaultValue==null?"":s.defaultValue,l=s.checked!=null?s.checked:s.defaultChecked;o=Te(s.value!=null?s.value:o),r._wrapperState={initialChecked:l,initialValue:o,controlled:s.type==="checkbox"||s.type==="radio"?s.checked!=null:s.value!=null}}function ue(r,s){s=s.checked,s!=null&&R(r,"checked",s,!1)}function Oe(r,s){ue(r,s);var o=Te(s.value),l=s.type;if(o!=null)l==="number"?(o===0&&r.value===""||r.value!=o)&&(r.value=""+o):r.value!==""+o&&(r.value=""+o);else if(l==="submit"||l==="reset"){r.removeAttribute("value");return}s.hasOwnProperty("value")?Ct(r,s.type,o):s.hasOwnProperty("defaultValue")&&Ct(r,s.type,Te(s.defaultValue)),s.checked==null&&s.defaultChecked!=null&&(r.defaultChecked=!!s.defaultChecked)}function st(r,s,o){if(s.hasOwnProperty("value")||s.hasOwnProperty("defaultValue")){var l=s.type;if(!(l!=="submit"&&l!=="reset"||s.value!==void 0&&s.value!==null))return;s=""+r._wrapperState.initialValue,o||s===r.value||(r.value=s),r.defaultValue=s}o=r.name,o!==""&&(r.name=""),r.defaultChecked=!!r._wrapperState.initialChecked,o!==""&&(r.name=o)}function Ct(r,s,o){(s!=="number"||Et(r.ownerDocument)!==r)&&(o==null?r.defaultValue=""+r._wrapperState.initialValue:r.defaultValue!==""+o&&(r.defaultValue=""+o))}var $n=Array.isArray;function ir(r,s,o,l){if(r=r.options,s){s={};for(var d=0;d"+s.valueOf().toString()+"",s=ds.firstChild;r.firstChild;)r.removeChild(r.firstChild);for(;s.firstChild;)r.appendChild(s.firstChild)}});function Cr(r,s){if(s){var o=r.firstChild;if(o&&o===r.lastChild&&o.nodeType===3){o.nodeValue=s;return}}r.textContent=s}var Fr={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ta=["Webkit","ms","Moz","O"];Object.keys(Fr).forEach(function(r){ta.forEach(function(s){s=s+r.charAt(0).toUpperCase()+r.substring(1),Fr[s]=Fr[r]})});function ye(r,s,o){return s==null||typeof s=="boolean"||s===""?"":o||typeof s!="number"||s===0||Fr.hasOwnProperty(r)&&Fr[r]?(""+s).trim():s+"px"}function vt(r,s){r=r.style;for(var o in s)if(s.hasOwnProperty(o)){var l=o.indexOf("--")===0,d=ye(o,s[o],l);o==="float"&&(o="cssFloat"),l?r.setProperty(o,d):r[o]=d}}var Us=H({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function rn(r,s){if(s){if(Us[r]&&(s.children!=null||s.dangerouslySetInnerHTML!=null))throw Error(t(137,r));if(s.dangerouslySetInnerHTML!=null){if(s.children!=null)throw Error(t(60));if(typeof s.dangerouslySetInnerHTML!="object"||!("__html"in s.dangerouslySetInnerHTML))throw Error(t(61))}if(s.style!=null&&typeof s.style!="object")throw Error(t(62))}}function $s(r,s){if(r.indexOf("-")===-1)return typeof s.is=="string";switch(r){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Gi=null;function fs(r){return r=r.target||r.srcElement||window,r.correspondingUseElement&&(r=r.correspondingUseElement),r.nodeType===3?r.parentNode:r}var gu=null,Ps=null,zs=null;function bf(r){if(r=mo(r)){if(typeof gu!="function")throw Error(t(280));var s=r.stateNode;s&&(s=Na(s),gu(r.stateNode,r.type,s))}}function wf(r){Ps?zs?zs.push(r):zs=[r]:Ps=r}function Sf(){if(Ps){var r=Ps,s=zs;if(zs=Ps=null,bf(r),s)for(r=0;r>>=0,r===0?32:31-(x0(r)/b0|0)|0}var oa=64,aa=4194304;function Ji(r){switch(r&-r){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return r&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return r&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return r}}function la(r,s){var o=r.pendingLanes;if(o===0)return 0;var l=0,d=r.suspendedLanes,p=r.pingedLanes,y=o&268435455;if(y!==0){var S=y&~d;S!==0?l=Ji(S):(p&=y,p!==0&&(l=Ji(p)))}else y=o&~d,y!==0?l=Ji(y):p!==0&&(l=Ji(p));if(l===0)return 0;if(s!==0&&s!==l&&(s&d)===0&&(d=l&-l,p=s&-s,d>=p||d===16&&(p&4194240)!==0))return s;if((l&4)!==0&&(l|=o&16),s=r.entangledLanes,s!==0)for(r=r.entanglements,s&=l;0o;o++)s.push(r);return s}function qi(r,s,o){r.pendingLanes|=s,s!==536870912&&(r.suspendedLanes=0,r.pingedLanes=0),r=r.eventTimes,s=31-wn(s),r[s]=o}function N0(r,s){var o=r.pendingLanes&~s;r.pendingLanes=s,r.suspendedLanes=0,r.pingedLanes=0,r.expiredLanes&=s,r.mutableReadLanes&=s,r.entangledLanes&=s,s=r.entanglements;var l=r.eventTimes;for(r=r.expirationTimes;0=io),Jf=" ",qf=!1;function Zf(r,s){switch(r){case"keyup":return Z0.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Xf(r){return r=r.detail,typeof r=="object"&&"data"in r?r.data:null}var Hs=!1;function ex(r,s){switch(r){case"compositionend":return Xf(s);case"keypress":return s.which!==32?null:(qf=!0,Jf);case"textInput":return r=s.data,r===Jf&&qf?null:r;default:return null}}function tx(r,s){if(Hs)return r==="compositionend"||!Bu&&Zf(r,s)?(r=Wf(),ha=Du=Er=null,Hs=!1,r):null;switch(r){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1=s)return{node:o,offset:s-r};r=l}e:{for(;o;){if(o.nextSibling){o=o.nextSibling;break e}o=o.parentNode}o=void 0}o=oh(o)}}function lh(r,s){return r&&s?r===s?!0:r&&r.nodeType===3?!1:s&&s.nodeType===3?lh(r,s.parentNode):"contains"in r?r.contains(s):r.compareDocumentPosition?!!(r.compareDocumentPosition(s)&16):!1:!1}function uh(){for(var r=window,s=Et();s instanceof r.HTMLIFrameElement;){try{var o=typeof s.contentWindow.location.href=="string"}catch{o=!1}if(o)r=s.contentWindow;else break;s=Et(r.document)}return s}function Lu(r){var s=r&&r.nodeName&&r.nodeName.toLowerCase();return s&&(s==="input"&&(r.type==="text"||r.type==="search"||r.type==="tel"||r.type==="url"||r.type==="password")||s==="textarea"||r.contentEditable==="true")}function cx(r){var s=uh(),o=r.focusedElem,l=r.selectionRange;if(s!==o&&o&&o.ownerDocument&&lh(o.ownerDocument.documentElement,o)){if(l!==null&&Lu(o)){if(s=l.start,r=l.end,r===void 0&&(r=s),"selectionStart"in o)o.selectionStart=s,o.selectionEnd=Math.min(r,o.value.length);else if(r=(s=o.ownerDocument||document)&&s.defaultView||window,r.getSelection){r=r.getSelection();var d=o.textContent.length,p=Math.min(l.start,d);l=l.end===void 0?p:Math.min(l.end,d),!r.extend&&p>l&&(d=l,l=p,p=d),d=ah(o,p);var y=ah(o,l);d&&y&&(r.rangeCount!==1||r.anchorNode!==d.node||r.anchorOffset!==d.offset||r.focusNode!==y.node||r.focusOffset!==y.offset)&&(s=s.createRange(),s.setStart(d.node,d.offset),r.removeAllRanges(),p>l?(r.addRange(s),r.extend(y.node,y.offset)):(s.setEnd(y.node,y.offset),r.addRange(s)))}}for(s=[],r=o;r=r.parentNode;)r.nodeType===1&&s.push({element:r,left:r.scrollLeft,top:r.scrollTop});for(typeof o.focus=="function"&&o.focus(),o=0;o=document.documentMode,Gs=null,Uu=null,uo=null,$u=!1;function ch(r,s,o){var l=o.window===o?o.document:o.nodeType===9?o:o.ownerDocument;$u||Gs==null||Gs!==Et(l)||(l=Gs,"selectionStart"in l&&Lu(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),uo&&lo(uo,l)||(uo=l,l=wa(Uu,"onSelect"),0qs||(r.current=Zu[qs],Zu[qs]=null,qs--)}function qe(r,s){qs++,Zu[qs]=r.current,r.current=s}var $r={},jt=Ur($r),Rt=Ur(!1),ms=$r;function Zs(r,s){var o=r.type.contextTypes;if(!o)return $r;var l=r.stateNode;if(l&&l.__reactInternalMemoizedUnmaskedChildContext===s)return l.__reactInternalMemoizedMaskedChildContext;var d={},p;for(p in o)d[p]=s[p];return l&&(r=r.stateNode,r.__reactInternalMemoizedUnmaskedChildContext=s,r.__reactInternalMemoizedMaskedChildContext=d),d}function Lt(r){return r=r.childContextTypes,r!=null}function ja(){et(Rt),et(jt)}function jh(r,s,o){if(jt.current!==$r)throw Error(t(168));qe(jt,s),qe(Rt,o)}function kh(r,s,o){var l=r.stateNode;if(s=s.childContextTypes,typeof l.getChildContext!="function")return o;l=l.getChildContext();for(var d in l)if(!(d in s))throw Error(t(108,Ce(r)||"Unknown",d));return H({},o,l)}function ka(r){return r=(r=r.stateNode)&&r.__reactInternalMemoizedMergedChildContext||$r,ms=jt.current,qe(jt,r),qe(Rt,Rt.current),!0}function Ih(r,s,o){var l=r.stateNode;if(!l)throw Error(t(169));o?(r=kh(r,s,ms),l.__reactInternalMemoizedMergedChildContext=r,et(Rt),et(jt),qe(jt,r)):et(Rt),qe(Rt,o)}var ar=null,Ia=!1,Xu=!1;function Mh(r){ar===null?ar=[r]:ar.push(r)}function Sx(r){Ia=!0,Mh(r)}function Pr(){if(!Xu&&ar!==null){Xu=!0;var r=0,s=Ge;try{var o=ar;for(Ge=1;r>=y,d-=y,lr=1<<32-wn(s)+d|o<Me?(wt=ve,ve=null):wt=ve.sibling;var ze=K(B,ve,U[Me],Z);if(ze===null){ve===null&&(ve=wt);break}r&&ve&&ze.alternate===null&&s(B,ve),k=p(ze,k,Me),ge===null?fe=ze:ge.sibling=ze,ge=ze,ve=wt}if(Me===U.length)return o(B,ve),rt&&gs(B,Me),fe;if(ve===null){for(;MeMe?(wt=ve,ve=null):wt=ve.sibling;var Jr=K(B,ve,ze.value,Z);if(Jr===null){ve===null&&(ve=wt);break}r&&ve&&Jr.alternate===null&&s(B,ve),k=p(Jr,k,Me),ge===null?fe=Jr:ge.sibling=Jr,ge=Jr,ve=wt}if(ze.done)return o(B,ve),rt&&gs(B,Me),fe;if(ve===null){for(;!ze.done;Me++,ze=U.next())ze=q(B,ze.value,Z),ze!==null&&(k=p(ze,k,Me),ge===null?fe=ze:ge.sibling=ze,ge=ze);return rt&&gs(B,Me),fe}for(ve=l(B,ve);!ze.done;Me++,ze=U.next())ze=ie(ve,B,Me,ze.value,Z),ze!==null&&(r&&ze.alternate!==null&&ve.delete(ze.key===null?Me:ze.key),k=p(ze,k,Me),ge===null?fe=ze:ge.sibling=ze,ge=ze);return r&&ve.forEach(function(nb){return s(B,nb)}),rt&&gs(B,Me),fe}function ct(B,k,U,Z){if(typeof U=="object"&&U!==null&&U.type===L&&U.key===null&&(U=U.props.children),typeof U=="object"&&U!==null){switch(U.$$typeof){case E:e:{for(var fe=U.key,ge=k;ge!==null;){if(ge.key===fe){if(fe=U.type,fe===L){if(ge.tag===7){o(B,ge.sibling),k=d(ge,U.props.children),k.return=B,B=k;break e}}else if(ge.elementType===fe||typeof fe=="object"&&fe!==null&&fe.$$typeof===se&&Ah(fe)===ge.type){o(B,ge.sibling),k=d(ge,U.props),k.ref=yo(B,ge,U),k.return=B,B=k;break e}o(B,ge);break}else s(B,ge);ge=ge.sibling}U.type===L?(k=js(U.props.children,B.mode,Z,U.key),k.return=B,B=k):(Z=tl(U.type,U.key,U.props,null,B.mode,Z),Z.ref=yo(B,k,U),Z.return=B,B=Z)}return y(B);case D:e:{for(ge=U.key;k!==null;){if(k.key===ge)if(k.tag===4&&k.stateNode.containerInfo===U.containerInfo&&k.stateNode.implementation===U.implementation){o(B,k.sibling),k=d(k,U.children||[]),k.return=B,B=k;break e}else{o(B,k);break}else s(B,k);k=k.sibling}k=Jc(U,B.mode,Z),k.return=B,B=k}return y(B);case se:return ge=U._init,ct(B,k,ge(U._payload),Z)}if($n(U))return ce(B,k,U,Z);if(Q(U))return de(B,k,U,Z);Fa(B,U)}return typeof U=="string"&&U!==""||typeof U=="number"?(U=""+U,k!==null&&k.tag===6?(o(B,k.sibling),k=d(k,U),k.return=B,B=k):(o(B,k),k=Kc(U,B.mode,Z),k.return=B,B=k),y(B)):o(B,k)}return ct}var ni=Bh(!0),Eh=Bh(!1),Oa=Ur(null),Ta=null,ri=null,ic=null;function oc(){ic=ri=Ta=null}function ac(r){var s=Oa.current;et(Oa),r._currentValue=s}function lc(r,s,o){for(;r!==null;){var l=r.alternate;if((r.childLanes&s)!==s?(r.childLanes|=s,l!==null&&(l.childLanes|=s)):l!==null&&(l.childLanes&s)!==s&&(l.childLanes|=s),r===o)break;r=r.return}}function si(r,s){Ta=r,ic=ri=null,r=r.dependencies,r!==null&&r.firstContext!==null&&((r.lanes&s)!==0&&(Ut=!0),r.firstContext=null)}function an(r){var s=r._currentValue;if(ic!==r)if(r={context:r,memoizedValue:s,next:null},ri===null){if(Ta===null)throw Error(t(308));ri=r,Ta.dependencies={lanes:0,firstContext:r}}else ri=ri.next=r;return s}var vs=null;function uc(r){vs===null?vs=[r]:vs.push(r)}function Rh(r,s,o,l){var d=s.interleaved;return d===null?(o.next=o,uc(s)):(o.next=d.next,d.next=o),s.interleaved=o,cr(r,l)}function cr(r,s){r.lanes|=s;var o=r.alternate;for(o!==null&&(o.lanes|=s),o=r,r=r.return;r!==null;)r.childLanes|=s,o=r.alternate,o!==null&&(o.childLanes|=s),o=r,r=r.return;return o.tag===3?o.stateNode:null}var zr=!1;function cc(r){r.updateQueue={baseState:r.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Lh(r,s){r=r.updateQueue,s.updateQueue===r&&(s.updateQueue={baseState:r.baseState,firstBaseUpdate:r.firstBaseUpdate,lastBaseUpdate:r.lastBaseUpdate,shared:r.shared,effects:r.effects})}function dr(r,s){return{eventTime:r,lane:s,tag:0,payload:null,callback:null,next:null}}function Vr(r,s,o){var l=r.updateQueue;if(l===null)return null;if(l=l.shared,(Pe&2)!==0){var d=l.pending;return d===null?s.next=s:(s.next=d.next,d.next=s),l.pending=s,cr(r,o)}return d=l.interleaved,d===null?(s.next=s,uc(l)):(s.next=d.next,d.next=s),l.interleaved=s,cr(r,o)}function Aa(r,s,o){if(s=s.updateQueue,s!==null&&(s=s.shared,(o&4194240)!==0)){var l=s.lanes;l&=r.pendingLanes,o|=l,s.lanes=o,Nu(r,o)}}function Uh(r,s){var o=r.updateQueue,l=r.alternate;if(l!==null&&(l=l.updateQueue,o===l)){var d=null,p=null;if(o=o.firstBaseUpdate,o!==null){do{var y={eventTime:o.eventTime,lane:o.lane,tag:o.tag,payload:o.payload,callback:o.callback,next:null};p===null?d=p=y:p=p.next=y,o=o.next}while(o!==null);p===null?d=p=s:p=p.next=s}else d=p=s;o={baseState:l.baseState,firstBaseUpdate:d,lastBaseUpdate:p,shared:l.shared,effects:l.effects},r.updateQueue=o;return}r=o.lastBaseUpdate,r===null?o.firstBaseUpdate=s:r.next=s,o.lastBaseUpdate=s}function Ba(r,s,o,l){var d=r.updateQueue;zr=!1;var p=d.firstBaseUpdate,y=d.lastBaseUpdate,S=d.shared.pending;if(S!==null){d.shared.pending=null;var j=S,z=j.next;j.next=null,y===null?p=z:y.next=z,y=j;var J=r.alternate;J!==null&&(J=J.updateQueue,S=J.lastBaseUpdate,S!==y&&(S===null?J.firstBaseUpdate=z:S.next=z,J.lastBaseUpdate=j))}if(p!==null){var q=d.baseState;y=0,J=z=j=null,S=p;do{var K=S.lane,ie=S.eventTime;if((l&K)===K){J!==null&&(J=J.next={eventTime:ie,lane:0,tag:S.tag,payload:S.payload,callback:S.callback,next:null});e:{var ce=r,de=S;switch(K=s,ie=o,de.tag){case 1:if(ce=de.payload,typeof ce=="function"){q=ce.call(ie,q,K);break e}q=ce;break e;case 3:ce.flags=ce.flags&-65537|128;case 0:if(ce=de.payload,K=typeof ce=="function"?ce.call(ie,q,K):ce,K==null)break e;q=H({},q,K);break e;case 2:zr=!0}}S.callback!==null&&S.lane!==0&&(r.flags|=64,K=d.effects,K===null?d.effects=[S]:K.push(S))}else ie={eventTime:ie,lane:K,tag:S.tag,payload:S.payload,callback:S.callback,next:null},J===null?(z=J=ie,j=q):J=J.next=ie,y|=K;if(S=S.next,S===null){if(S=d.shared.pending,S===null)break;K=S,S=K.next,K.next=null,d.lastBaseUpdate=K,d.shared.pending=null}}while(!0);if(J===null&&(j=q),d.baseState=j,d.firstBaseUpdate=z,d.lastBaseUpdate=J,s=d.shared.interleaved,s!==null){d=s;do y|=d.lane,d=d.next;while(d!==s)}else p===null&&(d.shared.lanes=0);ws|=y,r.lanes=y,r.memoizedState=q}}function $h(r,s,o){if(r=s.effects,s.effects=null,r!==null)for(s=0;so?o:4,r(!0);var l=mc.transition;mc.transition={};try{r(!1),s()}finally{Ge=o,mc.transition=l}}function ip(){return ln().memoizedState}function kx(r,s,o){var l=Yr(r);if(o={lane:l,action:o,hasEagerState:!1,eagerState:null,next:null},op(r))ap(s,o);else if(o=Rh(r,s,o,l),o!==null){var d=Ot();In(o,r,l,d),lp(o,s,l)}}function Ix(r,s,o){var l=Yr(r),d={lane:l,action:o,hasEagerState:!1,eagerState:null,next:null};if(op(r))ap(s,d);else{var p=r.alternate;if(r.lanes===0&&(p===null||p.lanes===0)&&(p=s.lastRenderedReducer,p!==null))try{var y=s.lastRenderedState,S=p(y,o);if(d.hasEagerState=!0,d.eagerState=S,Sn(S,y)){var j=s.interleaved;j===null?(d.next=d,uc(s)):(d.next=j.next,j.next=d),s.interleaved=d;return}}catch{}finally{}o=Rh(r,s,d,l),o!==null&&(d=Ot(),In(o,r,l,d),lp(o,s,l))}}function op(r){var s=r.alternate;return r===ot||s!==null&&s===ot}function ap(r,s){bo=La=!0;var o=r.pending;o===null?s.next=s:(s.next=o.next,o.next=s),r.pending=s}function lp(r,s,o){if((o&4194240)!==0){var l=s.lanes;l&=r.pendingLanes,o|=l,s.lanes=o,Nu(r,o)}}var Pa={readContext:an,useCallback:kt,useContext:kt,useEffect:kt,useImperativeHandle:kt,useInsertionEffect:kt,useLayoutEffect:kt,useMemo:kt,useReducer:kt,useRef:kt,useState:kt,useDebugValue:kt,useDeferredValue:kt,useTransition:kt,useMutableSource:kt,useSyncExternalStore:kt,useId:kt,unstable_isNewReconciler:!1},Mx={readContext:an,useCallback:function(r,s){return Wn().memoizedState=[r,s===void 0?null:s],r},useContext:an,useEffect:qh,useImperativeHandle:function(r,s,o){return o=o!=null?o.concat([r]):null,Ua(4194308,4,ep.bind(null,s,r),o)},useLayoutEffect:function(r,s){return Ua(4194308,4,r,s)},useInsertionEffect:function(r,s){return Ua(4,2,r,s)},useMemo:function(r,s){var o=Wn();return s=s===void 0?null:s,r=r(),o.memoizedState=[r,s],r},useReducer:function(r,s,o){var l=Wn();return s=o!==void 0?o(s):s,l.memoizedState=l.baseState=s,r={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:r,lastRenderedState:s},l.queue=r,r=r.dispatch=kx.bind(null,ot,r),[l.memoizedState,r]},useRef:function(r){var s=Wn();return r={current:r},s.memoizedState=r},useState:Kh,useDebugValue:Sc,useDeferredValue:function(r){return Wn().memoizedState=r},useTransition:function(){var r=Kh(!1),s=r[0];return r=jx.bind(null,r[1]),Wn().memoizedState=r,[s,r]},useMutableSource:function(){},useSyncExternalStore:function(r,s,o){var l=ot,d=Wn();if(rt){if(o===void 0)throw Error(t(407));o=o()}else{if(o=s(),bt===null)throw Error(t(349));(bs&30)!==0||Wh(l,s,o)}d.memoizedState=o;var p={value:o,getSnapshot:s};return d.queue=p,qh(Gh.bind(null,l,p,r),[r]),l.flags|=2048,_o(9,Hh.bind(null,l,p,o,s),void 0,null),o},useId:function(){var r=Wn(),s=bt.identifierPrefix;if(rt){var o=ur,l=lr;o=(l&~(1<<32-wn(l)-1)).toString(32)+o,s=":"+s+"R"+o,o=wo++,0<\/script>",r=r.removeChild(r.firstChild)):typeof l.is=="string"?r=y.createElement(o,{is:l.is}):(r=y.createElement(o),o==="select"&&(y=r,l.multiple?y.multiple=!0:l.size&&(y.size=l.size))):r=y.createElementNS(r,o),r[zn]=s,r[po]=l,Mp(r,s,!1,!1),s.stateNode=r;e:{switch(y=$s(o,l),o){case"dialog":Xe("cancel",r),Xe("close",r),d=l;break;case"iframe":case"object":case"embed":Xe("load",r),d=l;break;case"video":case"audio":for(d=0;dui&&(s.flags|=128,l=!0,No(p,!1),s.lanes=4194304)}else{if(!l)if(r=Ea(y),r!==null){if(s.flags|=128,l=!0,o=r.updateQueue,o!==null&&(s.updateQueue=o,s.flags|=4),No(p,!0),p.tail===null&&p.tailMode==="hidden"&&!y.alternate&&!rt)return It(s),null}else 2*ut()-p.renderingStartTime>ui&&o!==1073741824&&(s.flags|=128,l=!0,No(p,!1),s.lanes=4194304);p.isBackwards?(y.sibling=s.child,s.child=y):(o=p.last,o!==null?o.sibling=y:s.child=y,p.last=y)}return p.tail!==null?(s=p.tail,p.rendering=s,p.tail=s.sibling,p.renderingStartTime=ut(),s.sibling=null,o=it.current,qe(it,l?o&1|2:o&1),s):(It(s),null);case 22:case 23:return Gc(),l=s.memoizedState!==null,r!==null&&r.memoizedState!==null!==l&&(s.flags|=8192),l&&(s.mode&1)!==0?(Zt&1073741824)!==0&&(It(s),s.subtreeFlags&6&&(s.flags|=8192)):It(s),null;case 24:return null;case 25:return null}throw Error(t(156,s.tag))}function Ex(r,s){switch(tc(s),s.tag){case 1:return Lt(s.type)&&ja(),r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 3:return ii(),et(Rt),et(jt),pc(),r=s.flags,(r&65536)!==0&&(r&128)===0?(s.flags=r&-65537|128,s):null;case 5:return fc(s),null;case 13:if(et(it),r=s.memoizedState,r!==null&&r.dehydrated!==null){if(s.alternate===null)throw Error(t(340));ti()}return r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 19:return et(it),null;case 4:return ii(),null;case 10:return ac(s.type._context),null;case 22:case 23:return Gc(),null;case 24:return null;default:return null}}var Ha=!1,Mt=!1,Rx=typeof WeakSet=="function"?WeakSet:Set,le=null;function ai(r,s){var o=r.ref;if(o!==null)if(typeof o=="function")try{o(null)}catch(l){lt(r,s,l)}else o.current=null}function Ac(r,s,o){try{o()}catch(l){lt(r,s,l)}}var Fp=!1;function Lx(r,s){if(Gu=da,r=uh(),Lu(r)){if("selectionStart"in r)var o={start:r.selectionStart,end:r.selectionEnd};else e:{o=(o=r.ownerDocument)&&o.defaultView||window;var l=o.getSelection&&o.getSelection();if(l&&l.rangeCount!==0){o=l.anchorNode;var d=l.anchorOffset,p=l.focusNode;l=l.focusOffset;try{o.nodeType,p.nodeType}catch{o=null;break e}var y=0,S=-1,j=-1,z=0,J=0,q=r,K=null;t:for(;;){for(var ie;q!==o||d!==0&&q.nodeType!==3||(S=y+d),q!==p||l!==0&&q.nodeType!==3||(j=y+l),q.nodeType===3&&(y+=q.nodeValue.length),(ie=q.firstChild)!==null;)K=q,q=ie;for(;;){if(q===r)break t;if(K===o&&++z===d&&(S=y),K===p&&++J===l&&(j=y),(ie=q.nextSibling)!==null)break;q=K,K=q.parentNode}q=ie}o=S===-1||j===-1?null:{start:S,end:j}}else o=null}o=o||{start:0,end:0}}else o=null;for(Yu={focusedElem:r,selectionRange:o},da=!1,le=s;le!==null;)if(s=le,r=s.child,(s.subtreeFlags&1028)!==0&&r!==null)r.return=s,le=r;else for(;le!==null;){s=le;try{var ce=s.alternate;if((s.flags&1024)!==0)switch(s.tag){case 0:case 11:case 15:break;case 1:if(ce!==null){var de=ce.memoizedProps,ct=ce.memoizedState,B=s.stateNode,k=B.getSnapshotBeforeUpdate(s.elementType===s.type?de:Nn(s.type,de),ct);B.__reactInternalSnapshotBeforeUpdate=k}break;case 3:var U=s.stateNode.containerInfo;U.nodeType===1?U.textContent="":U.nodeType===9&&U.documentElement&&U.removeChild(U.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(t(163))}}catch(Z){lt(s,s.return,Z)}if(r=s.sibling,r!==null){r.return=s.return,le=r;break}le=s.return}return ce=Fp,Fp=!1,ce}function jo(r,s,o){var l=s.updateQueue;if(l=l!==null?l.lastEffect:null,l!==null){var d=l=l.next;do{if((d.tag&r)===r){var p=d.destroy;d.destroy=void 0,p!==void 0&&Ac(s,o,p)}d=d.next}while(d!==l)}}function Ga(r,s){if(s=s.updateQueue,s=s!==null?s.lastEffect:null,s!==null){var o=s=s.next;do{if((o.tag&r)===r){var l=o.create;o.destroy=l()}o=o.next}while(o!==s)}}function Bc(r){var s=r.ref;if(s!==null){var o=r.stateNode;switch(r.tag){case 5:r=o;break;default:r=o}typeof s=="function"?s(r):s.current=r}}function Op(r){var s=r.alternate;s!==null&&(r.alternate=null,Op(s)),r.child=null,r.deletions=null,r.sibling=null,r.tag===5&&(s=r.stateNode,s!==null&&(delete s[zn],delete s[po],delete s[qu],delete s[bx],delete s[wx])),r.stateNode=null,r.return=null,r.dependencies=null,r.memoizedProps=null,r.memoizedState=null,r.pendingProps=null,r.stateNode=null,r.updateQueue=null}function Tp(r){return r.tag===5||r.tag===3||r.tag===4}function Ap(r){e:for(;;){for(;r.sibling===null;){if(r.return===null||Tp(r.return))return null;r=r.return}for(r.sibling.return=r.return,r=r.sibling;r.tag!==5&&r.tag!==6&&r.tag!==18;){if(r.flags&2||r.child===null||r.tag===4)continue e;r.child.return=r,r=r.child}if(!(r.flags&2))return r.stateNode}}function Ec(r,s,o){var l=r.tag;if(l===5||l===6)r=r.stateNode,s?o.nodeType===8?o.parentNode.insertBefore(r,s):o.insertBefore(r,s):(o.nodeType===8?(s=o.parentNode,s.insertBefore(r,o)):(s=o,s.appendChild(r)),o=o._reactRootContainer,o!=null||s.onclick!==null||(s.onclick=_a));else if(l!==4&&(r=r.child,r!==null))for(Ec(r,s,o),r=r.sibling;r!==null;)Ec(r,s,o),r=r.sibling}function Rc(r,s,o){var l=r.tag;if(l===5||l===6)r=r.stateNode,s?o.insertBefore(r,s):o.appendChild(r);else if(l!==4&&(r=r.child,r!==null))for(Rc(r,s,o),r=r.sibling;r!==null;)Rc(r,s,o),r=r.sibling}var _t=null,jn=!1;function Wr(r,s,o){for(o=o.child;o!==null;)Bp(r,s,o),o=o.sibling}function Bp(r,s,o){if(Pn&&typeof Pn.onCommitFiberUnmount=="function")try{Pn.onCommitFiberUnmount(ia,o)}catch{}switch(o.tag){case 5:Mt||ai(o,s);case 6:var l=_t,d=jn;_t=null,Wr(r,s,o),_t=l,jn=d,_t!==null&&(jn?(r=_t,o=o.stateNode,r.nodeType===8?r.parentNode.removeChild(o):r.removeChild(o)):_t.removeChild(o.stateNode));break;case 18:_t!==null&&(jn?(r=_t,o=o.stateNode,r.nodeType===8?Ju(r.parentNode,o):r.nodeType===1&&Ju(r,o),no(r)):Ju(_t,o.stateNode));break;case 4:l=_t,d=jn,_t=o.stateNode.containerInfo,jn=!0,Wr(r,s,o),_t=l,jn=d;break;case 0:case 11:case 14:case 15:if(!Mt&&(l=o.updateQueue,l!==null&&(l=l.lastEffect,l!==null))){d=l=l.next;do{var p=d,y=p.destroy;p=p.tag,y!==void 0&&((p&2)!==0||(p&4)!==0)&&Ac(o,s,y),d=d.next}while(d!==l)}Wr(r,s,o);break;case 1:if(!Mt&&(ai(o,s),l=o.stateNode,typeof l.componentWillUnmount=="function"))try{l.props=o.memoizedProps,l.state=o.memoizedState,l.componentWillUnmount()}catch(S){lt(o,s,S)}Wr(r,s,o);break;case 21:Wr(r,s,o);break;case 22:o.mode&1?(Mt=(l=Mt)||o.memoizedState!==null,Wr(r,s,o),Mt=l):Wr(r,s,o);break;default:Wr(r,s,o)}}function Ep(r){var s=r.updateQueue;if(s!==null){r.updateQueue=null;var o=r.stateNode;o===null&&(o=r.stateNode=new Rx),s.forEach(function(l){var d=Yx.bind(null,r,l);o.has(l)||(o.add(l),l.then(d,d))})}}function kn(r,s){var o=s.deletions;if(o!==null)for(var l=0;ld&&(d=y),l&=~p}if(l=d,l=ut()-l,l=(120>l?120:480>l?480:1080>l?1080:1920>l?1920:3e3>l?3e3:4320>l?4320:1960*$x(l/1960))-l,10r?16:r,Gr===null)var l=!1;else{if(r=Gr,Gr=null,qa=0,(Pe&6)!==0)throw Error(t(331));var d=Pe;for(Pe|=4,le=r.current;le!==null;){var p=le,y=p.child;if((le.flags&16)!==0){var S=p.deletions;if(S!==null){for(var j=0;jut()-$c?_s(r,0):Uc|=o),Pt(r,s)}function Kp(r,s){s===0&&((r.mode&1)===0?s=1:(s=aa,aa<<=1,(aa&130023424)===0&&(aa=4194304)));var o=Ot();r=cr(r,s),r!==null&&(qi(r,s,o),Pt(r,o))}function Gx(r){var s=r.memoizedState,o=0;s!==null&&(o=s.retryLane),Kp(r,o)}function Yx(r,s){var o=0;switch(r.tag){case 13:var l=r.stateNode,d=r.memoizedState;d!==null&&(o=d.retryLane);break;case 19:l=r.stateNode;break;default:throw Error(t(314))}l!==null&&l.delete(s),Kp(r,o)}var Jp;Jp=function(r,s,o){if(r!==null)if(r.memoizedProps!==s.pendingProps||Rt.current)Ut=!0;else{if((r.lanes&o)===0&&(s.flags&128)===0)return Ut=!1,Ax(r,s,o);Ut=(r.flags&131072)!==0}else Ut=!1,rt&&(s.flags&1048576)!==0&&Dh(s,Da,s.index);switch(s.lanes=0,s.tag){case 2:var l=s.type;Wa(r,s),r=s.pendingProps;var d=Zs(s,jt.current);si(s,o),d=gc(null,s,l,r,d,o);var p=vc();return s.flags|=1,typeof d=="object"&&d!==null&&typeof d.render=="function"&&d.$$typeof===void 0?(s.tag=1,s.memoizedState=null,s.updateQueue=null,Lt(l)?(p=!0,ka(s)):p=!1,s.memoizedState=d.state!==null&&d.state!==void 0?d.state:null,cc(s),d.updater=za,s.stateNode=d,d._reactInternals=s,Nc(s,l,r,o),s=Mc(null,s,l,!0,p,o)):(s.tag=0,rt&&p&&ec(s),Ft(null,s,d,o),s=s.child),s;case 16:l=s.elementType;e:{switch(Wa(r,s),r=s.pendingProps,d=l._init,l=d(l._payload),s.type=l,d=s.tag=Kx(l),r=Nn(l,r),d){case 0:s=Ic(null,s,l,r,o);break e;case 1:s=Sp(null,s,l,r,o);break e;case 11:s=gp(null,s,l,r,o);break e;case 14:s=vp(null,s,l,Nn(l.type,r),o);break e}throw Error(t(306,l,""))}return s;case 0:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),Ic(r,s,l,d,o);case 1:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),Sp(r,s,l,d,o);case 3:e:{if(_p(s),r===null)throw Error(t(387));l=s.pendingProps,p=s.memoizedState,d=p.element,Lh(r,s),Ba(s,l,null,o);var y=s.memoizedState;if(l=y.element,p.isDehydrated)if(p={element:l,isDehydrated:!1,cache:y.cache,pendingSuspenseBoundaries:y.pendingSuspenseBoundaries,transitions:y.transitions},s.updateQueue.baseState=p,s.memoizedState=p,s.flags&256){d=oi(Error(t(423)),s),s=Np(r,s,l,o,d);break e}else if(l!==d){d=oi(Error(t(424)),s),s=Np(r,s,l,o,d);break e}else for(qt=Lr(s.stateNode.containerInfo.firstChild),Jt=s,rt=!0,_n=null,o=Eh(s,null,l,o),s.child=o;o;)o.flags=o.flags&-3|4096,o=o.sibling;else{if(ti(),l===d){s=fr(r,s,o);break e}Ft(r,s,l,o)}s=s.child}return s;case 5:return Ph(s),r===null&&rc(s),l=s.type,d=s.pendingProps,p=r!==null?r.memoizedProps:null,y=d.children,Qu(l,d)?y=null:p!==null&&Qu(l,p)&&(s.flags|=32),wp(r,s),Ft(r,s,y,o),s.child;case 6:return r===null&&rc(s),null;case 13:return jp(r,s,o);case 4:return dc(s,s.stateNode.containerInfo),l=s.pendingProps,r===null?s.child=ni(s,null,l,o):Ft(r,s,l,o),s.child;case 11:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),gp(r,s,l,d,o);case 7:return Ft(r,s,s.pendingProps,o),s.child;case 8:return Ft(r,s,s.pendingProps.children,o),s.child;case 12:return Ft(r,s,s.pendingProps.children,o),s.child;case 10:e:{if(l=s.type._context,d=s.pendingProps,p=s.memoizedProps,y=d.value,qe(Oa,l._currentValue),l._currentValue=y,p!==null)if(Sn(p.value,y)){if(p.children===d.children&&!Rt.current){s=fr(r,s,o);break e}}else for(p=s.child,p!==null&&(p.return=s);p!==null;){var S=p.dependencies;if(S!==null){y=p.child;for(var j=S.firstContext;j!==null;){if(j.context===l){if(p.tag===1){j=dr(-1,o&-o),j.tag=2;var z=p.updateQueue;if(z!==null){z=z.shared;var J=z.pending;J===null?j.next=j:(j.next=J.next,J.next=j),z.pending=j}}p.lanes|=o,j=p.alternate,j!==null&&(j.lanes|=o),lc(p.return,o,s),S.lanes|=o;break}j=j.next}}else if(p.tag===10)y=p.type===s.type?null:p.child;else if(p.tag===18){if(y=p.return,y===null)throw Error(t(341));y.lanes|=o,S=y.alternate,S!==null&&(S.lanes|=o),lc(y,o,s),y=p.sibling}else y=p.child;if(y!==null)y.return=p;else for(y=p;y!==null;){if(y===s){y=null;break}if(p=y.sibling,p!==null){p.return=y.return,y=p;break}y=y.return}p=y}Ft(r,s,d.children,o),s=s.child}return s;case 9:return d=s.type,l=s.pendingProps.children,si(s,o),d=an(d),l=l(d),s.flags|=1,Ft(r,s,l,o),s.child;case 14:return l=s.type,d=Nn(l,s.pendingProps),d=Nn(l.type,d),vp(r,s,l,d,o);case 15:return xp(r,s,s.type,s.pendingProps,o);case 17:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),Wa(r,s),s.tag=1,Lt(l)?(r=!0,ka(s)):r=!1,si(s,o),cp(s,l,d),Nc(s,l,d,o),Mc(null,s,l,!0,r,o);case 19:return Ip(r,s,o);case 22:return bp(r,s,o)}throw Error(t(156,s.tag))};function qp(r,s){return Cf(r,s)}function Qx(r,s,o,l){this.tag=r,this.key=o,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=s,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=l,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function cn(r,s,o,l){return new Qx(r,s,o,l)}function Qc(r){return r=r.prototype,!(!r||!r.isReactComponent)}function Kx(r){if(typeof r=="function")return Qc(r)?1:0;if(r!=null){if(r=r.$$typeof,r===te)return 11;if(r===ae)return 14}return 2}function Kr(r,s){var o=r.alternate;return o===null?(o=cn(r.tag,s,r.key,r.mode),o.elementType=r.elementType,o.type=r.type,o.stateNode=r.stateNode,o.alternate=r,r.alternate=o):(o.pendingProps=s,o.type=r.type,o.flags=0,o.subtreeFlags=0,o.deletions=null),o.flags=r.flags&14680064,o.childLanes=r.childLanes,o.lanes=r.lanes,o.child=r.child,o.memoizedProps=r.memoizedProps,o.memoizedState=r.memoizedState,o.updateQueue=r.updateQueue,s=r.dependencies,o.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext},o.sibling=r.sibling,o.index=r.index,o.ref=r.ref,o}function tl(r,s,o,l,d,p){var y=2;if(l=r,typeof r=="function")Qc(r)&&(y=1);else if(typeof r=="string")y=5;else e:switch(r){case L:return js(o.children,d,p,s);case G:y=8,d|=8;break;case W:return r=cn(12,o,s,d|2),r.elementType=W,r.lanes=p,r;case X:return r=cn(13,o,s,d),r.elementType=X,r.lanes=p,r;case oe:return r=cn(19,o,s,d),r.elementType=oe,r.lanes=p,r;case ne:return nl(o,d,p,s);default:if(typeof r=="object"&&r!==null)switch(r.$$typeof){case Y:y=10;break e;case P:y=9;break e;case te:y=11;break e;case ae:y=14;break e;case se:y=16,l=null;break e}throw Error(t(130,r==null?r:typeof r,""))}return s=cn(y,o,s,d),s.elementType=r,s.type=l,s.lanes=p,s}function js(r,s,o,l){return r=cn(7,r,l,s),r.lanes=o,r}function nl(r,s,o,l){return r=cn(22,r,l,s),r.elementType=ne,r.lanes=o,r.stateNode={isHidden:!1},r}function Kc(r,s,o){return r=cn(6,r,null,s),r.lanes=o,r}function Jc(r,s,o){return s=cn(4,r.children!==null?r.children:[],r.key,s),s.lanes=o,s.stateNode={containerInfo:r.containerInfo,pendingChildren:null,implementation:r.implementation},s}function Jx(r,s,o,l,d){this.tag=s,this.containerInfo=r,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=_u(0),this.expirationTimes=_u(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=_u(0),this.identifierPrefix=l,this.onRecoverableError=d,this.mutableSourceEagerHydrationData=null}function qc(r,s,o,l,d,p,y,S,j){return r=new Jx(r,s,o,S,j),s===1?(s=1,p===!0&&(s|=8)):s=0,p=cn(3,null,null,s),r.current=p,p.stateNode=r,p.memoizedState={element:l,isDehydrated:o,cache:null,transitions:null,pendingSuspenseBoundaries:null},cc(p),r}function qx(r,s,o){var l=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}return n(),rd.exports=cb(),rd.exports}var dm;function fb(){if(dm)return ul;dm=1;var n=db();return ul.createRoot=n.createRoot,ul.hydrateRoot=n.hydrateRoot,ul}var hb=fb();function Sr(n){return n.split(".").at(-1)||n}function Fn(n,e){const t=Sr(n);if(e.filter(a=>Sr(a)===t).length<2)return t;const i=n.indexOf(".");return i>0?`${n.slice(0,i)}_${t}`:t}const er="\0__null__";function pb(n){return String(n||"").replaceAll("_"," ").replaceAll("."," ").replace(/\b\w/g,e=>e.toUpperCase()).trim()}function by(n,e={}){if(n==null||n==="")return"—";const t=typeof n=="number"?n:Number(n);if(!Number.isFinite(t))return String(n);const i=String(e.format||"").toLowerCase();if(e.style==="percent"||i.includes("%")||i.includes("percent")||i.includes("pct")||e.type==="ratio")return(e.style==="percent"?t:Math.abs(t)<=1?t*100:t).toLocaleString(void 0,{maximumFractionDigits:e.maximumFractionDigits??1,style:e.style==="percent"?"percent":"decimal"})+(e.style==="percent"?"":"%");const u=e.style==="currency"||e.currency||i.includes("$")||i.includes("usd")||i.includes("currency")||i.includes("dollar");return t.toLocaleString(void 0,{currency:u?e.currency||"USD":void 0,maximumFractionDigits:e.maximumFractionDigits??2,notation:e.compact?"compact":"standard",style:u?"currency":"decimal"})}function mb(n,e={}){return by(n,{...e,compact:!0,maximumFractionDigits:e.maximumFractionDigits??1})}function yb(n,e,t){const i=t>0&&n.length>t,a=i?Math.ceil(n.length/t):1,u=Math.max(0,Math.min(e,a-1)),f=i?u*t:0;return{paginate:i,pageCount:a,safePage:u,start:f,visibleRows:i?n.slice(f,f+t):n}}function rs(n){return n===er||n===""?"—":n}function Le(n){return pb(n)}function pt(n,e={}){return by(n,e)}function Gt(n,e={}){return mb(n,e)}function wy(n){return!Number.isFinite(n)||n===0?"neutral":n>0?"positive":"negative"}function gb(n,e){return!Number.isFinite(n)||!Number.isFinite(e)||e<=0?{label:"—",tone:"neutral"}:{label:`${(n/e*100).toLocaleString(void 0,{maximumFractionDigits:1})}%`,tone:"neutral"}}function vb(n,e,t={}){if(e==null||!Number.isFinite(e)||!Number.isFinite(n))return{label:"—",tone:"neutral"};const i=n-e;return{label:`${i>0?"+":i<0?"−":""}${Gt(Math.abs(i),t)}`,tone:wy(i)}}function xb(n,e){if(e==null||!Number.isFinite(e)||e===0||!Number.isFinite(n))return{label:"—",tone:"neutral"};const t=(n-e)/Math.abs(e);return{label:`${(t*100).toLocaleString(void 0,{maximumFractionDigits:1,signDisplay:"exceptZero"})}%`,tone:wy(t)}}function Sy(n,e){if(e==null||!Number.isFinite(e)||e===0||!Number.isFinite(n))return null;const t=(n-e)/Math.abs(e),i=(t*100).toLocaleString(void 0,{maximumFractionDigits:1,signDisplay:"exceptZero"}),a=t>0?"positive":t<0?"negative":"neutral";return{label:`${i}%`,tone:a}}function Tn(n){return`'${n.replaceAll("'","''")}'`}function bb(n){if(n.mode==="contains")return`contains ${Tn(n.pattern??"")}`;const{values:e}=n,t=n.mode==="exclude"?"is not":"is";return e.length===0?t:e.length===1?`${t} ${rs(e[0])}`:e.length<=2?`${t} ${e.map(rs).join(", ")}`:`${t} ${e.length} values`}const od=n=>n.public!==!1,_y=/(^|_)(date|time|day|month|week|year|quarter|created|updated|timestamp|_at|_on)($|_)/i;function Ny(n,e){if(e){const t=n.find(i=>i.name===e);if(t)return t}return n.find(t=>t.type==="time")??n.find(t=>_y.test(t.name))}function wb(n,e){var f;const t=new Set;if(!n)return t;const i=new Set(e.map(h=>h.name)),a=n.match(/[A-Za-z_][A-Za-z0-9_]*\.[A-Za-z_][A-Za-z0-9_]*/g)??[];for(const h of a){const[m]=h.split(".");i.has(m)&&t.add(m)}if(t.size)return t;const u=(f=n.match(/^[A-Za-z_][A-Za-z0-9_]*$/))==null?void 0:f[0];if(!u)return t;for(const h of e)h.metrics.some(m=>m.name===u)&&t.add(h.name);return t}function jy(n,e){const t=new Set;for(const i of[n.base_metric,n.numerator,n.denominator,n.sql])for(const a of wb(i,e))t.add(a);return t.size===1?[...t][0]:void 0}function Sb(n){const e=(n.models??[]).map(i=>{const a=(i.dimensions??[]).filter(od).map(h=>({ref:`${i.name}.${h.name}`,name:h.name,model:i.name,label:h.label||Le(h.name),description:h.description,type:h.type||"categorical",granularity:h.granularity,supportedGranularities:h.supported_granularities,format:h.format})),u=(i.metrics??[]).filter(od).map(h=>({ref:`${i.name}.${h.name}`,name:h.name,model:i.name,label:h.label||Le(h.name),description:h.description,agg:h.agg,type:h.type,format:h.format})),f=Ny(a,i.default_time_dimension);return{name:i.name,label:Le(i.name),description:i.description,table:i.table,dimensions:a,metrics:u,timeDimension:f,defaultGrain:i.default_grain||(f==null?void 0:f.granularity)||"day"}}),t=(n.metrics??[]).filter(od).map(i=>({ref:i.name,name:i.name,ownerModel:jy(i,e),baseMetric:i.base_metric,label:i.label||Le(i.name),description:i.description,type:i.type,format:i.format}));return{models:e,graphMetrics:t,dialect:n.dialect}}function _b(n){const e=n??{},t=(e.models??[]).map(a=>{const u=(a.dimensions??[]).map(m=>({ref:`${a.name}.${m}`,name:m,model:a.name,label:Le(m),type:_y.test(m)?"time":"categorical"})),f=(a.metrics??[]).map(m=>({ref:`${a.name}.${m}`,name:m,model:a.name,label:Le(m)})),h=Ny(u);return{name:a.name,label:Le(a.name),table:a.table,dimensions:u,metrics:f,timeDimension:h,defaultGrain:(h==null?void 0:h.granularity)||"day"}}),i=(e.graph_metrics??[]).map(a=>({ref:a.name,name:a.name,ownerModel:jy(a,t),baseMetric:a.base_metric,label:Le(a.name),type:a.type,description:a.description}));return{models:t,graphMetrics:i,joinablePairs:e.joinable_pairs??[]}}function Nb(n,e){return{...n,joinablePairs:(e??{}).joinable_pairs??n.joinablePairs??[]}}function Di(n,e){const t=new Set;for(const i of n.joinablePairs??[])i.from===e&&t.add(i.to),i.to===e&&t.add(i.from);return n.graphMetrics.filter(i=>i.ownerModel?i.ownerModel===e||t.has(i.ownerModel):!0)}function Fe(n,e,t,i){function a(u){return u instanceof t?u:new t(function(f){f(u)})}return new(t||(t=Promise))(function(u,f){function h(v){try{g(i.next(v))}catch(x){f(x)}}function m(v){try{g(i.throw(v))}catch(x){f(x)}}function g(v){v.done?u(v.value):a(v.value).then(h,m)}g((i=i.apply(n,e||[])).next())})}function fm(n){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&n[e],i=0;if(t)return t.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Ae(n){return this instanceof Ae?(this.v=n,this):new Ae(n)}function Zn(n,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=t.apply(n,e||[]),a,u=[];return a=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),h("next"),h("throw"),h("return",f),a[Symbol.asyncIterator]=function(){return this},a;function f(w){return function(_){return Promise.resolve(_).then(w,x)}}function h(w,_){i[w]&&(a[w]=function(C){return new Promise(function(A,V){u.push([w,C,A,V])>1||m(w,C)})},_&&(a[w]=_(a[w])))}function m(w,_){try{g(i[w](_))}catch(C){b(u[0][3],C)}}function g(w){w.value instanceof Ae?Promise.resolve(w.value.v).then(v,x):b(u[0][2],w)}function v(w){m("next",w)}function x(w){m("throw",w)}function b(w,_){w(_),u.shift(),u.length&&m(u[0][0],u[0][1])}}function bl(n){var e,t;return e={},i("next"),i("throw",function(a){throw a}),i("return"),e[Symbol.iterator]=function(){return this},e;function i(a,u){e[a]=n[a]?function(f){return(t=!t)?{value:Ae(n[a](f)),done:!1}:u?u(f):f}:u}}function _i(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=n[Symbol.asyncIterator],t;return e?e.call(n):(n=typeof fm=="function"?fm(n):n[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(u){t[u]=n[u]&&function(f){return new Promise(function(h,m){f=n[u](f),a(h,m,f.done,f.value)})}}function a(u,f,h,m){Promise.resolve(m).then(function(g){u({value:g,done:h})},f)}}const jb=new TextDecoder("utf-8"),kd=n=>jb.decode(n),kb=new TextEncoder,zd=n=>kb.encode(n),Ib=n=>typeof n=="number",Mb=n=>typeof n=="boolean",Tt=n=>typeof n=="function",Rn=n=>n!=null&&Object(n)===n,Vo=n=>Rn(n)&&Tt(n.then),cu=n=>Rn(n)&&Tt(n[Symbol.iterator]),Vd=n=>Rn(n)&&Tt(n[Symbol.asyncIterator]),Id=n=>Rn(n)&&Rn(n.schema),ky=n=>Rn(n)&&"done"in n&&"value"in n,Iy=n=>Rn(n)&&Tt(n.stat)&&Ib(n.fd),My=n=>Rn(n)&&Wd(n.body),Dy=n=>"_getDOMStream"in n&&"_getNodeStream"in n,Wd=n=>Rn(n)&&Tt(n.cancel)&&Tt(n.getReader)&&!Dy(n),Cy=n=>Rn(n)&&Tt(n.read)&&Tt(n.pipe)&&Mb(n.readable)&&!Dy(n),Db=n=>Rn(n)&&Tt(n.clear)&&Tt(n.bytes)&&Tt(n.position)&&Tt(n.setPosition)&&Tt(n.capacity)&&Tt(n.getBufferIdentifier)&&Tt(n.createLong),Hd=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:ArrayBuffer;function Cb(n){const e=n[0]?[n[0]]:[];let t,i,a,u;for(let f,h,m=0,g=0,v=n.length;++mv+x.byteLength,0);let a,u,f,h=0,m=-1;const g=Math.min(e||Number.POSITIVE_INFINITY,i);for(const v=t.length;++mKe(Int32Array,n),pm=n=>Ke(BigInt64Array,n),$e=n=>Ke(Uint8Array,n),Md=n=>(n.next(),n);function*Fb(n,e){const t=function*(a){yield a},i=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof Hd?t(e):cu(e)?e:t(e);return yield*Md((function*(a){let u=null;do u=a.next(yield Ke(n,u));while(!u.done)})(i[Symbol.iterator]())),new n}const Ob=n=>Fb(Uint8Array,n);function Fy(n,e){return Zn(this,arguments,function*(){if(Vo(e))return yield Ae(yield Ae(yield*bl(_i(Fy(n,yield Ae(e))))));const i=function(f){return Zn(this,arguments,function*(){yield yield Ae(yield Ae(f))})},a=function(f){return Zn(this,arguments,function*(){yield Ae(yield*bl(_i(Md((function*(h){let m=null;do m=h.next(yield m==null?void 0:m.value);while(!m.done)})(f[Symbol.iterator]())))))})},u=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof Hd?i(e):cu(e)?a(e):Vd(e)?e:i(e);return yield Ae(yield*bl(_i(Md((function(f){return Zn(this,arguments,function*(){let h=null;do h=yield Ae(f.next(yield yield Ae(Ke(n,h))));while(!h.done)})})(u[Symbol.asyncIterator]()))))),yield Ae(new n)})}const Tb=n=>Fy(Uint8Array,n);function Ab(n,e){let t=0;const i=n.length;if(i!==e.length)return!1;if(i>0)do if(n[t]!==e[t])return!1;while(++t(n.next(),n);function*Bb(n){let e,t=!1,i=[],a,u,f,h=0;function m(){return u==="peek"?tr(i,f)[0]:([a,i,h]=tr(i,f),a)}({cmd:u,size:f}=(yield null)||{cmd:"read",size:0});const g=Ob(n)[Symbol.iterator]();try{do if({done:e,value:a}=Number.isNaN(f-h)?g.next():g.next(f-h),!e&&a.byteLength>0&&(i.push(a),h+=a.byteLength),e||f<=h)do({cmd:u,size:f}=yield m());while(f0&&(a.push(u),m+=u.byteLength),t||h<=m)do({cmd:f,size:h}=yield yield Ae(g()));while(h0&&(a.push($e(u)),m+=u.byteLength),t||h<=m)do({cmd:f,size:h}=yield yield Ae(g()));while(h{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(e){return Fe(this,void 0,void 0,function*(){const{reader:t,source:i}=this;t&&(yield t.cancel(e).catch(()=>{})),i&&i.locked&&this.releaseLock()})}read(e){return Fe(this,void 0,void 0,function*(){if(e===0)return{done:this.reader==null,value:new Uint8Array(0)};const t=yield this.reader.read();return!t.done&&(t.value=$e(t)),t})}}const ad=(n,e)=>{const t=a=>i([e,a]);let i;return[e,t,new Promise(a=>(i=a)&&n.once(e,t))]};function Ub(n){return Zn(this,arguments,function*(){const t=[];let i="error",a=!1,u=null,f,h,m=0,g=[],v;function x(){return f==="peek"?tr(g,h)[0]:([v,g,m]=tr(g,h),v)}if({cmd:f,size:h}=(yield yield Ae(null))||{cmd:"read",size:0},n.isTTY)return yield yield Ae(new Uint8Array(0)),yield Ae(null);try{t[0]=ad(n,"end"),t[1]=ad(n,"error");do{if(t[2]=ad(n,"readable"),[i,u]=yield Ae(Promise.race(t.map(w=>w[2]))),i==="error")break;if((a=i==="end")||(Number.isFinite(h-m)?(v=$e(n.read(h-m)),v.byteLength0&&(g.push(v),m+=v.byteLength)),a||h<=m)do({cmd:f,size:h}=yield yield Ae(x()));while(h{for(const[V,$]of w)n.off(V,$);try{const V=n.destroy;V&&V.call(n,_),_=void 0}catch(V){_=V||_}finally{_!=null?A(_):C()}})}})}var ht;(function(n){n[n.V1=0]="V1",n[n.V2=1]="V2",n[n.V3=2]="V3",n[n.V4=3]="V4",n[n.V5=4]="V5"})(ht||(ht={}));var Yt;(function(n){n[n.Sparse=0]="Sparse",n[n.Dense=1]="Dense"})(Yt||(Yt={}));var Dt;(function(n){n[n.HALF=0]="HALF",n[n.SINGLE=1]="SINGLE",n[n.DOUBLE=2]="DOUBLE"})(Dt||(Dt={}));var xn;(function(n){n[n.DAY=0]="DAY",n[n.MILLISECOND=1]="MILLISECOND"})(xn||(xn={}));var _e;(function(n){n[n.SECOND=0]="SECOND",n[n.MILLISECOND=1]="MILLISECOND",n[n.MICROSECOND=2]="MICROSECOND",n[n.NANOSECOND=3]="NANOSECOND"})(_e||(_e={}));var nr;(function(n){n[n.YEAR_MONTH=0]="YEAR_MONTH",n[n.DAY_TIME=1]="DAY_TIME",n[n.MONTH_DAY_NANO=2]="MONTH_DAY_NANO"})(nr||(nr={}));const ld=2,Kn=4,br=4,He=4,es=new Int32Array(2),mm=new Float32Array(es.buffer),ym=new Float64Array(es.buffer),dl=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var Dd;(function(n){n[n.UTF8_BYTES=1]="UTF8_BYTES",n[n.UTF16_STRING=2]="UTF16_STRING"})(Dd||(Dd={}));let Ci=class Oy{constructor(e){this.bytes_=e,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(e){return new Oy(new Uint8Array(e))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(e){this.position_=e}capacity(){return this.bytes_.length}readInt8(e){return this.readUint8(e)<<24>>24}readUint8(e){return this.bytes_[e]}readInt16(e){return this.readUint16(e)<<16>>16}readUint16(e){return this.bytes_[e]|this.bytes_[e+1]<<8}readInt32(e){return this.bytes_[e]|this.bytes_[e+1]<<8|this.bytes_[e+2]<<16|this.bytes_[e+3]<<24}readUint32(e){return this.readInt32(e)>>>0}readInt64(e){return BigInt.asIntN(64,BigInt(this.readUint32(e))+(BigInt(this.readUint32(e+4))<>8}writeUint16(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8}writeInt32(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24}writeUint32(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24}writeInt64(e,t){this.writeInt32(e,Number(BigInt.asIntN(32,t))),this.writeInt32(e+4,Number(BigInt.asIntN(32,t>>BigInt(32))))}writeUint64(e,t){this.writeUint32(e,Number(BigInt.asUintN(32,t))),this.writeUint32(e+4,Number(BigInt.asUintN(32,t>>BigInt(32))))}writeFloat32(e,t){mm[0]=t,this.writeInt32(e,es[0])}writeFloat64(e,t){ym[0]=t,this.writeInt32(e,es[dl?0:1]),this.writeInt32(e+4,es[dl?1:0])}getBufferIdentifier(){if(this.bytes_.lengththis.minalign&&(this.minalign=e);const i=~(this.bb.capacity()-this.space+t)+1&e-1;for(;this.space=0&&this.vtable[t]==0;t--);const i=t+1;for(;t>=0;t--)this.addInt16(this.vtable[t]!=0?e-this.vtable[t]:0);const a=2;this.addInt16(e-this.object_start);const u=(i+a)*ld;this.addInt16(u);let f=0;const h=this.space;e:for(t=0;t=0;f--)this.writeInt8(u.charCodeAt(f))}this.prep(this.minalign,Kn+a),this.addOffset(e),a&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(e,t){this.finish(e,t,!0)}requiredField(e,t){const i=this.bb.capacity()-e,a=i-this.bb.readInt32(i);if(!(t=0;i--)e.addInt32(t[i]);return e.endVector()}static startTypeIdsVector(e,t){e.startVector(4,t,4)}static endUnion(e){return e.endObject()}static createUnion(e,t,i){return Ht.startUnion(e),Ht.addMode(e,t),Ht.addTypeIds(e,i),Ht.endUnion(e)}}let _m=class $o{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsUtf8(e,t){return(t||new $o).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsUtf8(e,t){return e.setPosition(e.position()+He),(t||new $o).__init(e.readInt32(e.position())+e.position(),e)}static startUtf8(e){e.startObject(0)}static endUtf8(e){return e.endObject()}static createUtf8(e){return $o.startUtf8(e),$o.endUtf8(e)}};var Ze;(function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.FloatingPoint=3]="FloatingPoint",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct_=13]="Struct_",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Duration=18]="Duration",n[n.LargeBinary=19]="LargeBinary",n[n.LargeUtf8=20]="LargeUtf8",n[n.LargeList=21]="LargeList",n[n.RunEndEncoded=22]="RunEndEncoded"})(Ze||(Ze={}));let hn=class kl{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsField(e,t){return(t||new kl).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsField(e,t){return e.setPosition(e.position()+He),(t||new kl).__init(e.readInt32(e.position())+e.position(),e)}name(e){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__string(this.bb_pos+t,e):null}nullable(){const e=this.bb.__offset(this.bb_pos,6);return e?!!this.bb.readInt8(this.bb_pos+e):!1}typeType(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readUint8(this.bb_pos+e):Ze.NONE}type(e){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__union(e,this.bb_pos+t):null}dictionary(e){const t=this.bb.__offset(this.bb_pos,12);return t?(e||new wr).__init(this.bb.__indirect(this.bb_pos+t),this.bb):null}children(e,t){const i=this.bb.__offset(this.bb_pos,14);return i?(t||new kl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}childrenLength(){const e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,16);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__vector_len(this.bb_pos+e):0}static startField(e){e.startObject(7)}static addName(e,t){e.addFieldOffset(0,t,0)}static addNullable(e,t){e.addFieldInt8(1,+t,0)}static addTypeType(e,t){e.addFieldInt8(2,t,Ze.NONE)}static addType(e,t){e.addFieldOffset(3,t,0)}static addDictionary(e,t){e.addFieldOffset(4,t,0)}static addChildren(e,t){e.addFieldOffset(5,t,0)}static createChildrenVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startChildrenVector(e,t){e.startVector(4,t,4)}static addCustomMetadata(e,t){e.addFieldOffset(6,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endField(e){return e.endObject()}},Yn=class mr{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsSchema(e,t){return(t||new mr).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsSchema(e,t){return e.setPosition(e.position()+He),(t||new mr).__init(e.readInt32(e.position())+e.position(),e)}endianness(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Fi.Little}fields(e,t){const i=this.bb.__offset(this.bb_pos,6);return i?(t||new hn).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}fieldsLength(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,8);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}features(e){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt64(this.bb.__vector(this.bb_pos+t)+e*8):BigInt(0)}featuresLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}static startSchema(e){e.startObject(4)}static addEndianness(e,t){e.addFieldInt16(0,t,Fi.Little)}static addFields(e,t){e.addFieldOffset(1,t,0)}static createFieldsVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startFieldsVector(e,t){e.startVector(4,t,4)}static addCustomMetadata(e,t){e.addFieldOffset(2,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static addFeatures(e,t){e.addFieldOffset(3,t,0)}static createFeaturesVector(e,t){e.startVector(8,t.length,8);for(let i=t.length-1;i>=0;i--)e.addInt64(t[i]);return e.endVector()}static startFeaturesVector(e,t){e.startVector(8,t,8)}static endSchema(e){return e.endObject()}static finishSchemaBuffer(e,t){e.finish(t)}static finishSizePrefixedSchemaBuffer(e,t){e.finish(t,void 0,!0)}static createSchema(e,t,i,a,u){return mr.startSchema(e),mr.addEndianness(e,t),mr.addFields(e,i),mr.addCustomMetadata(e,a),mr.addFeatures(e,u),mr.endSchema(e)}};var Ve;(function(n){n[n.NONE=0]="NONE",n[n.Schema=1]="Schema",n[n.DictionaryBatch=2]="DictionaryBatch",n[n.RecordBatch=3]="RecordBatch",n[n.Tensor=4]="Tensor",n[n.SparseTensor=5]="SparseTensor"})(Ve||(Ve={}));var M;(function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.Float=3]="Float",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct=13]="Struct",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Duration=18]="Duration",n[n.LargeBinary=19]="LargeBinary",n[n.LargeUtf8=20]="LargeUtf8",n[n.Dictionary=-1]="Dictionary",n[n.Int8=-2]="Int8",n[n.Int16=-3]="Int16",n[n.Int32=-4]="Int32",n[n.Int64=-5]="Int64",n[n.Uint8=-6]="Uint8",n[n.Uint16=-7]="Uint16",n[n.Uint32=-8]="Uint32",n[n.Uint64=-9]="Uint64",n[n.Float16=-10]="Float16",n[n.Float32=-11]="Float32",n[n.Float64=-12]="Float64",n[n.DateDay=-13]="DateDay",n[n.DateMillisecond=-14]="DateMillisecond",n[n.TimestampSecond=-15]="TimestampSecond",n[n.TimestampMillisecond=-16]="TimestampMillisecond",n[n.TimestampMicrosecond=-17]="TimestampMicrosecond",n[n.TimestampNanosecond=-18]="TimestampNanosecond",n[n.TimeSecond=-19]="TimeSecond",n[n.TimeMillisecond=-20]="TimeMillisecond",n[n.TimeMicrosecond=-21]="TimeMicrosecond",n[n.TimeNanosecond=-22]="TimeNanosecond",n[n.DenseUnion=-23]="DenseUnion",n[n.SparseUnion=-24]="SparseUnion",n[n.IntervalDayTime=-25]="IntervalDayTime",n[n.IntervalYearMonth=-26]="IntervalYearMonth",n[n.DurationSecond=-27]="DurationSecond",n[n.DurationMillisecond=-28]="DurationMillisecond",n[n.DurationMicrosecond=-29]="DurationMicrosecond",n[n.DurationNanosecond=-30]="DurationNanosecond"})(M||(M={}));var gr;(function(n){n[n.OFFSET=0]="OFFSET",n[n.DATA=1]="DATA",n[n.VALIDITY=2]="VALIDITY",n[n.TYPE=3]="TYPE"})(gr||(gr={}));const $b=void 0;function Wo(n){if(n===null)return"null";if(n===$b)return"undefined";switch(typeof n){case"number":return`${n}`;case"bigint":return`${n}`;case"string":return`"${n}"`}return typeof n[Symbol.toPrimitive]=="function"?n[Symbol.toPrimitive]("string"):ArrayBuffer.isView(n)?n instanceof BigInt64Array||n instanceof BigUint64Array?`[${[...n].map(e=>Wo(e))}]`:`[${n}]`:ArrayBuffer.isView(n)?`[${n}]`:JSON.stringify(n,(e,t)=>typeof t=="bigint"?`${t}`:t)}function tt(n){if(typeof n=="bigint"&&(nNumber.MAX_SAFE_INTEGER))throw new TypeError(`${n} is not safe to convert to a number.`);return Number(n)}function Ry(n,e){return tt(n/e)+tt(n%e)/tt(e)}const Pb=Symbol.for("isArrowBigNum");function Un(n,...e){return e.length===0?Object.setPrototypeOf(Ke(this.TypedArray,n),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(n,...e),this.constructor.prototype)}Un.prototype[Pb]=!0;Un.prototype.toJSON=function(){return`"${Go(this)}"`};Un.prototype.valueOf=function(n){return Ly(this,n)};Un.prototype.toString=function(){return Go(this)};Un.prototype[Symbol.toPrimitive]=function(n="default"){switch(n){case"number":return Ly(this);case"string":return Go(this);case"default":return Wb(this)}return Go(this)};function Ni(...n){return Un.apply(this,n)}function ji(...n){return Un.apply(this,n)}function Ho(...n){return Un.apply(this,n)}Object.setPrototypeOf(Ni.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(ji.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(Ho.prototype,Object.create(Uint32Array.prototype));Object.assign(Ni.prototype,Un.prototype,{constructor:Ni,signed:!0,TypedArray:Int32Array,BigIntArray:BigInt64Array});Object.assign(ji.prototype,Un.prototype,{constructor:ji,signed:!1,TypedArray:Uint32Array,BigIntArray:BigUint64Array});Object.assign(Ho.prototype,Un.prototype,{constructor:Ho,signed:!0,TypedArray:Uint32Array,BigIntArray:BigUint64Array});const zb=BigInt(4294967296)*BigInt(4294967296),Vb=zb-BigInt(1);function Ly(n,e){const{buffer:t,byteOffset:i,byteLength:a,signed:u}=n,f=new BigUint64Array(t,i,a/8),h=u&&f.at(-1)&BigInt(1)<=0)return ud(n);e=e.slice();let i=1;for(let u=0;u(n.children=null,n.ArrayType=Array,n.OffsetArrayType=Int32Array,n[Symbol.toStringTag]="DataType"))(me.prototype);class ss extends me{constructor(){super(M.Null)}toString(){return"Null"}}$y=Symbol.toStringTag;ss[$y]=(n=>n[Symbol.toStringTag]="Null")(ss.prototype);class Cs extends me{constructor(e,t){super(M.Int),this.isSigned=e,this.bitWidth=t}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?BigInt64Array:BigUint64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}Py=Symbol.toStringTag;Cs[Py]=(n=>(n.isSigned=null,n.bitWidth=null,n[Symbol.toStringTag]="Int"))(Cs.prototype);class Yo extends Cs{constructor(){super(!0,32)}get ArrayType(){return Int32Array}}Object.defineProperty(Yo.prototype,"ArrayType",{value:Int32Array});class Tl extends me{constructor(e){super(M.Float),this.precision=e}get ArrayType(){switch(this.precision){case Dt.HALF:return Uint16Array;case Dt.SINGLE:return Float32Array;case Dt.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}}zy=Symbol.toStringTag;Tl[zy]=(n=>(n.precision=null,n[Symbol.toStringTag]="Float"))(Tl.prototype);class Al extends me{constructor(){super(M.Binary)}toString(){return"Binary"}}Vy=Symbol.toStringTag;Al[Vy]=(n=>(n.ArrayType=Uint8Array,n[Symbol.toStringTag]="Binary"))(Al.prototype);class Bl extends me{constructor(){super(M.LargeBinary)}toString(){return"LargeBinary"}}Wy=Symbol.toStringTag;Bl[Wy]=(n=>(n.ArrayType=Uint8Array,n.OffsetArrayType=BigInt64Array,n[Symbol.toStringTag]="LargeBinary"))(Bl.prototype);class El extends me{constructor(){super(M.Utf8)}toString(){return"Utf8"}}Hy=Symbol.toStringTag;El[Hy]=(n=>(n.ArrayType=Uint8Array,n[Symbol.toStringTag]="Utf8"))(El.prototype);class Rl extends me{constructor(){super(M.LargeUtf8)}toString(){return"LargeUtf8"}}Gy=Symbol.toStringTag;Rl[Gy]=(n=>(n.ArrayType=Uint8Array,n.OffsetArrayType=BigInt64Array,n[Symbol.toStringTag]="LargeUtf8"))(Rl.prototype);class Ll extends me{constructor(){super(M.Bool)}toString(){return"Bool"}}Yy=Symbol.toStringTag;Ll[Yy]=(n=>(n.ArrayType=Uint8Array,n[Symbol.toStringTag]="Bool"))(Ll.prototype);class Ul extends me{constructor(e,t,i=128){super(M.Decimal),this.scale=e,this.precision=t,this.bitWidth=i}toString(){return`Decimal[${this.precision}e${this.scale>0?"+":""}${this.scale}]`}}Qy=Symbol.toStringTag;Ul[Qy]=(n=>(n.scale=null,n.precision=null,n.ArrayType=Uint32Array,n[Symbol.toStringTag]="Decimal"))(Ul.prototype);class $l extends me{constructor(e){super(M.Date),this.unit=e}toString(){return`Date${(this.unit+1)*32}<${xn[this.unit]}>`}get ArrayType(){return this.unit===xn.DAY?Int32Array:BigInt64Array}}Ky=Symbol.toStringTag;$l[Ky]=(n=>(n.unit=null,n[Symbol.toStringTag]="Date"))($l.prototype);class Pl extends me{constructor(e,t){super(M.Time),this.unit=e,this.bitWidth=t}toString(){return`Time${this.bitWidth}<${_e[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return BigInt64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}}Jy=Symbol.toStringTag;Pl[Jy]=(n=>(n.unit=null,n.bitWidth=null,n[Symbol.toStringTag]="Time"))(Pl.prototype);class zl extends me{constructor(e,t){super(M.Timestamp),this.unit=e,this.timezone=t}toString(){return`Timestamp<${_e[this.unit]}${this.timezone?`, ${this.timezone}`:""}>`}}qy=Symbol.toStringTag;zl[qy]=(n=>(n.unit=null,n.timezone=null,n.ArrayType=BigInt64Array,n[Symbol.toStringTag]="Timestamp"))(zl.prototype);class Vl extends me{constructor(e){super(M.Interval),this.unit=e}toString(){return`Interval<${nr[this.unit]}>`}}Zy=Symbol.toStringTag;Vl[Zy]=(n=>(n.unit=null,n.ArrayType=Int32Array,n[Symbol.toStringTag]="Interval"))(Vl.prototype);class Wl extends me{constructor(e){super(M.Duration),this.unit=e}toString(){return`Duration<${_e[this.unit]}>`}}Xy=Symbol.toStringTag;Wl[Xy]=(n=>(n.unit=null,n.ArrayType=BigInt64Array,n[Symbol.toStringTag]="Duration"))(Wl.prototype);class Hl extends me{constructor(e){super(M.List),this.children=[e]}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}}eg=Symbol.toStringTag;Hl[eg]=(n=>(n.children=null,n[Symbol.toStringTag]="List"))(Hl.prototype);class At extends me{constructor(e){super(M.Struct),this.children=e}toString(){return`Struct<{${this.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}tg=Symbol.toStringTag;At[tg]=(n=>(n.children=null,n[Symbol.toStringTag]="Struct"))(At.prototype);class Gl extends me{constructor(e,t,i){super(M.Union),this.mode=e,this.children=i,this.typeIds=t=Int32Array.from(t),this.typeIdToChildIndex=t.reduce((a,u,f)=>(a[u]=f)&&a||a,Object.create(null))}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(e=>`${e.type}`).join(" | ")}>`}}ng=Symbol.toStringTag;Gl[ng]=(n=>(n.mode=null,n.typeIds=null,n.children=null,n.typeIdToChildIndex=null,n.ArrayType=Int8Array,n[Symbol.toStringTag]="Union"))(Gl.prototype);class Yl extends me{constructor(e){super(M.FixedSizeBinary),this.byteWidth=e}toString(){return`FixedSizeBinary[${this.byteWidth}]`}}rg=Symbol.toStringTag;Yl[rg]=(n=>(n.byteWidth=null,n.ArrayType=Uint8Array,n[Symbol.toStringTag]="FixedSizeBinary"))(Yl.prototype);class Ql extends me{constructor(e,t){super(M.FixedSizeList),this.listSize=e,this.children=[t]}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}sg=Symbol.toStringTag;Ql[sg]=(n=>(n.children=null,n.listSize=null,n[Symbol.toStringTag]="FixedSizeList"))(Ql.prototype);class Kl extends me{constructor(e,t=!1){var i,a,u;if(super(M.Map),this.children=[e],this.keysSorted=t,e&&(e.name="entries",!((i=e==null?void 0:e.type)===null||i===void 0)&&i.children)){const f=(a=e==null?void 0:e.type)===null||a===void 0?void 0:a.children[0];f&&(f.name="key");const h=(u=e==null?void 0:e.type)===null||u===void 0?void 0:u.children[1];h&&(h.name="value")}}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}ig=Symbol.toStringTag;Kl[ig]=(n=>(n.children=null,n.keysSorted=null,n[Symbol.toStringTag]="Map_"))(Kl.prototype);const Hb=(n=>()=>++n)(-1);class Oi extends me{constructor(e,t,i,a){super(M.Dictionary),this.indices=t,this.dictionary=e,this.isOrdered=a||!1,this.id=i==null?Hb():tt(i)}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}}og=Symbol.toStringTag;Oi[og]=(n=>(n.id=null,n.indices=null,n.isOrdered=null,n.dictionary=null,n[Symbol.toStringTag]="Dictionary"))(Oi.prototype);function vr(n){const e=n;switch(n.typeId){case M.Decimal:return n.bitWidth/32;case M.Interval:return 1+e.unit;case M.FixedSizeList:return e.listSize;case M.FixedSizeBinary:return e.byteWidth;default:return 1}}class Ue{visitMany(e,...t){return e.map((i,a)=>this.visit(i,...t.map(u=>u[a])))}visit(...e){return this.getVisitFn(e[0],!1).apply(this,e)}getVisitFn(e,t=!0){return Gb(this,e,t)}getVisitFnByTypeId(e,t=!0){return xi(this,e,t)}visitNull(e,...t){return null}visitBool(e,...t){return null}visitInt(e,...t){return null}visitFloat(e,...t){return null}visitUtf8(e,...t){return null}visitLargeUtf8(e,...t){return null}visitBinary(e,...t){return null}visitLargeBinary(e,...t){return null}visitFixedSizeBinary(e,...t){return null}visitDate(e,...t){return null}visitTimestamp(e,...t){return null}visitTime(e,...t){return null}visitDecimal(e,...t){return null}visitList(e,...t){return null}visitStruct(e,...t){return null}visitUnion(e,...t){return null}visitDictionary(e,...t){return null}visitInterval(e,...t){return null}visitDuration(e,...t){return null}visitFixedSizeList(e,...t){return null}visitMap(e,...t){return null}}function Gb(n,e,t=!0){return typeof e=="number"?xi(n,e,t):typeof e=="string"&&e in M?xi(n,M[e],t):e&&e instanceof me?xi(n,Nm(e),t):e!=null&&e.type&&e.type instanceof me?xi(n,Nm(e.type),t):xi(n,M.NONE,t)}function xi(n,e,t=!0){let i=null;switch(e){case M.Null:i=n.visitNull;break;case M.Bool:i=n.visitBool;break;case M.Int:i=n.visitInt;break;case M.Int8:i=n.visitInt8||n.visitInt;break;case M.Int16:i=n.visitInt16||n.visitInt;break;case M.Int32:i=n.visitInt32||n.visitInt;break;case M.Int64:i=n.visitInt64||n.visitInt;break;case M.Uint8:i=n.visitUint8||n.visitInt;break;case M.Uint16:i=n.visitUint16||n.visitInt;break;case M.Uint32:i=n.visitUint32||n.visitInt;break;case M.Uint64:i=n.visitUint64||n.visitInt;break;case M.Float:i=n.visitFloat;break;case M.Float16:i=n.visitFloat16||n.visitFloat;break;case M.Float32:i=n.visitFloat32||n.visitFloat;break;case M.Float64:i=n.visitFloat64||n.visitFloat;break;case M.Utf8:i=n.visitUtf8;break;case M.LargeUtf8:i=n.visitLargeUtf8;break;case M.Binary:i=n.visitBinary;break;case M.LargeBinary:i=n.visitLargeBinary;break;case M.FixedSizeBinary:i=n.visitFixedSizeBinary;break;case M.Date:i=n.visitDate;break;case M.DateDay:i=n.visitDateDay||n.visitDate;break;case M.DateMillisecond:i=n.visitDateMillisecond||n.visitDate;break;case M.Timestamp:i=n.visitTimestamp;break;case M.TimestampSecond:i=n.visitTimestampSecond||n.visitTimestamp;break;case M.TimestampMillisecond:i=n.visitTimestampMillisecond||n.visitTimestamp;break;case M.TimestampMicrosecond:i=n.visitTimestampMicrosecond||n.visitTimestamp;break;case M.TimestampNanosecond:i=n.visitTimestampNanosecond||n.visitTimestamp;break;case M.Time:i=n.visitTime;break;case M.TimeSecond:i=n.visitTimeSecond||n.visitTime;break;case M.TimeMillisecond:i=n.visitTimeMillisecond||n.visitTime;break;case M.TimeMicrosecond:i=n.visitTimeMicrosecond||n.visitTime;break;case M.TimeNanosecond:i=n.visitTimeNanosecond||n.visitTime;break;case M.Decimal:i=n.visitDecimal;break;case M.List:i=n.visitList;break;case M.Struct:i=n.visitStruct;break;case M.Union:i=n.visitUnion;break;case M.DenseUnion:i=n.visitDenseUnion||n.visitUnion;break;case M.SparseUnion:i=n.visitSparseUnion||n.visitUnion;break;case M.Dictionary:i=n.visitDictionary;break;case M.Interval:i=n.visitInterval;break;case M.IntervalDayTime:i=n.visitIntervalDayTime||n.visitInterval;break;case M.IntervalYearMonth:i=n.visitIntervalYearMonth||n.visitInterval;break;case M.Duration:i=n.visitDuration;break;case M.DurationSecond:i=n.visitDurationSecond||n.visitDuration;break;case M.DurationMillisecond:i=n.visitDurationMillisecond||n.visitDuration;break;case M.DurationMicrosecond:i=n.visitDurationMicrosecond||n.visitDuration;break;case M.DurationNanosecond:i=n.visitDurationNanosecond||n.visitDuration;break;case M.FixedSizeList:i=n.visitFixedSizeList;break;case M.Map:i=n.visitMap;break}if(typeof i=="function")return i;if(!t)return()=>null;throw new Error(`Unrecognized type '${M[e]}'`)}function Nm(n){switch(n.typeId){case M.Null:return M.Null;case M.Int:{const{bitWidth:e,isSigned:t}=n;switch(e){case 8:return t?M.Int8:M.Uint8;case 16:return t?M.Int16:M.Uint16;case 32:return t?M.Int32:M.Uint32;case 64:return t?M.Int64:M.Uint64}return M.Int}case M.Float:switch(n.precision){case Dt.HALF:return M.Float16;case Dt.SINGLE:return M.Float32;case Dt.DOUBLE:return M.Float64}return M.Float;case M.Binary:return M.Binary;case M.LargeBinary:return M.LargeBinary;case M.Utf8:return M.Utf8;case M.LargeUtf8:return M.LargeUtf8;case M.Bool:return M.Bool;case M.Decimal:return M.Decimal;case M.Time:switch(n.unit){case _e.SECOND:return M.TimeSecond;case _e.MILLISECOND:return M.TimeMillisecond;case _e.MICROSECOND:return M.TimeMicrosecond;case _e.NANOSECOND:return M.TimeNanosecond}return M.Time;case M.Timestamp:switch(n.unit){case _e.SECOND:return M.TimestampSecond;case _e.MILLISECOND:return M.TimestampMillisecond;case _e.MICROSECOND:return M.TimestampMicrosecond;case _e.NANOSECOND:return M.TimestampNanosecond}return M.Timestamp;case M.Date:switch(n.unit){case xn.DAY:return M.DateDay;case xn.MILLISECOND:return M.DateMillisecond}return M.Date;case M.Interval:switch(n.unit){case nr.DAY_TIME:return M.IntervalDayTime;case nr.YEAR_MONTH:return M.IntervalYearMonth}return M.Interval;case M.Duration:switch(n.unit){case _e.SECOND:return M.DurationSecond;case _e.MILLISECOND:return M.DurationMillisecond;case _e.MICROSECOND:return M.DurationMicrosecond;case _e.NANOSECOND:return M.DurationNanosecond}return M.Duration;case M.Map:return M.Map;case M.List:return M.List;case M.Struct:return M.Struct;case M.Union:switch(n.mode){case Yt.Dense:return M.DenseUnion;case Yt.Sparse:return M.SparseUnion}return M.Union;case M.FixedSizeBinary:return M.FixedSizeBinary;case M.FixedSizeList:return M.FixedSizeList;case M.Dictionary:return M.Dictionary}throw new Error(`Unrecognized type '${M[n.typeId]}'`)}Ue.prototype.visitInt8=null;Ue.prototype.visitInt16=null;Ue.prototype.visitInt32=null;Ue.prototype.visitInt64=null;Ue.prototype.visitUint8=null;Ue.prototype.visitUint16=null;Ue.prototype.visitUint32=null;Ue.prototype.visitUint64=null;Ue.prototype.visitFloat16=null;Ue.prototype.visitFloat32=null;Ue.prototype.visitFloat64=null;Ue.prototype.visitDateDay=null;Ue.prototype.visitDateMillisecond=null;Ue.prototype.visitTimestampSecond=null;Ue.prototype.visitTimestampMillisecond=null;Ue.prototype.visitTimestampMicrosecond=null;Ue.prototype.visitTimestampNanosecond=null;Ue.prototype.visitTimeSecond=null;Ue.prototype.visitTimeMillisecond=null;Ue.prototype.visitTimeMicrosecond=null;Ue.prototype.visitTimeNanosecond=null;Ue.prototype.visitDenseUnion=null;Ue.prototype.visitSparseUnion=null;Ue.prototype.visitIntervalDayTime=null;Ue.prototype.visitIntervalYearMonth=null;Ue.prototype.visitDuration=null;Ue.prototype.visitDurationSecond=null;Ue.prototype.visitDurationMillisecond=null;Ue.prototype.visitDurationMicrosecond=null;Ue.prototype.visitDurationNanosecond=null;const ag=new Float64Array(1),di=new Uint32Array(ag.buffer);function lg(n){const e=(n&31744)>>10,t=(n&1023)/1024,i=Math.pow(-1,(n&32768)>>15);switch(e){case 31:return i*(t?Number.NaN:1/0);case 0:return i*(t?6103515625e-14*t:0)}return i*Math.pow(2,e-15)*(1+t)}function Yb(n){if(n!==n)return 32256;ag[0]=n;const e=(di[1]&2147483648)>>16&65535;let t=di[1]&2146435072,i=0;return t>=1089470464?di[0]>0?t=31744:(t=(t&2080374784)>>16,i=(di[1]&1048575)>>10):t<=1056964608?(i=1048576+(di[1]&1048575),i=1048576+(i<<(t>>20)-998)>>21,t=0):(t=t-1056964608>>10,i=(di[1]&1048575)+512>>10),e|t|i&65535}class Ne extends Ue{}function Ie(n){return(e,t,i)=>{if(e.setValid(t,i!=null))return n(e,t,i)}}const Qb=(n,e,t)=>{n[e]=Math.floor(t/864e5)},ug=(n,e,t,i)=>{if(t+1{const a=n+t;i?e[a>>3]|=1<>3]&=~(1<{n[e]=t},Yd=({values:n},e,t)=>{n[e]=t},cg=({values:n},e,t)=>{n[e]=Yb(t)},Jb=(n,e,t)=>{switch(n.type.precision){case Dt.HALF:return cg(n,e,t);case Dt.SINGLE:case Dt.DOUBLE:return Yd(n,e,t)}},dg=({values:n},e,t)=>{Qb(n,e,t.valueOf())},fg=({values:n},e,t)=>{n[e]=BigInt(t)},qb=({stride:n,values:e},t,i)=>{e.set(i.subarray(0,n),n*t)},hg=({values:n,valueOffsets:e},t,i)=>ug(n,e,t,i),pg=({values:n,valueOffsets:e},t,i)=>ug(n,e,t,zd(i)),Zb=(n,e,t)=>{n.type.unit===xn.DAY?dg(n,e,t):fg(n,e,t)},mg=({values:n},e,t)=>{n[e]=BigInt(t/1e3)},yg=({values:n},e,t)=>{n[e]=BigInt(t)},gg=({values:n},e,t)=>{n[e]=BigInt(t*1e3)},vg=({values:n},e,t)=>{n[e]=BigInt(t*1e6)},Xb=(n,e,t)=>{switch(n.type.unit){case _e.SECOND:return mg(n,e,t);case _e.MILLISECOND:return yg(n,e,t);case _e.MICROSECOND:return gg(n,e,t);case _e.NANOSECOND:return vg(n,e,t)}},xg=({values:n},e,t)=>{n[e]=t},bg=({values:n},e,t)=>{n[e]=t},wg=({values:n},e,t)=>{n[e]=t},Sg=({values:n},e,t)=>{n[e]=t},ew=(n,e,t)=>{switch(n.type.unit){case _e.SECOND:return xg(n,e,t);case _e.MILLISECOND:return bg(n,e,t);case _e.MICROSECOND:return wg(n,e,t);case _e.NANOSECOND:return Sg(n,e,t)}},tw=({values:n,stride:e},t,i)=>{n.set(i.subarray(0,e),e*t)},nw=(n,e,t)=>{const i=n.children[0],a=n.valueOffsets,u=bn.getVisitFn(i);if(Array.isArray(t))for(let f=-1,h=a[e],m=a[e+1];h{const i=n.children[0],{valueOffsets:a}=n,u=bn.getVisitFn(i);let{[e]:f,[e+1]:h}=a;const m=t instanceof Map?t.entries():Object.entries(t);for(const g of m)if(u(i,f,g),++f>=h)break},sw=(n,e)=>(t,i,a,u)=>i&&t(i,n,e[u]),iw=(n,e)=>(t,i,a,u)=>i&&t(i,n,e.get(u)),ow=(n,e)=>(t,i,a,u)=>i&&t(i,n,e.get(a.name)),aw=(n,e)=>(t,i,a,u)=>i&&t(i,n,e[a.name]),lw=(n,e,t)=>{const i=n.type.children.map(u=>bn.getVisitFn(u.type)),a=t instanceof Map?ow(e,t):t instanceof Je?iw(e,t):Array.isArray(t)?sw(e,t):aw(e,t);n.type.children.forEach((u,f)=>a(i[f],n.children[f],u,f))},uw=(n,e,t)=>{n.type.mode===Yt.Dense?_g(n,e,t):Ng(n,e,t)},_g=(n,e,t)=>{const i=n.type.typeIdToChildIndex[n.typeIds[e]],a=n.children[i];bn.visit(a,n.valueOffsets[e],t)},Ng=(n,e,t)=>{const i=n.type.typeIdToChildIndex[n.typeIds[e]],a=n.children[i];bn.visit(a,e,t)},cw=(n,e,t)=>{var i;(i=n.dictionary)===null||i===void 0||i.set(n.values[e],t)},dw=(n,e,t)=>{n.type.unit===nr.DAY_TIME?jg(n,e,t):kg(n,e,t)},jg=({values:n},e,t)=>{n.set(t.subarray(0,2),2*e)},kg=({values:n},e,t)=>{n[e]=t[0]*12+t[1]%12},Ig=({values:n},e,t)=>{n[e]=t},Mg=({values:n},e,t)=>{n[e]=t},Dg=({values:n},e,t)=>{n[e]=t},Cg=({values:n},e,t)=>{n[e]=t},fw=(n,e,t)=>{switch(n.type.unit){case _e.SECOND:return Ig(n,e,t);case _e.MILLISECOND:return Mg(n,e,t);case _e.MICROSECOND:return Dg(n,e,t);case _e.NANOSECOND:return Cg(n,e,t)}},hw=(n,e,t)=>{const{stride:i}=n,a=n.children[0],u=bn.getVisitFn(a);if(Array.isArray(t))for(let f=-1,h=e*i;++f`${Wo(e)}: ${Wo(t)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}[Symbol.iterator](){return new pw(this[On],this[ki])}}class pw{constructor(e,t){this.childIndex=0,this.children=e.children,this.rowIndex=t,this.childFields=e.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){const e=this.childIndex;return et.name)}has(e,t){return e[On].type.children.findIndex(i=>i.name===t)!==-1}getOwnPropertyDescriptor(e,t){if(e[On].type.children.findIndex(i=>i.name===t)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,t){if(Reflect.has(e,t))return e[t];const i=e[On].type.children.findIndex(a=>a.name===t);if(i!==-1){const a=Qt.visit(e[On].children[i],e[ki]);return Reflect.set(e,t,a),a}}set(e,t,i){const a=e[On].type.children.findIndex(u=>u.name===t);return a!==-1?(bn.visit(e[On].children[a],e[ki],i),Reflect.set(e,t,i)):Reflect.has(e,t)||typeof t=="symbol"?Reflect.set(e,t,i):!1}}class xe extends Ue{}function je(n){return(e,t)=>e.getValid(t)?n(e,t):null}const yw=(n,e)=>864e5*n[e],gw=(n,e)=>null,Fg=(n,e,t)=>{if(t+1>=e.length)return null;const i=tt(e[t]),a=tt(e[t+1]);return n.subarray(i,a)},vw=({offset:n,values:e},t)=>{const i=n+t;return(e[i>>3]&1<yw(n,e),Tg=({values:n},e)=>tt(n[e]),as=({stride:n,values:e},t)=>e[n*t],xw=({stride:n,values:e},t)=>lg(e[n*t]),Ag=({values:n},e)=>n[e],bw=({stride:n,values:e},t)=>e.subarray(n*t,n*(t+1)),Bg=({values:n,valueOffsets:e},t)=>Fg(n,e,t),Eg=({values:n,valueOffsets:e},t)=>{const i=Fg(n,e,t);return i!==null?kd(i):null},ww=({values:n},e)=>n[e],Sw=({type:n,values:e},t)=>n.precision!==Dt.HALF?e[t]:lg(e[t]),_w=(n,e)=>n.type.unit===xn.DAY?Og(n,e):Tg(n,e),Rg=({values:n},e)=>1e3*tt(n[e]),Lg=({values:n},e)=>tt(n[e]),Ug=({values:n},e)=>Ry(n[e],BigInt(1e3)),$g=({values:n},e)=>Ry(n[e],BigInt(1e6)),Nw=(n,e)=>{switch(n.type.unit){case _e.SECOND:return Rg(n,e);case _e.MILLISECOND:return Lg(n,e);case _e.MICROSECOND:return Ug(n,e);case _e.NANOSECOND:return $g(n,e)}},Pg=({values:n},e)=>n[e],zg=({values:n},e)=>n[e],Vg=({values:n},e)=>n[e],Wg=({values:n},e)=>n[e],jw=(n,e)=>{switch(n.type.unit){case _e.SECOND:return Pg(n,e);case _e.MILLISECOND:return zg(n,e);case _e.MICROSECOND:return Vg(n,e);case _e.NANOSECOND:return Wg(n,e)}},kw=({values:n,stride:e},t)=>Gd.decimal(n.subarray(e*t,e*(t+1))),Iw=(n,e)=>{const{valueOffsets:t,stride:i,children:a}=n,{[e*i]:u,[e*i+1]:f}=t,m=a[0].slice(u,f-u);return new Je([m])},Mw=(n,e)=>{const{valueOffsets:t,children:i}=n,{[e]:a,[e+1]:u}=t,f=i[0];return new Kd(f.slice(a,u-a))},Dw=(n,e)=>new Qd(n,e),Cw=(n,e)=>n.type.mode===Yt.Dense?Hg(n,e):Gg(n,e),Hg=(n,e)=>{const t=n.type.typeIdToChildIndex[n.typeIds[e]],i=n.children[t];return Qt.visit(i,n.valueOffsets[e])},Gg=(n,e)=>{const t=n.type.typeIdToChildIndex[n.typeIds[e]],i=n.children[t];return Qt.visit(i,e)},Fw=(n,e)=>{var t;return(t=n.dictionary)===null||t===void 0?void 0:t.get(n.values[e])},Ow=(n,e)=>n.type.unit===nr.DAY_TIME?Yg(n,e):Qg(n,e),Yg=({values:n},e)=>n.subarray(2*e,2*(e+1)),Qg=({values:n},e)=>{const t=n[e],i=new Int32Array(2);return i[0]=Math.trunc(t/12),i[1]=Math.trunc(t%12),i},Kg=({values:n},e)=>n[e],Jg=({values:n},e)=>n[e],qg=({values:n},e)=>n[e],Zg=({values:n},e)=>n[e],Tw=(n,e)=>{switch(n.type.unit){case _e.SECOND:return Kg(n,e);case _e.MILLISECOND:return Jg(n,e);case _e.MICROSECOND:return qg(n,e);case _e.NANOSECOND:return Zg(n,e)}},Aw=(n,e)=>{const{stride:t,children:i}=n,u=i[0].slice(e*t,t);return new Je([u])};xe.prototype.visitNull=je(gw);xe.prototype.visitBool=je(vw);xe.prototype.visitInt=je(ww);xe.prototype.visitInt8=je(as);xe.prototype.visitInt16=je(as);xe.prototype.visitInt32=je(as);xe.prototype.visitInt64=je(Ag);xe.prototype.visitUint8=je(as);xe.prototype.visitUint16=je(as);xe.prototype.visitUint32=je(as);xe.prototype.visitUint64=je(Ag);xe.prototype.visitFloat=je(Sw);xe.prototype.visitFloat16=je(xw);xe.prototype.visitFloat32=je(as);xe.prototype.visitFloat64=je(as);xe.prototype.visitUtf8=je(Eg);xe.prototype.visitLargeUtf8=je(Eg);xe.prototype.visitBinary=je(Bg);xe.prototype.visitLargeBinary=je(Bg);xe.prototype.visitFixedSizeBinary=je(bw);xe.prototype.visitDate=je(_w);xe.prototype.visitDateDay=je(Og);xe.prototype.visitDateMillisecond=je(Tg);xe.prototype.visitTimestamp=je(Nw);xe.prototype.visitTimestampSecond=je(Rg);xe.prototype.visitTimestampMillisecond=je(Lg);xe.prototype.visitTimestampMicrosecond=je(Ug);xe.prototype.visitTimestampNanosecond=je($g);xe.prototype.visitTime=je(jw);xe.prototype.visitTimeSecond=je(Pg);xe.prototype.visitTimeMillisecond=je(zg);xe.prototype.visitTimeMicrosecond=je(Vg);xe.prototype.visitTimeNanosecond=je(Wg);xe.prototype.visitDecimal=je(kw);xe.prototype.visitList=je(Iw);xe.prototype.visitStruct=je(Dw);xe.prototype.visitUnion=je(Cw);xe.prototype.visitDenseUnion=je(Hg);xe.prototype.visitSparseUnion=je(Gg);xe.prototype.visitDictionary=je(Fw);xe.prototype.visitInterval=je(Ow);xe.prototype.visitIntervalDayTime=je(Yg);xe.prototype.visitIntervalYearMonth=je(Qg);xe.prototype.visitDuration=je(Tw);xe.prototype.visitDurationSecond=je(Kg);xe.prototype.visitDurationMillisecond=je(Jg);xe.prototype.visitDurationMicrosecond=je(qg);xe.prototype.visitDurationNanosecond=je(Zg);xe.prototype.visitFixedSizeList=je(Aw);xe.prototype.visitMap=je(Mw);const Qt=new xe,bi=Symbol.for("keys"),Ii=Symbol.for("vals"),wi=Symbol.for("kKeysAsStrings"),Od=Symbol.for("_kKeysAsStrings");class Kd{constructor(e){return this[bi]=new Je([e.children[0]]).memoize(),this[Ii]=e.children[1],new Proxy(this,new Ew)}get[wi](){return this[Od]||(this[Od]=Array.from(this[bi].toArray(),String))}[Symbol.iterator](){return new Bw(this[bi],this[Ii])}get size(){return this[bi].length}toArray(){return Object.values(this.toJSON())}toJSON(){const e=this[bi],t=this[Ii],i={};for(let a=-1,u=e.length;++a`${Wo(e)}: ${Wo(t)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}}class Bw{constructor(e,t){this.keys=e,this.vals=t,this.keyIndex=0,this.numKeys=e.length}[Symbol.iterator](){return this}next(){const e=this.keyIndex;return e===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(e),Qt.visit(this.vals,e)]})}}class Ew{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(e){return e[wi]}has(e,t){return e[wi].includes(t)}getOwnPropertyDescriptor(e,t){if(e[wi].indexOf(t)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,t){if(Reflect.has(e,t))return e[t];const i=e[wi].indexOf(t);if(i!==-1){const a=Qt.visit(Reflect.get(e,Ii),i);return Reflect.set(e,t,a),a}}set(e,t,i){const a=e[wi].indexOf(t);return a!==-1?(bn.visit(Reflect.get(e,Ii),a,i),Reflect.set(e,t,i)):Reflect.has(e,t)?Reflect.set(e,t,i):!1}}Object.defineProperties(Kd.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[bi]:{writable:!0,enumerable:!1,configurable:!1,value:null},[Ii]:{writable:!0,enumerable:!1,configurable:!1,value:null},[Od]:{writable:!0,enumerable:!1,configurable:!1,value:null}});let jm;function Xg(n,e,t,i){const{length:a=0}=n;let u=typeof e!="number"?0:e,f=typeof t!="number"?a:t;return u<0&&(u=(u%a+a)%a),f<0&&(f=(f%a+a)%a),fa&&(f=a),i?i(n,u,f):[u,f]}const Jd=(n,e)=>n<0?e+n:n,km=n=>n!==n;function Ri(n){if(typeof n!=="object"||n===null)return km(n)?km:t=>t===n;if(n instanceof Date){const t=n.valueOf();return i=>i instanceof Date?i.valueOf()===t:!1}return ArrayBuffer.isView(n)?t=>t?Ab(n,t):!1:n instanceof Map?Lw(n):Array.isArray(n)?Rw(n):n instanceof Je?Uw(n):$w(n,!0)}function Rw(n){const e=[];for(let t=-1,i=n.length;++t!1;const i=[];for(let a=-1,u=t.length;++a{if(!t||typeof t!="object")return!1;switch(t.constructor){case Array:return Pw(n,t);case Map:return Im(n,t,t.keys());case Kd:case Qd:case Object:case void 0:return Im(n,t,e||Object.keys(t))}return t instanceof Je?zw(n,t):!1}}function Pw(n,e){const t=n.length;if(e.length!==t)return!1;for(let i=-1;++i>i}function Mm(n,e,t){const i=t.byteLength+7&-8;if(n>0||t.byteLength>3):Td(new qd(t,n,e,null,ev)).subarray(0,i)),a}return t}function Td(n){const e=[];let t=0,i=0,a=0;for(const f of n)f&&(a|=1<0)&&(e[t++]=a);const u=new Uint8Array(e.length+7&-8);return u.set(e),u}class qd{constructor(e,t,i,a,u){this.bytes=e,this.length=i,this.context=a,this.get=u,this.bit=t%8,this.byteIndex=t>>3,this.byte=e[this.byteIndex++],this.index=0}next(){return this.index>3<<3,a=e+(e%8===0?0:8-e%8);return Ad(n,e,a)+Ad(n,i,t)+Ww(n,a>>3,i-a>>3)}function Ww(n,e,t){let i=0,a=Math.trunc(e);const u=new DataView(n.buffer,n.byteOffset,n.byteLength),f=t===void 0?n.byteLength:a+t;for(;f-a>=4;)i+=cd(u.getUint32(a)),a+=4;for(;f-a>=2;)i+=cd(u.getUint16(a)),a+=2;for(;f-a>=1;)i+=cd(u.getUint8(a)),a+=1;return i}function cd(n){let e=Math.trunc(n);return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24}const Hw=-1;class Ye{get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get nullable(){if(this._nullCount!==0){const{type:e}=this;return me.isSparseUnion(e)?this.children.some(t=>t.nullable):me.isDenseUnion(e)?this.children.some(t=>t.nullable):this.nullBitmap&&this.nullBitmap.byteLength>0}return!0}get byteLength(){let e=0;const{valueOffsets:t,values:i,nullBitmap:a,typeIds:u}=this;return t&&(e+=t.byteLength),i&&(e+=i.byteLength),a&&(e+=a.byteLength),u&&(e+=u.byteLength),this.children.reduce((f,h)=>f+h.byteLength,e)}get nullCount(){if(me.isUnion(this.type))return this.children.reduce((i,a)=>i+a.nullCount,0);let e=this._nullCount,t;return e<=Hw&&(t=this.nullBitmap)&&(this._nullCount=e=t.length===0?0:this.length-Ad(t,this.offset,this.offset+this.length)),e}constructor(e,t,i,a,u,f=[],h){this.type=e,this.children=f,this.dictionary=h,this.offset=Math.floor(Math.max(t||0,0)),this.length=Math.floor(Math.max(i||0,0)),this._nullCount=Math.floor(Math.max(a||0,-1));let m;u instanceof Ye?(this.stride=u.stride,this.values=u.values,this.typeIds=u.typeIds,this.nullBitmap=u.nullBitmap,this.valueOffsets=u.valueOffsets):(this.stride=vr(e),u&&((m=u[0])&&(this.valueOffsets=m),(m=u[1])&&(this.values=m),(m=u[2])&&(this.nullBitmap=m),(m=u[3])&&(this.typeIds=m)))}getValid(e){const{type:t}=this;if(me.isUnion(t)){const i=t,a=this.children[i.typeIdToChildIndex[this.typeIds[e]]],u=i.mode===Yt.Dense?this.valueOffsets[e]:e;return a.getValid(u)}if(this.nullable&&this.nullCount>0){const i=this.offset+e;return(this.nullBitmap[i>>3]&1<>3;(!u||u.byteLength<=v)&&(u=new Uint8Array((f+h+63&-64)>>3).fill(255),this.nullCount>0?(u.set(Mm(f,h,this.nullBitmap),0),Object.assign(this,{nullBitmap:u})):Object.assign(this,{nullBitmap:u,_nullCount:0}));const x=u[v];i=(x&g)!==0,u[v]=t?x|g:x&~g}return i!==!!t&&(this._nullCount=this.nullCount+(t?-1:1)),t}clone(e=this.type,t=this.offset,i=this.length,a=this._nullCount,u=this,f=this.children){return new Ye(e,t,i,a,u,f,this.dictionary)}slice(e,t){const{stride:i,typeId:a,children:u}=this,f=+(this._nullCount===0)-1,h=a===16?i:1,m=this._sliceBuffers(e,t,i,a);return this.clone(this.type,this.offset+e,t,f,m,u.length===0||this.valueOffsets?u:this._sliceChildren(u,h*e,h*t))}_changeLengthAndBackfillNullBitmap(e){if(this.typeId===M.Null)return this.clone(this.type,0,e,0);const{length:t,nullCount:i}=this,a=new Uint8Array((e+63&-64)>>3).fill(255,0,t>>3);a[t>>3]=(1<0&&a.set(Mm(this.offset,t,this.nullBitmap),0);const u=this.buffers;return u[gr.VALIDITY]=a,this.clone(this.type,0,e,i+(e-t),u)}_sliceBuffers(e,t,i,a){let u;const{buffers:f}=this;return(u=f[gr.TYPE])&&(f[gr.TYPE]=u.subarray(e,e+t)),(u=f[gr.OFFSET])&&(f[gr.OFFSET]=u.subarray(e,e+t+1))||(u=f[gr.DATA])&&(f[gr.DATA]=a===6?u:u.subarray(i*e,i*(e+t))),f}_sliceChildren(e,t,i){return e.map(a=>a.slice(t,i))}}Ye.prototype.children=Object.freeze([]);class zo extends Ue{visit(e){return this.getVisitFn(e.type).call(this,e)}visitNull(e){const{["type"]:t,["offset"]:i=0,["length"]:a=0}=e;return new Ye(t,i,a,a)}visitBool(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length>>3,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitInt(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitFloat(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitUtf8(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.data),u=$e(e.nullBitmap),f=Fo(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,u])}visitLargeUtf8(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.data),u=$e(e.nullBitmap),f=pm(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,u])}visitBinary(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.data),u=$e(e.nullBitmap),f=Fo(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,u])}visitLargeBinary(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.data),u=$e(e.nullBitmap),f=pm(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,u])}visitFixedSizeBinary(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitDate(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitTimestamp(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitTime(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitDecimal(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitList(e){const{["type"]:t,["offset"]:i=0,["child"]:a}=e,u=$e(e.nullBitmap),f=Fo(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,void 0,u],[a])}visitStruct(e){const{["type"]:t,["offset"]:i=0,["children"]:a=[]}=e,u=$e(e.nullBitmap),{length:f=a.reduce((m,{length:g})=>Math.max(m,g),0),nullCount:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,void 0,u],a)}visitUnion(e){const{["type"]:t,["offset"]:i=0,["children"]:a=[]}=e,u=Ke(t.ArrayType,e.typeIds),{["length"]:f=u.length,["nullCount"]:h=-1}=e;if(me.isSparseUnion(t))return new Ye(t,i,f,h,[void 0,void 0,void 0,u],a);const m=Fo(e.valueOffsets);return new Ye(t,i,f,h,[m,void 0,void 0,u],a)}visitDictionary(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.indices.ArrayType,e.data),{["dictionary"]:f=new Je([new zo().visit({type:t.dictionary})])}=e,{["length"]:h=u.length,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[void 0,u,a],[],f)}visitInterval(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitDuration(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitFixedSizeList(e){const{["type"]:t,["offset"]:i=0,["child"]:a=new zo().visit({type:t.valueType})}=e,u=$e(e.nullBitmap),{["length"]:f=a.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,void 0,u],[a])}visitMap(e){const{["type"]:t,["offset"]:i=0,["child"]:a=new zo().visit({type:t.childType})}=e,u=$e(e.nullBitmap),f=Fo(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,void 0,u],[a])}}const Gw=new zo;function Re(n){return Gw.visit(n)}class Dm{constructor(e=0,t){this.numChunks=e,this.getChunkIterator=t,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndexe.nullable)}function tv(n){return n.reduce((e,t)=>e+t.nullCount,0)}function nv(n){return n.reduce((e,t,i)=>(e[i+1]=e[i]+t.length,e),new Uint32Array(n.length+1))}function rv(n,e,t,i){const a=[];for(let u=-1,f=n.length;++u=i)break;if(t>=m+g)continue;if(m>=t&&m+g<=i){a.push(h);continue}const v=Math.max(0,t-m),x=Math.min(i-m,g);a.push(h.slice(v,x-v))}return a.length===0&&a.push(n[0].slice(0,0)),a}function Zd(n,e,t,i){let a=0,u=0,f=e.length-1;do{if(a>=f-1)return t0?0:-1}function Kw(n,e){const{nullBitmap:t}=n;if(!t||n.nullCount<=0)return-1;let i=0;for(const a of new qd(t,n.offset+(e||0),n.length,t,ev)){if(!a)return i;++i}return-1}function De(n,e,t){if(e===void 0)return-1;if(e===null)switch(n.typeId){case M.Union:break;case M.Dictionary:break;default:return Kw(n,t)}const i=Qt.getVisitFn(n),a=Ri(e);for(let u=(t||0)-1,f=n.length;++u{const a=n.data[i];return a.values.subarray(0,a.length)[Symbol.iterator]()});let t=0;return new Dm(n.data.length,i=>{const u=n.data[i].length,f=n.slice(t,t+u);return t+=u,new Jw(f)})}class Jw{constructor(e){this.vector=e,this.index=0}next(){return this.indexh.data):e;if(u.length===0||u.some(h=>!(h instanceof Ye)))throw new TypeError("Vector constructor expects an Array of Data instances.");const f=(t=u[0])===null||t===void 0?void 0:t.type;switch(u.length){case 0:this._offsets=[0];break;case 1:{const{get:h,set:m,indexOf:g}=lv[f.typeId],v=u[0];this.isValid=x=>Xd(v,x),this.get=x=>h(v,x),this.set=(x,b)=>m(v,x,b),this.indexOf=x=>g(v,x),this._offsets=[0,v.length];break}default:Object.setPrototypeOf(this,uv[f.typeId]),this._offsets=nv(u);break}this.data=u,this.type=f,this.stride=vr(f),this.numChildren=(a=(i=f.children)===null||i===void 0?void 0:i.length)!==null&&a!==void 0?a:0,this.length=this._offsets.at(-1)}get byteLength(){return this.data.reduce((e,t)=>e+t.byteLength,0)}get nullable(){return Yw(this.data)}get nullCount(){return tv(this.data)}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${M[this.type.typeId]}Vector`}isValid(e){return!1}get(e){return null}at(e){return this.get(Jd(e,this.length))}set(e,t){}indexOf(e,t){return-1}includes(e,t){return this.indexOf(e,t)>-1}[Symbol.iterator](){return ef.visit(this)}concat(...e){return new Je(this.data.concat(e.flatMap(t=>t.data).flat(Number.POSITIVE_INFINITY)))}slice(e,t){return new Je(Xg(this,e,t,({data:i,_offsets:a},u,f)=>rv(i,a,u,f)))}toJSON(){return[...this]}toArray(){const{type:e,data:t,length:i,stride:a,ArrayType:u}=this;switch(e.typeId){case M.Int:case M.Float:case M.Decimal:case M.Time:case M.Timestamp:switch(t.length){case 0:return new u;case 1:return t[0].values.subarray(0,i*a);default:return t.reduce((f,{values:h,length:m})=>(f.array.set(h.subarray(0,m*a),f.offset),f.offset+=m*a,f),{array:new u(i*a),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(",")}]`}getChild(e){var t;return this.getChildAt((t=this.type.children)===null||t===void 0?void 0:t.findIndex(i=>i.name===e))}getChildAt(e){return e>-1&&et[e])):null}get isMemoized(){return me.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(me.isDictionary(this.type)){const e=new Zl(this.data[0].dictionary),t=this.data.map(i=>{const a=i.clone();return a.dictionary=e,a});return new Je(t)}return new Zl(this)}unmemoize(){if(me.isDictionary(this.type)&&this.isMemoized){const e=this.data[0].dictionary.unmemoize(),t=this.data.map(i=>{const a=i.clone();return a.dictionary=e,a});return new Je(t)}return this}}av=Symbol.toStringTag;Je[av]=(n=>{n.type=me.prototype,n.data=[],n.length=0,n.stride=1,n.numChildren=0,n._offsets=new Uint32Array([0]),n[Symbol.isConcatSpreadable]=!0;const e=Object.keys(M).map(t=>M[t]).filter(t=>typeof t=="number"&&t!==M.NONE);for(const t of e){const i=Qt.getVisitFnByTypeId(t),a=bn.getVisitFnByTypeId(t),u=ql.getVisitFnByTypeId(t);lv[t]={get:i,set:a,indexOf:u},uv[t]=Object.create(n,{isValid:{value:Jl(Xd)},get:{value:Jl(Qt.getVisitFnByTypeId(t))},set:{value:sv(bn.getVisitFnByTypeId(t))},indexOf:{value:iv(ql.getVisitFnByTypeId(t))}})}return"Vector"})(Je.prototype);class Zl extends Je{constructor(e){super(e.data);const t=this.get,i=this.set,a=this.slice,u=new Array(this.length);Object.defineProperty(this,"get",{value(f){const h=u[f];if(h!==void 0)return h;const m=t.call(this,f);return u[f]=m,m}}),Object.defineProperty(this,"set",{value(f,h){i.call(this,f,h),u[f]=h}}),Object.defineProperty(this,"slice",{value:(f,h)=>new Zl(a.call(this,f,h))}),Object.defineProperty(this,"isMemoized",{value:!0}),Object.defineProperty(this,"unmemoize",{value:()=>new Je(this.data)}),Object.defineProperty(this,"memoize",{value:()=>this})}}class Bd{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(e,t,i,a){return e.prep(8,24),e.writeInt64(BigInt(a??0)),e.pad(4),e.writeInt32(i),e.writeInt64(BigInt(t??0)),e.offset()}}class tn{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsFooter(e,t){return(t||new tn).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsFooter(e,t){return e.setPosition(e.position()+He),(t||new tn).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):ht.V1}schema(e){const t=this.bb.__offset(this.bb_pos,6);return t?(e||new Yn).__init(this.bb.__indirect(this.bb_pos+t),this.bb):null}dictionaries(e,t){const i=this.bb.__offset(this.bb_pos,8);return i?(t||new Bd).__init(this.bb.__vector(this.bb_pos+i)+e*24,this.bb):null}dictionariesLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}recordBatches(e,t){const i=this.bb.__offset(this.bb_pos,10);return i?(t||new Bd).__init(this.bb.__vector(this.bb_pos+i)+e*24,this.bb):null}recordBatchesLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,12);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startFooter(e){e.startObject(5)}static addVersion(e,t){e.addFieldInt16(0,t,ht.V1)}static addSchema(e,t){e.addFieldOffset(1,t,0)}static addDictionaries(e,t){e.addFieldOffset(2,t,0)}static startDictionariesVector(e,t){e.startVector(24,t,8)}static addRecordBatches(e,t){e.addFieldOffset(3,t,0)}static startRecordBatchesVector(e,t){e.startVector(24,t,8)}static addCustomMetadata(e,t){e.addFieldOffset(4,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endFooter(e){return e.endObject()}static finishFooterBuffer(e,t){e.finish(t)}static finishSizePrefixedFooterBuffer(e,t){e.finish(t,void 0,!0)}}class We{constructor(e=[],t,i,a=ht.V5){this.fields=e||[],this.metadata=t||new Map,i||(i=Ed(this.fields)),this.dictionaries=i,this.metadataVersion=a}get[Symbol.toStringTag](){return"Schema"}get names(){return this.fields.map(e=>e.name)}toString(){return`Schema<{ ${this.fields.map((e,t)=>`${t}: ${e}`).join(", ")} }>`}select(e){const t=new Set(e),i=this.fields.filter(a=>t.has(a.name));return new We(i,this.metadata)}selectAt(e){const t=e.map(i=>this.fields[i]).filter(Boolean);return new We(t,this.metadata)}assign(...e){const t=e[0]instanceof We?e[0]:Array.isArray(e[0])?new We(e[0]):new We(e),i=[...this.fields],a=fl(fl(new Map,this.metadata),t.metadata),u=t.fields.filter(h=>{const m=i.findIndex(g=>g.name===h.name);return~m?(i[m]=h.clone({metadata:fl(fl(new Map,i[m].metadata),h.metadata)}))&&!1:!0}),f=Ed(u,new Map);return new We([...i,...u],a,new Map([...this.dictionaries,...f]))}}We.prototype.fields=null;We.prototype.metadata=null;We.prototype.dictionaries=null;class nt{static new(...e){let[t,i,a,u]=e;return e[0]&&typeof e[0]=="object"&&({name:t}=e[0],i===void 0&&(i=e[0].type),a===void 0&&(a=e[0].nullable),u===void 0&&(u=e[0].metadata)),new nt(`${t}`,i,a,u)}constructor(e,t,i=!1,a){this.name=e,this.type=t,this.nullable=i,this.metadata=a||new Map}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return"Field"}toString(){return`${this.name}: ${this.type}`}clone(...e){let[t,i,a,u]=e;return!e[0]||typeof e[0]!="object"?[t=this.name,i=this.type,a=this.nullable,u=this.metadata]=e:{name:t=this.name,type:i=this.type,nullable:a=this.nullable,metadata:u=this.metadata}=e[0],nt.new(t,i,a,u)}}nt.prototype.type=null;nt.prototype.name=null;nt.prototype.nullable=null;nt.prototype.metadata=null;function fl(n,e){return new Map([...n||new Map,...e||new Map])}function Ed(n,e=new Map){for(let t=-1,i=n.length;++t0&&Ed(u.children,e)}return e}var qw=Ty,Zw=Ci;class tf{static decode(e){e=new Zw($e(e));const t=tn.getRootAsFooter(e),i=We.decode(t.schema(),new Map,t.version());return new Xw(i,t)}static encode(e){const t=new qw,i=We.encode(t,e.schema);tn.startRecordBatchesVector(t,e.numRecordBatches);for(const f of[...e.recordBatches()].slice().reverse())Ti.encode(t,f);const a=t.endVector();tn.startDictionariesVector(t,e.numDictionaries);for(const f of[...e.dictionaryBatches()].slice().reverse())Ti.encode(t,f);const u=t.endVector();return tn.startFooter(t),tn.addSchema(t,i),tn.addVersion(t,ht.V5),tn.addRecordBatches(t,a),tn.addDictionaries(t,u),tn.finishFooterBuffer(t,tn.endFooter(t)),t.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}constructor(e,t=ht.V5,i,a){this.schema=e,this.version=t,i&&(this._recordBatches=i),a&&(this._dictionaryBatches=a)}*recordBatches(){for(let e,t=-1,i=this.numRecordBatches;++t=0&&e=0&&e=0&&e=0&&ethis._closedPromiseResolve=e)}get closed(){return this._closedPromise}cancel(e){return Fe(this,void 0,void 0,function*(){yield this.return(e)})}write(e){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(e):this.resolvers.shift().resolve({done:!1,value:e}))}abort(e){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:e}:this.resolvers.shift().reject({done:!0,value:e}))}close(){if(this._closedPromiseResolve){const{resolvers:e}=this;for(;e.length>0;)e.shift().resolve(at);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(e){return pn.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,e)}toNodeStream(e){return pn.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,e)}throw(e){return Fe(this,void 0,void 0,function*(){return yield this.abort(e),at})}return(e){return Fe(this,void 0,void 0,function*(){return yield this.close(),at})}read(e){return Fe(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return Fe(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(...e){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((t,i)=>{this.resolvers.push({resolve:t,reject:i})}):Promise.resolve(at)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error("AsyncQueue is closed")}}class t1 extends e1{write(e){if((e=$e(e)).byteLength>0)return super.write(e)}toString(e=!1){return e?kd(this.toUint8Array(!0)):this.toUint8Array(!1).then(kd)}toUint8Array(e=!1){return e?tr(this._values)[0]:Fe(this,void 0,void 0,function*(){var t,i,a,u;const f=[];let h=0;try{for(var m=!0,g=_i(this),v;v=yield g.next(),t=v.done,!t;m=!0){u=v.value,m=!1;const x=u;f.push(x),h+=x.byteLength}}catch(x){i={error:x}}finally{try{!m&&!t&&(a=g.return)&&(yield a.call(g))}finally{if(i)throw i.error}}return tr(f,h)[0]})}}class Xl{constructor(e){e&&(this.source=new n1(pn.fromIterable(e)))}[Symbol.iterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class Ai{constructor(e){e instanceof Ai?this.source=e.source:e instanceof t1?this.source=new ks(pn.fromAsyncIterable(e)):Cy(e)?this.source=new ks(pn.fromNodeStream(e)):Wd(e)?this.source=new ks(pn.fromDOMStream(e)):My(e)?this.source=new ks(pn.fromDOMStream(e.body)):cu(e)?this.source=new ks(pn.fromIterable(e)):Vo(e)?this.source=new ks(pn.fromAsyncIterable(e)):Vd(e)&&(this.source=new ks(pn.fromAsyncIterable(e)))}[Symbol.asyncIterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}get closed(){return this.source.closed}cancel(e){return this.source.cancel(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class n1{constructor(e){this.source=e}cancel(e){this.return(e)}peek(e){return this.next(e,"peek").value}read(e){return this.next(e,"read").value}next(e,t="read"){return this.source.next({cmd:t,size:e})}throw(e){return Object.create(this.source.throw&&this.source.throw(e)||at)}return(e){return Object.create(this.source.return&&this.source.return(e)||at)}}class ks{constructor(e){this.source=e,this._closedPromise=new Promise(t=>this._closedPromiseResolve=t)}cancel(e){return Fe(this,void 0,void 0,function*(){yield this.return(e)})}get closed(){return this._closedPromise}read(e){return Fe(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return Fe(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(e){return Fe(this,arguments,void 0,function*(t,i="read"){return yield this.source.next({cmd:i,size:t})})}throw(e){return Fe(this,void 0,void 0,function*(){const t=this.source.throw&&(yield this.source.throw(e))||at;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(t)})}return(e){return Fe(this,void 0,void 0,function*(){const t=this.source.return&&(yield this.source.return(e))||at;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(t)})}}class Fm extends Xl{constructor(e,t){super(),this.position=0,this.buffer=$e(e),this.size=t===void 0?this.buffer.byteLength:t}readInt32(e){const{buffer:t,byteOffset:i}=this.readAt(e,4);return new DataView(t,i).getInt32(0,!0)}seek(e){return this.position=Math.min(e,this.size),e>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),i=new Uint32Array([e.buffer[1]>>>16,e.buffer[1]&65535,e.buffer[0]>>>16,e.buffer[0]&65535]);let a=t[3]*i[3];this.buffer[0]=a&65535;let u=a>>>16;return a=t[2]*i[3],u+=a,a=t[3]*i[2]>>>0,u+=a,this.buffer[0]+=u<<16,this.buffer[1]=u>>>0>>16,this.buffer[1]+=t[1]*i[3]+t[2]*i[2]+t[3]*i[1],this.buffer[1]+=t[0]*i[3]+t[1]*i[2]+t[2]*i[1]+t[3]*i[0]<<16,this}_plus(e){const t=this.buffer[0]+e.buffer[0]>>>0;this.buffer[1]+=e.buffer[1],t>>0&&++this.buffer[1],this.buffer[0]=t}lessThan(e){return this.buffer[1]>>0,t[2]=this.buffer[2]+e.buffer[2]>>>0,t[1]=this.buffer[1]+e.buffer[1]>>>0,t[0]=this.buffer[0]+e.buffer[0]>>>0,t[0]>>0&&++t[1],t[1]>>0&&++t[2],t[2]>>0&&++t[3],this.buffer[3]=t[3],this.buffer[2]=t[2],this.buffer[1]=t[1],this.buffer[0]=t[0],this}hex(){return`${Si(this.buffer[3])} ${Si(this.buffer[2])} ${Si(this.buffer[1])} ${Si(this.buffer[0])}`}static multiply(e,t){return new Qn(new Uint32Array(e.buffer)).times(t)}static add(e,t){return new Qn(new Uint32Array(e.buffer)).plus(t)}static from(e,t=new Uint32Array(4)){return Qn.fromString(typeof e=="string"?e:e.toString(),t)}static fromNumber(e,t=new Uint32Array(4)){return Qn.fromString(e.toString(),t)}static fromString(e,t=new Uint32Array(4)){const i=e.startsWith("-"),a=e.length,u=new Qn(t);for(let f=i?1:0;f0&&this.readData(e,i)||new Uint8Array(0)}readOffsets(e,t){return this.readData(e,t)}readTypeIds(e,t){return this.readData(e,t)}readData(e,{length:t,offset:i}=this.nextBufferRange()){return this.bytes.subarray(i,i+t)}readDictionary(e){return this.dictionaries.get(e.id)}}class s1 extends fv{constructor(e,t,i,a,u){super(new Uint8Array(0),t,i,a,u),this.sources=e}readNullBitmap(e,t,{offset:i}=this.nextBufferRange()){return t<=0?new Uint8Array(0):Td(this.sources[i])}readOffsets(e,{offset:t}=this.nextBufferRange()){return Ke(Uint8Array,Ke(e.OffsetArrayType,this.sources[t]))}readTypeIds(e,{offset:t}=this.nextBufferRange()){return Ke(Uint8Array,Ke(e.ArrayType,this.sources[t]))}readData(e,{offset:t}=this.nextBufferRange()){const{sources:i}=this;return me.isTimestamp(e)||(me.isInt(e)||me.isTime(e))&&e.bitWidth===64||me.isDuration(e)||me.isDate(e)&&e.unit===xn.MILLISECOND?Ke(Uint8Array,Wt.convertArray(i[t])):me.isDecimal(e)?Ke(Uint8Array,Qn.convertArray(i[t])):me.isBinary(e)||me.isLargeBinary(e)||me.isFixedSizeBinary(e)?i1(i[t]):me.isBool(e)?Td(i[t]):me.isUtf8(e)||me.isLargeUtf8(e)?zd(i[t].join("")):Ke(Uint8Array,Ke(e.ArrayType,i[t].map(a=>+a)))}}function i1(n){const e=n.join(""),t=new Uint8Array(e.length/2);for(let i=0;i>1]=Number.parseInt(e.slice(i,i+2),16);return t}class Se extends Ue{compareSchemas(e,t){return e===t||t instanceof e.constructor&&this.compareManyFields(e.fields,t.fields)}compareManyFields(e,t){return e===t||Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((i,a)=>this.compareFields(i,t[a]))}compareFields(e,t){return e===t||t instanceof e.constructor&&e.name===t.name&&e.nullable===t.nullable&&this.visit(e.type,t.type)}}function Bt(n,e){return e instanceof n.constructor}function Bs(n,e){return n===e||Bt(n,e)}function Mr(n,e){return n===e||Bt(n,e)&&n.bitWidth===e.bitWidth&&n.isSigned===e.isSigned}function fu(n,e){return n===e||Bt(n,e)&&n.precision===e.precision}function o1(n,e){return n===e||Bt(n,e)&&n.byteWidth===e.byteWidth}function rf(n,e){return n===e||Bt(n,e)&&n.unit===e.unit}function Jo(n,e){return n===e||Bt(n,e)&&n.unit===e.unit&&n.timezone===e.timezone}function qo(n,e){return n===e||Bt(n,e)&&n.unit===e.unit&&n.bitWidth===e.bitWidth}function a1(n,e){return n===e||Bt(n,e)&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}function l1(n,e){return n===e||Bt(n,e)&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}function sf(n,e){return n===e||Bt(n,e)&&n.mode===e.mode&&n.typeIds.every((t,i)=>t===e.typeIds[i])&&is.compareManyFields(n.children,e.children)}function u1(n,e){return n===e||Bt(n,e)&&n.id===e.id&&n.isOrdered===e.isOrdered&&is.visit(n.indices,e.indices)&&is.visit(n.dictionary,e.dictionary)}function of(n,e){return n===e||Bt(n,e)&&n.unit===e.unit}function Zo(n,e){return n===e||Bt(n,e)&&n.unit===e.unit}function c1(n,e){return n===e||Bt(n,e)&&n.listSize===e.listSize&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}function d1(n,e){return n===e||Bt(n,e)&&n.keysSorted===e.keysSorted&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}Se.prototype.visitNull=Bs;Se.prototype.visitBool=Bs;Se.prototype.visitInt=Mr;Se.prototype.visitInt8=Mr;Se.prototype.visitInt16=Mr;Se.prototype.visitInt32=Mr;Se.prototype.visitInt64=Mr;Se.prototype.visitUint8=Mr;Se.prototype.visitUint16=Mr;Se.prototype.visitUint32=Mr;Se.prototype.visitUint64=Mr;Se.prototype.visitFloat=fu;Se.prototype.visitFloat16=fu;Se.prototype.visitFloat32=fu;Se.prototype.visitFloat64=fu;Se.prototype.visitUtf8=Bs;Se.prototype.visitLargeUtf8=Bs;Se.prototype.visitBinary=Bs;Se.prototype.visitLargeBinary=Bs;Se.prototype.visitFixedSizeBinary=o1;Se.prototype.visitDate=rf;Se.prototype.visitDateDay=rf;Se.prototype.visitDateMillisecond=rf;Se.prototype.visitTimestamp=Jo;Se.prototype.visitTimestampSecond=Jo;Se.prototype.visitTimestampMillisecond=Jo;Se.prototype.visitTimestampMicrosecond=Jo;Se.prototype.visitTimestampNanosecond=Jo;Se.prototype.visitTime=qo;Se.prototype.visitTimeSecond=qo;Se.prototype.visitTimeMillisecond=qo;Se.prototype.visitTimeMicrosecond=qo;Se.prototype.visitTimeNanosecond=qo;Se.prototype.visitDecimal=Bs;Se.prototype.visitList=a1;Se.prototype.visitStruct=l1;Se.prototype.visitUnion=sf;Se.prototype.visitDenseUnion=sf;Se.prototype.visitSparseUnion=sf;Se.prototype.visitDictionary=u1;Se.prototype.visitInterval=of;Se.prototype.visitIntervalDayTime=of;Se.prototype.visitIntervalYearMonth=of;Se.prototype.visitDuration=Zo;Se.prototype.visitDurationSecond=Zo;Se.prototype.visitDurationMillisecond=Zo;Se.prototype.visitDurationMicrosecond=Zo;Se.prototype.visitDurationNanosecond=Zo;Se.prototype.visitFixedSizeList=c1;Se.prototype.visitMap=d1;const is=new Se;function f1(n,e){return is.compareSchemas(n,e)}function dd(n,e){return h1(n,e.map(t=>t.data.concat()))}function h1(n,e){const t=[...n.fields],i=[],a={numBatches:e.reduce((x,b)=>Math.max(x,b.length),0)};let u=0,f=0,h=-1;const m=e.length;let g,v=[];for(;a.numBatches-- >0;){for(f=Number.POSITIVE_INFINITY,h=-1;++h0&&(i[u++]=Re({type:new At(t),length:f,nullCount:0,children:v.slice()})))}return[n=n.assign(t),i.map(x=>new An(n,x))]}function p1(n,e,t,i,a){var u;const f=(e+63&-64)>>3;for(let h=-1,m=i.length;++h=e)v===e?t[h]=g:(t[h]=g.slice(0,e),a.numBatches=Math.max(a.numBatches,i[h].unshift(g.slice(e,v-e))));else{const x=n[h];n[h]=x.clone({nullable:!0}),t[h]=(u=g==null?void 0:g._changeLengthAndBackfillNullBitmap(e))!==null&&u!==void 0?u:Re({type:x.type,length:e,nullCount:e,nullBitmap:new Uint8Array(f)})}}return t}var hv;class gn{constructor(...e){var t,i;if(e.length===0)return this.batches=[],this.schema=new We([]),this._offsets=[0],this;let a,u;e[0]instanceof We&&(a=e.shift()),e.at(-1)instanceof Uint32Array&&(u=e.pop());const f=m=>{if(m){if(m instanceof An)return[m];if(m instanceof gn)return m.batches;if(m instanceof Ye){if(m.type instanceof At)return[new An(new We(m.type.children),m)]}else{if(Array.isArray(m))return m.flatMap(g=>f(g));if(typeof m[Symbol.iterator]=="function")return[...m].flatMap(g=>f(g));if(typeof m=="object"){const g=Object.keys(m),v=g.map(w=>new Je([m[w]])),x=a??new We(g.map((w,_)=>new nt(String(w),v[_].type,v[_].nullable))),[,b]=dd(x,v);return b.length===0?[new An(m)]:b}}}return[]},h=e.flatMap(m=>f(m));if(a=(i=a??((t=h[0])===null||t===void 0?void 0:t.schema))!==null&&i!==void 0?i:new We([]),!(a instanceof We))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");for(const m of h){if(!(m instanceof An))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");if(!f1(a,m.schema))throw new TypeError("Table and inner RecordBatch schemas must be equivalent.")}this.schema=a,this.batches=h,this._offsets=u??nv(this.data)}get data(){return this.batches.map(({data:e})=>e)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((e,t)=>e+t.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=tv(this.data)),this._nullCount}isValid(e){return!1}get(e){return null}at(e){return this.get(Jd(e,this.numRows))}set(e,t){}indexOf(e,t){return-1}[Symbol.iterator](){return this.batches.length>0?ef.visit(new Je(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[ - ${this.toArray().join(`, - `)} -]`}concat(...e){const t=this.schema,i=this.data.concat(e.flatMap(({data:a})=>a));return new gn(t,i.map(a=>new An(t,a)))}slice(e,t){const i=this.schema;[e,t]=Xg({length:this.numRows},e,t);const a=rv(this.data,this._offsets,e,t);return new gn(i,a.map(u=>new An(i,u)))}getChild(e){return this.getChildAt(this.schema.fields.findIndex(t=>t.name===e))}getChildAt(e){if(e>-1&&ei.children[e]);if(t.length===0){const{type:i}=this.schema.fields[e],a=Re({type:i,length:0,nullCount:0});t.push(a._changeLengthAndBackfillNullBitmap(this.numRows))}return new Je(t)}return null}setChild(e,t){var i;return this.setChildAt((i=this.schema.fields)===null||i===void 0?void 0:i.findIndex(a=>a.name===e),t)}setChildAt(e,t){let i=this.schema,a=[...this.batches];if(e>-1&&ethis.getChildAt(g));[u[e],h[e]]=[f,t],[i,a]=dd(i,h)}return new gn(i,a)}select(e){const t=this.schema.fields.reduce((i,a,u)=>i.set(a.name,u),new Map);return this.selectAt(e.map(i=>t.get(i)).filter(i=>i>-1))}selectAt(e){const t=this.schema.selectAt(e),i=this.batches.map(a=>a.selectAt(e));return new gn(t,i)}assign(e){const t=this.schema.fields,[i,a]=e.schema.fields.reduce((h,m,g)=>{const[v,x]=h,b=t.findIndex(w=>w.name===m.name);return~b?x[b]=g:v.push(g),h},[[],[]]),u=this.schema.assign(e.schema),f=[...t.map((h,m)=>[m,a[m]]).map(([h,m])=>m===void 0?this.getChildAt(h):e.getChildAt(m)),...i.map(h=>e.getChildAt(h))].filter(Boolean);return new gn(...dd(u,f))}}hv=Symbol.toStringTag;gn[hv]=(n=>(n.schema=null,n.batches=[],n._offsets=new Uint32Array([0]),n._nullCount=-1,n[Symbol.isConcatSpreadable]=!0,n.isValid=Jl(Xd),n.get=Jl(Qt.getVisitFn(M.Struct)),n.set=sv(bn.getVisitFn(M.Struct)),n.indexOf=iv(ql.getVisitFn(M.Struct)),"Table"))(gn.prototype);var pv;let An=class Po{constructor(...e){switch(e.length){case 2:{if([this.schema]=e,!(this.schema instanceof We))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");if([,this.data=Re({nullCount:0,type:new At(this.schema.fields),children:this.schema.fields.map(t=>Re({type:t.type,nullCount:0}))})]=e,!(this.data instanceof Ye))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");[this.schema,this.data]=Om(this.schema,this.data.children);break}case 1:{const[t]=e,{fields:i,children:a,length:u}=Object.keys(t).reduce((m,g,v)=>(m.children[v]=t[g],m.length=Math.max(m.length,t[g].length),m.fields[v]=nt.new({name:g,type:t[g].type,nullable:!0}),m),{length:0,fields:new Array,children:new Array}),f=new We(i),h=Re({type:new At(i),length:u,children:a,nullCount:0});[this.schema,this.data]=Om(f,h.children,u);break}default:throw new TypeError("RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.")}}get dictionaries(){return this._dictionaries||(this._dictionaries=mv(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(e){return this.data.getValid(e)}get(e){return Qt.visit(this.data,e)}at(e){return this.get(Jd(e,this.numRows))}set(e,t){return bn.visit(this.data,e,t)}indexOf(e,t){return ql.visit(this.data,e,t)}[Symbol.iterator](){return ef.visit(new Je([this.data]))}toArray(){return[...this]}concat(...e){return new gn(this.schema,[this,...e])}slice(e,t){const[i]=new Je([this.data]).slice(e,t).data;return new Po(this.schema,i)}getChild(e){var t;return this.getChildAt((t=this.schema.fields)===null||t===void 0?void 0:t.findIndex(i=>i.name===e))}getChildAt(e){return e>-1&&ea.name===e),t)}setChildAt(e,t){let i=this.schema,a=this.data;if(e>-1&&eh.name===u);~f&&(a[f]=this.data.children[f])}return new Po(t,Re({type:i,length:this.numRows,children:a}))}selectAt(e){const t=this.schema.selectAt(e),i=e.map(u=>this.data.children[u]).filter(Boolean),a=Re({type:new At(t.fields),length:this.numRows,children:i});return new Po(t,a)}};pv=Symbol.toStringTag;An[pv]=(n=>(n._nullCount=-1,n[Symbol.isConcatSpreadable]=!0,"RecordBatch"))(An.prototype);function Om(n,e,t=e.reduce((i,a)=>Math.max(i,a.length),0)){var i;const a=[...n.fields],u=[...e],f=(t+63&-64)>>3;for(const[h,m]of n.fields.entries()){const g=e[h];(!g||g.length!==t)&&(a[h]=m.clone({nullable:!0}),u[h]=(i=g==null?void 0:g._changeLengthAndBackfillNullBitmap(t))!==null&&i!==void 0?i:Re({type:m.type,length:t,nullCount:t,nullBitmap:new Uint8Array(f)}))}return[n.assign(a),Re({type:new At(a),length:t,children:u})]}function mv(n,e,t=new Map){var i,a;if(((i=n==null?void 0:n.length)!==null&&i!==void 0?i:0)>0&&(n==null?void 0:n.length)===(e==null?void 0:e.length))for(let u=-1,f=n.length;++uRe({type:a.type})),i=Re({type:new At(e.fields),nullCount:0,children:t});super(e,i)}}let qr=class Gn{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsMessage(e,t){return(t||new Gn).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsMessage(e,t){return e.setPosition(e.position()+He),(t||new Gn).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):ht.V1}headerType(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint8(this.bb_pos+e):Ve.NONE}header(e){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__union(e,this.bb_pos+t):null}bodyLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readInt64(this.bb_pos+e):BigInt("0")}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,12);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startMessage(e){e.startObject(5)}static addVersion(e,t){e.addFieldInt16(0,t,ht.V1)}static addHeaderType(e,t){e.addFieldInt8(1,t,Ve.NONE)}static addHeader(e,t){e.addFieldOffset(2,t,0)}static addBodyLength(e,t){e.addFieldInt64(3,t,BigInt("0"))}static addCustomMetadata(e,t){e.addFieldOffset(4,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endMessage(e){return e.endObject()}static finishMessageBuffer(e,t){e.finish(t)}static finishSizePrefixedMessageBuffer(e,t){e.finish(t,void 0,!0)}static createMessage(e,t,i,a,u,f){return Gn.startMessage(e),Gn.addVersion(e,t),Gn.addHeaderType(e,i),Gn.addHeader(e,a),Gn.addBodyLength(e,u),Gn.addCustomMetadata(e,f),Gn.endMessage(e)}};class m1 extends Ue{visit(e,t){return e==null||t==null?void 0:super.visit(e,t)}visitNull(e,t){return Sm.startNull(t),Sm.endNull(t)}visitInt(e,t){return nn.startInt(t),nn.addBitWidth(t,e.bitWidth),nn.addIsSigned(t,e.isSigned),nn.endInt(t)}visitFloat(e,t){return Jn.startFloatingPoint(t),Jn.addPrecision(t,e.precision),Jn.endFloatingPoint(t)}visitBinary(e,t){return gm.startBinary(t),gm.endBinary(t)}visitLargeBinary(e,t){return xm.startLargeBinary(t),xm.endLargeBinary(t)}visitBool(e,t){return vm.startBool(t),vm.endBool(t)}visitUtf8(e,t){return _m.startUtf8(t),_m.endUtf8(t)}visitLargeUtf8(e,t){return bm.startLargeUtf8(t),bm.endLargeUtf8(t)}visitDecimal(e,t){return pi.startDecimal(t),pi.addScale(t,e.scale),pi.addPrecision(t,e.precision),pi.addBitWidth(t,e.bitWidth),pi.endDecimal(t)}visitDate(e,t){return wl.startDate(t),wl.addUnit(t,e.unit),wl.endDate(t)}visitTime(e,t){return mn.startTime(t),mn.addUnit(t,e.unit),mn.addBitWidth(t,e.bitWidth),mn.endTime(t)}visitTimestamp(e,t){const i=e.timezone&&t.createString(e.timezone)||void 0;return yn.startTimestamp(t),yn.addUnit(t,e.unit),i!==void 0&&yn.addTimezone(t,i),yn.endTimestamp(t)}visitInterval(e,t){return qn.startInterval(t),qn.addUnit(t,e.unit),qn.endInterval(t)}visitDuration(e,t){return Sl.startDuration(t),Sl.addUnit(t,e.unit),Sl.endDuration(t)}visitList(e,t){return wm.startList(t),wm.endList(t)}visitStruct(e,t){return Is.startStruct_(t),Is.endStruct_(t)}visitUnion(e,t){Ht.startTypeIdsVector(t,e.typeIds.length);const i=Ht.createTypeIdsVector(t,e.typeIds);return Ht.startUnion(t),Ht.addMode(t,e.mode),Ht.addTypeIds(t,i),Ht.endUnion(t)}visitDictionary(e,t){const i=this.visit(e.indices,t);return wr.startDictionaryEncoding(t),wr.addId(t,BigInt(e.id)),wr.addIsOrdered(t,e.isOrdered),i!==void 0&&wr.addIndexType(t,i),wr.endDictionaryEncoding(t)}visitFixedSizeBinary(e,t){return _l.startFixedSizeBinary(t),_l.addByteWidth(t,e.byteWidth),_l.endFixedSizeBinary(t)}visitFixedSizeList(e,t){return Nl.startFixedSizeList(t),Nl.addListSize(t,e.listSize),Nl.endFixedSizeList(t)}visitMap(e,t){return jl.startMap(t),jl.addKeysSorted(t,e.keysSorted),jl.endMap(t)}}const fd=new m1;function y1(n,e=new Map){return new We(v1(n,e),Il(n.metadata),e)}function gv(n){return new Ln(n.count,vv(n.columns),xv(n.columns))}function g1(n){return new kr(gv(n.data),n.id,n.isDelta)}function v1(n,e){return(n.fields||[]).filter(Boolean).map(t=>nt.fromJSON(t,e))}function Tm(n,e){return(n.children||[]).filter(Boolean).map(t=>nt.fromJSON(t,e))}function vv(n){return(n||[]).reduce((e,t)=>[...e,new Li(t.count,x1(t.VALIDITY)),...vv(t.children)],[])}function xv(n,e=[]){for(let t=-1,i=(n||[]).length;++te+ +(t===0),0)}function b1(n,e){let t,i,a,u,f,h;return!e||!(u=n.dictionary)?(f=Bm(n,Tm(n,e)),a=new nt(n.name,f,n.nullable,Il(n.metadata))):e.has(t=u.id)?(i=(i=u.indexType)?Am(i):new Yo,h=new Oi(e.get(t),i,t,u.isOrdered),a=new nt(n.name,h,n.nullable,Il(n.metadata))):(i=(i=u.indexType)?Am(i):new Yo,e.set(t,f=Bm(n,Tm(n,e))),h=new Oi(f,i,t,u.isOrdered),a=new nt(n.name,h,n.nullable,Il(n.metadata))),a||null}function Il(n=[]){return new Map(n.map(({key:e,value:t})=>[e,t]))}function Am(n){return new Cs(n.isSigned,n.bitWidth)}function Bm(n,e){const t=n.type.name;switch(t){case"NONE":return new ss;case"null":return new ss;case"binary":return new Al;case"largebinary":return new Bl;case"utf8":return new El;case"largeutf8":return new Rl;case"bool":return new Ll;case"list":return new Hl((e||[])[0]);case"struct":return new At(e||[]);case"struct_":return new At(e||[])}switch(t){case"int":{const i=n.type;return new Cs(i.isSigned,i.bitWidth)}case"floatingpoint":{const i=n.type;return new Tl(Dt[i.precision])}case"decimal":{const i=n.type;return new Ul(i.scale,i.precision,i.bitWidth)}case"date":{const i=n.type;return new $l(xn[i.unit])}case"time":{const i=n.type;return new Pl(_e[i.unit],i.bitWidth)}case"timestamp":{const i=n.type;return new zl(_e[i.unit],i.timezone)}case"interval":{const i=n.type;return new Vl(nr[i.unit])}case"duration":{const i=n.type;return new Wl(_e[i.unit])}case"union":{const i=n.type,[a,...u]=(i.mode+"").toLowerCase(),f=a.toUpperCase()+u.join("");return new Gl(Yt[f],i.typeIds||[],e||[])}case"fixedsizebinary":{const i=n.type;return new Yl(i.byteWidth)}case"fixedsizelist":{const i=n.type;return new Ql(i.listSize,(e||[])[0])}case"map":{const i=n.type;return new Kl((e||[])[0],i.keysSorted)}}throw new Error(`Unrecognized type: "${t}"`)}var w1=Ty,S1=Ci;class Bn{static fromJSON(e,t){const i=new Bn(0,ht.V5,t);return i._createHeader=_1(e,t),i}static decode(e){e=new S1($e(e));const t=qr.getRootAsMessage(e),i=t.bodyLength(),a=t.version(),u=t.headerType(),f=new Bn(i,a,u);return f._createHeader=N1(t,u),f}static encode(e){const t=new w1;let i=-1;return e.isSchema()?i=We.encode(t,e.header()):e.isRecordBatch()?i=Ln.encode(t,e.header()):e.isDictionaryBatch()&&(i=kr.encode(t,e.header())),qr.startMessage(t),qr.addVersion(t,ht.V5),qr.addHeader(t,i),qr.addHeaderType(t,e.headerType),qr.addBodyLength(t,BigInt(e.bodyLength)),qr.finishMessageBuffer(t,qr.endMessage(t)),t.asUint8Array()}static from(e,t=0){if(e instanceof We)return new Bn(0,ht.V5,Ve.Schema,e);if(e instanceof Ln)return new Bn(t,ht.V5,Ve.RecordBatch,e);if(e instanceof kr)return new Bn(t,ht.V5,Ve.DictionaryBatch,e);throw new Error(`Unrecognized Message header: ${e}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===Ve.Schema}isRecordBatch(){return this.headerType===Ve.RecordBatch}isDictionaryBatch(){return this.headerType===Ve.DictionaryBatch}constructor(e,t,i,a){this._version=t,this._headerType=i,this.body=new Uint8Array(0),a&&(this._createHeader=()=>a),this._bodyLength=tt(e)}}class Ln{get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}constructor(e,t,i){this._nodes=t,this._buffers=i,this._length=tt(e)}}class kr{get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}constructor(e,t,i=!1){this._data=e,this._isDelta=i,this._id=tt(t)}}class _r{constructor(e,t){this.offset=tt(e),this.length=tt(t)}}class Li{constructor(e,t){this.length=tt(e),this.nullCount=tt(t)}}function _1(n,e){return(()=>{switch(e){case Ve.Schema:return We.fromJSON(n);case Ve.RecordBatch:return Ln.fromJSON(n);case Ve.DictionaryBatch:return kr.fromJSON(n)}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)})}function N1(n,e){return(()=>{switch(e){case Ve.Schema:return We.decode(n.header(new Yn),new Map,n.version());case Ve.RecordBatch:return Ln.decode(n.header(new yr),n.version());case Ve.DictionaryBatch:return kr.decode(n.header(new fi),n.version())}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)})}nt.encode=B1;nt.decode=T1;nt.fromJSON=b1;We.encode=A1;We.decode=j1;We.fromJSON=y1;Ln.encode=E1;Ln.decode=k1;Ln.fromJSON=gv;kr.encode=R1;kr.decode=I1;kr.fromJSON=g1;Li.encode=L1;Li.decode=D1;_r.encode=U1;_r.decode=M1;function j1(n,e=new Map,t=ht.V5){const i=O1(n,e);return new We(i,Ml(n),e,t)}function k1(n,e=ht.V5){if(n.compression()!==null)throw new Error("Record batch compression not implemented");return new Ln(n.length(),C1(n),F1(n,e))}function I1(n,e=ht.V5){return new kr(Ln.decode(n.data(),e),n.id(),n.isDelta())}function M1(n){return new _r(n.offset(),n.length())}function D1(n){return new Li(n.length(),n.nullCount())}function C1(n){const e=[];for(let t,i=-1,a=-1,u=n.nodesLength();++int.encode(n,u));Yn.startFieldsVector(n,t.length);const i=Yn.createFieldsVector(n,t),a=e.metadata&&e.metadata.size>0?Yn.createCustomMetadataVector(n,[...e.metadata].map(([u,f])=>{const h=n.createString(`${u}`),m=n.createString(`${f}`);return gt.startKeyValue(n),gt.addKey(n,h),gt.addValue(n,m),gt.endKeyValue(n)})):-1;return Yn.startSchema(n),Yn.addFields(n,i),Yn.addEndianness(n,$1?Fi.Little:Fi.Big),a!==-1&&Yn.addCustomMetadata(n,a),Yn.endSchema(n)}function B1(n,e){let t=-1,i=-1,a=-1;const u=e.type;let f=e.typeId;me.isDictionary(u)?(f=u.dictionary.typeId,a=fd.visit(u,n),i=fd.visit(u.dictionary,n)):i=fd.visit(u,n);const h=(u.children||[]).map(v=>nt.encode(n,v)),m=hn.createChildrenVector(n,h),g=e.metadata&&e.metadata.size>0?hn.createCustomMetadataVector(n,[...e.metadata].map(([v,x])=>{const b=n.createString(`${v}`),w=n.createString(`${x}`);return gt.startKeyValue(n),gt.addKey(n,b),gt.addValue(n,w),gt.endKeyValue(n)})):-1;return e.name&&(t=n.createString(e.name)),hn.startField(n),hn.addType(n,i),hn.addTypeType(n,f),hn.addChildren(n,m),hn.addNullable(n,!!e.nullable),t!==-1&&hn.addName(n,t),a!==-1&&hn.addDictionary(n,a),g!==-1&&hn.addCustomMetadata(n,g),hn.endField(n)}function E1(n,e){const t=e.nodes||[],i=e.buffers||[];yr.startNodesVector(n,t.length);for(const f of t.slice().reverse())Li.encode(n,f);const a=n.endVector();yr.startBuffersVector(n,i.length);for(const f of i.slice().reverse())_r.encode(n,f);const u=n.endVector();return yr.startRecordBatch(n),yr.addLength(n,BigInt(e.length)),yr.addNodes(n,a),yr.addBuffers(n,u),yr.endRecordBatch(n)}function R1(n,e){const t=Ln.encode(n,e.data);return fi.startDictionaryBatch(n),fi.addId(n,BigInt(e.id)),fi.addIsDelta(n,e.isDelta),fi.addData(n,t),fi.endDictionaryBatch(n)}function L1(n,e){return Ey.createFieldNode(n,BigInt(e.length),BigInt(e.nullCount))}function U1(n,e){return By.createBuffer(n,BigInt(e.offset),BigInt(e.length))}const $1=(()=>{const n=new ArrayBuffer(2);return new DataView(n).setInt16(0,256,!0),new Int16Array(n)[0]===256})(),af=n=>`Expected ${Ve[n]} Message in stream, but was null or length 0.`,lf=n=>`Header pointer of flatbuffer-encoded ${Ve[n]} Message is null or length 0.`,bv=(n,e)=>`Expected to read ${n} metadata bytes, but only read ${e}.`,wv=(n,e)=>`Expected to read ${n} bytes for message body, but only read ${e}.`;class Sv{constructor(e){this.source=e instanceof Xl?e:new Xl(e)}[Symbol.iterator](){return this}next(){let e;return(e=this.readMetadataLength()).done||e.value===-1&&(e=this.readMetadataLength()).done||(e=this.readMetadata(e.value)).done?at:e}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}readMessage(e){let t;if((t=this.next()).done)return null;if(e!=null&&t.value.headerType!==e)throw new Error(af(e));return t.value}readMessageBody(e){if(e<=0)return new Uint8Array(0);const t=$e(this.source.read(e));if(t.byteLength[...a,...u.VALIDITY&&[u.VALIDITY]||[],...u.TYPE_ID&&[u.TYPE_ID]||[],...u.OFFSET&&[u.OFFSET]||[],...u.DATA&&[u.DATA]||[],...t(u.children)],[])}}readMessage(e){let t;if((t=this.next()).done)return null;if(e!=null&&t.value.headerType!==e)throw new Error(af(e));return t.value}readSchema(){const e=Ve.Schema,t=this.readMessage(e),i=t==null?void 0:t.header();if(!t||!i)throw new Error(lf(e));return i}}const hu=4,Rd="ARROW1",tu=new Uint8Array(Rd.length);for(let n=0;nthis):this}readRecordBatch(e){return this._impl.isFile()?this._impl.readRecordBatch(e):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return pn.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return pn.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,t){throw new Error('"throughDOM" not available in this environment')}static from(e){return e instanceof jr?e:Id(e)?Y1(e):Iy(e)?J1(e):Vo(e)?Fe(this,void 0,void 0,function*(){return yield jr.from(yield e)}):My(e)||Wd(e)||Cy(e)||Vd(e)?K1(new Ai(e)):Q1(new Xl(e))}static readAll(e){return e instanceof jr?e.isSync()?Um(e):$m(e):Id(e)||ArrayBuffer.isView(e)||cu(e)||ky(e)?Um(e):$m(e)}}class nu extends jr{constructor(e){super(e),this._impl=e}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return Zn(this,arguments,function*(){yield Ae(yield*bl(_i(this[Symbol.iterator]())))})}}class ru extends jr{constructor(e){super(e),this._impl=e}readAll(){return Fe(this,void 0,void 0,function*(){var e,t,i,a;const u=new Array;try{for(var f=!0,h=_i(this),m;m=yield h.next(),e=m.done,!e;f=!0){a=m.value,f=!1;const g=a;u.push(g)}}catch(g){t={error:g}}finally{try{!f&&!e&&(i=h.return)&&(yield i.call(h))}finally{if(t)throw t.error}}return u})}[Symbol.iterator](){throw new Error("AsyncRecordBatchStreamReader is not Iterable")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}}class Nv extends nu{constructor(e){super(e),this._impl=e}}class W1 extends ru{constructor(e){super(e),this._impl=e}}class jv{get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}constructor(e=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=e}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(e){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=e,this.dictionaries=new Map,this}_loadRecordBatch(e,t){const i=this._loadVectors(e,t,this.schema.fields),a=Re({type:new At(this.schema.fields),length:e.length,children:i});return new An(this.schema,a)}_loadDictionaryBatch(e,t){const{id:i,isDelta:a}=e,{dictionaries:u,schema:f}=this,h=u.get(i),m=f.dictionaries.get(i),g=this._loadVectors(e.data,t,[m]);return(h&&a?h.concat(new Je(g)):new Je(g)).memoize()}_loadVectors(e,t,i){return new fv(t,e.nodes,e.buffers,this.dictionaries,this.schema.metadataVersion).visitMany(i)}}class su extends jv{constructor(e,t){super(t),this._reader=Id(e)?new z1(this._handle=e):new Sv(this._handle=e)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(e){return this.closed||(this.autoDestroy=Iv(this,e),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(e):at}return(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(e):at}next(){if(this.closed)return at;let e;const{_reader:t}=this;for(;e=this._readNextMessageAndValidate();)if(e.isSchema())this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const i=e.header(),a=t.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(i,a)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const i=e.header(),a=t.readMessageBody(e.bodyLength),u=this._loadDictionaryBatch(i,a);this.dictionaries.set(i.id,u)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new yv(this.schema)}):this.return()}_readNextMessageAndValidate(e){return this._reader.readMessage(e)}}class iu extends jv{constructor(e,t){super(t),this._reader=new P1(this._handle=e)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return Fe(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(e){return Fe(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=Iv(this,e),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(e){return Fe(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(e):at})}return(e){return Fe(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(e):at})}next(){return Fe(this,void 0,void 0,function*(){if(this.closed)return at;let e;const{_reader:t}=this;for(;e=yield this._readNextMessageAndValidate();)if(e.isSchema())yield this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const i=e.header(),a=yield t.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(i,a)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const i=e.header(),a=yield t.readMessageBody(e.bodyLength),u=this._loadDictionaryBatch(i,a);this.dictionaries.set(i.id,u)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new yv(this.schema)}):yield this.return()})}_readNextMessageAndValidate(e){return Fe(this,void 0,void 0,function*(){return yield this._reader.readMessage(e)})}}class kv extends su{get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}constructor(e,t){super(e instanceof Fm?e:new Fm(e),t)}isSync(){return!0}isFile(){return!0}open(e){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(const t of this._footer.dictionaryBatches())t&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(e)}readRecordBatch(e){var t;if(this.closed)return null;this._footer||this.open();const i=(t=this._footer)===null||t===void 0?void 0:t.getRecordBatch(e);if(i&&this._handle.seek(i.offset)){const a=this._reader.readMessage(Ve.RecordBatch);if(a!=null&&a.isRecordBatch()){const u=a.header(),f=this._reader.readMessageBody(a.bodyLength);return this._loadRecordBatch(u,f)}}return null}_readDictionaryBatch(e){var t;const i=(t=this._footer)===null||t===void 0?void 0:t.getDictionaryBatch(e);if(i&&this._handle.seek(i.offset)){const a=this._reader.readMessage(Ve.DictionaryBatch);if(a!=null&&a.isDictionaryBatch()){const u=a.header(),f=this._reader.readMessageBody(a.bodyLength),h=this._loadDictionaryBatch(u,f);this.dictionaries.set(u.id,h)}}}_readFooter(){const{_handle:e}=this,t=e.size-_v,i=e.readInt32(t),a=e.readAt(t-i,i);return tf.decode(a)}_readNextMessageAndValidate(e){var t;if(this._footer||this.open(),this._footer&&this._recordBatchIndexsuper.open}});return Fe(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(const i of this._footer.dictionaryBatches())i&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield t.open.call(this,e)})}readRecordBatch(e){return Fe(this,void 0,void 0,function*(){var t;if(this.closed)return null;this._footer||(yield this.open());const i=(t=this._footer)===null||t===void 0?void 0:t.getRecordBatch(e);if(i&&(yield this._handle.seek(i.offset))){const a=yield this._reader.readMessage(Ve.RecordBatch);if(a!=null&&a.isRecordBatch()){const u=a.header(),f=yield this._reader.readMessageBody(a.bodyLength);return this._loadRecordBatch(u,f)}}return null})}_readDictionaryBatch(e){return Fe(this,void 0,void 0,function*(){var t;const i=(t=this._footer)===null||t===void 0?void 0:t.getDictionaryBatch(e);if(i&&(yield this._handle.seek(i.offset))){const a=yield this._reader.readMessage(Ve.DictionaryBatch);if(a!=null&&a.isDictionaryBatch()){const u=a.header(),f=yield this._reader.readMessageBody(a.bodyLength),h=this._loadDictionaryBatch(u,f);this.dictionaries.set(u.id,h)}}})}_readFooter(){return Fe(this,void 0,void 0,function*(){const{_handle:e}=this;e._pending&&(yield e._pending);const t=e.size-_v,i=yield e.readInt32(t),a=yield e.readAt(t-i,i);return tf.decode(a)})}_readNextMessageAndValidate(e){return Fe(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex=4?uf(e)?new Nv(new kv(n.read())):new nu(new su(n)):new nu(new su((function*(){})()))}function K1(n){return Fe(this,void 0,void 0,function*(){const e=yield n.peek(Xo+7&-8);return e&&e.byteLength>=4?uf(e)?new Nv(new kv(yield n.read())):new ru(new iu(n)):new ru(new iu((function(){return Zn(this,arguments,function*(){})})()))})}function J1(n){return Fe(this,void 0,void 0,function*(){const{size:e}=yield n.stat(),t=new eu(n,e);return e>=V1&&uf(yield t.readAt(0,Xo+7&-8))?new W1(new H1(t)):new ru(new iu(t))})}function Mv(n){const e=jr.from(n);return Vo(e)?e.then(t=>Mv(t)):e.isAsync()?e.readAll().then(t=>new gn(t)):new gn(e.readAll())}function q1(n){if(n==null)return null;if(typeof n=="bigint"){const e=Number(n);return Number.isSafeInteger(e)?e:n.toString()}if(n instanceof Date){const e=n.toISOString();return e.endsWith("T00:00:00.000Z")?e.slice(0,10):e}return typeof n=="object"?String(n):n}function Z1(n){const e=Mv(n),t=e.schema.fields.map(a=>a.name),i=new Array(e.numRows);for(let a=0;a({...e,charts:e.charts.map(t=>{var f,h;const i=t.query,a=(f=t.interactions)==null?void 0:f.brush,u=(h=t.interactions)==null?void 0:h.select;return{...t,query:{...i,metrics:Zr(i.metrics)??[],dimensions:Zr(i.dimensions),filters:Zr(i.filters),segments:Zr(i.segments),order_by:Zr(i.order_by),orderBy:Zr(i.orderBy)},interactions:t.interactions?{...t.interactions,brush:typeof a=="object"?{...a,fields:Zr(a.fields)}:a,select:typeof u=="object"?{...u,fields:Zr(u.fields)}:u}:void 0}})}))}}const eS="application/vnd.apache.arrow.stream";class tS{constructor(e){Mn(this,"active",0);Mn(this,"waiters",[]);this.max=e}async run(e){var t;this.active>=this.max&&await new Promise(i=>this.waiters.push(i)),this.active+=1;try{return await e()}finally{this.active-=1,(t=this.waiters.shift())==null||t()}}}function nS(n){var t,i,a,u,f;const e={};return(t=n.metrics)!=null&&t.length&&(e.metrics=n.metrics),(i=n.dimensions)!=null&&i.length&&(e.dimensions=n.dimensions),(a=n.filters)!=null&&a.length&&(e.filters=n.filters),(u=n.segments)!=null&&u.length&&(e.segments=n.segments),(f=n.orderBy)!=null&&f.length&&(e.order_by=n.orderBy),n.limit!=null&&(e.limit=n.limit),n.offset!=null&&(e.offset=n.offset),n.ungrouped&&(e.ungrouped=!0),n.parameters&&(e.parameters=n.parameters),n.usePreaggregations!=null&&(e.use_preaggregations=n.usePreaggregations),n.timezone&&n.timezone!=="UTC"&&(e.timezone=n.timezone),e}class rS{constructor(e={}){Mn(this,"baseUrl");Mn(this,"token");Mn(this,"sessionToken");Mn(this,"transport");Mn(this,"usePreaggregations");Mn(this,"gate");Mn(this,"onUnauthorized");this.baseUrl=(e.baseUrl??"").replace(/\/$/,""),this.token=e.token,this.transport=e.transport??"json",this.usePreaggregations=e.usePreaggregations??!0,this.gate=new tS(e.maxConcurrency??6),this.onUnauthorized=e.onUnauthorized}body(e){return nS({usePreaggregations:this.usePreaggregations,...e})}headers(e){const t={...e};return this.sessionToken?t.Authorization=`Sidemantic-Session ${this.sessionToken}`:this.token&&(t.Authorization=`Bearer ${this.token}`),t}isCrossOrigin(){return!this.baseUrl||typeof globalThis.location>"u"?!1:new URL(this.baseUrl,globalThis.location.href).origin!==globalThis.location.origin}url(e){return`${this.baseUrl}${e}`}async getJson(e){const t=await fetch(this.url(e),{headers:this.headers(),credentials:"include"});if(!t.ok)throw new Error(await this.errorText(t,e));return await t.json()}async errorText(e,t){var a;e.status===401&&((a=this.onUnauthorized)==null||a.call(this));let i="";try{const u=await e.json();i=u.error??u.detail??""}catch{}return`${t} failed (${e.status})${i?`: ${i}`:""}`}async health(){try{return(await fetch(this.url("/health"),{headers:this.headers(),credentials:"include"})).ok}catch{return!1}}async getCatalog(){try{const t=await fetch(this.url("/describe"),{headers:this.headers(),credentials:"include"});if(t.ok){const i=Sb(await t.json());try{return Nb(i,await this.getJson("/graph"))}catch{return i}}}catch{}const e=await this.getJson("/graph");return _b(e)}async getDashboard(){try{const e=await fetch(this.url("/dashboard"),{headers:this.headers()});if(e.status===404)return null;if(!e.ok)throw new Error(await this.errorText(e,"/dashboard"));if(!(e.headers.get("content-type")??"").includes("application/json"))return null;const t=await e.json();return typeof t.title=="string"&&Array.isArray(t.tabs)?X1(t):null}catch{return null}}async compile(e){const t=await fetch(this.url("/compile"),{method:"POST",headers:this.headers({"Content-Type":"application/json"}),credentials:"include",body:JSON.stringify(this.body(e))});if(!t.ok)throw new Error(await this.errorText(t,"/compile"));return(await t.json()).sql}async runQuery(e){return this.gate.run(()=>this.transport==="arrow"?this.runQueryArrow(e):this.runQueryJson(e))}async runQueryJson(e){const t=await fetch(this.url("/query"),{method:"POST",headers:this.headers({"Content-Type":"application/json"}),credentials:"include",body:JSON.stringify(this.body(e))});if(!t.ok)throw new Error(await this.errorText(t,"/query"));const i=await t.json(),a=i.rows??[];return{columns:a.length?Object.keys(a[0]):[],rows:a,rowCount:i.row_count??a.length,sql:i.sql??""}}async runQueryArrow(e){const t=await fetch(this.url("/query?format=arrow"),{method:"POST",headers:this.headers({"Content-Type":"application/json",Accept:eS}),credentials:"include",body:JSON.stringify(this.body(e))});if(!t.ok)throw new Error(await this.errorText(t,"/query"));const i=new Uint8Array(await t.arrayBuffer()),{columns:a,rows:u}=Z1(i),f=t.headers.get("X-Sidemantic-Sql")??"";return{columns:a,rows:u,rowCount:u.length,sql:f}}async createBrowserSession(e){var a;const t=this.isCrossOrigin(),i=await fetch(this.url("/auth/session"),{method:"POST",headers:{Authorization:`Bearer ${e}`,...t?{"X-Sidemantic-Session-Mode":"header"}:{}},credentials:"include"});if(i.status===404||i.ok&&!((a=i.headers.get("content-type"))!=null&&a.includes("application/json"))){this.token=e;return}if(!i.ok)throw new Error(await this.errorText(i,"/auth/session"));if(t){const u=await i.json();if(!u.session_token)throw new Error("/auth/session did not return a cross-origin session token");this.sessionToken=u.session_token}this.token=void 0}}function Dv({brand:n,toolbar:e,filters:t,rail:i,children:a,drawer:u,showRail:f=!0,openRailRequest:h}){const[m,g]=I.useState(()=>typeof window<"u"&&window.matchMedia("(max-width: 767px)").matches),[v,x]=I.useState(()=>typeof window>"u"||!window.matchMedia("(max-width: 767px)").matches),b=I.useId(),w=I.useRef(null),_=I.useRef(null),C=f&&v;return I.useEffect(()=>{const A=window.matchMedia("(max-width: 767px)"),V=()=>{g(A.matches),x(!A.matches)};return A.addEventListener("change",V),()=>A.removeEventListener("change",V)},[]),I.useEffect(()=>{h&&!m&&x(!0)},[h,m]),I.useEffect(()=>{if(!m||!v)return;const A=_.current,V=document.body.style.overflow;document.body.style.overflow="hidden",window.requestAnimationFrame(()=>{var R,O;return(O=(R=w.current)==null?void 0:R.querySelector("button"))==null?void 0:O.focus()});function $(R){var L;if(R.key==="Escape"){R.preventDefault(),x(!1);return}if(R.key!=="Tab")return;const O=(L=w.current)==null?void 0:L.querySelectorAll('button:not(:disabled), select:not(:disabled), input:not(:disabled), [href], [tabindex]:not([tabindex="-1"])');if(!(O!=null&&O.length))return;const E=O[0],D=O[O.length-1];R.shiftKey&&document.activeElement===E?(R.preventDefault(),D.focus()):!R.shiftKey&&document.activeElement===D&&(R.preventDefault(),E.focus())}return document.addEventListener("keydown",$,!0),()=>{document.body.style.overflow=V,document.removeEventListener("keydown",$,!0),A==null||A.focus()}},[m,v]),c.jsxs("div",{className:"flex h-[100dvh] min-w-0 flex-col overflow-hidden bg-bg text-ink",children:[c.jsxs("header",{className:"relative z-40 flex shrink-0 flex-col gap-2 border-b border-line bg-surface px-3 py-2 md:flex-row md:items-center md:justify-between md:gap-3",children:[c.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[f?c.jsx("button",{ref:_,type:"button","aria-label":m?"Open catalog":v?"Collapse sidebar":"Expand sidebar","aria-expanded":v,"aria-controls":b,onClick:()=>x(A=>!A),className:"grid size-7 shrink-0 place-items-center border border-line text-faint hover:border-faint hover:text-ink",children:v?"‹":"›"}):null,n]}),c.jsx("div",{className:"flex w-full min-w-0 flex-wrap items-center gap-2 overflow-visible md:w-auto md:shrink-0 md:flex-nowrap",children:e})]}),t?c.jsx("div",{className:"flex min-h-9 shrink-0 flex-wrap items-center gap-2 overflow-x-auto border-b border-line bg-surface px-3 py-2 md:h-9 md:flex-nowrap md:py-0",children:t}):null,c.jsxs("div",{className:`grid min-h-0 min-w-0 flex-1 grid-cols-1 ${C?"md:grid-cols-[260px_minmax(0,1fr)]":"md:grid-cols-1"}`,children:[f&&C?c.jsxs(c.Fragment,{children:[m?c.jsx("button",{type:"button","aria-label":"Close catalog",className:"fixed inset-0 z-40 bg-black/35 backdrop-blur-[2px]",onClick:()=>x(!1)}):null,c.jsxs("aside",{id:b,ref:w,role:m?"dialog":void 0,"aria-modal":m?"true":void 0,"aria-label":m?"Data catalog":void 0,onClick:A=>{m&&A.target.closest("[data-catalog-metric], [data-catalog-dimension]")&&x(!1)},onChange:()=>m&&x(!1),className:"fixed inset-y-0 left-0 z-50 min-h-0 w-[min(88vw,320px)] overflow-y-auto bg-surface shadow-[var(--shadow)] md:static md:z-auto md:w-auto md:border-r md:border-line md:shadow-none",children:[m?c.jsxs("div",{"data-testid":"catalog-drawer-header",className:"sticky top-0 z-10 flex items-center justify-between border-b border-line bg-surface px-4 py-3",children:[c.jsxs("div",{children:[c.jsx("p",{className:"text-sm font-semibold text-ink",children:"Catalog"}),c.jsx("p",{className:"text-xs text-muted",children:"Choose a model and fields"})]}),c.jsx("button",{type:"button","aria-label":"Close catalog",onClick:()=>x(!1),className:"grid size-10 place-items-center rounded-full bg-surface-soft text-muted hover:bg-line hover:text-ink",children:c.jsx("span",{"aria-hidden":"true",className:"text-xl leading-none",children:"×"})})]}):null,i]})]}):null,c.jsxs("main",{className:"relative min-h-0 min-w-0 overflow-hidden",children:[c.jsx("div",{className:`h-full overflow-y-auto ${u?"pb-8":""}`,children:a}),u]})]})]})}function sS({dashboardTitle:n,modelLabel:e,onHome:t}){const i=c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"text-sm font-semibold text-ink",children:n??"Sidemantic"}),n===void 0&&e?c.jsx("span",{className:"truncate text-2xs text-faint",children:e}):null]});return n!==void 0?c.jsx("span",{className:"flex min-w-0 items-baseline gap-2",children:i}):c.jsx("button",{type:"button",onClick:t,"aria-label":"Home",className:"flex min-w-0 items-baseline gap-2",children:i})}const iS=new Set(["second","minute","hour","day","week","month","quarter","year"]);function hl(n){return n===void 0?[]:Array.isArray(n)?n:[n]}function pl(n,e){return n.models.flatMap(t=>t.dimensions).find(t=>e===t.ref||e.startsWith(`${t.ref}__`))}function oS(n,e){const t=n.split("__").at(-1);return t&&iS.has(t)?t:e}function aS(n){var a;const e=(a=n.defaults)==null?void 0:a.query;if(!e||typeof e!="object")return;const t=e,i=t.use_preaggregations??t.usePreaggregations;return typeof i=="boolean"?i:void 0}function lS(n,e){var u;const t=(u=n.defaults)==null?void 0:u.query,i=t&&typeof t=="object"?t:{},a=e.query.interaction_preaggregations??e.query.interactionPreaggregations??e.interaction_preaggregations??e.interactionPreaggregations??i.interaction_preaggregations??i.interactionPreaggregations;return typeof a=="boolean"?a:void 0}function Fs(n,e,t){var O,E,D,L,G,W,Y;if(!(e!=null&&e.tabs.length))return null;const i=e.tabs.find(P=>P.id===t)??e.tabs[0],a=i.charts[0];if(!a)return null;const u=hl(a.query.dimensions),f=hl(a.query.metrics),h=f.map(P=>{var te;return(te=n.graphMetrics.find(X=>X.ref===P))==null?void 0:te.ownerModel}).find(P=>!!P),m=((O=f.find(P=>P.includes(".")))==null?void 0:O.split(".")[0])??h??((E=u.find(P=>P.includes(".")))==null?void 0:E.split(".")[0]),g=n.models.find(P=>P.name===m)??n.models[0];if(!g)return null;const v=[...n.models.flatMap(P=>P.metrics),...Di(n,g.name)],x=f.map(P=>v.find(te=>te.ref===P)).filter(P=>!!P),b=u.map(P=>pl(n,P)).filter((P,te,X)=>!!P&&X.findIndex(oe=>(oe==null?void 0:oe.ref)===(P==null?void 0:P.ref))===te),w=(D=a.encoding)==null?void 0:D.y,C=(Array.isArray(w)?w:w?[w]:[]).find(P=>x.some(te=>te.ref===P))??((L=x[0])==null?void 0:L.ref)??((G=g.metrics[0])==null?void 0:G.ref)??"",A=(W=a.encoding)==null?void 0:W.x,V=(A&&((Y=pl(n,A))==null?void 0:Y.type)==="time"?A:void 0)??u.find(P=>{var te;return((te=pl(n,P))==null?void 0:te.type)==="time"}),$=g.defaultGrain??"month",R=V?pl(n,V):g.timeDimension;return{id:i.id,label:i.label??i.id,title:a.title??e.title,model:g,metrics:x.length?x:g.metrics,dimensions:b.length?b:g.dimensions,timeDimension:R,selectedMetric:C,grain:V?oS(V,$):$,filters:hl(a.query.filters),segments:hl(a.query.segments),usePreaggregations:lS(e,a)??a.query.use_preaggregations??a.query.usePreaggregations??aS(e)}}const Ld=["second","minute","hour","day","week","month","quarter","year"];function uS(n,e){if(n!=null&&n.length){const i=new Set(n.map(u=>u.toLowerCase())),a=Ld.filter(u=>i.has(u));if(a.length)return a}const t=["day","week","month","quarter","year"];return e&&!t.includes(e)?Ld.filter(i=>i===e||t.includes(i)):t}function Mi(n){return n.toISOString().slice(0,10)}function cf(n){return n.slice(0,10)}function Ei(n){const e=n.trim();return/^\d{4}-\d{2}-\d{2}$/.test(e)?`${e}T00:00:00Z`:/[zZ]|[+-]\d{2}:?\d{2}$/.test(e)?e:`${e.replace(" ","T")}Z`}function Os(n){return new Date(`${cf(n)}T00:00:00Z`)}function Qo(n,e){const t=Os(n);return t.setUTCDate(t.getUTCDate()+e),Mi(t)}function cS(n){return Math.round((Os(n.to).getTime()-Os(n.from).getTime())/864e5)+1}function dS(n){if(n.from.includes("T")||n.to.includes("T")){const a=Date.parse(Ei(n.from)),f=Date.parse(Ei(n.to))-a;return{from:new Date(a-f).toISOString().slice(0,19),to:new Date(a).toISOString().slice(0,19)}}const e=cS(n),t=Qo(n.from,-1);return{from:Qo(t,-(e-1)),to:t}}function Pm(n){if(n.includes("T")){const f=new Date(Ei(n)),h=f.getUTCFullYear()-1,m=f.getUTCMonth(),g=new Date(Date.UTC(h,m+1,0)).getUTCDate();return new Date(Date.UTC(h,m,Math.min(f.getUTCDate(),g),f.getUTCHours(),f.getUTCMinutes(),f.getUTCSeconds())).toISOString().slice(0,19)}const e=Os(n),t=e.getUTCFullYear()-1,i=e.getUTCMonth(),a=e.getUTCDate(),u=new Date(Date.UTC(t,i+1,0)).getUTCDate();return Mi(new Date(Date.UTC(t,i,Math.min(a,u))))}function fS(n){return{from:Pm(n.from),to:Pm(n.to)}}function hS(n,e){const t=n.trim(),i=t.slice(0,10);if(e!=="second"&&e!=="minute"&&e!=="hour")return i||n;const a=t.slice(10).match(/(\d{2}):(\d{2})(?::(\d{2}))?/);if(!a)return i||n;const u=e==="second"&&a[3]?`${a[1]}:${a[2]}:${a[3]}`:`${a[1]}:${a[2]}`;return`${i} ${u}`}const pS=[{key:"7d",label:"Last 7 days",days:7},{key:"28d",label:"Last 28 days",days:28},{key:"90d",label:"Last 90 days",days:90},{key:"180d",label:"Last 180 days",days:180},{key:"365d",label:"Last 12 months",days:365}];function mS(n,e=new Date){const t=Mi(e);return{from:Qo(t,-(n-1)),to:t}}function yS(n,e){return e.from.includes("T")||e.to.includes("T")?[`${n} >= cast('${e.from}' as timestamp)`,`${n} < cast('${e.to}' as timestamp)`]:[`${n} >= cast('${e.from}' as date)`,`${n} < cast('${Qo(e.to,1)}' as date)`]}function zm(n,e,t){if(t==="second"||t==="minute"||t==="hour"){const f=t==="second"?1e3:t==="minute"?6e4:36e5;return Math.round((Date.parse(Ei(e))-Date.parse(Ei(n)))/f)}const i=Os(n),a=Os(e),u=(a.getUTCFullYear()-i.getUTCFullYear())*12+(a.getUTCMonth()-i.getUTCMonth());switch(t){case"week":return Math.round((a.getTime()-i.getTime())/(7*864e5));case"month":return u;case"quarter":return Math.round(u/3);case"year":return a.getUTCFullYear()-i.getUTCFullYear();default:return Math.round((a.getTime()-i.getTime())/864e5)}}function hd(n,e){return new Date(Date.parse(Ei(n))+e).toISOString().slice(0,19)}function gS(n,e){const t=cf(n),i=Os(t);switch(e){case"second":return hd(n,1e3);case"minute":return hd(n,6e4);case"hour":return hd(n,36e5);case"day":return t;case"week":return Qo(n,6);case"month":return Mi(new Date(Date.UTC(i.getUTCFullYear(),i.getUTCMonth()+1,0)));case"quarter":{const a=Math.floor(i.getUTCMonth()/3)*3+3;return Mi(new Date(Date.UTC(i.getUTCFullYear(),a,0)))}case"year":return Mi(new Date(Date.UTC(i.getUTCFullYear(),12,0)));default:return n}}function df(n){return n.mode==="contains"?!n.pattern:n.values.length===0}function ff(n){return Object.fromEntries(n.map(e=>[e.ref,e.type]))}function pu(n){return ff(n.models.flatMap(e=>e.dimensions))}function Vm(n,e){if((e==="numeric"||e==="number")&&n.trim()!==""&&Number.isFinite(Number(n)))return n;if(e==="boolean"){const t=n.toLowerCase();if(t==="true"||t==="false")return t}return Tn(n)}function Cv(n){return n.replaceAll("\\","\\\\").replaceAll("%","\\%").replaceAll("_","\\_")}function vS(n,e,t){const i=e.mode==="exclude",a=e.values.includes(er),u=e.values.filter(h=>h!==er);let f=null;if(u.length===1)f=`${n} ${i?"!=":"="} ${Vm(u[0],t)}`;else if(u.length>1){const h=u.map(m=>Vm(m,t)).join(", ");f=`${n} ${i?"NOT IN":"IN"} (${h})`}if(!i){const h=[];return f&&h.push(f),a&&h.push(`${n} IS NULL`),h.length===0?null:h.length===1?h[0]:`(${h.join(" OR ")})`}if(a){const h=[];return f&&h.push(f),h.push(`${n} IS NOT NULL`),h.length===1?h[0]:`(${h.join(" AND ")})`}return f?`(${f} OR ${n} IS NULL)`:null}function Fv(n,e={}){var i;const t=[];for(const[a,u]of Object.entries(n)){if(a===e.excludeDim||df(u))continue;const f=(i=e.types)==null?void 0:i[a];if(u.mode==="contains"){const m=Tn(`%${Cv(u.pattern??"")}%`);t.push(`CAST(${a} AS VARCHAR) ILIKE ${m} ESCAPE '\\'`);continue}const h=vS(a,u,f);h&&t.push(h)}return t}function Ts(n,e={}){const t=Fv(n,{types:e.types,excludeDim:e.excludeDim});return e.timeRef&&e.range&&t.push(...yS(e.timeRef,e.range)),t}function pd(n,e,t,i){return{metrics:n,filters:e,...t!=null&&t.length?{segments:t}:{},...i!=null?{usePreaggregations:i}:{}}}const xS={second:2e3,minute:2e3,hour:9600,day:4e3,week:800,month:240,quarter:120,year:60};function Wm(n,e,t,i,a,u,f=!1){const h=`${e}__${t}`,m=t==="second"||t==="minute",g=m&&!f;return{metrics:n,dimensions:[h],filters:i,...a!=null&&a.length?{segments:a}:{},...u!=null?{usePreaggregations:u}:{},orderBy:[`${h} ${g?"DESC":"ASC"}`],...!m||g?{limit:xS[t]??2e3}:{}}}function Hm(n,e,t,i=6,a,u){return{metrics:[n],dimensions:[e],filters:t,...a!=null&&a.length?{segments:a}:{},...u!=null?{usePreaggregations:u}:{},orderBy:[`${n} DESC`],limit:i}}function bS(n,e,t=50,i,a){return{dimensions:[n],filters:e,...i!=null&&i.length?{segments:i}:{},...a!=null?{usePreaggregations:a}:{},orderBy:[`${n} ASC`],limit:t}}function wS(n,e,t,i,a=500){return{metrics:n,dimensions:e,filters:t,orderBy:i,limit:a}}function SS(n,e,t=50,i,a){return{dimensions:n.dimensions,metrics:n.metrics,filters:e,...i!=null&&i.length?{segments:i}:{},...a!=null?{usePreaggregations:a}:{},ungrouped:!0,limit:t}}function _S(n,e){const t=n??[];return t.includes(e)?t.filter(i=>i!==e):[...t,e]}function ml(n,e,t){const i={...n};return df(t)?delete i[e]:i[e]=t,i}function NS(n,e){switch(e.type){case"hydrate":return e.state;case"setView":return{...n,view:e.view};case"setDashboardTab":return{...n,view:"explore",dashboardTab:e.tab,model:e.model,selectedMetric:e.metric,grain:e.grain,filters:{},dateRange:void 0,pivotDims:[],pivotMetrics:[]};case"setModel":return{...n,model:e.model,selectedMetric:e.metric,grain:e.grain,filters:{},pivotDims:[],pivotMetrics:[]};case"setMetric":return{...n,selectedMetric:e.metric};case"toggleFilter":{const t=n.filters[e.dim],i=e.mode??(t&&t.mode!=="contains"?t.mode:"include"),a=t&&t.mode===i?t.values:[],u=_S(a,e.value);return{...n,filters:ml(n.filters,e.dim,{mode:i,values:u})}}case"setFilterMode":{const t=n.filters[e.dim],i={mode:e.mode,values:(t==null?void 0:t.values)??[],pattern:t==null?void 0:t.pattern};return{...n,filters:ml(n.filters,e.dim,i)}}case"setFilterPattern":{const t=n.filters[e.dim],i={mode:"contains",values:(t==null?void 0:t.values)??[],pattern:e.pattern};return{...n,filters:ml(n.filters,e.dim,i)}}case"removeFilterValue":{const t=n.filters[e.dim];if(!t)return n;const i=t.values.filter(a=>a!==e.value);return{...n,filters:ml(n.filters,e.dim,{...t,values:i})}}case"removeFilterDim":{const t={...n.filters};return delete t[e.dim],{...n,filters:t}}case"clearFilters":return{...n,filters:{}};case"setGrain":return{...n,grain:e.grain};case"setTimezone":return{...n,timezone:e.timezone};case"setDateRange":return{...n,dateRange:e.range};case"setContextColumn":return{...n,contextColumn:e.column};case"setComparison":return{...n,comparison:e.comparison,comparisonRange:e.comparison==="custom"?e.range:void 0};case"setPivotDims":return{...n,pivotDims:e.dims};case"setPivotMetrics":return{...n,pivotMetrics:e.metrics};case"reset":return{...e.initial,view:n.view};default:return n}}function jS(n){return n.models.find(e=>e.timeDimension)??n.models[0]}function Ov(n,e){var t,i;return((t=n==null?void 0:n.metrics[0])==null?void 0:t.ref)??(n?(i=Di(e,n.name)[0])==null?void 0:i.ref:void 0)??""}function Tv(n,e,t){const i=Fs(n,e,t),a=(i==null?void 0:i.model)??jS(n),u=(i==null?void 0:i.selectedMetric)??Ov(a,n);return{view:i?"explore":"home",dashboardTab:i==null?void 0:i.id,model:(a==null?void 0:a.name)??"",selectedMetric:u,filters:{},grain:(i==null?void 0:i.grain)??(a==null?void 0:a.defaultGrain)??"month",timezone:"UTC",dateRange:void 0,contextColumn:"none",comparison:"previous",comparisonRange:void 0,pivotDims:[],pivotMetrics:[]}}function kS(n,e,t){const i=new URLSearchParams(t),a=i.get("metric"),u=i.get("grain"),f=a===n.selectedMetric&&e.metrics.some(m=>m.ref===a),h=u===n.grain;return{...n,view:"explore",dashboardTab:e.id,model:e.model.name,selectedMetric:f?n.selectedMetric:e.selectedMetric,grain:h?n.grain:e.grain}}const IS=["home","explore","pivot"],MS=new Set(Ld),DS=new Set(["none","pctTotal","delta","deltaPct"]),CS=new Set(["off","previous","year","custom"]),FS="none",OS="previous",TS="UTC";function AS(n){return n!=null&&/^[A-Za-z][A-Za-z0-9/_+-]{0,63}$/.test(n)}function md(n){if(n)try{return JSON.parse(n)}catch{return}}function ou(n){return Array.isArray(n)&&n.every(e=>typeof e=="string")}function yl(n){return n!=null&&/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2})?$/.test(n)&&!Number.isNaN(Date.parse(n))}const BS=new Set(["include","exclude","contains"]);function ES(n){if(ou(n))return{mode:"include",values:n};if(typeof n!="object"||n===null||Array.isArray(n))return null;const e=n;if(!BS.has(e.mode))return null;const t=e.mode,i=ou(e.values)?e.values:[],a=typeof e.pattern=="string"?e.pattern:void 0,u={mode:t,values:i,pattern:a};return df(u)?null:u}function RS(n){if(typeof n!="object"||n===null||Array.isArray(n))return null;const e={};for(const[t,i]of Object.entries(n)){const a=ES(i);a&&(e[t]=a)}return e}function LS(n){const e={};for(const[t,i]of Object.entries(n))e[t]=i.mode==="include"?i.values:i;return e}function US(n){const e=new URLSearchParams;return e.set("view",n.view),n.dashboardTab&&e.set("tab",n.dashboardTab),n.model&&e.set("model",n.model),n.selectedMetric&&e.set("metric",n.selectedMetric),n.grain&&e.set("grain",n.grain),n.timezone&&n.timezone!==TS&&e.set("tz",n.timezone),n.dateRange&&(e.set("from",n.dateRange.from),e.set("to",n.dateRange.to)),n.contextColumn!==FS&&e.set("ctx",n.contextColumn),n.comparison!==OS&&e.set("cmp",n.comparison),n.comparison==="custom"&&n.comparisonRange&&(e.set("cfrom",n.comparisonRange.from),e.set("cto",n.comparisonRange.to)),Object.keys(n.filters).length&&e.set("filters",JSON.stringify(LS(n.filters))),n.pivotDims.length&&e.set("pdims",JSON.stringify(n.pivotDims)),n.pivotMetrics.length&&e.set("pmetrics",JSON.stringify(n.pivotMetrics)),e.toString()}function $S(n,e){const t=new URLSearchParams(n),i={...e},a=t.get("view");a&&IS.includes(a)&&(i.view=a);const u=t.get("tab");u&&(i.dashboardTab=u);const f=t.get("model");f&&(i.model=f);const h=t.get("metric");h&&(i.selectedMetric=h);const m=t.get("grain");m&&MS.has(m)&&(i.grain=m);const g=t.get("tz");AS(g)&&(i.timezone=g);const v=t.get("from"),x=t.get("to");yl(v)&&yl(x)&&Date.parse(v)<=Date.parse(x)&&(i.dateRange={from:v,to:x});const b=t.get("ctx");b&&DS.has(b)&&(i.contextColumn=b);const w=t.get("cmp");w&&CS.has(w)&&(i.comparison=w);const _=t.get("cfrom"),C=t.get("cto");i.comparison==="custom"&&yl(_)&&yl(C)&&Date.parse(_)<=Date.parse(C)&&(i.comparisonRange={from:_,to:C});const A=RS(md(t.get("filters")));A&&(i.filters=A);const V=md(t.get("pdims"));ou(V)&&(i.pivotDims=V);const $=md(t.get("pmetrics"));return ou($)&&(i.pivotMetrics=$),i}const Av=I.createContext(null);function Gm(n){const e=US(n);return e?`?${e}`:""}function Ym(n,e,t,i){const a=$S(n,i),u=Fs(e,t,a.dashboardTab);return u?kS(a,u,n):a}const Qm=n=>n.startsWith("?")?n.slice(1):n;function PS({catalog:n,backend:e,dashboard:t,initialSearch:i,onSearchChange:a,children:u}){const f=I.useMemo(()=>Tv(n,t),[n,t]),[h,m]=I.useReducer(NS,void 0,()=>{const b=i??(typeof window>"u"?"":window.location.search);return Ym(b,n,t,f)}),g=I.useRef(i);I.useEffect(()=>{i===void 0||i===g.current||(g.current=i,Qm(i)!==Qm(Gm(h))&&m({type:"hydrate",state:Ym(i,n,t,f)}))},[i,h,n,t,f]);const v=I.useRef(a);v.current=a,I.useEffect(()=>{const b=Gm(h),w=v.current;if(w){w(b);return}typeof window>"u"||window.history.replaceState(null,"",`${window.location.pathname}${b}`)},[h]);const x=I.useMemo(()=>({state:h,dispatch:m,catalog:n,backend:e,initial:f,dashboard:t}),[h,n,e,f,t]);return c.jsx(Av.Provider,{value:x,children:u})}function ls(){const n=I.useContext(Av);if(!n)throw new Error("useExplorer must be used within ExplorerProvider");return n}const Ms={active:0,listeners:new Set};function Bv(){for(const n of Ms.listeners)n()}function zS(){Ms.active+=1,Bv()}function VS(){Ms.active=Math.max(0,Ms.active-1),Bv()}function Ev(){return I.useSyncExternalStore(n=>(Ms.listeners.add(n),()=>Ms.listeners.delete(n)),()=>Ms.active>0,()=>!1)}const WS=80;function En(n,e){const[t,i]=I.useState({loading:!1}),a=I.useRef(0),u=e?JSON.stringify(e):null;return I.useEffect(()=>{if(!e){i({loading:!1});return}const f=++a.current;i(m=>({result:m.result,resultKey:m.resultKey,loading:!0}));const h=setTimeout(()=>{zS(),n.runQuery(e).then(m=>{f===a.current&&i({result:m,resultKey:u??void 0,loading:!1})}).catch(m=>{f===a.current&&i({loading:!1,error:m instanceof Error?m.message:String(m)})}).finally(()=>VS())},WS);return()=>clearTimeout(h)},[u,n]),{...t,queryKey:u??void 0}}const HS=[{mode:"include",label:"Include"},{mode:"exclude",label:"Exclude"},{mode:"contains",label:"Contains"}],GS=50,Km=200;function Jm(n,e){const[t,i]=I.useState(n);return I.useEffect(()=>{const a=setTimeout(()=>i(n),e);return()=>clearTimeout(a)},[n,e]),t}function Rv({dim:n,model:e,onClose:t}){var H,N;const{state:i,dispatch:a,backend:u,catalog:f,dashboard:h}=ls(),m=I.useMemo(()=>Fs(f,h,i.dashboardTab),[f,h,i.dashboardTab]),g=i.filters[n.ref],[v,x]=I.useState((g==null?void 0:g.mode)??"include"),b=I.useMemo(()=>new Set((g==null?void 0:g.mode)!=="contains"?(g==null?void 0:g.values)??[]:[]),[g]),w=I.useRef(null),_=I.useRef(null),C=I.useId(),[A,V]=I.useState(""),$=Jm(A,Km),R=(g==null?void 0:g.mode)==="contains"?g.pattern??"":"",[O,E]=I.useState(R),D=Jm(O,Km);I.useEffect(()=>{var ee;const F=document.activeElement;return(ee=_.current)==null||ee.focus(),()=>{var he;return(he=F==null?void 0:F.focus)==null?void 0:he.call(F)}},[]),I.useEffect(()=>{function F(he){he.key==="Escape"&&(he.stopPropagation(),t())}function ee(he){w.current&&!w.current.contains(he.target)&&t()}return document.addEventListener("keydown",F,!0),document.addEventListener("mousedown",ee,!0),()=>{document.removeEventListener("keydown",F,!0),document.removeEventListener("mousedown",ee,!0)}},[t]),I.useEffect(()=>{v==="contains"&&D!==R&&a({type:"setFilterPattern",dim:n.ref,pattern:D})},[D,v,n.ref,a]);const L=((H=m==null?void 0:m.timeDimension)==null?void 0:H.ref)??((N=e.timeDimension)==null?void 0:N.ref),G=I.useMemo(()=>pu(f),[f]),W=I.useMemo(()=>{const F=[...(m==null?void 0:m.filters)??[],...Ts(i.filters,{timeRef:L,range:i.dateRange,excludeDim:n.ref,types:G})];if($.trim()){const ee=Tn(`%${Cv($.trim())}%`);F.push(`CAST(${n.ref} AS VARCHAR) ILIKE ${ee} ESCAPE '\\'`)}return F},[m,i.filters,L,i.dateRange,n.ref,$,G]),Y=v!=="contains",{result:P,loading:te,error:X}=En(u,Y?bS(n.ref,W,GS,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations):null),oe=Sr(n.ref),ae=I.useMemo(()=>P?P.rows.map(F=>{const ee=F[oe];return ee==null?er:String(ee)}):[],[P,oe]),se=!!P&&P.rows.length>0&&!P.columns.includes(oe),ne=Y&&(te||se);function T(F){x(F),g&&a({type:"setFilterMode",dim:n.ref,mode:F}),F==="contains"&&E(R)}function Q(F){var pe;if(F.key!=="Tab")return;const ee=(pe=w.current)==null?void 0:pe.querySelectorAll('button, input, [href], select, textarea, [tabindex]:not([tabindex="-1"])');if(!ee||ee.length===0)return;const he=ee[0],re=ee[ee.length-1];F.shiftKey&&document.activeElement===he?(F.preventDefault(),re.focus()):!F.shiftKey&&document.activeElement===re&&(F.preventDefault(),he.focus())}return c.jsxs("div",{ref:w,role:"dialog","aria-modal":"true","aria-labelledby":C,onKeyDown:Q,className:"absolute left-0 z-50 mt-1 w-64 border border-line bg-surface p-2 text-2xs shadow-lg",children:[c.jsxs("div",{id:C,className:"mb-2 flex items-baseline justify-between gap-2",children:[c.jsx("span",{className:"truncate font-semibold text-ink",children:n.label}),c.jsx("button",{type:"button","aria-label":"Close filter editor",onClick:t,className:"grid size-4 place-items-center rounded-full bg-surface-soft text-faint hover:bg-line hover:text-ink",children:"×"})]}),c.jsx("div",{role:"group","aria-label":"Filter mode",className:"mb-2 grid grid-cols-3 gap-px border border-line bg-line",children:HS.map(({mode:F,label:ee})=>c.jsx("button",{type:"button","aria-pressed":v===F,onClick:()=>T(F),className:`px-1.5 py-1 text-center ${v===F?"bg-accent-soft font-medium text-accent":"bg-surface text-muted hover:bg-surface-soft"}`,children:ee},F))}),v==="contains"?c.jsx("input",{ref:_,type:"text","aria-label":`${n.label} contains`,placeholder:"Substring…",value:O,onChange:F=>E(F.target.value),className:"w-full border border-line bg-surface px-1.5 py-1 text-2xs text-ink placeholder:text-faint"}):c.jsxs(c.Fragment,{children:[c.jsx("input",{ref:_,type:"text","aria-label":`Search ${n.label} values`,placeholder:"Search values…",value:A,onChange:F=>V(F.target.value),className:"w-full border border-line bg-surface px-1.5 py-1 text-2xs text-ink placeholder:text-faint"}),c.jsx("div",{className:"mt-2 max-h-56 overflow-y-auto",role:"group","aria-label":`${n.label} values`,children:X?c.jsx("p",{className:"px-1 py-2 text-danger",children:X}):ne?c.jsx("div",{className:"space-y-1.5 p-1",children:[0,1,2,3,4].map(F=>c.jsx("div",{className:"skeleton h-4 w-full"},F))}):ae.length===0?c.jsx("p",{className:"px-1 py-2 text-faint",children:"No values"}):ae.map(F=>{const ee=b.has(F);return c.jsxs("label",{className:"flex cursor-pointer items-center gap-2 px-1 py-1 hover:bg-surface-soft",children:[c.jsx("input",{type:"checkbox",checked:ee,onChange:()=>a({type:"toggleFilter",dim:n.ref,value:F,mode:v}),className:"size-3 accent-[var(--accent)]"}),c.jsx("span",{className:"min-w-0 truncate text-ink",children:rs(F)})]},F)})})]}),c.jsxs("div",{className:"mt-2 flex items-center justify-between border-t border-line pt-2",children:[c.jsx("button",{type:"button",onClick:()=>a({type:"removeFilterDim",dim:n.ref}),className:"text-muted underline-offset-2 hover:text-ink hover:underline",children:"Clear"}),c.jsx("button",{type:"button",onClick:t,className:"border border-line px-2 py-1 text-muted hover:bg-surface-soft",children:"Done"})]})]})}function YS({model:n}){const e=n.dimensions.filter(m=>m.type!=="time"),[t,i]=I.useState(!1),[a,u]=I.useState(null),f=I.useRef(null);I.useEffect(()=>{if(!t)return;function m(v){v.key==="Escape"&&h()}function g(v){a||f.current&&!f.current.contains(v.target)&&h()}return document.addEventListener("keydown",m,!0),document.addEventListener("mousedown",g,!0),()=>{document.removeEventListener("keydown",m,!0),document.removeEventListener("mousedown",g,!0)}},[t,a]);function h(){i(!1),u(null)}return e.length===0?null:c.jsxs("span",{ref:f,className:"relative inline-flex",children:[c.jsx("button",{type:"button","aria-haspopup":"dialog","aria-expanded":t,onClick:()=>t?h():i(!0),className:"inline-flex h-7 shrink-0 items-center rounded-full border border-dashed border-line px-3 text-xs text-muted hover:border-faint hover:text-ink",children:"+ Filter"}),t&&!a?c.jsx("div",{role:"menu","aria-label":"Add a filter for a dimension",className:"absolute left-0 z-50 mt-1 max-h-64 w-48 overflow-y-auto rounded-xl border border-line bg-surface p-1.5 text-2xs shadow-[var(--shadow)]",children:e.map(m=>c.jsx("button",{type:"button",role:"menuitem",onClick:()=>u(m),className:"block w-full truncate px-1.5 py-1 text-left text-muted hover:bg-surface-soft hover:text-ink",children:m.label},m.ref))}):null,t&&a?c.jsx(Rv,{dim:a,model:n,onClose:h}):null]})}function yd(n,e){return n.includes(e)?n.filter(t=>t!==e):[...n,e]}function qm({metric:n,selected:e,multiple:t,onSelect:i}){return c.jsxs("button",{type:"button","data-catalog-metric":n.ref,"data-selected":e||void 0,"aria-pressed":e,title:n.description,onClick:i,className:"flex w-full items-center justify-between gap-2 border-l-2 px-3 py-1 text-left text-xs hover:bg-surface-soft data-[selected=true]:border-l-accent data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent border-l-transparent text-muted",children:[c.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[t?c.jsx("span",{"aria-hidden":"true",className:"w-3 shrink-0 text-center text-accent",children:e?"✓":""}):null,c.jsx("span",{className:"truncate",children:n.label})]}),n.agg?c.jsx("span",{className:"shrink-0 text-2xs text-faint",children:n.agg}):null]})}function QS({dimension:n,selected:e,onSelect:t}){return c.jsxs("button",{type:"button","data-catalog-dimension":n.ref,"data-selected":e||void 0,"aria-pressed":e,title:n.description,onClick:t,className:"flex w-full items-center justify-between gap-2 border-l-2 border-l-transparent px-3 py-1 text-left text-xs text-muted hover:bg-surface-soft data-[selected=true]:border-l-accent data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent",children:[c.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[c.jsx("span",{"aria-hidden":"true",className:"w-3 shrink-0 text-center",children:e?"✓":""}),c.jsx("span",{className:"truncate",children:n.label})]}),c.jsx("span",{className:"shrink-0 text-2xs text-faint",children:n.type==="time"?"time":""})]})}function KS(){const{state:n,dispatch:e,catalog:t}=ls(),i=t.models.find(h=>h.name===n.model),a=Di(t,n.model),u=n.view==="pivot",f=n.pivotMetrics.length?n.pivotMetrics:n.selectedMetric?[n.selectedMetric]:[];return c.jsxs("nav",{"aria-label":"Semantic layer catalog",className:"flex flex-col gap-4 py-3 text-sm",children:[c.jsxs("section",{className:"px-3",children:[c.jsx("h2",{className:"mb-1 text-xs font-medium text-muted",children:"Model"}),c.jsx("select",{"aria-label":"Model",value:n.model,onChange:h=>{var v,x;const m=t.models.find(b=>b.name===h.target.value),g=((v=m==null?void 0:m.metrics[0])==null?void 0:v.ref)??((x=Di(t,h.target.value)[0])==null?void 0:x.ref)??"";e({type:"setModel",model:h.target.value,metric:g,grain:(m==null?void 0:m.defaultGrain)??"month"})},className:"w-full border border-line bg-surface px-2 py-1 text-xs text-ink",children:t.models.map(h=>c.jsx("option",{value:h.name,children:h.label},h.name))})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-1 px-3 text-xs font-medium text-muted",children:"Metrics"}),c.jsx("div",{children:((i==null?void 0:i.metrics)??[]).map(h=>c.jsx(qm,{metric:h,selected:u?f.includes(h.ref):n.selectedMetric===h.ref,multiple:u,onSelect:()=>e(u?{type:"setPivotMetrics",metrics:yd(f,h.ref)}:{type:"setMetric",metric:h.ref})},h.ref))}),a.length?c.jsxs(c.Fragment,{children:[c.jsx("h3",{className:"mb-1 mt-3 px-3 text-xs font-medium text-muted",children:"Shared metrics"}),c.jsx("div",{children:a.map(h=>c.jsx(qm,{metric:h,selected:u?f.includes(h.ref):n.selectedMetric===h.ref,multiple:u,onSelect:()=>e(u?{type:"setPivotMetrics",metrics:yd(f,h.ref)}:{type:"setMetric",metric:h.ref})},h.ref))})]}):null]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-1 px-3 text-xs font-medium text-muted",children:"Dimensions"}),u?c.jsx("div",{children:((i==null?void 0:i.dimensions)??[]).map(h=>c.jsx(QS,{dimension:h,selected:n.pivotDims.includes(h.ref),onSelect:()=>e({type:"setPivotDims",dims:yd(n.pivotDims,h.ref)})},h.ref))}):c.jsx("ul",{className:"px-3 text-xs text-muted",children:((i==null?void 0:i.dimensions)??[]).map(h=>c.jsxs("li",{className:"flex items-center justify-between gap-2 py-0.5",title:h.description,children:[c.jsx("span",{className:"truncate",children:h.label}),c.jsx("span",{className:"shrink-0 text-2xs text-faint",children:h.type==="time"?"time":""})]},h.ref))})]})]})}class JS extends I.Component{constructor(){super(...arguments);Mn(this,"state",{})}static getDerivedStateFromError(t){return{error:t}}render(){return this.state.error?c.jsx("div",{className:"p-4",children:c.jsxs("div",{className:"border border-danger/40 bg-surface p-4",children:[c.jsx("p",{className:"text-sm font-semibold text-danger",children:"Something went wrong rendering this view."}),c.jsx("p",{className:"mt-1 break-words text-xs text-muted",children:this.state.error.message}),c.jsxs("div",{className:"mt-3 flex gap-2",children:[c.jsx("button",{type:"button",onClick:()=>this.setState({error:void 0}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Retry"}),c.jsx("button",{type:"button",onClick:()=>window.location.reload(),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Reload"})]})]})}):this.props.children}}const qS=[{key:"off",label:"Off"},{key:"previous",label:"Previous period"},{key:"year",label:"Previous year"},{key:"custom",label:"Custom range"}];function Lv({range:n,disabled:e,onChange:t,comparison:i,comparisonRange:a,onComparisonChange:u}){const f=I.useRef(null),[h,m]=I.useState((n==null?void 0:n.from)??""),[g,v]=I.useState((n==null?void 0:n.to)??""),[x,b]=I.useState((a==null?void 0:a.from)??""),[w,_]=I.useState((a==null?void 0:a.to)??"");function C(){f.current&&(f.current.open=!1)}function A(O){t(O),C()}function V(O){O==="custom"?u("custom",x&&w?{from:x,to:w}:void 0):u(O)}const $=n?`${n.from} → ${n.to}`:"All time",R=!n;return c.jsxs("details",{ref:f,className:"relative text-xs",onToggle:O=>{e&&(O.currentTarget.open=!1)},children:[c.jsxs("summary",{"aria-disabled":e||void 0,tabIndex:e?-1:void 0,onClick:O=>e&&O.preventDefault(),onKeyDown:O=>{e&&(O.key==="Enter"||O.key===" ")&&O.preventDefault()},className:`flex h-7 cursor-pointer items-center gap-1.5 rounded-full border border-line bg-surface px-3 text-ink ${e?"cursor-not-allowed opacity-50":""}`,children:[c.jsx("span",{className:"text-faint",children:"Range"}),c.jsx("span",{className:"tnum",children:$}),c.jsx("span",{"aria-hidden":"true",className:"text-faint",children:"▾"})]}),c.jsxs("div",{className:"absolute right-0 z-50 mt-1 w-64 rounded-xl border border-line bg-surface p-1.5 shadow-[var(--shadow)]",children:[c.jsx("button",{type:"button",onClick:()=>A(void 0),className:"w-full rounded-lg px-2.5 py-1.5 text-left text-xs text-muted hover:bg-surface-soft hover:text-ink",children:"All time"}),c.jsx("div",{className:"grid grid-cols-2",children:pS.map(O=>c.jsx("button",{type:"button",onClick:()=>A(mS(O.days)),className:"rounded-lg px-2.5 py-1.5 text-left text-xs text-muted hover:bg-surface-soft hover:text-ink",children:O.label},O.key))}),c.jsxs("div",{className:"mt-2 px-1 pb-1",children:[c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx("input",{type:"date","aria-label":"From date",value:h,onChange:O=>m(O.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"}),c.jsx("span",{className:"text-faint",children:"→"}),c.jsx("input",{type:"date","aria-label":"To date",value:g,onChange:O=>v(O.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"})]}),c.jsx("button",{type:"button",disabled:!h||!g,onClick:()=>A({from:h,to:g}),className:"mt-1.5 inline-flex h-7 w-full items-center justify-center rounded-full border border-accent bg-accent-soft text-xs font-medium text-accent hover:bg-accent hover:text-surface disabled:pointer-events-none disabled:opacity-50",children:"Apply custom range"})]}),c.jsxs("div",{className:"mt-1 px-1 pb-1","data-testid":"comparison-picker",children:[c.jsx("p",{className:"mb-1 px-1.5 text-2xs text-faint",children:"Compare to"}),c.jsx("div",{className:`grid grid-cols-2 ${R?"opacity-50":""}`,children:qS.map(O=>c.jsx("button",{type:"button",disabled:R,"data-comparison":O.key,"data-active":i===O.key||void 0,onClick:()=>V(O.key),className:"rounded-lg px-2.5 py-1.5 text-left text-xs text-muted hover:bg-surface-soft hover:text-ink data-[active=true]:bg-accent-soft data-[active=true]:text-accent",children:O.label},O.key))}),i==="custom"&&!R?c.jsxs("div",{className:"mt-1.5",children:[c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx("input",{type:"date","aria-label":"Comparison from date",value:x,onChange:O=>b(O.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"}),c.jsx("span",{className:"text-faint",children:"→"}),c.jsx("input",{type:"date","aria-label":"Comparison to date",value:w,onChange:O=>_(O.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"})]}),c.jsx("button",{type:"button",disabled:!x||!w,onClick:()=>u("custom",{from:x,to:w}),className:"mt-1.5 inline-flex h-7 w-full items-center justify-center rounded-full border border-accent bg-accent-soft text-xs font-medium text-accent hover:bg-accent hover:text-surface disabled:pointer-events-none disabled:opacity-50",children:"Apply comparison"})]}):null]})]})]})}function Ud(n){const[e,t]=I.useState(!1);if(!("dim"in n))return c.jsxs("span",{"data-dimension":n.dimension,"data-value":n.value,className:"inline-flex max-w-full items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 text-2xs leading-4 text-muted",children:[c.jsxs("span",{className:"truncate",children:[c.jsxs("span",{className:"text-faint",children:[n.dimensionLabel??n.dimension,":"]})," ",n.value]}),n.onRemove?c.jsx("button",{type:"button","aria-label":`Remove filter ${n.value}`,onClick:n.onRemove,className:"-mr-0.5 px-0.5 text-faint hover:text-ink",children:"×"}):null]});const{dim:i,model:a,filter:u,onRemove:f}=n;return c.jsxs("span",{className:"relative inline-flex max-w-full items-center","data-dimension":i.ref,"data-mode":u.mode,children:[c.jsxs("span",{className:"inline-flex max-w-full items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 text-2xs leading-4 text-muted",children:[c.jsxs("button",{type:"button","aria-label":`Edit filter ${i.label}`,"aria-haspopup":"dialog","aria-expanded":e,onClick:()=>t(h=>!h),className:"min-w-0 truncate text-left hover:text-ink",children:[c.jsx("span",{className:"text-faint",children:i.label})," ",bb(u)]}),c.jsx("button",{type:"button","aria-label":`Remove filter ${i.label}`,onClick:f,className:"grid size-3.5 shrink-0 place-items-center rounded-full bg-surface-soft text-faint hover:bg-line hover:text-ink",children:"×"})]}),e?c.jsx(Rv,{dim:i,model:a,onClose:()=>t(!1)}):null]})}function $d({grain:n,options:e,disabled:t,onChange:i}){return c.jsxs("label",{className:"flex items-center gap-1.5 text-xs text-faint",children:[c.jsx("span",{className:"hidden sm:inline",children:"Grain"}),c.jsx("select",{"aria-label":"Time grain",value:n,disabled:t,onChange:a=>i(a.target.value),className:"h-7 rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50",children:e.map(a=>c.jsx("option",{value:a,children:Le(a)},a))})]})}const ZS=["UTC","America/Los_Angeles","America/Denver","America/Chicago","America/New_York","America/Sao_Paulo","Europe/London","Europe/Berlin","Europe/Paris","Europe/Moscow","Asia/Dubai","Asia/Kolkata","Asia/Singapore","Asia/Shanghai","Asia/Tokyo","Australia/Sydney"];let gl=null;function Zm(){if(gl)return gl;const n=typeof Intl.supportedValuesOf=="function"?Intl.supportedValuesOf("timeZone"):[];return gl=[...new Set(["UTC",...n])].sort(),gl}function XS(n){if(!n)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:n}),!0}catch{return!1}}function e_(n,e=new Date){var t;try{const u=(((t=new Intl.DateTimeFormat("en-US",{timeZone:n,timeZoneName:"shortOffset"}).formatToParts(e).find(g=>g.type==="timeZoneName"))==null?void 0:t.value)??"").match(/([+-])(\d{1,2})(?::(\d{2}))?/);if(!u)return n==="UTC"?"+00:00":"";const f=u[1],h=u[2].padStart(2,"0"),m=u[3]??"00";return`${f}${h}:${m}`}catch{return""}}const Xm="__search__";function t_({timezone:n,disabled:e,onChange:t}){const i=I.useId(),[a,u]=I.useState(!1),[f,h]=I.useState(""),m=I.useMemo(()=>{const b=new Set(ZS);return n&&b.add(n),[...b]},[n]),g=I.useMemo(()=>a?Zm():[],[a]);function v(b){const w=b.trim();XS(w)&&(t(w),u(!1),h(""))}if(a)return c.jsxs("label",{className:"flex items-center gap-1.5 text-2xs text-faint",children:[c.jsx("span",{className:"hidden sm:inline",children:"Zone"}),c.jsx("input",{type:"text",list:i,autoFocus:!0,"aria-label":"Search timezone",placeholder:"Region/City…",value:f,disabled:e,onChange:b=>{h(b.target.value),Zm().includes(b.target.value)&&v(b.target.value)},onKeyDown:b=>{b.key==="Enter"?v(f):b.key==="Escape"&&(u(!1),h(""))},onBlur:()=>{u(!1),h("")},className:"h-7 w-36 rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50"}),c.jsx("datalist",{id:i,children:g.map(b=>c.jsx("option",{value:b},b))})]});const x=e_(n);return c.jsxs("label",{className:"flex items-center gap-1.5 text-2xs text-faint",children:[c.jsx("span",{className:"hidden sm:inline",children:"Zone"}),c.jsxs("select",{"aria-label":"Timezone",value:n,disabled:e,onChange:b=>{b.target.value===Xm?u(!0):t(b.target.value)},className:"h-7 max-w-[11rem] rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50",children:[m.map(b=>c.jsxs("option",{value:b,children:[b,b==="UTC"?"":x&&b===n?` (${x})`:""]},b)),c.jsx("option",{value:Xm,children:"Search…"})]})]})}function n_(n,e,t){if(t==="count")return n.length;const i=n.map(u=>typeof u[e]=="number"?u[e]:Number(u[e])).filter(Number.isFinite);if(i.length===0)return Number.NaN;if(t==="min")return Math.min(...i);if(t==="max")return Math.max(...i);const a=i.reduce((u,f)=>u+f,0);return t==="avg"?a/i.length:a}const r_={sum:"Σ",avg:"avg",min:"min",max:"max",count:"n"};function Ui({columns:n,rows:e,loading:t,sortKey:i,sortDir:a,onSort:u,renderCell:f,pageSize:h=50,searchable:m,totals:g,stickyHeader:v=!0}){const[x,b]=I.useState(0),[w,_]=I.useState(""),C=I.useMemo(()=>{const D=w.trim().toLowerCase();return!m||!D?e:e.filter(L=>n.some(G=>String(L[G.key]??"").toLowerCase().includes(D)))},[e,n,w,m]),{paginate:A,pageCount:V,safePage:$,start:R,visibleRows:O}=yb(C,x,h);I.useEffect(()=>{b(0)},[e,h,i,a,w]);const E=g&&n.some(D=>g[D.key]);return c.jsxs("div",{children:[m?c.jsxs("div",{className:"mb-2 flex items-center justify-end gap-2",children:[w?c.jsxs("span",{className:"whitespace-nowrap text-2xs text-faint tnum",children:[C.length.toLocaleString()," of ",e.length.toLocaleString()]}):null,c.jsx("input",{type:"search","aria-label":"Search rows",placeholder:"Search…",value:w,onChange:D=>_(D.target.value),className:"h-7 w-full max-w-64 rounded-full border border-line bg-surface px-2.5 text-xs text-ink placeholder:text-faint"})]}):null,c.jsx("div",{className:"overflow-auto border border-line bg-surface",children:c.jsxs("table",{className:"w-max min-w-full border-collapse text-xs","data-testid":"pivot-table",children:[c.jsx("thead",{children:c.jsx("tr",{className:"bg-surface-soft",children:n.map(D=>{const L=i===D.key;return c.jsx("th",{className:`max-w-80 whitespace-nowrap border-b border-line bg-surface-soft px-3 py-1.5 font-semibold text-faint ${D.numeric?"min-w-32 text-right":"min-w-40 text-left"} ${v?"sticky top-0 z-10":""}`,children:D.sortable&&u?c.jsxs("button",{type:"button",onClick:()=>u(D.key),"aria-label":`Sort by ${D.label}${L?`, currently ${a==="asc"?"ascending":"descending"}`:""}`,className:`table-sort inline-flex max-w-full items-center gap-1 whitespace-nowrap hover:text-ink ${L?"text-ink":""}`,children:[c.jsx("span",{className:"truncate",children:D.label}),c.jsx("span",{"aria-hidden":"true",className:"text-[9px]",children:L?a==="asc"?"▲":"▼":"↕"})]}):c.jsx("span",{className:"block truncate",title:D.label,children:D.label})},D.key)})})}),c.jsx("tbody",{children:t&&C.length===0?c.jsx("tr",{children:c.jsx("td",{colSpan:n.length,className:"px-3 py-6 text-center text-faint",children:"Loading…"})}):C.length===0?c.jsx("tr",{children:c.jsx("td",{colSpan:n.length,className:"px-3 py-6 text-center text-faint",children:w?"No matching rows":"No rows"})}):O.map((D,L)=>c.jsx("tr",{className:"hover:bg-surface-soft",children:n.map(G=>{const W=f(G,D[G.key]);return c.jsx("td",{className:`max-w-80 whitespace-nowrap border-b border-line px-3 py-1.5 text-muted ${G.numeric?"min-w-32 text-right font-mono tnum text-ink":"min-w-40"}`,children:c.jsx("span",{className:"block max-w-80 truncate",title:W,children:W})},G.key)})},R+L))}),E&&C.length>0?c.jsx("tfoot",{children:c.jsx("tr",{className:"bg-surface-soft","data-testid":"table-totals",children:n.map(D=>{const L=g==null?void 0:g[D.key];if(!L)return c.jsx("td",{className:"border-t border-line px-3 py-1.5"},D.key);const G=n_(C,D.key,L),W=L==="count"?G.toLocaleString():Number.isFinite(G)?f(D,G):"—";return c.jsxs("td",{"data-total":L,className:`whitespace-nowrap border-t border-line px-3 py-1.5 font-mono tnum font-medium text-ink ${D.numeric?"text-right":"text-left"}`,children:[c.jsx("span",{"aria-hidden":"true",className:"mr-1 text-2xs text-faint",children:r_[L]}),W]},D.key)})})}):null]})}),A?c.jsxs("div",{"data-testid":"pivot-table-pager",className:"mt-1.5 flex items-center justify-between gap-3 text-2xs text-faint",children:[c.jsxs("span",{className:"tnum",children:[R+1,"–",Math.min(R+h,C.length)," of ",C.length.toLocaleString(),t?" · Updating…":""]}),c.jsxs("div",{className:"flex gap-1",children:[c.jsx("button",{type:"button",disabled:$===0,onClick:()=>b(D=>Math.max(0,D-1)),className:"table-pager-button px-2 py-1 text-muted hover:text-ink disabled:cursor-not-allowed disabled:opacity-40",children:"Prev"}),c.jsx("button",{type:"button",disabled:$>=V-1,onClick:()=>b(D=>Math.min(V-1,D+1)),className:"table-pager-button px-2 py-1 text-muted hover:text-ink disabled:cursor-not-allowed disabled:opacity-40",children:"Next"})]})]}):null]})}function s_(n,e){const t=e.filter(i=>n.some(a=>a.ref===i));return t.length?t:n.slice(0,6).map(i=>i.ref)}function i_(){var $,R;const[n,e]=I.useState(!1),{state:t,catalog:i,backend:a,dashboard:u}=ls(),f=i.models.find(O=>O.name===t.model),h=I.useMemo(()=>Fs(i,u,t.dashboardTab),[i,u,t.dashboardTab]),m=(h==null?void 0:h.dimensions)??(f==null?void 0:f.dimensions)??[],g=s_(m,t.pivotDims),v=(($=h==null?void 0:h.timeDimension)==null?void 0:$.ref)??((R=f==null?void 0:f.timeDimension)==null?void 0:R.ref),x=I.useMemo(()=>pu(i),[i]),b=I.useMemo(()=>[...(h==null?void 0:h.filters)??[],...Ts(t.filters,{timeRef:v,range:t.dateRange,types:x})],[h,t.filters,v,t.dateRange,x]),w=n&&f?SS({dimensions:g,metrics:[]},b,50,h==null?void 0:h.segments,h==null?void 0:h.usePreaggregations):null,{result:_,loading:C,error:A}=En(a,w),V=[...g.map(O=>{var E;return{key:Sr(O),label:((E=m.find(D=>D.ref===O))==null?void 0:E.label)??Le(O)}})];return c.jsxs("section",{"data-testid":"row-preview-drawer","data-open":n||void 0,className:"absolute inset-x-0 bottom-0 z-30 border-t border-line bg-surface shadow-[0_-8px_24px_rgba(0,0,0,0.16)]",children:[c.jsxs("button",{type:"button","aria-expanded":n,onClick:()=>e(O=>!O),className:"flex h-8 w-full items-center justify-between px-3 text-left text-xs font-medium text-muted hover:bg-surface-soft hover:text-ink",children:[c.jsx("span",{children:"Rows preview"}),c.jsx("span",{"aria-hidden":"true",children:n?"▼":"▲"})]}),n?c.jsx("div",{className:"max-h-[45vh] overflow-auto border-t border-line",children:A?c.jsx("p",{role:"alert",className:"p-3 text-xs text-danger",children:A}):V.length===0?c.jsx("p",{className:"p-3 text-xs text-faint",children:"No preview fields are available."}):c.jsx(Ui,{columns:V,rows:(_==null?void 0:_.rows)??[],loading:C,pageSize:10,renderCell:(O,E)=>E==null||E===""?"—":String(E)})}):null]})}function hf({tone:n,title:e,message:t}){const i=n==="danger";return c.jsx("div",{className:`grid min-h-[200px] place-items-center border bg-surface p-6 text-center ${i?"border-danger/40":"border-line"}`,"data-state":n,role:i?"alert":"status","aria-live":i?"assertive":"polite",children:c.jsxs("div",{className:"max-w-md",children:[n==="loading"?c.jsx("span",{"aria-hidden":"true",className:"motion-safe:animate-pulse inline-block size-2 rounded-full bg-accent"}):null,e?c.jsx("h3",{className:`text-sm font-semibold ${i?"text-danger":"text-ink"}`,children:e}):null,c.jsx("p",{className:`mt-1 text-xs ${i?"text-danger":"text-muted"}`,children:t})]})})}function mu({title:n="Loading",message:e="Loading metrics…"}){return c.jsx(hf,{tone:"loading",title:n,message:e})}function Xn({title:n="No results",message:e}){return c.jsx(hf,{tone:"muted",title:n,message:e})}function $i({title:n="Query failed",message:e}){return c.jsx(hf,{tone:"danger",title:n,message:e})}function gd({status:n}){const e=n==="ok"?"bg-success":n==="loading"?"bg-faint animate-pulse":"bg-line";return c.jsx("span",{"aria-hidden":"true",className:`inline-block size-2 rounded-full ${e}`})}const Uv="sidemantic-theme";function pf(){var e;const n=localStorage.getItem(Uv);return n==="light"||n==="dark"?n:(e=window.matchMedia)!=null&&e.call(window,"(prefers-color-scheme: dark)").matches?"dark":"light"}function $v(n){document.documentElement.dataset.theme=n}function o_(){$v(pf())}function a_(){const n=pf()==="dark"?"light":"dark";return localStorage.setItem(Uv,n),$v(n),n}function Ko(){const[n,e]=I.useState(pf());return c.jsx("button",{type:"button","aria-label":n==="dark"?"Switch to light theme":"Switch to dark theme",title:n==="dark"?"Light theme":"Dark theme",onClick:()=>e(a_()),className:"grid size-7 place-items-center border border-line bg-surface text-faint hover:border-faint hover:text-ink",children:n==="dark"?c.jsxs("svg",{viewBox:"0 0 24 24",className:"size-3.5",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[c.jsx("circle",{cx:"12",cy:"12",r:"4"}),c.jsx("path",{d:"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"})]}):c.jsx("svg",{viewBox:"0 0 24 24",className:"size-3.5",fill:"none",stroke:"currentColor",strokeWidth:"2",children:c.jsx("path",{d:"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z"})})})}const Oo=[{key:"explore",label:"Explore"},{key:"pivot",label:"Pivot"}];function Pv({view:n,onChange:e}){const t=I.useRef(null);function i(a){const u=Math.max(0,Oo.findIndex(h=>h.key===n)),f=Oo[(u+a+Oo.length)%Oo.length];e(f.key),window.requestAnimationFrame(()=>{var h,m;return(m=(h=t.current)==null?void 0:h.querySelector(`[data-view="${f.key}"]`))==null?void 0:m.focus()})}return c.jsx("div",{ref:t,role:"tablist","aria-label":"View",className:"inline-flex items-center gap-0.5 rounded-full border border-line bg-surface p-px",children:Oo.map(a=>c.jsx("button",{role:"tab",type:"button","aria-selected":n===a.key,tabIndex:n===a.key?0:-1,"data-view":a.key,"data-selected":n===a.key||void 0,onClick:()=>e(a.key),onKeyDown:u=>{u.key==="ArrowLeft"?(u.preventDefault(),i(-1)):u.key==="ArrowRight"&&(u.preventDefault(),i(1))},className:"inline-flex h-6 items-center rounded-full px-2.5 text-xs font-medium text-muted hover:bg-surface-soft hover:text-ink data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent",children:a.label},a.key))})}const zv="dashboard_filters",Vv="dashboard_ranges",Wv="dashboard_filter_sources",Hv="dashboard_range_sources",Gv="dashboard_chart_filters",Yv="dashboard_chart_ranges";function l_(n,e){if(n==="/explore")return!0;const t=new URLSearchParams(e).get("view");return t==="explore"||t==="pivot"}function mf(n,e){var i,a;if(!e||!(n.query.dimensions??[]).includes(e))return!1;const t=(i=n.interactions)==null?void 0:i.select;return t===!0?!0:t?!((a=t.fields)!=null&&a.length)||t.fields.includes(e):!1}function u_(n){return(n.query.dimensions??[]).find(e=>mf(n,e))}function c_(n,e){var i,a;if(!e||!(n.query.dimensions??[]).includes(e))return!1;const t=(i=n.interactions)==null?void 0:i.brush;return t===!0?!0:!t||t.channel&&t.channel!=="x"?!1:!((a=t.fields)!=null&&a.length)||t.fields.includes(e)}function au(n){return n==null?er:String(n)}function d_(n){let e=n.trim().replaceAll(/[^A-Za-z0-9_]/g,"_").replaceAll(/^_+|_+$/g,"")||"field";return/^\d/.test(e)&&(e=`field_${e}`),e}function xr(n,e){const t=Sr(n),i=d_(n);return i!==t&&e.includes(i)?i:e.includes(t)?t:e.find(a=>a.endsWith(t))??t}function f_(n){var t;const e=(t=n.encoding)==null?void 0:t.y;return Array.isArray(e)&&e.length?e:typeof e=="string"?[e]:n.query.metrics.slice(0,1)}function h_(n,e,t,i,a){return Object.fromEntries([[e,t],...i.map((u,f)=>[u,a[f]])].filter(u=>typeof u[1]=="string"&&mf(n,u[0])))}function p_(n,e,t){return[e,...t].some(i=>mf(n,i))}const m_=new Set(["second","minute","hour","day","week","month","quarter","year"]);function Ds(n){const e=n.lastIndexOf("__");if(e<0)return null;const t=n.slice(e+2);return m_.has(t)?{baseDimension:n.slice(0,e),grain:t}:null}function Qv(n,e){var u,f;if(n.type&&n.type!=="auto")return n.type;const t=((u=n.encoding)==null?void 0:u.x)??((f=n.query.dimensions)==null?void 0:f[0])??"",i=Ds(t);return(e[t]??(i?e[i.baseDimension]:void 0))==="time"?"line":"bar"}function Kv(n,e){const t=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?$/.test(n)?`${n}Z`:n,i=new Date(t);return Number.isFinite(i.getTime())?(e==="second"?i.setUTCSeconds(i.getUTCSeconds()+1):e==="minute"?i.setUTCMinutes(i.getUTCMinutes()+1):e==="hour"?i.setUTCHours(i.getUTCHours()+1):e==="day"?i.setUTCDate(i.getUTCDate()+1):e==="week"?i.setUTCDate(i.getUTCDate()+7):e==="month"?i.setUTCMonth(i.getUTCMonth()+1):e==="quarter"?i.setUTCMonth(i.getUTCMonth()+3):e==="year"&&i.setUTCFullYear(i.getUTCFullYear()+1),/^\d{4}-\d{2}-\d{2}$/.test(n)?i.toISOString().slice(0,10):i.toISOString()):null}function Jv(n,e){const t=Ds(n);if(t){const i=Kv(e.to,t.grain);return i?`${t.baseDimension} >= ${Tn(e.from)} AND ${t.baseDimension} < ${Tn(i)}`:`${t.baseDimension} >= ${Tn(e.from)} AND ${t.baseDimension} <= ${Tn(e.to)}`}return`${n} >= ${Tn(e.from)} AND ${n} <= ${Tn(e.to)}`}function y_(n,e,t){const i=Ds(n);return i?e===er?[`${i.baseDimension} IS NULL`]:[Jv(n,{from:e,to:e})]:Fv({[n]:{mode:"include",values:[e]}},{types:t})}function lu(n,e){const t=n.tabs.find(i=>i.charts.includes(e));return`${(t==null?void 0:t.id)??"dashboard"}:${e.id}`}function yf(n,e,t){var f,h,m,g,v;const i=((h=(f=n.defaults)==null?void 0:f.interactions)==null?void 0:h.scope)??"dashboard";if(i==="dashboard")return t;if(i==="chart"){const x=lu(n,e);return{filters:{...Object.fromEntries(Object.entries(t.filters).filter(([b])=>t.filterSources[b]===x)),...((m=t.chartFilters)==null?void 0:m[x])??{}},ranges:{...Object.fromEntries(Object.entries(t.ranges).filter(([b])=>t.rangeSources[b]===x)),...((g=t.chartRanges)==null?void 0:g[x])??{}}}}const a=((v=n.tabs.find(x=>x.charts.includes(e)))==null?void 0:v.charts)??[e],u=new Set(a.flatMap(x=>x.query.dimensions??[]));return{filters:Object.fromEntries(Object.entries(t.filters).filter(([x])=>u.has(x))),ranges:Object.fromEntries(Object.entries(t.ranges).filter(([x])=>u.has(x)))}}function g_(n,e,t,i,a={},u={filterSources:{},rangeSources:{}}){var b,w,_,C,A,V;const f=yf(n,e,{filters:t,ranges:a,...u}),h=((b=e.encoding)==null?void 0:b.x)??((w=e.query.dimensions)==null?void 0:w[0])??"",m=e.query.order_by??e.query.orderBy,g=h&&["line","area"].includes(Qv(e,i))?[`${h} ASC`]:void 0,v={metrics:e.query.metrics,dimensions:e.query.dimensions,filters:[...e.query.filters??[],...Object.entries(f.filters).flatMap(([$,R])=>y_($,R,i)),...Object.entries(f.ranges).map(([$,R])=>Jv($,R))],segments:e.query.segments,orderBy:m??g,limit:e.query.limit??500},x=e.query.use_preaggregations??e.query.usePreaggregations??((C=(_=n.defaults)==null?void 0:_.query)==null?void 0:C.use_preaggregations)??((V=(A=n.defaults)==null?void 0:A.query)==null?void 0:V.usePreaggregations);return x!==void 0&&(v.usePreaggregations=x),v}function ey(n){const e=/^(\d{4}-\d{2}-\d{2})/.exec(n);return(e==null?void 0:e[1])??null}function ty(n,e){const t=ey(e.from);if(!t)return null;const i=Ds(n);if(!i){const f=ey(e.to);return f?{from:t,to:f}:null}const a=Kv(e.to,i.grain);if(!a)return null;const u=new Date(a);return u.setUTCMilliseconds(u.getUTCMilliseconds()-1),{from:t,to:u.toISOString().slice(0,10)}}function v_(n,e,t,i={},a){var O,E,D;const u=(O=e.encoding)==null?void 0:O.y,f=(Array.isArray(u)?u[0]:u)??e.query.metrics[0]??"",h=e.query.dimensions??[],m=a==null?void 0:a.graphMetrics.find(L=>L.ref===f),g=f.includes(".")?f.split(".")[0]:((E=h[0])==null?void 0:E.split(".")[0])??(m==null?void 0:m.ownerModel)??(m==null?void 0:m.model)??"",v=yf(n,e,t),x=Object.entries(v.filters).flatMap(([L,G])=>{const W=Ds(L);return W?[{dimension:L,value:G,baseDimension:W.baseDimension}]:[]}),b=Object.fromEntries(Object.entries(v.filters).flatMap(([L,G])=>{const W=Ds(L);return W?G===er?[[W.baseDimension,[G]]]:[]:[[L,[G]]]})),w=new URLSearchParams({view:"explore",model:g,metric:f});Object.keys(b).length&&w.set("filters",JSON.stringify(b));const _=((D=e.encoding)==null?void 0:D.x)??h[0],C=x.find(({baseDimension:L,value:G})=>G!==er&&(!g||L.startsWith(`${g}.`))),A=Object.keys(v.ranges),V=[_,...A].find((L,G,W)=>{if(!L||W.indexOf(L)!==G||!v.ranges[L])return!1;const Y=Ds(L);return((i[L]??(Y?i[Y.baseDimension]:void 0))==="time"||!!Y)&&(!g||L.startsWith(`${g}.`))}),$=V?v.ranges[V]:void 0,R=C?ty(C.dimension,{from:C.value,to:C.value}):V&&$?ty(V,$):null;return R&&(w.set("from",R.from),w.set("to",R.to)),`/explore?${w}`}function x_(n,e,t,i){const a=new Map;for(const u of n){const f=Number(u[t]);if(!Number.isFinite(f))continue;const h=i.map(b=>au(u[b])),m=JSON.stringify(h),g=h.length?h.map(rs).join(" · "):"Current",v=a.get(m)??{label:g,filterValues:h,data:[]},x=au(u[e]);v.data.push({label:rs(x),filterValue:x,value:f}),a.set(m,v)}return[...a.values()]}function b_(n,e,t,i){const a=[],u=new Set,f=new Map;for(const h of n){if(h[e]==null)continue;const m=String(h[e]),g=Number(h[t]);if(!Number.isFinite(g))continue;u.has(m)||(u.add(m),a.push(m));const v=i.map(_=>au(h[_])),x=JSON.stringify(v),b=v.length?v.map(rs).join(" · "):"Current",w=f.get(x)??{label:b,values:new Map};w.values.set(m,g),f.set(x,w)}return[...f.values()].map(h=>({label:h.label,points:a.map(m=>({x:m,y:h.values.get(m)??Number.NaN}))}))}function gf(n,e){if(typeof n!="object"||n===null||Array.isArray(n))return{};const t={};for(const[i,a]of Object.entries(n))e.has(i)&&typeof a=="string"&&(t[i]=a);return t}function vf(n,e){if(typeof n!="object"||n===null||Array.isArray(n))return{};const t={};for(const[i,a]of Object.entries(n)){if(!e.has(i)||typeof a!="object"||a===null||Array.isArray(a))continue;const u=a;typeof u.from=="string"&&typeof u.to=="string"&&(t[i]={from:u.from,to:u.to})}return t}function uu(n,e){return typeof n!="object"||n===null||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).filter(t=>e.has(t[0])&&typeof t[1]=="string"))}function qv(n,e){return typeof n!="object"||n===null||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).flatMap(([t,i])=>{const a=e.get(t);if(!a)return[];const u=gf(i,a);return Object.keys(u).length?[[t,u]]:[]}))}function Zv(n,e){return typeof n!="object"||n===null||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).flatMap(([t,i])=>{const a=e.get(t);if(!a)return[];const u=vf(i,a);return Object.keys(u).length?[[t,u]]:[]}))}function Xv(n){return new Set(n.tabs.flatMap(e=>e.charts.flatMap(t=>t.query.dimensions??[])))}function e0(n){return new Map(n.tabs.flatMap(e=>e.charts.map(t=>[lu(n,t),new Set(t.query.dimensions??[])])))}function w_(n,e){var _;const t=new URLSearchParams(n),i=((_=e.tabs[0])==null?void 0:_.id)??"",a=t.get("tab"),u=e.tabs.some(C=>C.id===a)?a??i:i;let f,h,m,g,v,x;try{f=JSON.parse(t.get(zv)??"{}")}catch{f={}}try{h=JSON.parse(t.get(Vv)??"{}")}catch{h={}}try{m=JSON.parse(t.get(Wv)??"{}")}catch{m={}}try{g=JSON.parse(t.get(Hv)??"{}")}catch{g={}}try{v=JSON.parse(t.get(Gv)??"{}")}catch{v={}}try{x=JSON.parse(t.get(Yv)??"{}")}catch{x={}}const b=Xv(e),w=e0(e);return{tab:u,filters:gf(f,b),ranges:vf(h,b),filterSources:uu(m,b),rangeSources:uu(g,b),chartFilters:qv(v,w),chartRanges:Zv(x,w)}}function S_(n,e){var u;const t=new URLSearchParams;n.tab&&n.tab!==((u=e.tabs[0])==null?void 0:u.id)&&t.set("tab",n.tab),Object.keys(n.filters).length&&t.set(zv,JSON.stringify(n.filters)),Object.keys(n.ranges).length&&t.set(Vv,JSON.stringify(n.ranges));const i=Object.fromEntries(Object.entries(n.filterSources).filter(([f])=>f in n.filters)),a=Object.fromEntries(Object.entries(n.rangeSources).filter(([f])=>f in n.ranges));return Object.keys(i).length&&t.set(Wv,JSON.stringify(i)),Object.keys(a).length&&t.set(Hv,JSON.stringify(a)),Object.keys(n.chartFilters??{}).length&&t.set(Gv,JSON.stringify(n.chartFilters)),Object.keys(n.chartRanges??{}).length&&t.set(Yv,JSON.stringify(n.chartRanges)),t.toString()}function t0(n){return`sidemantic-dashboard-views:${`${n.schema??"sidemantic.dashboard.v1"}:${n.title}`}`}function __(n){try{const e=JSON.parse(localStorage.getItem(t0(n))??"[]");if(!Array.isArray(e))return[];const t=Xv(n);return e.flatMap(i=>{var m;if(typeof i!="object"||i===null||Array.isArray(i))return[];const a=i;if(typeof a.name!="string"||!a.name.trim())return[];if(typeof a.state!="object"||a.state===null||Array.isArray(a.state))return[];const u=a.state,f=n.tabs.some(g=>g.id===u.tab)?String(u.tab):((m=n.tabs[0])==null?void 0:m.id)??"",h=e0(n);return[{name:a.name,state:{tab:f,filters:gf(u.filters,t),ranges:vf(u.ranges,t),filterSources:uu(u.filterSources,t),rangeSources:uu(u.rangeSources,t),chartFilters:qv(u.chartFilters,h),chartRanges:Zv(u.chartRanges,h)}}]})}catch{return[]}}function N_(n,e){try{return localStorage.setItem(t0(n),JSON.stringify(e)),!0}catch{return!1}}function ny(n){if(n==null)return"";let e=String(n);return typeof n!="number"&&typeof n!="bigint"&&/^[\s\u0000-\u001f]*[=+@-]/.test(e)&&(e=`'${e}`),/[",\r\n]/.test(e)?`"${e.replaceAll('"','""')}"`:e}function j_(n,e){return[n.map(ny).join(","),...e.map(t=>n.map(i=>ny(t[i])).join(","))].join(`\r -`)}function k_(n){var e;return((e=n.label)==null?void 0:e.trim())||n.id}function vd(n,e){return`${n} ${e}${n===1?"":"s"}`}function I_(){const{catalog:n,dispatch:e}=ls(),t=i=>{const a=n.models.find(h=>h.name===i),u=Ov(a,n),f=(a==null?void 0:a.defaultGrain)??"month";e({type:"setModel",model:i,metric:u,grain:f}),e({type:"setView",view:"explore"})};return c.jsxs("div",{className:"mx-auto w-full max-w-5xl p-6",children:[c.jsxs("div",{className:"mb-4",children:[c.jsx("h1",{className:"text-base font-semibold text-ink",children:"Explore"}),c.jsxs("p",{className:"text-2xs text-muted",children:[vd(n.models.length,"model")," · pick one to explore"]})]}),c.jsx("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3",children:n.models.map(i=>c.jsxs("button",{type:"button","data-testid":"explore-card","data-model":i.name,onClick:()=>t(i.name),className:"flex min-h-32 flex-col gap-2 rounded-xl border border-line bg-surface p-4 text-left shadow-[var(--shadow-sm)] transition-colors hover:border-line-strong",children:[c.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[c.jsx("span",{className:"truncate text-sm font-medium text-ink",children:i.label}),i.timeDimension?c.jsx("span",{className:"shrink-0 text-2xs text-faint",children:"time series"}):null]}),i.description?c.jsx("p",{className:"line-clamp-2 text-2xs text-muted",children:i.description}):null,c.jsx("div",{className:"mt-auto flex flex-wrap gap-1 pt-1",children:i.metrics.slice(0,3).map(a=>c.jsx("span",{className:"rounded-full bg-surface-soft px-2 py-0.5 text-2xs text-muted",children:a.label},a.ref))}),c.jsxs("div",{className:"text-2xs text-faint",children:[vd(i.metrics.length,"metric")," · ",vd(i.dimensions.length,"dimension")]})]},i.name))})]})}const M_="600px";function D_(n){for(let e=n.parentElement;e;e=e.parentElement){const t=getComputedStyle(e).overflowY;if(t==="auto"||t==="scroll")return e}return null}function C_(n,e,t=M_){if(typeof IntersectionObserver>"u")return e(),()=>{};const i=new IntersectionObserver(a=>{a.some(u=>u.isIntersecting)&&(i.disconnect(),e())},{root:D_(n),rootMargin:t});return i.observe(n),()=>i.disconnect()}const F_={positive:"text-success",negative:"text-danger",neutral:"text-faint"};function n0({dimension:n,title:e,metricLabel:t,rows:i,selectedValues:a=[],loading:u,formatMetric:f,onToggle:h,contextColumn:m="none",contextOptions:g,onContextColumn:v,collapsedLimit:x=6,expanded:b=!1,onExpandedChange:w,containerRef:_}){const C=new Set(a),A=b?i:i.slice(0,x),V=Math.max(1,...A.map(E=>Math.abs(E.metric))),$=b||i.length>x,R=m!=="none",O=R?"grid-cols-[minmax(0,1fr)_auto_auto]":"grid-cols-[minmax(0,1fr)_auto]";return c.jsxs("section",{ref:_,"data-testid":"dimension-leaderboard","data-dimension":n,"data-expanded":b||void 0,"aria-label":`${e}, ranked by ${t}`,className:"flex min-h-40 flex-col border-b border-r border-line bg-surface data-[expanded=true]:col-span-full",children:[c.jsxs("header",{className:"flex items-center justify-between gap-3 px-3 pb-2 pt-2.5",children:[c.jsxs("div",{className:"flex min-w-0 items-baseline gap-2",children:[c.jsx("h3",{className:"truncate text-sm font-semibold text-ink",children:e}),c.jsxs("p",{className:"sr-only",children:["Ranked by ",t]})]}),g&&v?c.jsx("div",{role:"group","aria-label":"Context column","data-testid":"leaderboard-context-toggle",className:"flex shrink-0 overflow-hidden border border-line text-2xs",children:g.map(E=>c.jsx("button",{type:"button",title:E.title,"aria-pressed":m===E.key,"data-context":E.key,"data-active":m===E.key||void 0,onClick:()=>v(E.key),className:"border-l border-line px-1.5 py-0.5 font-mono text-faint first:border-l-0 hover:bg-surface-soft data-[active=true]:bg-accent-soft data-[active=true]:text-accent",children:E.label},E.key))}):null]}),c.jsx("div",{"data-testid":"leaderboard-rows",children:u&&i.length===0?c.jsx("div",{className:"space-y-2 p-3",children:[0,1,2,3].map(E=>c.jsx("div",{className:"skeleton h-5 w-full"},E))}):i.length===0?c.jsx("p",{className:"px-3 py-4 text-xs text-faint",children:"No values"}):A.map(E=>{var W,Y,P;const D=E.metric<0?"negative":"positive",L=C.has(E.value),G=`${Math.round(Math.abs(E.metric)/V*100)}%`;return c.jsxs("button",{type:"button","data-dimension":n,"data-value":E.value,"data-selected":L||void 0,"data-tone":D,onClick:()=>h==null?void 0:h(E.value),"aria-pressed":L,className:`leaderboard-row relative grid w-full ${O} items-center gap-3 overflow-hidden border-0 bg-transparent px-3 py-1 text-left text-xs text-ink data-[selected=true]:bg-chart-primary-selected`,children:[c.jsx("span",{"aria-hidden":"true",className:`absolute inset-y-0 left-0 ${D==="negative"?"bg-danger-soft":"bg-chart-primary-soft"}`,style:{width:G}}),c.jsx("span",{className:"relative min-w-0 truncate text-muted",children:rs(E.value)}),c.jsx("strong",{className:"relative tnum font-semibold text-ink",children:f(E.metric)}),R?c.jsx("span",{"data-testid":"leaderboard-context","data-tone":((W=E.context)==null?void 0:W.tone)??"neutral",className:`relative w-14 text-right font-mono tnum text-2xs ${F_[((Y=E.context)==null?void 0:Y.tone)??"neutral"]}`,children:((P=E.context)==null?void 0:P.label)??"—"}):null]},`${n}:${E.value}`)})}),$&&!u?c.jsx("button",{type:"button","data-action":b?"leaderboard-back":"leaderboard-expand","aria-expanded":b,onClick:()=>w==null?void 0:w(!b),className:"leaderboard-expand border-0 border-t border-line bg-transparent px-3 py-1 text-left text-xs font-normal text-faint hover:text-accent",children:b?"← All dimensions":`Expand table (${i.length})`}):null]})}const O_=[{key:"none",label:"—",title:"No context column"},{key:"pctTotal",label:"%",title:"Share of total"},{key:"delta",label:"Δ",title:"Absolute change vs comparison period"},{key:"deltaPct",label:"Δ%",title:"Percent change vs comparison period"}],T_=[],A_=[];function B_({dim:n,model:e,timeDimensionRef:t,rankMetric:i,contextColumn:a,metricTotal:u,comparisonRange:f,baseFilters:h=T_,baseSegments:m=A_,usePreaggregations:g,limit:v=6,expanded:x=!1,onExpandedChange:b}){var he;const{state:w,dispatch:_,backend:C,catalog:A}=ls(),V=I.useRef(null),[$,R]=I.useState(!1);I.useEffect(()=>{if(!($||!V.current))return C_(V.current,()=>R(!0))},[$]);const O=t??((he=e.timeDimension)==null?void 0:he.ref),E=I.useMemo(()=>pu(A),[A]),D=I.useMemo(()=>[...h,...Ts(w.filters,{timeRef:O,range:w.dateRange,excludeDim:n.ref,types:E})],[h,w.filters,O,w.dateRange,n.ref,E]),{result:L,loading:G,error:W}=En(C,$?Hm(i.ref,n.ref,D,v,m,g):null),Y=w.filters[n.ref],P=(Y==null?void 0:Y.mode)==="include"?Y.values:void 0,te=[i.ref,n.ref],X=Fn(n.ref,te),oe=a==="delta"||a==="deltaPct",ae=I.useMemo(()=>{if(!L||!L.columns.includes(X))return null;const re=[];let pe=!1;for(const Te of L.rows){const Be=Te[X];Be==null?pe=!0:re.push(String(Be))}const Ce=[];return re.length&&Ce.push(`CAST(${n.ref} AS VARCHAR) IN (${re.map(Tn).join(", ")})`),pe&&Ce.push(`${n.ref} IS NULL`),Ce.length?Ce.length===1?Ce[0]:`(${Ce.join(" OR ")})`:null},[L,X,n.ref]),se=I.useMemo(()=>oe&&f&&O&&ae?[...h,...Ts(w.filters,{timeRef:O,range:f,excludeDim:n.ref,types:E}),ae]:null,[oe,f,O,w.filters,n.ref,E,ae,h]),ne=En(C,se?Hm(i.ref,n.ref,se,v,m,g):null),T=Fn(i.ref,te),Q=!!L&&L.rows.length>0&&!L.columns.includes(T),H=I.useMemo(()=>{const re=new Map;if(!ne.result||!ne.result.columns.includes(T))return re;for(const pe of ne.result.rows){const Ce=pe[X],Te=Ce==null?er:String(Ce);re.set(Te,Number(pe[T]))}return re},[ne.result,X,T]),N={format:i.format,type:i.type};function F(re,pe){switch(a){case"pctTotal":return u===void 0?void 0:gb(pe,u);case"delta":return vb(pe,H.get(re),N);case"deltaPct":return xb(pe,H.get(re));default:return}}const ee=L&&!Q?L.rows.map(re=>{const pe=re[X],Ce=pe==null?er:String(pe),Te=Number(re[T]??0);return{value:Ce,metric:Te,context:F(Ce,Te)}}):[];return W?c.jsx($i,{title:n.label,message:W}):c.jsx(n0,{dimension:n.ref,title:n.label,metricLabel:i.label,rows:ee,containerRef:V,loading:!$||G||Q,selectedValues:P,formatMetric:re=>Gt(re,N),onToggle:re=>_({type:"toggleFilter",dim:n.ref,value:re}),contextColumn:a,contextOptions:O_,onContextColumn:re=>_({type:"setContextColumn",column:re}),collapsedLimit:v,expanded:x,onExpandedChange:b})}function Dr(){const[n,e]=I.useState(null);return{tip:n,handlers:i=>({onMouseEnter:a=>e({content:i,x:a.clientX,y:a.clientY}),onMouseMove:a=>e({content:i,x:a.clientX,y:a.clientY}),onMouseLeave:()=>e(null)})}}function rr({tip:n,position:e="fixed",offset:t=12,className:i,style:a}){return n?c.jsx("div",{role:"tooltip",style:{position:e,left:n.x+t,top:n.y+t,pointerEvents:"none",zIndex:50,...a},className:i||"rounded-lg border border-line bg-surface px-2.5 py-1.5 text-xs text-ink shadow-[var(--shadow)]",children:n.content}):null}function os({title:n,rows:e}){return c.jsxs("div",{className:"min-w-28",children:[n?c.jsx("div",{className:"mb-0.5 font-mono text-faint",children:n}):null,e.map((t,i)=>c.jsxs("div",{className:"flex items-center justify-between gap-3",children:[c.jsxs("span",{className:"flex items-center gap-1 text-muted",children:[t.swatch?c.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-sm",style:{background:t.swatch}}):null,t.label]}),c.jsx("span",{className:"font-mono tnum font-medium text-ink",children:t.value})]},i))]})}function r0({values:n,labels:e,height:t=44,ariaLabel:i,formatValue:a=h=>h.toLocaleString(void 0,{maximumFractionDigits:2}),onHover:u,onBrush:f}){const h=I.useRef(null),m=I.useId(),g=I.useRef(null),v=I.useRef(null),[x,b]=I.useState(200),[w,_]=I.useState(null),[C,A]=I.useState(null),[V,$]=I.useState(null);I.useEffect(()=>{const H=h.current;if(!H||typeof ResizeObserver>"u")return;const N=new ResizeObserver(F=>{for(const ee of F)b(Math.max(40,ee.contentRect.width))});return N.observe(H),()=>N.disconnect()},[]);const R=n.map((H,N)=>({index:N,value:H})).filter(H=>Number.isFinite(H.value));if(R.length<2)return c.jsx("svg",{ref:g,role:"img","aria-label":i||"No trend data",className:"h-11 w-full",viewBox:`0 0 ${x} ${t}`});const O=3,E=Math.min(...R.map(H=>H.value)),L=Math.max(...R.map(H=>H.value))-E||1,G=R.map((H,N)=>({...H,x:O+N/(R.length-1)*(x-O*2),y:O+(1-(H.value-E)/L)*(t-O*2)})),W=G.map(({x:H,y:N})=>`${H.toFixed(1)},${N.toFixed(1)}`).join(" L "),Y=`M ${G[0].x.toFixed(1)},${t-O} L ${W} L ${G.at(-1).x.toFixed(1)},${t-O} Z`,P=G.at(-1),te=i||`Trend of ${R.length} points, latest ${a(P.value)}`;function X(H){var F;const N=(F=g.current)==null?void 0:F.getBoundingClientRect();return N?Math.max(O,Math.min(x-O,(H.clientX-N.left)/N.width*x)):O}function oe(H){return Math.max(0,Math.min(G.length-1,Math.round((H-O)/(x-O*2)*(G.length-1))))}function ae(H){const N=X(H),F=oe(N),ee=G[F];_(F),$({content:`${e!=null&&e[ee.index]?`${e[ee.index]}: `:""}${a(ee.value)}`,x:H.clientX,y:H.clientY}),u==null||u({index:ee.index,label:e==null?void 0:e[ee.index],value:ee.value}),v.current!==null&&A({a:v.current,b:N})}function se(H){if(!f||!(e!=null&&e.length))return;H.currentTarget.setPointerCapture(H.pointerId);const N=X(H);v.current=N,A({a:N,b:N})}function ne(H){if(v.current===null||!f||!(e!=null&&e.length))return;H.currentTarget.hasPointerCapture(H.pointerId)&&H.currentTarget.releasePointerCapture(H.pointerId);const N=X(H);if(Math.abs(N-v.current)>6){const F=G[oe(Math.min(v.current,N))],ee=G[oe(Math.max(v.current,N))];f({from:e[F.index],to:e[ee.index]})}v.current=null,A(null)}function T(){_(null),$(null),u==null||u(null),v.current===null&&A(null)}const Q=w===null?null:G[w];return c.jsxs("span",{ref:h,className:"relative block w-full",children:[c.jsxs("svg",{ref:g,role:"img","aria-label":te,className:`h-11 w-full overflow-hidden text-chart-primary ${f?"touch-none select-none":""}`,viewBox:`0 0 ${x} ${t}`,preserveAspectRatio:"none",onPointerMove:ae,onPointerDown:se,onPointerUp:ne,onPointerCancel:T,onPointerLeave:T,onDoubleClick:()=>f==null?void 0:f(null),children:[c.jsx("defs",{children:c.jsxs("linearGradient",{id:m,x1:"0",y1:"0",x2:"0",y2:"1",children:[c.jsx("stop",{offset:"0%",stopColor:"currentColor",stopOpacity:.16}),c.jsx("stop",{offset:"100%",stopColor:"currentColor",stopOpacity:0})]})}),c.jsx("path",{d:Y,fill:`url(#${m})`}),c.jsx("path",{d:`M ${W}`,fill:"none",stroke:"currentColor",strokeWidth:1.5,vectorEffect:"non-scaling-stroke"}),C?c.jsx("rect",{x:Math.min(C.a,C.b),y:0,width:Math.abs(C.b-C.a),height:t,fill:"currentColor",opacity:.12}):null,Q?c.jsxs(c.Fragment,{children:[c.jsx("line",{x1:Q.x,x2:Q.x,y1:0,y2:t,stroke:"currentColor",strokeWidth:1,opacity:.45}),c.jsx("circle",{cx:Q.x,cy:Q.y,r:2.5,fill:"currentColor"})]}):c.jsx("circle",{cx:P.x,cy:P.y,r:2.25,fill:"currentColor"})]}),c.jsx(rr,{tip:V})]})}const E_={positive:"text-success",negative:"text-danger",neutral:"text-faint"},R_={positive:"▲",negative:"▼",neutral:"·"};function Nr({metric:n,label:e,value:t,valueText:i,format:a,delta:u,comparison:f,sparkValues:h=[],sparkLabels:m,selected:g,loading:v,onSelect:x,onSparkHover:b,onSparkBrush:w}){const[_,C]=I.useState(null),A=c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[c.jsx("span",{className:"truncate text-xs font-medium text-muted",children:e}),_!=null&&_.label?c.jsx("span",{className:"shrink-0 font-mono text-2xs text-faint",children:_.label}):null]}),c.jsx("div",{className:"font-mono tnum text-[19px] font-semibold leading-tight tracking-tight text-ink",children:v?c.jsx("span",{className:"skeleton inline-block h-6 w-24 align-middle"}):_?pt(_.value,a):i??pt(t,a)}),u||f?c.jsxs("div",{className:"flex items-baseline gap-1 text-2xs",children:[u?c.jsxs("span",{"data-tone":u.tone,className:`font-mono tnum font-medium ${E_[u.tone]}`,children:[c.jsx("span",{"aria-hidden":"true",className:"mr-0.5 text-[8px]",children:R_[u.tone]}),u.label]}):null,f?c.jsx("span",{className:"truncate text-faint",children:f}):null]}):null]}),V="group flex w-full flex-col gap-1.5 overflow-hidden rounded-xl border border-line bg-surface px-3.5 pt-3 text-left shadow-[var(--shadow-sm)] transition-colors hover:border-line-strong data-[selected=true]:border-accent",$=c.jsx("div",{className:"-mx-3.5 mt-auto",children:c.jsx(r0,{values:h,labels:m,onHover:R=>{C(R),b==null||b(R)},onBrush:w,formatValue:R=>pt(R,a)})});return x?c.jsxs("article",{"data-metric":n,"data-selected":g||void 0,className:V,children:[c.jsx("button",{type:"button","data-metric":n,"aria-pressed":!!g,onClick:()=>x(n),className:"-m-1 flex flex-col gap-1 border-0 bg-transparent p-1 text-left transition hover:opacity-75",children:A}),$]}):c.jsxs("article",{"data-metric":n,"data-selected":g||void 0,className:V,children:[A,$]})}const vl=280,Xt={top:14,right:18,bottom:26,left:60},ry=["var(--accent)","var(--danger)","#0f9f8f","#d98921","#a66dd4","#3b82c4"];function xd(n){return ry[n%ry.length]}function sy(n,e,t){return Math.min(Math.max(n,e),t)}function ea({points:n,seriesLabel:e="Current",additionalSeries:t=[],comparison:i,formatValue:a,formatAxis:u=a,formatLabel:f=v=>v,comparisonLabel:h="Previous",ariaLabel:m,onBrush:g}){var cs;const v=I.useRef(null),x=I.useRef(null),b=I.useRef(!1),w=I.useRef(null),[_,C]=I.useState(820),[A,V]=I.useState(null),[$,R]=I.useState(null);I.useEffect(()=>{const ue=v.current;if(!ue)return;const Oe=new ResizeObserver(st=>{for(const Ct of st)C(Math.max(320,Ct.contentRect.width))});return Oe.observe(ue),()=>Oe.disconnect()},[]);const O=n.length,E=[{label:e,points:n},...t],D=[...E.flatMap(ue=>ue.points),...i??[]].map(ue=>ue.y).filter(Number.isFinite),L=O<2||D.length===0,G=L?0:Math.min(0,...D),W=L?1:Math.max(...D),Y=W-G||1,P=_-Xt.left-Xt.right,te=vl-Xt.top-Xt.bottom,X=ue=>Xt.left+(O<=1?0:ue/(O-1)*P),oe=ue=>Xt.top+(1-(ue-G)/Y)*te,ae=ue=>sy(Math.round((ue-Xt.left)/P*(O-1)),0,O-1),se=ue=>{const Oe=[];let st=[];return ue.forEach((Ct,$n)=>{Number.isFinite(Ct.y)?st.push(`${X($n).toFixed(1)},${oe(Ct.y).toFixed(1)}`):st.length&&(Oe.push(st.join(" L ")),st=[])}),st.length&&Oe.push(st.join(" L ")),Oe.map(Ct=>`M ${Ct}`).join(" ")},ne=L||n.some(ue=>!Number.isFinite(ue.y))?"":`M ${X(0).toFixed(1)},${oe(G).toFixed(1)} L ${n.map((ue,Oe)=>`${X(Oe).toFixed(1)},${oe(ue.y).toFixed(1)}`).join(" L ")} L ${X(O-1).toFixed(1)},${oe(G).toFixed(1)} Z`;function T(ue){var st;const Oe=(st=x.current)==null?void 0:st.getBoundingClientRect();return Oe?ue.clientX-Oe.left:0}function Q(ue){if(L)return;const Oe=T(ue);V(ae(Oe)),b.current&&w.current&&(w.current={a:w.current.a,b:Oe},R({...w.current}))}function H(ue){if(L||!g)return;ue.currentTarget.setPointerCapture(ue.pointerId),b.current=!0;const Oe=T(ue);w.current={a:Oe,b:Oe},R({...w.current})}function N(ue){ue.currentTarget.hasPointerCapture(ue.pointerId)&&ue.currentTarget.releasePointerCapture(ue.pointerId);const Oe=w.current;if(b.current&&Oe&&g){const st=ae(Math.min(Oe.a,Oe.b)),Ct=ae(Math.max(Oe.a,Oe.b));Ct>st&&g({from:n[st].x,to:n[Ct].x})}b.current=!1,w.current=null,R(null)}function F(){V(null),b.current=!1,w.current=null,R(null)}const ee=Math.max(1,Math.ceil(O/8)),he=[W,G+Y*.66,G+Y*.33,G],re=A!=null&&A>=0&&A{const st=ue.points[re];return st&&Number.isFinite(st.y)?[{...ue,point:st,index:Oe}]:[]}),dt=re!=null?(i==null?void 0:i[re])??null:null,St=dt&&Number.isFinite(dt.y)?dt:null,Es=re!=null?sy(X(re),80,_-80):0,Et=Ce&&St&&St.y!==0?(Ce.y-St.y)/Math.abs(St.y)*100:null,sr=m??(L?"Time series chart: not enough data to plot.":`Time series chart, ${O} points from ${f(n[0].x)} to ${f(n[O-1].x)}.`);return c.jsxs("div",{className:"relative text-chart-primary",children:[c.jsxs("div",{className:"flex flex-wrap items-center justify-end gap-x-3 gap-y-0.5 px-3 pt-2 text-2xs text-faint",children:[E.map((ue,Oe)=>c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{className:"inline-block h-0.5 w-3",style:{backgroundColor:xd(Oe)}})," ",ue.label]},`${ue.label}-${Oe}`)),i!=null&&i.length?c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{className:"inline-block h-0 w-3 border-t border-dashed border-faint"})," ",h]}):null]}),c.jsx("div",{ref:v,className:"w-full",children:L?c.jsx("div",{className:"grid h-[280px] place-items-center text-xs text-faint",children:"Not enough data to chart."}):c.jsxs("svg",{ref:x,width:_,height:vl,role:"img","aria-label":sr,className:"block touch-none select-none",onPointerMove:Q,onPointerDown:H,onPointerUp:N,onPointerLeave:F,onPointerCancel:F,onDoubleClick:()=>g==null?void 0:g(null),children:[c.jsx("defs",{children:c.jsxs("linearGradient",{id:"ts-fill",x1:"0",y1:"0",x2:"0",y2:"1",children:[c.jsx("stop",{offset:"0%",stopColor:"currentColor",stopOpacity:.18}),c.jsx("stop",{offset:"100%",stopColor:"currentColor",stopOpacity:0})]})}),he.map((ue,Oe)=>c.jsxs("g",{children:[c.jsx("line",{x1:Xt.left,x2:_-Xt.right,y1:oe(ue),y2:oe(ue),className:"stroke-line"}),c.jsx("text",{x:Xt.left-8,y:oe(ue)+3,textAnchor:"end",className:"fill-faint font-mono text-[10px]",children:u(ue)})]},Oe)),i&&i.length>=2?c.jsx("path",{d:se(i),fill:"none",className:"stroke-faint",strokeWidth:1.25,strokeDasharray:"4 3"}):null,ne?c.jsx("path",{d:ne,fill:"url(#ts-fill)"}):null,E.map((ue,Oe)=>c.jsx("path",{d:se(ue.points),fill:"none",stroke:xd(Oe),strokeWidth:1.75},`${ue.label}-${Oe}`)),$?c.jsx("rect",{x:Math.min($.a,$.b),y:Xt.top,width:Math.abs($.b-$.a),height:te,className:"fill-chart-primary",opacity:.12}):null,re!=null&&Be.length?c.jsxs("g",{children:[c.jsx("line",{x1:X(re),x2:X(re),y1:Xt.top,y2:vl-Xt.bottom,className:"stroke-faint",strokeDasharray:"3 3"}),St?c.jsx("circle",{cx:X(re),cy:oe(St.y),r:3,className:"fill-faint"}):null,Be.map(ue=>c.jsx("circle",{cx:X(re),cy:oe(ue.point.y),r:3.5,fill:xd(ue.index)},`${ue.label}-${ue.index}`))]}):null,n.map((ue,Oe)=>Oe%ee===0||Oe===O-1?c.jsx("text",{x:X(Oe),y:vl-8,textAnchor:"middle",className:"fill-faint font-mono text-[10px]",children:f(ue.x)},ue.x):null)]})}),Be.length&&Te?c.jsxs("div",{className:"pointer-events-none absolute top-8 z-20 -translate-x-1/2 whitespace-nowrap border border-line bg-surface px-2 py-1.5 text-2xs shadow-[var(--shadow)]",style:{left:Es},children:[c.jsx("div",{className:"mb-0.5 font-mono text-faint",children:f(Te)}),Be.map(ue=>c.jsxs("div",{className:"flex items-center justify-between gap-3",children:[c.jsx("span",{className:"text-muted",children:ue.label}),c.jsx("span",{className:"font-mono tnum font-medium text-ink",children:a(ue.point.y)})]},`${ue.label}-${ue.index}`)),St?c.jsxs("div",{className:"flex items-center justify-between gap-3",children:[c.jsx("span",{className:"text-muted",children:h}),c.jsx("span",{className:"font-mono tnum text-muted",children:a(St.y)})]}):null,Et!=null?c.jsxs("div",{className:`mt-0.5 text-right font-mono ${Et>0?"text-success":Et<0?"text-danger":"text-faint"}`,children:[Et.toLocaleString(void 0,{maximumFractionDigits:1,signDisplay:"exceptZero"}),"%"]}):null]}):null]})}const L_={positive:"text-success",negative:"text-danger",neutral:"text-faint"};function U_({metric:n,points:e,comparisonPoints:t,total:i,prevTotal:a,hasTime:u,loading:f,activeRange:h,comparisonLabel:m="Prev period",formatLabel:g,onBrush:v}){const x={format:n.format,type:n.type},b=a!==void 0?Sy(i,a):null,w=`${n.label} over time. Total ${pt(i,x)}${b?`, ${b.label} versus the ${m.toLowerCase()}`:""}.`;return c.jsxs("section",{className:"flex flex-col gap-2",children:[c.jsxs("header",{className:"flex flex-wrap items-baseline gap-x-3 gap-y-0.5 px-0.5",children:[c.jsx("h2",{className:"text-xs font-medium text-muted",children:n.label}),c.jsx("span",{className:"font-mono tnum text-xl font-semibold text-ink",children:pt(i,x)}),b?c.jsxs("span",{className:`text-xs ${L_[b.tone]}`,children:[b.label," vs ",m.toLowerCase()]}):null,u?null:c.jsx("span",{className:"text-2xs text-faint",children:"No time dimension"}),h?c.jsx("button",{type:"button",onClick:()=>v(null),className:"ml-auto inline-flex h-7 items-center rounded-full border border-line bg-surface px-3 text-xs text-muted hover:border-line-strong hover:text-ink",children:"Reset zoom"}):null]}),u?f&&e.length<2?c.jsx("div",{className:"skeleton h-[280px] w-full"}):c.jsx(ea,{points:e,comparison:t,formatValue:_=>pt(_,x),formatAxis:_=>Gt(_,x),formatLabel:g,comparisonLabel:m,ariaLabel:w,onBrush:v}):null]})}const $_=new Set(["and","as","asc","by","case","cast","count","date_trunc","desc","else","end","from","group","in","is","join","left","limit","not","null","on","or","order","over","partition","select","sum","then","when","where","with"]);function P_(n){const e=[];let t=0;for(;ta).map(([a,u])=>`-- ${a} -${u}`).join(` - -`),i=P_(t||"No queries yet.");return c.jsxs("details",{className:"border border-line bg-surface",children:[c.jsx("summary",{className:"cursor-pointer px-3 py-2 text-xs font-medium text-muted",children:"Generated SQL"}),Object.keys(e).length>0?c.jsx("div",{"data-testid":"query-inputs",className:"grid gap-px border-t border-line bg-line sm:grid-cols-2",children:Object.entries(e).map(([a,u])=>u?c.jsxs("section",{className:"min-w-0 bg-surface px-3 py-2 text-2xs",children:[c.jsx("h3",{className:"mb-1 font-semibold text-ink",children:a}),[["Metrics",u.metrics],["Dimensions",u.dimensions],["Filters",u.filters]].map(([f,h])=>h!=null&&h.length?c.jsxs("p",{className:"truncate text-muted",title:h.join(", "),children:[c.jsxs("strong",{className:"font-medium text-faint",children:[f,":"]})," ",h.join(", ")]},f):null)]},a):null)}):null,c.jsx("pre",{"data-testid":"query-debug",className:"max-h-72 overflow-auto whitespace-pre-wrap border-t border-line px-3 py-2 font-mono text-2xs text-muted",children:i.map((a,u)=>iy[a.kind]?c.jsx("span",{className:iy[a.kind],"data-token":a.kind,children:a.value},u):a.value)})]})}function z_(n){return{format:n==null?void 0:n.format,type:n==null?void 0:n.type}}const V_=new Set(["cohort","conversion","retention"]);function bd(n){return!n.type||!V_.has(n.type)}function W_(n,e){return!!(n&&n===e)}function H_(n,e){return n&&e.some(t=>t.ref===n)?n:null}function oy(n,e){return[...n].sort((t,i)=>String(t[e]??"").localeCompare(String(i[e]??"")))}function G_(n,e){return{from:e==="second"||e==="minute"||e==="hour"?n.from.replace(" ","T"):cf(n.from),to:gS(n.to,e)}}function Y_(){var $n,ir,Rs,Pi,zi,Vi,Wi,Ls,ds,Hi,Cr,Fr,ta;const{state:n,dispatch:e,catalog:t,backend:i,dashboard:a}=ls(),[u,f]=I.useState(null),h=t.models.find(ye=>ye.name===n.model),m=I.useMemo(()=>Fs(t,a,n.dashboardTab),[t,a,n.dashboardTab]);I.useEffect(()=>{f(null)},[n.dashboardTab,n.model]);const g=(m==null?void 0:m.metrics)??(h==null?void 0:h.metrics)??[],v=g.filter(bd),x=new Set(g.map(ye=>ye.ref)),b=Di(t,n.model).filter(ye=>!m||x.has(ye.ref)),w=(($n=m==null?void 0:m.timeDimension)==null?void 0:$n.ref)??((ir=h==null?void 0:h.timeDimension)==null?void 0:ir.ref),_=g.find(ye=>ye.ref===n.selectedMetric)??b.find(ye=>ye.ref===n.selectedMetric)??g[0],C=_&&!bd(_)?_:void 0,A=!!_&&v.some(ye=>ye.ref===_.ref),V=I.useMemo(()=>{const ye=v.map(vt=>vt.ref);return _&&bd(_)&&!A?[...ye,_.ref]:ye},[v,_,A]),$=I.useMemo(()=>pu(t),[t]),R=I.useMemo(()=>[...(m==null?void 0:m.filters)??[],...Ts(n.filters,{timeRef:w,range:n.dateRange,types:$})],[m,n.filters,w,n.dateRange,$]),O=I.useMemo(()=>n.comparison==="off"||!n.dateRange?null:n.comparison==="year"?fS(n.dateRange):n.comparison==="custom"?n.comparisonRange??null:dS(n.dateRange),[n.comparison,n.dateRange,n.comparisonRange]),E=I.useMemo(()=>O&&w?[...(m==null?void 0:m.filters)??[],...Ts(n.filters,{timeRef:w,range:O,types:$})]:null,[m,n.filters,w,O,$]),D=n.timezone,L=ye=>ye?{...ye,timezone:D}:null,G=En(i,!C&&V.length?L(pd(V,R,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations)):null),W=En(i,!C&&V.length&&w?L(Wm(V,w,n.grain,R,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations,!!n.dateRange)):null),Y=En(i,!C&&V.length&&E?L(pd(V,E,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations)):null),P=En(i,C?L(pd([C.ref],R,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations)):null),te=En(i,!C&&_&&w&&E?L(Wm([_.ref],w,n.grain,E,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations,!0)):null),X=G.error??W.error??Y.error??te.error??P.error;if(!h)return c.jsx("div",{className:"p-4",children:c.jsx(Xn,{message:"No model available in this semantic layer."})});const oe=((m==null?void 0:m.dimensions)??h.dimensions).filter(ye=>ye.type!=="time"),ae=H_(u,oe),se=n.comparison==="year"?"Prev year":n.comparison==="custom"?"Comparison":"Prev period",ne=w?`${w}__${n.grain}`:"",T=ne?[...V,ne]:V,Q=_&&ne?[_.ref,ne]:[],H=v[0]?Fn(v[0].ref,V):_?Fn(_.ref,V):null,N=ye=>!ye||!H||ye.columns.includes(H),F=N(G.result)?(Rs=G.result)==null?void 0:Rs.rows[0]:void 0,ee=N(Y.result)?(Pi=Y.result)==null?void 0:Pi.rows[0]:void 0,he=N(W.result)?((zi=W.result)==null?void 0:zi.rows)??[]:[],re=_?Fn(_.ref,V):"",pe=_?Fn(_.ref,T):"",Ce=_?Fn(_.ref,Q):"",Te=ne?Fn(ne,T):"",Be=ne?Fn(ne,Q):"",dt=Te?oy(he,Te):he,St=F&&re?Number(F[re]):NaN,Es=ee&&re?Number(ee[re]):void 0,Et=pe?dt.map(ye=>({x:String(ye[Te]??""),y:Number(ye[pe])})):[],sr=Be?oy(((Vi=te.result)==null?void 0:Vi.rows)??[],Be):[],cs=Ce&&Et.length>0&&sr.length>0?(()=>{const ye=String(sr[0][Be]??""),vt=Et[0].x,Us=new Map;for(const rn of sr)Us.set(zm(ye,String(rn[Be]??""),n.grain),Number(rn[Ce]));return Et.map(rn=>({x:rn.x,y:Us.get(zm(vt,rn.x,n.grain))??NaN}))})():[],ue=W_(P.resultKey,P.queryKey),Oe=ue?((Wi=P.result)==null?void 0:Wi.rows)??[]:[],st=(ue?((Ls=P.result)==null?void 0:Ls.columns)??[]:[]).map(ye=>({key:ye,label:Le(ye),numeric:Oe.some(vt=>typeof vt[ye]=="number")}));function Ct(ye){e(ye?{type:"setDateRange",range:G_(ye,n.grain)}:{type:"setDateRange",range:void 0})}return c.jsxs("div",{className:"flex flex-col gap-4 p-4",children:[X?c.jsx($i,{message:X}):null,C?null:c.jsx("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-3 lg:grid-cols-4 xl:grid-cols-6","data-testid":"metric-totals",children:v.length===0?c.jsx("div",{className:"col-span-full",children:c.jsx(Xn,{message:"This model has no metrics."})}):v.map(ye=>{const vt=Fn(ye.ref,V),Us=Fn(ye.ref,T),rn=F?Number(F[vt]):NaN,$s=ee?Number(ee[vt]):void 0,Gi=dt.map(fs=>Number(fs[Us])).filter(Number.isFinite);return c.jsx(Nr,{metric:ye.ref,label:ye.label,valueText:pt(rn,z_(ye)),delta:$s!==void 0?Sy(rn,$s):null,sparkValues:Gi,selected:n.selectedMetric===ye.ref,loading:G.loading&&!F,onSelect:fs=>e({type:"setMetric",metric:fs})},ye.ref)})}),C?c.jsxs("section",{className:"flex flex-col gap-2","data-testid":"single-metric-result",children:[c.jsxs("div",{children:[c.jsx("h2",{className:"text-sm font-semibold text-ink",children:C.label}),C.description?c.jsx("p",{className:"mt-0.5 text-xs text-muted",children:C.description}):null]}),P.error?null:ue?c.jsx(Ui,{columns:st,rows:Oe,searchable:!0,renderCell:(ye,vt)=>vt==null||vt===""?"—":String(vt)}):c.jsx(mu,{message:`Loading ${C.label}…`})]}):_?c.jsx(U_,{metric:_,points:Et,comparisonPoints:O?cs:void 0,total:St,prevTotal:O?Es:void 0,hasTime:!!w,loading:W.loading,activeRange:n.dateRange,comparisonLabel:se,formatLabel:ye=>hS(ye,n.grain),onBrush:Ct}):null,C?null:c.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(220px,1fr))] gap-0 border-l border-t border-line",children:_&&oe.length?oe.filter(ye=>ae===null||ae===ye.ref).map(ye=>c.jsx(B_,{dim:ye,model:h,timeDimensionRef:w,rankMetric:_,contextColumn:n.contextColumn,metricTotal:Number.isFinite(St)?St:void 0,comparisonRange:O??void 0,baseFilters:m==null?void 0:m.filters,baseSegments:m==null?void 0:m.segments,usePreaggregations:m==null?void 0:m.usePreaggregations,expanded:ae===ye.ref,onExpandedChange:vt=>f(vt?ye.ref:null)},ye.ref)):c.jsx(Xn,{message:"No categorical dimensions to break down."})}),c.jsx(yu,{queries:{Totals:(ds=G.result)==null?void 0:ds.sql,Series:(Hi=W.result)==null?void 0:Hi.sql,Comparison:(Cr=Y.result)==null?void 0:Cr.sql,"Prev series":(Fr=te.result)==null?void 0:Fr.sql,"Focused metric":(ta=P.result)==null?void 0:ta.sql}})]})}function Q_(){var oe,ae;const{state:n,catalog:e,backend:t}=ls(),i=e.models.find(se=>se.name===n.model),a=(i==null?void 0:i.dimensions)??[],u=Di(e,n.model),f=I.useMemo(()=>[...(i==null?void 0:i.metrics)??[],...u],[i,u]),h=(oe=i==null?void 0:i.timeDimension)==null?void 0:oe.ref,m=se=>a.some(ne=>ne.ref===se),g=se=>f.some(ne=>ne.ref===se),v=n.pivotDims.filter(m),x=n.pivotMetrics.filter(g),b=g(n.selectedMetric)?n.selectedMetric:(ae=i==null?void 0:i.metrics[0])==null?void 0:ae.ref,w=x.length?x:b?[b]:[],[_,C]=I.useState(null),A=I.useMemo(()=>ff(a),[a]),V=I.useMemo(()=>Ts(n.filters,{timeRef:h,range:n.dateRange,types:A}),[n.filters,h,n.dateRange,A]),$=_??(w[0]?{ref:w[0],dir:"desc"}:null),R=$?[`${$.ref} ${$.dir.toUpperCase()}`]:void 0,O=w.length||v.length?wS(w,v,V,R,500):null,E=O?{...O,timezone:n.timezone}:null,{result:D,loading:L,error:G}=En(t,E),W=I.useMemo(()=>new Map(f.map(se=>[se.ref,se])),[f]),Y=I.useMemo(()=>{const se=new Map;for(const ne of[...v,...w])se.set(Sr(ne),ne);return se},[v,w]),P=[...v.map(se=>{var ne;return{key:Sr(se),label:((ne=a.find(T=>T.ref===se))==null?void 0:ne.label)??Le(se),numeric:!1}}),...w.map(se=>{var ne;return{key:Sr(se),label:((ne=W.get(se))==null?void 0:ne.label)??Le(se),numeric:!0,sortable:!0}})];function te(se){const ne=Y.get(se);ne&&C(T=>T&&T.ref===ne?{ref:ne,dir:T.dir==="desc"?"asc":"desc"}:{ref:ne,dir:"desc"})}function X(se,ne){if(se.numeric){const T=W.get(Y.get(se.key)??"");return pt(ne,{format:T==null?void 0:T.format,type:T==null?void 0:T.type})}return ne==null||ne===""?"—":String(ne)}return i?c.jsxs("div",{className:"flex flex-col gap-4 p-4",children:[G?c.jsx($i,{message:G}):P.length===0?c.jsx(Xn,{title:"Nothing selected",message:"Pick at least one metric or dimension above."}):c.jsx(Ui,{columns:P,rows:(D==null?void 0:D.rows)??[],loading:L,sortKey:$?Sr($.ref):void 0,sortDir:$==null?void 0:$.dir,onSort:te,renderCell:X}),c.jsx(yu,{queries:{Pivot:D==null?void 0:D.sql}})]}):c.jsx("div",{className:"p-4",children:c.jsx(Xn,{message:"No model available."})})}const Dn={top:12,right:14,bottom:26,left:44};function K_(n,e,t=4){if(!(e>n))return[n];const i=(e-n)/(t-1);return Array.from({length:t},(a,u)=>n+i*u)}function s0({data:n,height:e=200,ariaLabel:t,selectedLabel:i,onSelect:a}){const u=I.useRef(null),[f,h]=I.useState(640),{tip:m,handlers:g}=Dr();I.useEffect(()=>{const D=u.current;if(!D||typeof ResizeObserver>"u")return;const L=new ResizeObserver(G=>{for(const W of G)h(Math.max(160,W.contentRect.width))});return L.observe(D),()=>L.disconnect()},[]);const v=n.map(D=>Number.isFinite(D.value)?D.value:0),x=Math.min(0,...v),b=Math.max(0,...v),w=b-x||1,_=f-Dn.left-Dn.right,C=e-Dn.top-Dn.bottom,A=D=>Dn.top+(1-(D-x)/w)*C,V=A(0),$=_/Math.max(n.length,1),R=Math.max(8,Math.min(48,$*.62)),O=K_(x,b,4),E=t||`Bar chart, ${n.length} categories, up to ${Gt(b)}`;return c.jsxs(c.Fragment,{children:[c.jsxs("svg",{ref:u,role:"img","aria-label":E,className:"h-[200px] w-full overflow-hidden",viewBox:`0 0 ${f} ${e}`,children:[O.map((D,L)=>{const G=A(D);return c.jsxs("g",{children:[c.jsx("line",{x1:Dn.left,x2:f-Dn.right,y1:G,y2:G,className:"stroke-line"}),c.jsx("text",{x:Dn.left-6,y:G+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Gt(D)})]},L)}),c.jsx("line",{x1:Dn.left,x2:f-Dn.right,y1:V,y2:V,className:"stroke-line"}),n.map((D,L)=>{const G=D.filterValue??D.label,W=v[L]??0,Y=A(W),P=Math.abs(Y-V),te=Dn.left+$*L+($-R)/2,X=Math.min(Y,V);return c.jsxs("g",{role:a?"button":void 0,tabIndex:a?0:void 0,"aria-label":a?`Filter to ${D.label}`:void 0,"aria-pressed":a?i===G:void 0,onClick:a?()=>a(G):void 0,onKeyDown:a?oe=>{(oe.key==="Enter"||oe.key===" ")&&a(G)}:void 0,className:a?"cursor-pointer":void 0,children:[c.jsx("rect",{x:te,y:X,width:R,height:P,"data-label":D.label,"data-value":W,"data-tone":W<0?"negative":"positive",className:i===G?"fill-accent":W<0?"fill-danger":"fill-chart-primary",...g(`${D.label}: ${pt(W)}`)}),c.jsx("text",{x:te+R/2,y:e-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:D.label.slice(0,8)})]},`${G}-${L}`)})]}),c.jsx(rr,{tip:m})]})}const wd=7;function vn(n){return`var(--viz-${(n%wd+wd)%wd+1})`}function As(n,e,t=4){if(!(e>n))return[n];const i=(e-n)/(t-1);return Array.from({length:t},(a,u)=>n+i*u)}function us(n,e,t){if(!n||typeof ResizeObserver>"u")return()=>{};const i=new ResizeObserver(a=>{for(const u of a)t(Math.max(e,u.contentRect.width))});return i.observe(n),()=>i.disconnect()}const Vt={top:12,right:14,bottom:30,left:48};function i0({points:n,height:e=240,xLabel:t,yLabel:i,formatX:a=Gt,formatY:u=Gt,ariaLabel:f}){const h=I.useRef(null),[m,g]=I.useState(640),{tip:v,handlers:x}=Dr();I.useEffect(()=>us(h.current,200,g),[]);const b=n.filter(P=>Number.isFinite(P.x)&&Number.isFinite(P.y));if(b.length===0)return c.jsx("div",{className:"grid h-[240px] place-items-center text-xs text-faint",children:"No points to chart."});const w=[...new Set(b.map(P=>P.series??""))],_=b.map(P=>P.x),C=b.map(P=>P.y),A=Math.min(..._),V=Math.max(..._),$=Math.min(...C),R=Math.max(...C),O=V-A||1,E=R-$||1,D=m-Vt.left-Vt.right,L=e-Vt.top-Vt.bottom,G=P=>Vt.left+(P-A)/O*D,W=P=>Vt.top+(1-(P-$)/E)*L,Y=f||`Scatter plot, ${b.length} points${t&&i?` of ${i} by ${t}`:""}`;return c.jsxs(c.Fragment,{children:[w.length>1?c.jsx("div",{className:"mb-1 flex flex-wrap items-center gap-3 text-2xs text-faint",children:w.map((P,te)=>c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-full",style:{background:vn(te)}}),P||"(default)"]},P||"(default)"))}):null,c.jsxs("svg",{ref:h,role:"img","aria-label":Y,className:"w-full overflow-hidden",style:{height:e},viewBox:`0 0 ${m} ${e}`,children:[As($,R,4).map((P,te)=>{const X=W(P);return c.jsxs("g",{children:[c.jsx("line",{x1:Vt.left,x2:m-Vt.right,y1:X,y2:X,className:"stroke-line"}),c.jsx("text",{x:Vt.left-6,y:X+3,textAnchor:"end",className:"fill-faint text-[10px]",children:u(P)})]},`y${te}`)}),As(A,V,5).map((P,te)=>{const X=G(P);return c.jsxs("g",{children:[c.jsx("line",{x1:X,x2:X,y1:Vt.top,y2:e-Vt.bottom,className:"stroke-line"}),c.jsx("text",{x:X,y:e-14,textAnchor:"middle",className:"fill-faint text-[10px]",children:a(P)})]},`x${te}`)}),t?c.jsx("text",{x:Vt.left+D/2,y:e-2,textAnchor:"middle",className:"fill-muted text-[10px]",children:t}):null,i?c.jsx("text",{x:10,y:Vt.top+L/2,textAnchor:"middle",transform:`rotate(-90 10 ${Vt.top+L/2})`,className:"fill-muted text-[10px]",children:i}):null,b.map((P,te)=>c.jsx("circle",{cx:G(P.x),cy:W(P.y),r:3.5,fill:vn(w.indexOf(P.series??"")),fillOpacity:.75,"data-x":P.x,"data-y":P.y,"data-label":P.label,...x(c.jsx(os,{title:P.label??P.series,rows:[{label:t??"x",value:a(P.x)},{label:i??"y",value:u(P.y)}]}))},te))]}),c.jsx(rr,{tip:v})]})}function J_(){const n=Ev();return c.jsx("span",{className:"text-2xs text-faint",children:n?"Querying…":"Live data"})}function Sd(n,e){for(const i of n.models){const a=i.metrics.find(u=>u.ref===e);if(a)return{format:a.format,type:a.type}}const t=n.graphMetrics.find(i=>i.ref===e);return{format:t==null?void 0:t.format,type:t==null?void 0:t.type}}function q_(n){return ff(n.models.flatMap(e=>e.dimensions))}function Z_(n){var t;const e=(t=n.encoding)==null?void 0:t.y;return(Array.isArray(e)?e[0]:e)??n.query.metrics[0]??""}function X_({chart:n,columns:e,rows:t}){const i=j_(e,t);return c.jsx("a",{href:`data:text/csv;charset=utf-8,${encodeURIComponent(i)}`,download:`${n.id}.csv`,className:"border border-line px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Export CSV"})}function e2({chart:n,columns:e,rows:t,loading:i,onDrill:a}){const u=e.map(g=>({key:g,label:Le(g),numeric:n.query.metrics.some(v=>xr(v,e)===g)})),f=u_(n),h=f?xr(f,e):void 0,m=!!f;return c.jsxs("div",{className:"border-t border-line bg-surface-soft p-3","data-testid":`chart-details-${n.id}`,children:[c.jsxs("div",{className:"mb-2 flex items-center justify-between gap-2",children:[c.jsx("span",{className:"text-2xs font-semibold uppercase tracking-wide text-faint",children:"Drill details"}),m&&f&&h?c.jsxs("span",{className:"text-2xs text-faint",children:["Choose a ",Le(f)," value to filter every chart."]}):null]}),c.jsx(Ui,{columns:u,rows:t,loading:i,pageSize:20,renderCell:(g,v)=>String(v??"—")}),m&&f&&h&&t.length?c.jsx("div",{className:"mt-2 flex flex-wrap gap-1","aria-label":`Drill by ${Le(f)}`,children:t.slice(0,12).map((g,v)=>{const x=au(g[h]);return c.jsxs("button",{type:"button",onClick:()=>a(f,x),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-accent hover:text-ink",children:["Filter to ",rs(x)]},`${String(x)}-${v}`)})}):null]})}function t2({document:n,chart:e,catalog:t,backend:i,state:a,setFilters:u,setRange:f}){var P,te,X,oe,ae,se,ne;const[h,m]=I.useState(!1),g=I.useMemo(()=>q_(t),[t]),v=I.useMemo(()=>g_(n,e,a.filters,g,a.ranges,a),[e,n,a,g]),x=En(i,v),b=((P=x.result)==null?void 0:P.rows)??[],w=((te=x.result)==null?void 0:te.columns)??[],_=e.query.dimensions??[],C=((X=e.encoding)==null?void 0:X.x)??_[0]??"",A=f_(e),V=A[0]??Z_(e),$=xr(C,w),R=yf(n,e,a),O=Qv(e,g),E=c_(e,C),D=((oe=e.title)==null?void 0:oe.trim())||Le(e.id),L=[(ae=e.encoding)==null?void 0:ae.color,..._.filter(T=>T!==C)].filter((T,Q,H)=>!!T&&H.indexOf(T)===Q),G=p_(e,C,L),W=L.map(T=>xr(T,w));let Y;if(x.loading&&!x.result)Y=c.jsx(mu,{title:`Loading ${D}`});else if(x.error)Y=c.jsx($i,{title:`Could not load ${D}`,message:x.error});else if(!b.length)Y=c.jsx(Xn,{title:D,message:"The query returned no rows."});else if(_.length)if(O==="scatter"||O==="point"){const T=(se=e.encoding)!=null&&se.color?xr(e.encoding.color,w):W[0];Y=c.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(260px,1fr))] gap-3",children:A.map(Q=>{const H=xr(Q,w),N=b.map(F=>({x:Number(F[$]),y:Number(F[H]),label:String(F[$]??""),series:T?String(F[T]??""):void 0}));return c.jsxs("div",{className:"min-w-0",children:[A.length>1?c.jsx("h3",{className:"mb-1 text-2xs font-semibold text-muted",children:Le(Q)}):null,c.jsx(i0,{points:N,xLabel:Le(C),yLabel:Le(Q),formatY:F=>pt(F,Sd(t,Q)),ariaLabel:`${D}, ${Le(Q)} by ${Le(C)}, ${N.length} points`})]},Q)})})}else O==="line"||O==="area"?Y=c.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(260px,1fr))] gap-3",children:A.map(T=>{const Q=b_(b,$,xr(T,w),W),H=Q[0]??{label:"Current",points:[]},N=Sd(t,T);return c.jsxs("div",{className:"min-w-0",children:[A.length>1?c.jsx("h3",{className:"mb-1 text-2xs font-semibold text-muted",children:Le(T)}):null,c.jsx(ea,{points:H.points,seriesLabel:H.label,additionalSeries:Q.slice(1),formatValue:F=>pt(F,N),ariaLabel:`${D}, ${Le(T)}, ${Q.length} series and ${H.points.length} buckets`,onBrush:E?F=>f(C,F):void 0})]},T)})}):Y=c.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(260px,1fr))] gap-3",children:A.map(T=>{const Q=xr(T,w),H=x_(b,$,Q,W);return H.map((N,F)=>{const ee=N.data.slice(0,30),he=A.length>1||H.length>1,re=[A.length>1?Le(T):"",H.length>1?N.label:""].filter(Boolean).join(" · ");return c.jsxs("div",{className:"min-w-0",children:[he?c.jsx("h3",{className:"mb-1 text-2xs font-semibold text-muted",children:re}):null,c.jsx(s0,{data:ee,ariaLabel:`${D}, ${re||Le(T)}, ${ee.length} categories`,selectedLabel:R.filters[C],onSelect:G?pe=>{u(h_(e,C,pe,L,N.filterValues)),m(!0)}:void 0})]},`${T}-${N.label}-${F}`)})})});else{const T=b[0];Y=c.jsx("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2",children:e.query.metrics.map(Q=>c.jsx(Nr,{metric:Q,label:Le(Q),value:T[xr(Q,w)],format:Sd(t,Q)},Q))})}return c.jsxs("article",{className:"min-w-0 overflow-hidden border border-line bg-surface","data-testid":"dashboard-chart","data-chart-id":e.id,children:[c.jsxs("header",{className:"flex min-h-12 flex-wrap items-center justify-between gap-2 border-b border-line px-3 py-2",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("h2",{className:"truncate text-sm font-semibold text-ink",children:D}),c.jsxs("p",{className:"text-2xs text-faint",children:[Le(V),C?` by ${Le(C)}`:""]})]}),c.jsxs("div",{className:"flex flex-wrap gap-1",children:[c.jsx("button",{type:"button","aria-expanded":h,onClick:()=>m(T=>!T),className:"border border-line px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:h?"Hide details":"Drill details"}),c.jsx("a",{href:v_(n,e,a,g,t),className:"border border-line px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Explore from here"}),c.jsx(X_,{chart:e,columns:w,rows:b})]})]}),c.jsx("div",{className:"min-h-64 overflow-hidden p-3",children:Y}),h?c.jsx(e2,{chart:e,columns:w,rows:b,loading:x.loading,onDrill:(T,Q)=>u({[T]:Q})}):null,(ne=x.result)!=null&&ne.sql?c.jsx("div",{className:"border-t border-line px-3 py-2",children:c.jsx(yu,{queries:{Query:x.result.sql}})}):null]})}function n2({document:n,state:e,onLoad:t}){const[i,a]=I.useState(""),[u,f]=I.useState(()=>__(n)),[h,m]=I.useState(!1);function g(v){f(v),m(!N_(n,v))}return c.jsxs("details",{className:"relative",children:[c.jsx("summary",{className:"cursor-pointer list-none border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Saved views"}),c.jsxs("div",{className:"absolute right-0 z-50 mt-1 w-72 border border-line bg-surface p-3 shadow-[var(--shadow)]",children:[c.jsx("p",{className:"mb-2 text-2xs text-faint",children:"Stored only in this browser. Nothing is written to the server."}),c.jsxs("div",{className:"flex gap-1",children:[c.jsx("input",{value:i,onChange:v=>a(v.target.value),placeholder:"View name","aria-label":"Saved view name",className:"min-w-0 flex-1 border border-line bg-bg px-2 py-1 text-xs text-ink"}),c.jsx("button",{type:"button",disabled:!i.trim(),onClick:()=>{const v=[...u.filter(x=>x.name!==i.trim()),{name:i.trim(),state:e}];g(v),a("")},className:"border border-line px-2 py-1 text-2xs text-muted hover:text-ink disabled:opacity-40",children:"Save"})]}),h?c.jsx("p",{role:"alert",className:"mt-2 text-2xs text-danger",children:"Browser storage is unavailable."}):null,c.jsx("div",{className:"mt-2 flex flex-col gap-1",children:u.length?u.map(v=>c.jsxs("div",{className:"flex items-center justify-between gap-2 border-t border-line pt-1",children:[c.jsx("button",{type:"button",onClick:()=>t(v.state),className:"min-w-0 flex-1 truncate text-left text-xs text-muted hover:text-ink",children:v.name}),c.jsx("button",{type:"button","aria-label":`Delete saved view ${v.name}`,onClick:()=>g(u.filter(x=>x.name!==v.name)),className:"text-2xs text-faint hover:text-danger",children:"Delete"})]},v.name)):c.jsx("span",{className:"text-2xs text-faint",children:"No local views yet."})})]})]})}function r2(){const[n,e]=I.useState(!1);return c.jsx("button",{type:"button",title:"Copies the active tab, filters, and brushed ranges. Data is queried live; local saved views are not shared.",onClick:async()=>{await navigator.clipboard.writeText(window.location.href),e(!0),window.setTimeout(()=>e(!1),1200)},className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:n?"Share URL copied":"Copy share URL"})}function s2({document:n,catalog:e,backend:t}){const[i,a]=I.useState(()=>w_(window.location.search,n)),u=n.tabs.find(b=>b.id===i.tab)??n.tabs[0];I.useEffect(()=>{window.document.title=n.title},[n.title]),I.useEffect(()=>{const b=S_(i,n);window.history.replaceState(null,"",`${window.location.pathname}${b?`?${b}`:""}`)},[n,i]);function f(b,w){var C,A;const _=lu(n,b);if((((A=(C=n.defaults)==null?void 0:C.interactions)==null?void 0:A.scope)??"dashboard")==="chart"){a(V=>{var $;return{...V,chartFilters:{...V.chartFilters??{},[_]:{...(($=V.chartFilters)==null?void 0:$[_])??{},...w}}}});return}a(V=>({...V,filters:{...V.filters,...w},filterSources:{...V.filterSources,...Object.fromEntries(Object.keys(w).map($=>[$,_]))}}))}function h(b,w,_){var A,V;const C=lu(n,b);if((((V=(A=n.defaults)==null?void 0:A.interactions)==null?void 0:V.scope)??"dashboard")==="chart"){a($=>{const R={...$.chartRanges??{}},O={...R[C]??{}};return _?O[w]=_:delete O[w],Object.keys(O).length?R[C]=O:delete R[C],{...$,chartRanges:R}});return}a($=>{const R={...$.ranges},O={...$.rangeSources};return _?(R[w]=_,O[w]=C):(delete R[w],delete O[w]),{...$,ranges:R,rangeSources:O}})}const m=c.jsxs(c.Fragment,{children:[c.jsx(n2,{document:n,state:i,onLoad:a}),c.jsx(r2,{}),c.jsx(Ko,{}),c.jsx(J_,{})]}),g=Object.entries(i.chartFilters??{}).flatMap(([b,w])=>Object.entries(w).map(([_,C])=>({source:b,dimension:_,value:C}))),v=Object.entries(i.chartRanges??{}).flatMap(([b,w])=>Object.entries(w).map(([_,C])=>({source:b,dimension:_,range:C}))),x=Object.entries(i.filters).length||Object.entries(i.ranges).length||g.length||v.length?c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"shrink-0 text-2xs font-semibold uppercase tracking-wide text-faint",children:"Filters"}),Object.entries(i.filters).map(([b,w])=>c.jsxs("button",{type:"button","aria-label":`Remove filter ${Le(b)} ${w}`,onClick:()=>a(_=>{const C={..._.filters},A={..._.filterSources};return delete C[b],delete A[b],{..._,filters:C,filterSources:A}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Le(b)," = ",w," ×"]},b)),Object.entries(i.ranges).map(([b,w])=>c.jsxs("button",{type:"button","aria-label":`Remove range ${Le(b)} ${w.from} to ${w.to}`,onClick:()=>a(_=>{const C={..._.ranges},A={..._.rangeSources};return delete C[b],delete A[b],{..._,ranges:C,rangeSources:A}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Le(b),": ",w.from,"–",w.to," ×"]},`range-${b}`)),g.map(({source:b,dimension:w,value:_})=>c.jsxs("button",{type:"button","aria-label":`Remove filter ${Le(w)} ${_} from ${b}`,onClick:()=>a(C=>{const A={...C.chartFilters??{}},V={...A[b]??{}};return delete V[w],Object.keys(V).length?A[b]=V:delete A[b],{...C,chartFilters:A}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Le(w)," = ",_," · ",b," ×"]},`chart-filter-${b}-${w}`)),v.map(({source:b,dimension:w,range:_})=>c.jsxs("button",{type:"button","aria-label":`Remove range ${Le(w)} ${_.from} to ${_.to} from ${b}`,onClick:()=>a(C=>{const A={...C.chartRanges??{}},V={...A[b]??{}};return delete V[w],Object.keys(V).length?A[b]=V:delete A[b],{...C,chartRanges:A}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Le(w),": ",_.from,"–",_.to," · ",b," ×"]},`chart-range-${b}-${w}`)),c.jsx("button",{type:"button",onClick:()=>a(b=>({...b,filters:{},ranges:{},filterSources:{},rangeSources:{},chartFilters:{},chartRanges:{}})),className:"text-2xs text-muted hover:text-ink",children:"Clear all"})]}):void 0;return c.jsx(Dv,{brand:c.jsxs("div",{className:"min-w-0",children:[c.jsx("h1",{className:"truncate text-sm font-semibold text-ink",children:n.title}),c.jsx("p",{className:"text-2xs text-faint",children:"Declarative dashboard"})]}),toolbar:m,filters:x,rail:null,showRail:!1,children:c.jsxs("div",{"data-testid":"dashboard-document",className:"flex min-h-full flex-col",children:[c.jsx("nav",{className:"flex shrink-0 gap-1 overflow-x-auto border-b border-line bg-surface px-3 pt-2","aria-label":"Dashboard tabs",children:n.tabs.map(b=>c.jsx("button",{type:"button",role:"tab","aria-selected":b.id===(u==null?void 0:u.id),"data-tab-id":b.id,onClick:()=>a(w=>{var _,C;return w.tab===b.id?w:(((C=(_=n.defaults)==null?void 0:_.interactions)==null?void 0:C.scope)??"dashboard")==="dashboard"?{...w,tab:b.id}:{...w,tab:b.id,filters:{},ranges:{},filterSources:{},rangeSources:{},chartFilters:{},chartRanges:{}}}),className:"border border-b-0 border-line px-3 py-2 text-xs text-muted aria-selected:border-accent aria-selected:bg-bg aria-selected:text-ink",children:k_(b)},b.id))}),u?c.jsx("section",{className:"grid min-w-0 grid-cols-1 gap-3 p-3 xl:grid-cols-2","data-testid":"dashboard-chart-grid","data-tab-id":u.id,children:u.charts.map(b=>c.jsx(t2,{document:n,chart:b,catalog:e,backend:t,state:i,setFilters:w=>f(b,w),setRange:(w,_)=>h(b,w,_)},b.id))}):c.jsx(Xn,{title:"No dashboard tabs",message:"This dashboard document has no tabs to render."})]})})}function ay(){const n=Ev();return c.jsxs("span",{role:"status","aria-live":"polite","aria-atomic":"true",className:"flex items-center gap-1.5 text-2xs text-faint",title:n?"Updating data":"Data is up to date",children:[n?c.jsx("svg",{"aria-hidden":"true",viewBox:"0 0 24 24",className:"spinner size-3.5 text-accent",fill:"none",stroke:"currentColor",strokeWidth:"3",children:c.jsx("path",{d:"M12 3a9 9 0 1 0 9 9",strokeLinecap:"round"})}):c.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-full bg-accent"}),c.jsx("span",{className:"sr-only",children:n?"Updating data":"Data is up to date"})]})}function i2(){const[n,e]=I.useState(!1);return c.jsx("button",{type:"button",onClick:async()=>{await navigator.clipboard.writeText(window.location.href),e(!0),window.setTimeout(()=>e(!1),1200)},className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:n?"Copied":"Copy link"})}function xl({children:n}){return c.jsx("div",{className:"grid h-screen place-items-center bg-bg p-6",children:n})}function o2({backend:n,onAuthenticated:e}){const[t,i]=I.useState(""),[a,u]=I.useState(null),[f,h]=I.useState(!1);return c.jsxs("div",{className:"w-full max-w-sm border border-line bg-surface p-6 shadow-sm",children:[c.jsx("h1",{className:"text-base font-semibold text-ink",children:"Connect to Sidemantic"}),c.jsx("p",{className:"mt-2 text-xs leading-5 text-muted",children:"Enter the API bearer once. It is exchanged for a short-lived, HttpOnly browser session where supported, and is never placed in the URL or browser storage."}),c.jsxs("form",{className:"mt-5 space-y-3",onSubmit:async m=>{m.preventDefault(),h(!0),u(null);try{await n.createBrowserSession(t),i(""),e()}catch(g){u(g instanceof Error?g.message:String(g))}finally{h(!1)}},children:[c.jsx("label",{className:"block text-xs font-medium text-ink",htmlFor:"api-token",children:"API bearer token"}),c.jsx("input",{id:"api-token",type:"password",autoComplete:"off",required:!0,value:t,onChange:m=>i(m.target.value),className:"w-full border border-line bg-bg px-3 py-2 text-sm text-ink outline-none focus:border-accent"}),a?c.jsx("p",{className:"text-xs text-red-700",children:a}):null,c.jsx("button",{type:"submit",disabled:f||!t,className:"w-full bg-accent px-3 py-2 text-xs font-semibold text-white disabled:opacity-50",children:f?"Connecting…":"Connect"})]})]})}function a2(){const{state:n,dispatch:e,catalog:t,initial:i,dashboard:a}=ls(),u=!!a,f=n.view==="home"&&!u,h=t.models.find(R=>R.name===n.model),m=I.useMemo(()=>Fs(t,a,n.dashboardTab),[t,a,n.dashboardTab]),g=I.useMemo(()=>a?Tv(t,a,n.dashboardTab):i,[t,a,i,n.dashboardTab]),v=n.dateRange!=null||Object.keys(n.filters).length>0,x=(m==null?void 0:m.timeDimension)??(h==null?void 0:h.timeDimension),b=!!x,w=uS(x==null?void 0:x.supportedGranularities,n.grain),_=I.useMemo(()=>{const R=new Map;for(const O of t.models)for(const E of O.dimensions)R.set(E.ref,{dim:E,model:O});return R},[t]),C=Object.entries(n.filters).flatMap(([R,O])=>{const E=_.get(R);return E?[c.jsx(Ud,{dim:E.dim,model:E.model,filter:O,onRemove:()=>e({type:"removeFilterDim",dim:R})},R)]:[]}),A=c.jsx(sS,{dashboardTitle:a==null?void 0:a.title,modelLabel:!f&&!u?h==null?void 0:h.label:void 0,onHome:()=>e({type:"setView",view:"home"})}),V=f?c.jsxs(c.Fragment,{children:[c.jsx(Ko,{}),c.jsx(ay,{})]}):c.jsxs(c.Fragment,{children:[a?c.jsx("div",{className:"flex items-center border border-line bg-surface",role:"tablist","aria-label":"Dashboard tabs",children:a.tabs.map(R=>{const O=R.id===n.dashboardTab;return c.jsx("button",{type:"button",role:"tab","aria-selected":O,className:`px-2 py-1 text-2xs ${O?"bg-accent text-white":"text-muted hover:text-ink"}`,onClick:()=>{const E=Fs(t,a,R.id);E&&e({type:"setDashboardTab",tab:E.id,model:E.model.name,metric:E.selectedMetric,grain:E.grain})},children:R.label??R.id},R.id)})}):c.jsx(Pv,{view:n.view,onChange:R=>e({type:"setView",view:R})}),c.jsx(Lv,{range:n.dateRange,disabled:!b,onChange:R=>e({type:"setDateRange",range:R}),comparison:n.comparison,comparisonRange:n.comparisonRange,onComparisonChange:(R,O)=>e({type:"setComparison",comparison:R,range:O})}),c.jsx($d,{grain:n.grain,options:w,disabled:!b,onChange:R=>e({type:"setGrain",grain:R})}),c.jsx(t_,{timezone:n.timezone,disabled:!b,onChange:R=>e({type:"setTimezone",timezone:R})}),v?c.jsx("button",{type:"button",onClick:()=>e({type:"reset",initial:g}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Reset"}):null,c.jsx(i2,{}),c.jsx(Ko,{}),c.jsx(ay,{})]}),$=c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"shrink-0 text-xs font-medium text-muted",children:"Filters"}),C.length?C:c.jsx("span",{className:"text-2xs text-faint",children:"None"}),h?c.jsx(YS,{model:h}):null,C.length?c.jsx("button",{type:"button",onClick:()=>e({type:"clearFilters"}),className:"shrink-0 text-2xs text-muted underline-offset-2 hover:text-ink hover:underline",children:"Clear"}):null]});return c.jsx(Dv,{brand:A,toolbar:V,filters:f?void 0:$,rail:c.jsx(KS,{}),showRail:!f&&!u,openRailRequest:n.view==="pivot",drawer:f?void 0:c.jsx(i_,{}),children:c.jsxs(JS,{children:[n.view==="home"?c.jsx(I_,{}):null,n.view==="explore"?c.jsx(Y_,{}):null,n.view==="pivot"?c.jsx(Q_,{}):null]},n.view)})}function l2(){const[n,e]=I.useState(!1),t=I.useMemo(()=>new rS({transport:"json",onUnauthorized:()=>e(!0)}),[]),[i,a]=I.useState(null),[u,f]=I.useState(null),[h,m]=I.useState(0),g=l_(window.location.pathname,window.location.search);return I.useEffect(()=>{let v=!0;return Promise.all([t.getCatalog(),g?Promise.resolve(null):t.getDashboard()]).then(([x,b])=>v&&a({catalog:x,dashboard:b})).catch(x=>v&&f(x instanceof Error?x.message:String(x))),()=>{v=!1}},[t,g,h]),n?c.jsx(xl,{children:c.jsx(o2,{backend:t,onAuthenticated:()=>{e(!1),f(null),m(v=>v+1)}})}):u?c.jsx(xl,{children:c.jsx($i,{title:"Could not load semantic layer",message:u})}):i?i.catalog.models.length?i.dashboard?c.jsx(s2,{document:i.dashboard,catalog:i.catalog,backend:t}):c.jsx(PS,{catalog:i.catalog,backend:t,children:c.jsx(a2,{})}):c.jsx(xl,{children:c.jsx(Xn,{title:"Empty semantic layer",message:"No models were found."})}):c.jsx(xl,{children:c.jsx(mu,{title:"Loading semantic layer",message:"Reading models and metrics…"})})}const en={top:14,right:48,bottom:26,left:48};function u2({data:n,barLabel:e="Bars",lineLabel:t="Line",height:i=220,formatBar:a=pt,formatLine:u=pt,ariaLabel:f}){const h=I.useRef(null),[m,g]=I.useState(640),{tip:v,handlers:x}=Dr();if(I.useEffect(()=>us(h.current,240,g),[]),n.length===0)return c.jsx("div",{className:"grid h-[220px] place-items-center text-xs text-faint",children:"No data to chart."});const b=n.map(ae=>Number.isFinite(ae.bar)?ae.bar:0),w=n.map(ae=>Number.isFinite(ae.line)?ae.line:0),_=Math.min(0,...b),C=Math.max(0,...b),A=C-_||1,V=Math.min(...w),$=Math.max(...w),R=$-V||1,O=m-en.left-en.right,E=i-en.top-en.bottom,D=ae=>en.top+(1-(ae-_)/A)*E,L=ae=>en.top+(1-(ae-V)/R)*E,G=O/n.length,W=Math.max(8,Math.min(48,G*.55)),Y=ae=>en.left+G*ae+G/2,P=D(0),te=n.map((ae,se)=>`${Y(se).toFixed(1)},${L(w[se]).toFixed(1)}`).join(" L "),X=vn(1),oe=f||`Combo chart, ${n.length} categories: ${e} bars with a ${t} line`;return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"mb-1 flex items-center gap-3 text-2xs text-faint",children:[c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{"aria-hidden":"true",className:"inline-block h-2 w-3 bg-chart-primary"})," ",e]}),c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{"aria-hidden":"true",className:"inline-block h-0.5 w-3",style:{background:X}})," ",t]})]}),c.jsxs("svg",{ref:h,role:"img","aria-label":oe,className:"w-full overflow-hidden",style:{height:i},viewBox:`0 0 ${m} ${i}`,children:[As(_,C,4).map((ae,se)=>{const ne=D(ae);return c.jsxs("g",{children:[c.jsx("line",{x1:en.left,x2:m-en.right,y1:ne,y2:ne,className:"stroke-line"}),c.jsx("text",{x:en.left-6,y:ne+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Gt(ae)})]},se)}),As(V,$,4).map((ae,se)=>c.jsx("text",{x:m-en.right+6,y:L(ae)+3,textAnchor:"start",className:"text-[10px]",fill:X,children:u(ae)},se)),c.jsx("line",{x1:en.left,x2:m-en.right,y1:P,y2:P,className:"stroke-line"}),n.map((ae,se)=>{const ne=b[se],T=D(ne);return c.jsxs("g",{children:[c.jsx("rect",{x:Y(se)-W/2,y:Math.min(T,P),width:W,height:Math.abs(T-P),"data-label":ae.label,"data-bar":ne,"data-line":w[se],className:ne<0?"fill-danger":"fill-chart-primary",...x(c.jsx(os,{title:ae.label,rows:[{label:e,value:a(ne),swatch:"var(--chart-primary)"},{label:t,value:u(w[se]),swatch:X}]}))}),c.jsx("text",{x:Y(se),y:i-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:ae.label.slice(0,8)})]},ae.label)}),c.jsx("path",{d:`M ${te}`,fill:"none",stroke:X,strokeWidth:1.75}),n.map((ae,se)=>c.jsx("circle",{cx:Y(se),cy:L(w[se]),r:3,fill:X,...x(c.jsx(os,{title:ae.label,rows:[{label:e,value:a(b[se]),swatch:"var(--chart-primary)"},{label:t,value:u(w[se]),swatch:X}]}))},ae.label))]}),c.jsx(rr,{tip:v})]})}const c2={primary:"border-accent bg-accent-soft font-medium text-accent hover:bg-accent hover:text-surface",secondary:"border-line bg-surface text-ink hover:bg-surface-soft",ghost:"border-transparent bg-transparent text-muted hover:bg-surface-soft hover:text-ink",danger:"border-danger bg-danger-soft font-medium text-danger hover:bg-danger hover:text-surface"};function To({variant:n="secondary",size:e="md",type:t="button",className:i,...a}){const u=e==="sm"?"h-6 px-2.5 text-2xs":"h-7 px-3 text-xs";return c.jsx("button",{type:t,"data-variant":n,className:`inline-flex items-center justify-center rounded-full border ${u} ${c2[n]} disabled:pointer-events-none disabled:opacity-50 ${i??""}`,...a})}function d2(n,e){const t=e.trim().toLowerCase();return t?n.filter(i=>i.value.toLowerCase().includes(t)||(i.label??"").toLowerCase().includes(t)):n}function ly(n){const{options:e,placeholder:t="Search…",ariaLabel:i,disabled:a,maxVisible:u=50}=n,f=I.useId(),h=I.useRef(null),[m,g]=I.useState(!1),[v,x]=I.useState(""),[b,w]=I.useState(0),_=I.useMemo(()=>d2(e,v).slice(0,u),[e,v,u]),C=n.multiple?n.values:n.value!=null?[n.value]:[],A=new Set(C),V=D=>{var L;return((L=e.find(G=>G.value===D))==null?void 0:L.label)??D};I.useEffect(()=>{if(!m)return;function D(L){h.current&&!h.current.contains(L.target)&&g(!1)}return document.addEventListener("mousedown",D,!0),()=>document.removeEventListener("mousedown",D,!0)},[m]);function $(D){if(D){if(n.multiple){const L=A.has(D.value)?n.values.filter(G=>G!==D.value):[...n.values,D.value];n.onChange(L);return}n.onChange(D.value),x(""),g(!1)}}function R(){n.multiple?n.onChange([]):n.onChange(null),x("")}function O(D){D.key==="ArrowDown"?(D.preventDefault(),g(!0),w(L=>Math.min(L+1,_.length-1))):D.key==="ArrowUp"?(D.preventDefault(),w(L=>Math.max(L-1,0))):D.key==="Enter"?(D.preventDefault(),m&&$(_[b])):D.key==="Escape"?g(!1):D.key==="Backspace"&&n.multiple&&!v&&n.values.length&&n.onChange(n.values.slice(0,-1))}const E=!n.multiple&&n.value!=null?V(n.value):t;return c.jsxs("div",{ref:h,className:"relative inline-flex min-w-40 flex-wrap items-center gap-1 text-xs",children:[n.multiple?n.values.map(D=>c.jsxs("span",{"data-chip":D,className:"inline-flex items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 leading-4 text-muted",children:[c.jsx("span",{className:"max-w-32 truncate",children:V(D)}),c.jsx("button",{type:"button","aria-label":`Remove ${V(D)}`,disabled:a,onClick:()=>n.onChange(n.values.filter(L=>L!==D)),className:"text-faint hover:text-ink",children:"×"})]},D)):null,c.jsxs("span",{className:"relative min-w-28 flex-1",children:[c.jsx("input",{type:"text",role:"combobox","aria-expanded":m,"aria-controls":f,"aria-autocomplete":"list","aria-activedescendant":m&&_[b]?`${f}-${b}`:void 0,"aria-label":i,disabled:a,placeholder:E,value:v,onChange:D=>{x(D.target.value),w(0),g(!0)},onFocus:()=>g(!0),onKeyDown:O,className:"h-7 w-full rounded-full border border-line bg-surface px-3 text-ink placeholder:text-faint disabled:opacity-50"}),C.length>0?c.jsx("button",{type:"button","aria-label":"Clear selection",disabled:a,onClick:R,className:"absolute right-1 top-1/2 -translate-y-1/2 px-1 text-faint hover:text-ink",children:"×"}):null]}),m?c.jsxs("ul",{id:f,role:"listbox","aria-multiselectable":n.multiple||void 0,className:"absolute left-0 top-full z-50 mt-1 max-h-56 w-full min-w-40 overflow-y-auto rounded-xl border border-line bg-surface p-1.5 shadow-[var(--shadow)]",children:[_.length===0?c.jsx("li",{className:"px-1.5 py-1 text-faint",children:"No matches"}):null,_.map((D,L)=>c.jsxs("li",{id:`${f}-${L}`,role:"option","aria-selected":A.has(D.value),"data-active":L===b||void 0,onMouseEnter:()=>w(L),onMouseDown:G=>{G.preventDefault(),$(D)},className:"cursor-pointer truncate rounded-md px-2 py-1 text-muted data-[active=true]:bg-surface-soft data-[active=true]:text-ink",children:[D.label??D.value,A.has(D.value)?c.jsx("span",{className:"float-right text-accent",children:"✓"}):null]},D.value))]}):null]})}function f2({title:n,eyebrow:e="Sidemantic",status:t,toolbar:i,children:a}){return c.jsxs("main",{className:"mx-auto max-w-6xl px-4 py-5 text-ink sm:px-6",children:[c.jsxs("header",{className:"flex flex-wrap items-end justify-between gap-4 border-b border-line pb-4",children:[c.jsxs("div",{children:[c.jsx("p",{className:"text-xs font-medium text-faint",children:e}),c.jsx("h1",{className:"mt-1 text-2xl font-semibold text-ink",children:n})]}),t?c.jsx("div",{className:"text-sm text-muted",children:t}):null]}),i?c.jsx("section",{className:"flex flex-wrap gap-2 py-3",children:i}):null,c.jsx("section",{className:"grid gap-4 py-4",children:a})]})}const h2=["Su","Mo","Tu","We","Th","Fr","Sa"],uy=["January","February","March","April","May","June","July","August","September","October","November","December"];function o0(n,e,t){return`${String(n).padStart(4,"0")}-${String(e+1).padStart(2,"0")}-${String(t).padStart(2,"0")}`}function p2(n,e){const t=new Date(Date.UTC(n,e,1)),i=new Date(t);i.setUTCDate(1-t.getUTCDay());const a=[],u=new Date(i);do{const f=[];for(let h=0;h<7;h+=1)f.push({iso:o0(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate()),day:u.getUTCDate(),inMonth:u.getUTCMonth()===e}),u.setUTCDate(u.getUTCDate()+1);a.push(f)}while(u.getUTCMonth()===e);return a}function _d(){const n=new Date;return o0(n.getFullYear(),n.getMonth(),n.getDate())}function cy(n){var O;const{inline:e,ariaLabel:t,disabled:i}=n,a=n.mode==="range",u=a?((O=n.value)==null?void 0:O.from)??null:n.value,[f,h]=I.useState(()=>Number((u??_d()).slice(0,4))),[m,g]=I.useState(()=>Number((u??_d()).slice(5,7))-1),[v,x]=I.useState(null),b=I.useRef(null);function w(E){const D=new Date(Date.UTC(f,m+E,1));h(D.getUTCFullYear()),g(D.getUTCMonth())}function _(E){if(!a){n.onChange(E),b.current&&(b.current.open=!1);return}if(!v){x(E);return}const[D,L]=v<=E?[v,E]:[E,v];n.onChange({from:D,to:L}),x(null),b.current&&(b.current.open=!1)}function C(E){return a?v?E===v:n.value!=null&&E>=n.value.from&&E<=n.value.to:E===n.value}function A(E){return a?v?E===v:n.value!=null&&(E===n.value.from||E===n.value.to):E===n.value}const V=_d(),$=c.jsxs("div",{className:"w-56 select-none rounded-xl border border-line bg-surface p-2.5 text-2xs","aria-label":t??"Calendar",children:[c.jsxs("div",{className:"mb-1 flex items-center justify-between",children:[c.jsx("button",{type:"button","aria-label":"Previous month",onClick:()=>w(-1),className:"px-1.5 py-0.5 text-muted hover:bg-surface-soft hover:text-ink",children:"‹"}),c.jsxs("span",{className:"font-medium text-ink",children:[uy[m]," ",f]}),c.jsx("button",{type:"button","aria-label":"Next month",onClick:()=>w(1),className:"px-1.5 py-0.5 text-muted hover:bg-surface-soft hover:text-ink",children:"›"})]}),c.jsx("div",{className:"grid grid-cols-7 text-center text-faint",children:h2.map(E=>c.jsx("span",{className:"py-0.5",children:E},E))}),c.jsx("div",{role:"grid","aria-label":`${uy[m]} ${f}`,children:p2(f,m).map((E,D)=>c.jsx("div",{role:"row",className:"grid grid-cols-7",children:E.map(L=>c.jsx("button",{type:"button",role:"gridcell","aria-selected":C(L.iso),"data-date":L.iso,onClick:()=>_(L.iso),className:`py-1 text-center tnum ${A(L.iso)?"bg-accent text-surface":C(L.iso)?"bg-accent-soft text-accent":L.inMonth?"text-ink hover:bg-surface-soft":"text-faint hover:bg-surface-soft"} ${L.iso===V?"underline underline-offset-2":""}`,children:L.day},L.iso))},D))}),a&&v?c.jsxs("p",{className:"mt-1 text-faint",children:["Start ",v," — pick an end date."]}):null,n.value!=null?c.jsx("button",{type:"button",onClick:()=>n.onChange(null),className:"mt-1 w-full rounded-lg border border-line px-2 py-1 text-left text-muted hover:bg-surface-soft",children:"Clear"}):null]});if(e)return $;const R=a?n.value?`${n.value.from} → ${n.value.to}`:"Any dates":n.value??"Any date";return c.jsxs("details",{ref:b,className:"relative inline-block text-xs",children:[c.jsxs("summary",{className:`flex cursor-pointer items-center h-7 gap-1.5 rounded-full border border-line bg-surface px-3 text-ink ${i?"pointer-events-none opacity-50":""}`,children:[c.jsx("span",{className:"text-faint",children:t??"Date"}),c.jsx("span",{className:"tnum",children:R}),c.jsx("span",{"aria-hidden":"true",className:"text-faint",children:"▾"})]}),c.jsx("div",{className:"absolute left-0 z-50 mt-1 shadow-[var(--shadow)]",children:$})]})}function m2({result:n,pageSize:e=10}){const t=(n==null?void 0:n.columns)??[];return c.jsx(Ui,{columns:t.map(i=>({key:i,label:Le(i),numeric:n==null?void 0:n.sample_rows.some(a=>typeof a[i]=="number")})),rows:(n==null?void 0:n.sample_rows)??[],pageSize:e,renderCell:(i,a)=>pt(a)})}function y2({data:n,height:e=200,ariaLabel:t}){return c.jsx("div",{style:{minHeight:e},children:c.jsx(ea,{points:n.map(({label:i,value:a})=>({x:i,y:a})),formatValue:i=>pt(i),ariaLabel:t})})}const a0=Math.PI*2;function g2(n){const e=n.map((a,u)=>({...a,colorIndex:u})).filter(a=>Number.isFinite(a.value)&&a.value>0),t=e.reduce((a,u)=>a+u.value,0);if(t<=0)return[];let i=-Math.PI/2;return e.map(a=>{const u=a.value/t,f=i;return i+=u*a0,{label:a.label,value:a.value,share:u,startAngle:f,endAngle:i,colorIndex:a.colorIndex}})}function v2(n,e,t,i,a,u){const f=Math.min(u-a,a0-1e-4),h=a+f,m=f>Math.PI?1:0,g=n+i*Math.cos(a),v=e+i*Math.sin(a),x=n+i*Math.cos(h),b=e+i*Math.sin(h),w=n+t*Math.cos(h),_=e+t*Math.sin(h),C=n+t*Math.cos(a),A=e+t*Math.sin(a);return[`M ${g.toFixed(2)} ${v.toFixed(2)}`,`A ${i} ${i} 0 ${m} 1 ${x.toFixed(2)} ${b.toFixed(2)}`,`L ${w.toFixed(2)} ${_.toFixed(2)}`,`A ${t} ${t} 0 ${m} 0 ${C.toFixed(2)} ${A.toFixed(2)}`,"Z"].join(" ")}function x2({data:n,height:e=200,centerLabel:t="Total",format:i=pt,ariaLabel:a}){const u=I.useRef(null),[f,h]=I.useState(360),{tip:m,handlers:g}=Dr();I.useEffect(()=>us(u.current,220,h),[]);const v=g2(n),x=v.reduce(($,R)=>$+R.value,0),b=Math.min(e,f*.55),w=b/2,_=e/2,C=b/2-6,A=Math.max(C*.62,C-34),V=a||`Donut chart, ${v.length} segments totaling ${Gt(x)}`;return v.length===0?c.jsx("div",{className:"grid h-[200px] place-items-center text-xs text-faint",children:"No positive values to chart."}):c.jsxs("div",{ref:u,className:"flex w-full items-center gap-4",style:{height:e},children:[c.jsxs("svg",{role:"img","aria-label":V,width:b,height:e,className:"shrink-0 overflow-hidden",children:[v.map($=>c.jsx("path",{d:v2(w,_,A,C,$.startAngle,$.endAngle),fill:vn($.colorIndex),stroke:"var(--surface)",strokeWidth:1,"data-label":$.label,"data-value":$.value,...g(c.jsx(os,{title:$.label,rows:[{label:"Value",value:i($.value),swatch:vn($.colorIndex)},{label:"Share",value:`${($.share*100).toFixed(1)}%`}]}))},$.label)),c.jsx("text",{x:w,y:_-4,textAnchor:"middle",className:"fill-ink font-mono tnum text-sm font-medium",children:Gt(x)}),c.jsx("text",{x:w,y:_+12,textAnchor:"middle",className:"fill-faint text-[10px]",children:t})]}),c.jsx("ul",{className:"min-w-0 flex-1 space-y-1 text-2xs",children:v.map($=>c.jsxs("li",{className:"flex items-center gap-2","data-label":$.label,children:[c.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 shrink-0",style:{background:vn($.colorIndex)}}),c.jsx("span",{className:"truncate text-muted",children:$.label}),c.jsx("span",{className:"ml-auto font-mono tnum text-ink",children:i($.value)}),c.jsxs("span",{className:"w-10 text-right font-mono tnum text-faint",children:[($.share*100).toFixed(1),"%"]})]},$.label))}),c.jsx(rr,{tip:m})]})}const pr={top:8,right:8,bottom:26,left:76};function dy(n,e,t){if(t!=null&&t.length)return t;const i=[];for(const a of n)i.includes(a[e])||i.push(a[e]);return i}function b2({cells:n,xLabels:e,yLabels:t,height:i=240,format:a=pt,ariaLabel:u}){const f=I.useRef(null),[h,m]=I.useState(640),{tip:g,handlers:v}=Dr();I.useEffect(()=>us(f.current,240,m),[]);const x=dy(n,"x",e),b=dy(n,"y",t);if(x.length===0||b.length===0)return c.jsx("div",{className:"grid h-[240px] place-items-center text-xs text-faint",children:"No cells to chart."});const w=new Map(n.map(D=>[`${D.x}\0${D.y}`,D.value])),_=n.map(D=>Math.abs(D.value)).filter(Number.isFinite),C=Math.max(..._,0)||1,A=h-pr.left-pr.right,V=i-pr.top-pr.bottom,$=A/x.length,R=V/b.length,O=Math.max(1,Math.ceil(x.length/Math.max(1,Math.floor(A/56)))),E=u||`Heatmap, ${x.length} by ${b.length} cells`;return c.jsxs(c.Fragment,{children:[c.jsxs("svg",{ref:f,role:"img","aria-label":E,className:"w-full overflow-hidden",style:{height:i},viewBox:`0 0 ${h} ${i}`,children:[b.map((D,L)=>c.jsx("text",{x:pr.left-6,y:pr.top+L*R+R/2+3,textAnchor:"end",className:"fill-muted text-[10px]",children:D.slice(0,12)},D)),x.map((D,L)=>L%O===0?c.jsx("text",{x:pr.left+L*$+$/2,y:i-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:D.slice(0,8)},D):null),b.map((D,L)=>x.map((G,W)=>{const Y=w.get(`${G}\0${D}`),P=Y!=null&&Number.isFinite(Y),te=P?.06+.94*(Math.abs(Y)/C):0;return c.jsx("rect",{x:pr.left+W*$+.5,y:pr.top+L*R+.5,width:Math.max(1,$-1),height:Math.max(1,R-1),"data-x":G,"data-y":D,"data-value":P?Y:void 0,className:P&&Y<0?"fill-danger":"fill-chart-primary",fillOpacity:P?te:.03,...v(c.jsx(os,{title:`${D} / ${G}`,rows:[{label:"Value",value:P?a(Y):"no data"}]}))},`${G}\0${D}`)}))]}),c.jsx(rr,{tip:g})]})}function w2(n,e){const t=n.filter(Number.isFinite);if(t.length===0)return[];const i=Math.min(...t),a=Math.max(...t),u=Math.max(1,Math.floor(e??Math.min(40,Math.ceil(Math.log2(t.length)+1))));if(i===a)return[{x0:i,x1:a,count:t.length}];const f=(a-i)/u,h=Array.from({length:u},(m,g)=>({x0:i+g*f,x1:i+(g+1)*f,count:0}));for(const m of t){const g=Math.min(u-1,Math.floor((m-i)/f));h[g].count+=1}return h}const Cn={top:12,right:14,bottom:26,left:44};function S2({values:n,bins:e,height:t=200,format:i=Gt,ariaLabel:a}){const u=I.useRef(null),[f,h]=I.useState(640),{tip:m,handlers:g}=Dr();I.useEffect(()=>us(u.current,160,h),[]);const v=w2(n,e);if(v.length===0)return c.jsx("div",{className:"grid h-[200px] place-items-center text-xs text-faint",children:"No numeric values to chart."});const x=Math.max(...v.map(R=>R.count),1),b=f-Cn.left-Cn.right,w=t-Cn.top-Cn.bottom,_=R=>Cn.top+(1-R/x)*w,C=b/v.length,A=As(0,x,4),V=Math.max(1,Math.ceil(v.length/6)),$=a||`Histogram, ${v.length} bins from ${i(v[0].x0)} to ${i(v[v.length-1].x1)}`;return c.jsxs(c.Fragment,{children:[c.jsxs("svg",{ref:u,role:"img","aria-label":$,className:"w-full overflow-hidden",style:{height:t},viewBox:`0 0 ${f} ${t}`,children:[A.map((R,O)=>{const E=_(R);return c.jsxs("g",{children:[c.jsx("line",{x1:Cn.left,x2:f-Cn.right,y1:E,y2:E,className:"stroke-line"}),c.jsx("text",{x:Cn.left-6,y:E+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Gt(R)})]},O)}),v.map((R,O)=>{const E=Cn.left+C*O,D=_(R.count);return c.jsx("rect",{x:E+.5,y:D,width:Math.max(1,C-1),height:Cn.top+w-D,"data-x0":R.x0,"data-x1":R.x1,"data-count":R.count,className:"fill-chart-primary",...g(c.jsx(os,{title:`${i(R.x0)} – ${i(R.x1)}`,rows:[{label:"Count",value:R.count.toLocaleString()}]}))},O)}),v.map((R,O)=>O%V===0?c.jsx("text",{x:Cn.left+C*O,y:t-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:i(R.x0)},O):null)]}),c.jsx(rr,{tip:m})]})}function _2(n){let e=2166136261;for(let t=0;t>>0}function N2(n){let e=n||1;return()=>{e|=0,e=e+1831565813|0;let t=Math.imul(e^e>>>15,1|e);return t=t+Math.imul(t^t>>>7,61|t)^t,((t^t>>>14)>>>0)/4294967296}}function j2(n,e,{width:t=640,height:i=320,iterations:a=150}={}){if(n.length===0)return[];const u=N2(_2(n.map(G=>G.id).join("\0"))),f=new Map(n.map((G,W)=>[G.id,W])),h=n.map(()=>u()*t),m=n.map(()=>u()*i),g=n.map(()=>0),v=n.map(()=>0),x=n.map(()=>0),b=[];for(const G of e){const W=f.get(G.source),Y=f.get(G.target);W==null||Y==null||W===Y||(b.push([W,Y]),x[W]+=1,x[Y]+=1)}const w=t*i,_=Math.sqrt(w/n.length);let C=Math.max(t,i)/8;const A=C/(a+1);for(let G=0;G({...G,x:V+(h[W]-$)/D*(t-V*2),y:V+(m[W]-O)/L*(i-V*2),degree:x[W]}))}function k2({nodes:n,links:e,height:t=320,ariaLabel:i}){const a=I.useRef(null),[u,f]=I.useState(640),{tip:h,handlers:m}=Dr();I.useEffect(()=>us(a.current,240,f),[]);const g=I.useMemo(()=>j2(n,e,{width:u,height:t}),[n,e,u,t]),v=I.useMemo(()=>new Map(g.map(_=>[_.id,_])),[g]),x=I.useMemo(()=>[...new Set(n.map(_=>_.group??""))],[n]),b=Math.max(...e.map(_=>_.weight??1),1);if(g.length===0)return c.jsx("div",{className:"grid h-[320px] place-items-center text-xs text-faint",children:"No nodes to chart."});const w=i||`Network graph, ${n.length} nodes and ${e.length} links`;return c.jsxs(c.Fragment,{children:[x.length>1?c.jsx("div",{className:"mb-1 flex flex-wrap items-center gap-3 text-2xs text-faint",children:x.map((_,C)=>c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-full",style:{background:vn(C)}}),_||"(default)"]},_||"(default)"))}):null,c.jsxs("svg",{ref:a,role:"img","aria-label":w,className:"w-full overflow-hidden",style:{height:t},viewBox:`0 0 ${u} ${t}`,children:[e.map((_,C)=>{const A=v.get(_.source),V=v.get(_.target);return!A||!V?null:c.jsx("line",{x1:A.x,y1:A.y,x2:V.x,y2:V.y,className:"stroke-line",strokeWidth:.75+2.25*((_.weight??1)/b),"data-source":_.source,"data-target":_.target},C)}),g.map(_=>{const C=5+Math.min(9,_.degree*1.5);return c.jsxs("g",{children:[c.jsx("circle",{cx:_.x,cy:_.y,r:C,fill:vn(x.indexOf(_.group??"")),stroke:"var(--surface)",strokeWidth:1.5,"data-id":_.id,"data-degree":_.degree,...m(c.jsx(os,{title:_.label??_.id,rows:[{label:"Connections",value:String(_.degree)},..._.group?[{label:"Group",value:_.group,swatch:vn(x.indexOf(_.group))}]:[]]}))}),c.jsx("text",{x:_.x,y:_.y-C-4,textAnchor:"middle",className:"pointer-events-none fill-muted text-[10px]",children:(_.label??_.id).slice(0,14)})]},_.id)})]}),c.jsx(rr,{tip:h})]})}function Dl({value:n,options:e,onChange:t,label:i,ariaLabel:a,placeholder:u,disabled:f}){return c.jsxs("label",{className:"flex items-center gap-1.5 text-xs text-faint",children:[i?c.jsx("span",{className:"hidden sm:inline",children:i}):null,c.jsxs("select",{"aria-label":a??i,value:n,disabled:f,onChange:h=>t(h.target.value),className:"h-7 rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50",children:[u?c.jsx("option",{value:"",disabled:!0,children:u}):null,e.map(h=>c.jsx("option",{value:h.value,children:h.label??h.value},h.value))]})]})}const dn={top:12,right:14,bottom:26,left:48};function I2(n,e,t){return Math.min(Math.max(n,e),t)}function M2({labels:n,series:e,height:t=240,format:i=pt,formatLabel:a=f=>f,ariaLabel:u}){const f=I.useRef(null),[h,m]=I.useState(640),[g,v]=I.useState(null);I.useEffect(()=>us(f.current,240,m),[]);const x=n.length;if(x<2||e.length===0)return c.jsx("div",{className:"grid h-[240px] place-items-center text-xs text-faint",children:"Not enough data to chart."});const b=e.map(W=>({name:W.name,values:n.map((Y,P)=>{const te=W.values[P];return Number.isFinite(te)&&te>0?te:0})})),w=[];let _=n.map(()=>0);for(const W of b){const Y=W.values.map((P,te)=>_[te]+P);w.push(Y),_=Y}const C=Math.max(..._,1),A=h-dn.left-dn.right,V=t-dn.top-dn.bottom,$=W=>dn.left+W/(x-1)*A,R=W=>dn.top+(1-W/C)*V,O=Math.max(1,Math.ceil(x/8)),E=u||`Stacked area chart, ${e.length} series over ${x} points`;function D(W){const Y=w[W],P=W===0?n.map(()=>0):w[W-1],te=Y.map((oe,ae)=>`${$(ae).toFixed(1)},${R(oe).toFixed(1)}`).join(" L "),X=[...P.keys()].reverse().map(oe=>`${$(oe).toFixed(1)},${R(P[oe]).toFixed(1)}`).join(" L ");return`M ${te} L ${X} Z`}function L(W){const Y=W.currentTarget.getBoundingClientRect(),P=(W.clientX-Y.left)/Y.width*h,te=Math.round((P-dn.left)/A*(x-1));v(te>=0&&tec.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{"aria-hidden":"true",className:"inline-block size-2",style:{background:vn(Y)}}),W.name]},W.name))}),c.jsxs("svg",{role:"img","aria-label":E,className:"w-full overflow-hidden",style:{height:t},viewBox:`0 0 ${h} ${t}`,onMouseMove:L,onMouseLeave:()=>v(null),children:[As(0,C,4).map((W,Y)=>{const P=R(W);return c.jsxs("g",{children:[c.jsx("line",{x1:dn.left,x2:h-dn.right,y1:P,y2:P,className:"stroke-line"}),c.jsx("text",{x:dn.left-6,y:P+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Gt(W)})]},Y)}),b.map((W,Y)=>c.jsx("path",{d:D(Y),fill:vn(Y),fillOpacity:.8,"data-series":W.name},W.name)),g!=null?c.jsx("line",{x1:$(g),x2:$(g),y1:dn.top,y2:t-dn.bottom,className:"stroke-faint",strokeDasharray:"3 3"}):null,n.map((W,Y)=>Y%O===0||Y===x-1?c.jsx("text",{x:$(Y),y:t-8,textAnchor:"middle",className:"fill-faint font-mono text-[10px]",children:a(W)},W):null)]}),g!=null?c.jsxs("div",{className:"pointer-events-none absolute top-8 z-20 -translate-x-1/2 whitespace-nowrap border border-line bg-surface px-2 py-1.5 text-2xs shadow-[var(--shadow)]",style:{left:G},children:[c.jsx("div",{className:"mb-0.5 font-mono text-faint",children:a(n[g])}),b.map((W,Y)=>c.jsxs("div",{className:"flex items-center justify-between gap-3",children:[c.jsxs("span",{className:"flex items-center gap-1 text-muted",children:[c.jsx("span",{"aria-hidden":"true",className:"inline-block size-2",style:{background:vn(Y)}}),W.name]}),c.jsx("span",{className:"font-mono tnum text-ink",children:i(W.values[g])})]},W.name))]}):null]})}function D2({checked:n,onChange:e,label:t,ariaLabel:i,disabled:a}){return c.jsxs("label",{className:`flex items-center gap-1.5 text-xs ${a?"opacity-50":""}`,children:[c.jsx("button",{type:"button",role:"switch","aria-checked":n,"aria-label":i??t,disabled:a,onClick:()=>e(!n),"data-checked":n||void 0,className:`relative h-4 w-7 shrink-0 rounded-full border transition-colors ${n?"border-accent bg-accent":"border-line bg-surface-soft"}`,children:c.jsx("span",{"aria-hidden":"true",className:`absolute top-1/2 size-3 -translate-y-1/2 rounded-full bg-surface shadow transition-[left] ${n?"left-[14px]":"left-[2px]"}`})}),t?c.jsx("span",{className:"text-muted",children:t}):null]})}function C2({tabs:n,active:e,onChange:t,ariaLabel:i="Tabs"}){return c.jsx("div",{role:"tablist","aria-label":i,className:"inline-flex items-center gap-0.5 rounded-full border border-line bg-surface p-px",children:n.map(a=>c.jsx("button",{role:"tab",type:"button","aria-selected":e===a.key,"data-tab":a.key,"data-selected":e===a.key||void 0,onClick:()=>t(a.key),className:"inline-flex h-6 items-center rounded-full px-2.5 text-xs font-medium text-muted hover:bg-surface-soft hover:text-ink data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent",children:a.label},a.key))})}function F2({content:n,children:e,className:t}){const{tip:i,handlers:a}=Dr();return c.jsxs(c.Fragment,{children:[c.jsx("span",{className:t??"inline-flex",...a(n),children:e}),c.jsx(rr,{tip:i})]})}function O2(n){let e=0;return n.map(t=>{const i=Number.isFinite(t.value)?t.value:0;if(t.isTotal)return e=i,{...t,value:i,start:0,end:i};const a=e;return e+=i,{...t,value:i,start:a,end:e}})}const fn={top:12,right:14,bottom:26,left:48};function T2({data:n,height:e=220,format:t=pt,ariaLabel:i}){const a=I.useRef(null),[u,f]=I.useState(640),{tip:h,handlers:m}=Dr();I.useEffect(()=>us(a.current,200,f),[]);const g=O2(n);if(g.length===0)return c.jsx("div",{className:"grid h-[220px] place-items-center text-xs text-faint",children:"No steps to chart."});const v=g.flatMap(E=>[E.start,E.end]),x=Math.min(0,...v),b=Math.max(0,...v),w=b-x||1,_=u-fn.left-fn.right,C=e-fn.top-fn.bottom,A=E=>fn.top+(1-(E-x)/w)*C,V=_/g.length,$=Math.max(10,Math.min(56,V*.62)),R=As(x,b,4),O=i||`Waterfall chart, ${g.length} steps ending at ${t(g[g.length-1].end)}`;return c.jsxs(c.Fragment,{children:[c.jsxs("svg",{ref:a,role:"img","aria-label":O,className:"w-full overflow-hidden",style:{height:e},viewBox:`0 0 ${u} ${e}`,children:[R.map((E,D)=>{const L=A(E);return c.jsxs("g",{children:[c.jsx("line",{x1:fn.left,x2:u-fn.right,y1:L,y2:L,className:"stroke-line"}),c.jsx("text",{x:fn.left-6,y:L+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Gt(E)})]},D)}),c.jsx("line",{x1:fn.left,x2:u-fn.right,y1:A(0),y2:A(0),className:"stroke-faint"}),g.map((E,D)=>{const L=fn.left+V*D+(V-$)/2,G=A(E.start),W=A(E.end),Y=E.isTotal?"total":E.value<0?"negative":"positive",P=E.isTotal?"fill-faint":E.value<0?"fill-danger":"fill-chart-primary",te=g[D+1];return c.jsxs("g",{children:[c.jsx("rect",{x:L,y:Math.min(G,W),width:$,height:Math.max(1,Math.abs(W-G)),"data-label":E.label,"data-value":E.value,"data-tone":Y,className:P,...m(c.jsx(os,{title:E.label,rows:E.isTotal?[{label:"Total",value:t(E.end)}]:[{label:"Change",value:t(E.value)},{label:"Running",value:t(E.end)}]}))}),te?c.jsx("line",{x1:L+$,x2:fn.left+V*(D+1)+(V-$)/2,y1:W,y2:W,className:"stroke-faint",strokeDasharray:"3 3"}):null,c.jsx("text",{x:L+$/2,y:e-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:E.label.slice(0,9)})]},`${E.label}-${D}`)})]}),c.jsx(rr,{tip:h})]})}function fy(n){return n==null?"∅":String(n)}function A2(n){const e=typeof n=="number"?n:Number(n);return Number.isFinite(e)?e:Number.NaN}function B2(n,e){const t=[],i=[],a=new Map;for(const u of n){const f=fy(u[e.x]),h=fy(u[e.series]);t.includes(f)||t.push(f),i.includes(h)||i.push(h),a.set(`${h}\0${f}`,A2(u[e.y]))}return{labels:t,series:i.map(u=>({name:u,values:t.map(f=>a.get(`${u}\0${f}`)??0)}))}}const E2=[{dimension:"orders.region",title:"Customer Region",rows:[["East",83262],["South",80579],["West",71561],["North",52889]].map(([n,e])=>({value:String(n),metric:Number(e)}))},{dimension:"orders.status",title:"Order Status",rows:[["completed",170379],["cancelled",64637],["pending",53275]].map(([n,e])=>({value:String(n),metric:Number(e)}))},{dimension:"products.category",title:"Product Category",rows:[["Electronics",202015],["Furniture",83848],["Office Supplies",2428]].map(([n,e])=>({value:String(n),metric:Number(e)}))},{dimension:"customers.name",title:"Top Customers",rows:[["Bob Smith",46690],["Carol Davis",42227],["Henry Taylor",41633],["Grace Lee",41035],["Frank Brown",33890],["David Wilson",29928],["Alice Johnson",27114],["Emma Martinez",24802]].map(([n,e])=>({value:String(n),metric:Number(e)}))}],R2=[{key:"region",label:"Region",sortable:!0},{key:"revenue",label:"Revenue",numeric:!0,sortable:!0},{key:"orders",label:"Orders",numeric:!0,sortable:!0}],hy=Array.from({length:17},(n,e)=>({region:["East","South","West","North"][e%4],revenue:91e3-e*2875,orders:420-e*11})),xf=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug"],L2=xf.flatMap((n,e)=>[{month:n,plan:"Basic",revenue:120+e*26},{month:n,plan:"Pro",revenue:60+e*24},{month:n,plan:"Enterprise",revenue:e<2?0:10+e*12}]),U2=Array.from({length:48},(n,e)=>({x:e+1,y:(e+1)*1.6+Math.sin(e*78.233)*43758.5453%18,label:`Account ${e+1}`,series:e%2?"Returning":"New"})),$2=Array.from({length:400},(n,e)=>Math.abs(Math.sin(e*12.9898)*43758.5453%1)*100),P2=["East","South","West","North"].flatMap((n,e)=>xf.map((t,i)=>({x:t,y:n,value:(e+1)*(i+1)*7-(i%4===3?80:0)}))),py=[{value:"orders.revenue",label:"Revenue"},{value:"orders.count",label:"Order count"},{value:"customers.count",label:"Customer count"},{value:"orders.margin",label:"Gross margin"}];function z2(){const[n,e]=I.useState("orders.revenue"),[t,i]=I.useState({}),[a,u]=I.useState(null),[f,h]=I.useState({"orders.region":["East","West"],"orders.status":["completed"]}),[m,g]=I.useState({from:"2025-01-01",to:"2025-06-30"}),[v,x]=I.useState("month"),[b,w]=I.useState("explore"),[_,C]=I.useState("previous"),[A,V]=I.useState("orders.revenue"),[$,R]=I.useState(["orders.revenue","orders.count"]),[O,E]=I.useState("apple"),[D,L]=I.useState(!0),[G,W]=I.useState("explore"),[Y,P]=I.useState("2025-06-15"),[te,X]=I.useState({from:"2025-06-01",to:"2025-06-21"}),oe=I.useMemo(()=>B2(L2,{x:"month",y:"revenue",series:"plan"}),[]),[ae,se]=I.useState({key:"revenue",dir:"desc"}),ne=I.useMemo(()=>[...hy].sort((T,Q)=>{const H=T[ae.key],N=Q[ae.key],F=typeof H=="number"&&typeof N=="number"?H-N:String(H).localeCompare(String(N));return ae.dir==="asc"?F:-F}),[ae]);return c.jsxs("main",{className:"min-h-screen bg-bg text-ink",children:[c.jsxs("header",{className:"sticky top-0 z-20 flex items-center justify-between border-b border-line bg-surface px-4 py-3",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"text-sm font-semibold",children:"Sidemantic component gallery"}),c.jsxs("p",{className:"text-2xs text-faint",children:["Canonical React primitives · ",c.jsx("a",{className:"text-accent hover:underline",href:"/typography",children:"typography workbench →"})]})]}),c.jsx(Ko,{})]}),c.jsxs("div",{className:"space-y-8 p-4",children:[c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Metric cards"}),c.jsxs("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-3",children:[c.jsx(Nr,{metric:"orders.revenue",label:"Revenue",value:288291,format:{format:"currency"},selected:n==="orders.revenue",sparkValues:[31,42,38,55,60,74],onSelect:e}),c.jsx(Nr,{metric:"orders.count",label:"Order Count",value:447,selected:n==="orders.count",sparkValues:[21,34,28,41,44,51],onSelect:e}),c.jsx(Nr,{metric:"orders.margin",label:"Gross Margin",value:.324,format:{format:"percent"},delta:{label:"+1.1pt",tone:"positive"},comparison:"vs previous month",sparkValues:[24,26,29,27,31,32],selected:n==="orders.margin",onSelect:e})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Leaderboard cards"}),c.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(220px,1fr))] gap-0 border-l border-t border-line",children:E2.filter(T=>a===null||a===T.dimension).map(T=>c.jsx(n0,{dimension:T.dimension,title:T.title,metricLabel:"Total Revenue",rows:T.rows,selectedValues:t[T.dimension],formatMetric:Q=>pt(Q,{format:"currency"}),onToggle:Q=>i(H=>{const N=H[T.dimension]??[];return{...H,[T.dimension]:N.includes(Q)?N.filter(F=>F!==Q):[...N,Q]}}),expanded:a===T.dimension,onExpandedChange:Q=>u(Q?T.dimension:null)},T.dimension))})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Filters and controls"}),c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{"data-testid":"gallery-filter-pills",className:"flex min-h-8 flex-wrap items-center gap-2",children:[Object.entries(f).flatMap(([T,Q])=>Q.map(H=>c.jsx(Ud,{dimension:T,value:H,onRemove:()=>h(N=>({...N,[T]:N[T].filter(F=>F!==H)}))},`${T}:${H}`))),Object.values(f).every(T=>T.length===0)?c.jsx("span",{className:"text-2xs text-faint",children:"No active filters"}):null]}),c.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[c.jsx(Lv,{range:m,onChange:g,comparison:_,onComparisonChange:C}),c.jsx($d,{grain:v,options:["day","week","month","quarter","year"],onChange:x}),c.jsx(Pv,{view:b,onChange:w}),c.jsxs("span",{className:"inline-flex items-center gap-1.5 text-2xs text-muted",children:[c.jsx(gd,{status:"ok"})," Ready"]}),c.jsxs("span",{className:"inline-flex items-center gap-1.5 text-2xs text-muted",children:[c.jsx(gd,{status:"loading"})," Updating"]}),c.jsx("button",{type:"button",onClick:()=>h({"orders.region":["East","West"],"orders.status":["completed"]}),className:"inline-flex h-7 items-center rounded-full border border-line px-3 text-xs text-muted hover:bg-surface-soft",children:"Reset filters"})]})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Charts"}),c.jsxs("div",{className:"grid gap-3 xl:grid-cols-2",children:[c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Sparkline"}),c.jsx(r0,{values:[31,42,38,55,60,74,69,83],labels:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug"],ariaLabel:"Eight month revenue trend"})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Column chart"}),c.jsx(s0,{data:[{label:"East",value:83},{label:"South",value:81},{label:"West",value:72},{label:"Returns",value:-18}]})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Line chart compatibility export"}),c.jsx(y2,{data:[{label:"Jan",value:31},{label:"Feb",value:42},{label:"Mar",value:38},{label:"Apr",value:55},{label:"May",value:60}]})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Interactive time series"}),c.jsx(ea,{points:[31,42,38,55,60,74].map((T,Q)=>({x:`2025-0${Q+1}-01`,y:T})),comparison:[27,35,33,48,52,61].map((T,Q)=>({x:`2024-0${Q+1}-01`,y:T})),formatValue:T=>`$${T.toLocaleString()}k`})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Donut"}),c.jsx(x2,{data:[{label:"iOS",value:4200},{label:"Android",value:3100},{label:"Web",value:1900},{label:"Other",value:400}]})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Stacked area (long rows via rowsToSeries)"}),c.jsx(M2,{labels:oe.labels,series:oe.series,height:200})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Bar + line combo (dual axis)"}),c.jsx(u2,{data:xf.map((T,Q)=>({label:T,bar:200+Q*42,line:.02+Q*.004})),barLabel:"Revenue",lineLabel:"Conversion",formatLine:T=>`${(T*100).toFixed(1)}%`,height:200})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Histogram"}),c.jsx(S2,{values:$2,bins:20})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Scatter"}),c.jsx(i0,{points:U2,xLabel:"Sessions",yLabel:"Orders",height:200})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Heatmap"}),c.jsx(b2,{cells:P2,height:200})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Waterfall"}),c.jsx(T2,{data:[{label:"Gross",value:1e3,isTotal:!0},{label:"Refunds",value:-140},{label:"Discounts",value:-90},{label:"Upsells",value:130},{label:"Net",value:900,isTotal:!0}],height:200})]}),c.jsxs("article",{className:"min-w-0 xl:col-span-2",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Network"}),c.jsx(k2,{nodes:[{id:"orders",group:"fact"},{id:"payments",group:"fact"},{id:"customers",group:"dimension"},{id:"products",group:"dimension"},{id:"regions",group:"dimension"}],links:[{source:"orders",target:"customers",weight:3},{source:"orders",target:"products",weight:2},{source:"orders",target:"regions"},{source:"payments",target:"orders",weight:2},{source:"payments",target:"customers"}],height:260})]})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Inputs"}),c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[c.jsx(To,{variant:"primary",children:"Primary"}),c.jsx(To,{children:"Secondary"}),c.jsx(To,{variant:"ghost",children:"Ghost"}),c.jsx(To,{variant:"danger",children:"Danger"}),c.jsx(To,{size:"sm",children:"Small"}),c.jsx(Dl,{label:"Fruit",value:O,onChange:E,options:[{value:"apple",label:"Apple"},{value:"banana",label:"Banana"},{value:"cherry",label:"Cherry"}]}),c.jsx(D2,{checked:D,onChange:L,label:"Compact rows"}),c.jsx(C2,{tabs:[{key:"explore",label:"Explore"},{key:"pivot",label:"Pivot"},{key:"sql",label:"SQL"}],active:G,onChange:W}),c.jsx(F2,{content:"Revenue in USD, net of refunds",children:c.jsx("span",{className:"cursor-help text-2xs text-muted underline decoration-dotted",children:"What is revenue?"})})]}),c.jsxs("div",{className:"flex flex-wrap items-start gap-3",children:[c.jsx(ly,{value:A,onChange:V,options:py,ariaLabel:"Metric"}),c.jsx(ly,{multiple:!0,values:$,onChange:R,options:py,ariaLabel:"Metrics"}),c.jsx(cy,{mode:"single",value:Y,onChange:P,ariaLabel:"Date"}),c.jsx(cy,{mode:"range",value:te,onChange:X,ariaLabel:"Range"})]})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Analytical table"}),c.jsx(Ui,{columns:R2,rows:ne,pageSize:6,sortKey:ae.key,sortDir:ae.dir,onSort:T=>se(Q=>({key:T,dir:Q.key===T&&Q.dir==="desc"?"asc":"desc"})),renderCell:(T,Q)=>T.numeric?Number(Q).toLocaleString():String(Q),searchable:!0,totals:{region:"count",revenue:"sum",orders:"sum"}}),c.jsxs("div",{className:"mt-3",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold text-muted",children:"Distribution-friendly data preview"}),c.jsx(m2,{result:{columns:["region","revenue","orders"],sample_rows:hy.slice(0,8)},pageSize:4})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Query inspection"}),c.jsx(yu,{inputs:{Revenue:{metrics:["orders.revenue"],dimensions:["orders.region"],filters:["orders.status = 'completed'"]}},queries:{Revenue:`SELECT orders.region, SUM(orders.revenue) AS revenue -FROM orders -WHERE orders.status = 'completed' -GROUP BY orders.region -ORDER BY revenue DESC`}})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"States"}),c.jsxs("div",{className:"grid gap-2 lg:grid-cols-3",children:[c.jsx(mu,{message:"Loading metric results…"}),c.jsx(Xn,{message:"No matching rows."}),c.jsx($i,{message:"The query could not be completed."})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Dashboard shell"}),c.jsx("div",{children:c.jsx(f2,{eyebrow:"Embedded shell example",title:"Revenue overview",status:c.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[c.jsx(gd,{status:"ok"})," Connected"]}),toolbar:c.jsxs(c.Fragment,{children:[c.jsx(Ud,{dimension:"orders.region",value:"East"}),c.jsx($d,{grain:v,options:["day","month","quarter"],onChange:x})]}),children:c.jsxs("div",{className:"grid gap-2 sm:grid-cols-2",children:[c.jsx(Nr,{metric:"orders.revenue",label:"Revenue",value:288291,format:{format:"currency"},sparkValues:[31,42,38,55,60]}),c.jsx(Xn,{title:"Optional panel",message:"Shell content is composed from the same primitives."})]})})})]})]})]})}function ns(n){return`https://api.fontshare.com/v2/css?f[]=${n}&display=swap`}const my=[{value:"system",label:"System (SF Pro)",stack:"system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif"},{value:"geist",label:"Geist",gf:"Geist:wght@400;500;600",stack:"'Geist', system-ui, sans-serif"},{value:"inter",label:"Inter",gf:"Inter:wght@400;500;600",stack:"'Inter', system-ui, sans-serif"},{value:"instrument",label:"Instrument Sans",gf:"Instrument+Sans:wght@400;500;600",stack:"'Instrument Sans', system-ui, sans-serif"},{value:"plex",label:"IBM Plex Sans",gf:"IBM+Plex+Sans:wght@400;500;600",stack:"'IBM Plex Sans', system-ui, sans-serif"},{value:"schibsted",label:"Schibsted Grotesk",gf:"Schibsted+Grotesk:wght@400;500;600",stack:"'Schibsted Grotesk', system-ui, sans-serif"},{value:"figtree",label:"Figtree",gf:"Figtree:wght@400;500;600",stack:"'Figtree', system-ui, sans-serif"},{value:"manrope",label:"Manrope",gf:"Manrope:wght@400;500;600",stack:"'Manrope', system-ui, sans-serif"},{value:"publicsans",label:"Public Sans",gf:"Public+Sans:wght@400;500;600",stack:"'Public Sans', system-ui, sans-serif"},{value:"spacegrotesk",label:"Space Grotesk",gf:"Space+Grotesk:wght@400;500;600",stack:"'Space Grotesk', system-ui, sans-serif"},{value:"satoshi",label:"Satoshi ✦",url:ns("satoshi@400,500,700"),stack:"'Satoshi', system-ui, sans-serif"},{value:"generalsans",label:"General Sans ✦",url:ns("general-sans@400,500,600"),stack:"'General Sans', system-ui, sans-serif"},{value:"switzer",label:"Switzer ✦",url:ns("switzer@400,500,600"),stack:"'Switzer', system-ui, sans-serif"},{value:"cabinet",label:"Cabinet Grotesk ✦",url:ns("cabinet-grotesk@400,500,700"),stack:"'Cabinet Grotesk', system-ui, sans-serif"},{value:"bricolage",label:"Bricolage Grotesque ✦",gf:"Bricolage+Grotesque:wght@400;500;600",stack:"'Bricolage Grotesque', system-ui, sans-serif"},{value:"familjen",label:"Familjen Grotesk ✦",gf:"Familjen+Grotesk:wght@400;500;600",stack:"'Familjen Grotesk', system-ui, sans-serif"},{value:"hanken",label:"Hanken Grotesk ✦",gf:"Hanken+Grotesk:wght@400;500;600",stack:"'Hanken Grotesk', system-ui, sans-serif"},{value:"reddit",label:"Reddit Sans ✦",gf:"Reddit+Sans:wght@400;500;600",stack:"'Reddit Sans', system-ui, sans-serif"},{value:"chivo",label:"Chivo ✦",gf:"Chivo:wght@400;500;600",stack:"'Chivo', system-ui, sans-serif"},{value:"hostgrotesk",label:"Host Grotesk ✦",gf:"Host+Grotesk:wght@400;500;600",stack:"'Host Grotesk', system-ui, sans-serif"},{value:"sora",label:"Sora ✦",gf:"Sora:wght@400;500;600",stack:"'Sora', system-ui, sans-serif"}],yy=[{value:"system",label:"System (SF Mono)",stack:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},{value:"geistmono",label:"Geist Mono",gf:"Geist+Mono:wght@400;500",stack:"'Geist Mono', ui-monospace, monospace"},{value:"jetbrains",label:"JetBrains Mono",gf:"JetBrains+Mono:wght@400;500",stack:"'JetBrains Mono', ui-monospace, monospace"},{value:"plexmono",label:"IBM Plex Mono",gf:"IBM+Plex+Mono:wght@400;500",stack:"'IBM Plex Mono', ui-monospace, monospace"},{value:"firacode",label:"Fira Code",gf:"Fira+Code:wght@400;500",stack:"'Fira Code', ui-monospace, monospace"},{value:"splinemono",label:"Spline Sans Mono",gf:"Spline+Sans+Mono:wght@400;500",stack:"'Spline Sans Mono', ui-monospace, monospace"},{value:"dmmono",label:"DM Mono",gf:"DM+Mono:wght@400;500",stack:"'DM Mono', ui-monospace, monospace"},{value:"martianmono",label:"Martian Mono ✦",gf:"Martian+Mono:wght@400;500",stack:"'Martian Mono', ui-monospace, monospace"},{value:"fragment",label:"Fragment Mono ✦",gf:"Fragment+Mono",stack:"'Fragment Mono', ui-monospace, monospace"},{value:"redhatmono",label:"Red Hat Mono ✦",gf:"Red+Hat+Mono:wght@400;500",stack:"'Red Hat Mono', ui-monospace, monospace"},{value:"chivomono",label:"Chivo Mono ✦",gf:"Chivo+Mono:wght@400;500",stack:"'Chivo Mono', ui-monospace, monospace"},{value:"azeret",label:"Azeret Mono ✦",gf:"Azeret+Mono:wght@400;500",stack:"'Azeret Mono', ui-monospace, monospace"},{value:"spacemono",label:"Space Mono ✦",gf:"Space+Mono:wght@400;700",stack:"'Space Mono', ui-monospace, monospace"}],gy=[{value:"sans",label:"Same as sans",stack:""},{value:"newsreader",label:"Newsreader (serif)",gf:"Newsreader:opsz,wght@6..72,400..700",stack:"'Newsreader', Georgia, serif"},{value:"sourceserif",label:"Source Serif 4",gf:"Source+Serif+4:opsz,wght@8..60,400..700",stack:"'Source Serif 4', Georgia, serif"},{value:"fraunces",label:"Fraunces",gf:"Fraunces:opsz,wght@9..144,400..700",stack:"'Fraunces', Georgia, serif"},{value:"instrumentserif",label:"Instrument Serif",gf:"Instrument+Serif",stack:"'Instrument Serif', Georgia, serif"},{value:"spacegrotesk",label:"Space Grotesk",gf:"Space+Grotesk:wght@400;500;600",stack:"'Space Grotesk', system-ui, sans-serif"},{value:"clash",label:"Clash Display ✦",url:ns("clash-display@400,500,600"),stack:"'Clash Display', system-ui, sans-serif"},{value:"cabinetdisplay",label:"Cabinet Grotesk ✦",url:ns("cabinet-grotesk@500,700,800"),stack:"'Cabinet Grotesk', system-ui, sans-serif"},{value:"sentient",label:"Sentient (serif) ✦",url:ns("sentient@400,500,700"),stack:"'Sentient', Georgia, serif"},{value:"gambetta",label:"Gambetta (serif) ✦",url:ns("gambetta@400,500,700"),stack:"'Gambetta', Georgia, serif"},{value:"bricolagedisplay",label:"Bricolage Grotesque ✦",gf:"Bricolage+Grotesque:opsz,wght@12..96,400..700",stack:"'Bricolage Grotesque', system-ui, sans-serif"},{value:"youngserif",label:"Young Serif ✦",gf:"Young+Serif",stack:"'Young Serif', Georgia, serif"},{value:"unbounded",label:"Unbounded ✦",gf:"Unbounded:wght@400;500;600",stack:"'Unbounded', system-ui, sans-serif"}],V2=[{label:"Geist / Geist Mono",sans:"geist",mono:"geistmono",display:"sans"},{label:"Inter / JetBrains",sans:"inter",mono:"jetbrains",display:"sans"},{label:"IBM Plex",sans:"plex",mono:"plexmono",display:"sans"},{label:"Instrument / Spline",sans:"instrument",mono:"splinemono",display:"sans"},{label:"Schibsted / Fira",sans:"schibsted",mono:"firacode",display:"sans"},{label:"Editorial: Geist + Newsreader",sans:"geist",mono:"geistmono",display:"newsreader"},{label:"Satoshi / Martian ✦",sans:"satoshi",mono:"martianmono",display:"sans"},{label:"General Sans / Fragment ✦",sans:"generalsans",mono:"fragment",display:"sans"},{label:"Switzer + Clash headings ✦",sans:"switzer",mono:"redhatmono",display:"clash"},{label:"Cabinet + Gambetta ✦",sans:"cabinet",mono:"chivomono",display:"gambetta"},{label:"Bricolage all the way ✦",sans:"bricolage",mono:"spacemono",display:"bricolagedisplay"}],vy=new Set;function Nd(n){if(!n)return;const e=n.url??(n.gf?`https://fonts.googleapis.com/css2?family=${n.gf}&display=swap`:void 0);if(!e||vy.has(e))return;vy.add(e);const t=document.createElement("link");t.rel="stylesheet",t.href=e,document.head.appendChild(t)}function jd(n,e){return n.find(t=>t.value===e)??n[0]}const W2=[{px:"8",cls:"text-[8px]",usage:"MetricCard delta arrow glyph",sample:"▲"},{px:"9",cls:"text-[9px]",usage:"DataTable sort direction glyph",sample:"▲▼"},{px:"10",cls:"text-[10px]",usage:"Chart axis labels (all 9 charts)",sample:"Jan Feb Mar 12.4k 18.2k"},{px:"11",cls:"text-2xs",usage:"Captions, chips, table body, helper text (58 uses)",sample:"Canonical React primitives · updated 2h ago"},{px:"12",cls:"text-xs",usage:"Controls, labels, leaderboard rows — the workhorse (70 uses)",sample:"Revenue by region, last 28 days"},{px:"13",cls:"text-sm",usage:"Section titles, panel headers (9 uses); also the body default",sample:"Customer Region"},{px:"14",cls:"text-base",usage:"Explore index page title (1 use)",sample:"Explore"},{px:"19",cls:"text-[19px]",usage:"MetricCard value",sample:"$288,291"},{px:"20",cls:"text-xl",usage:"MetricTimeSeries headline total",sample:"$1,282,392"},{px:"24",cls:"text-2xl",usage:"DashboardShell page title",sample:"Revenue overview"}],H2=[{name:"A — Current",note:"11 / 12 / 13 base. Dense, reads small on 27″ displays.",caption:11,label:12,body:13,section:13,value:19,headline:20,title:24},{name:"B — One up",note:"12 / 13 / 14 base. Same hierarchy, comfortably legible.",caption:12,label:13,body:14,section:14,value:22,headline:24,title:28},{name:"C — Quiet UI, loud numbers",note:"Keeps the dense chrome, doubles down on data: bigger values and titles.",caption:11,label:12,body:13,section:13,value:24,headline:28,title:30}],G2=[31,42,38,55,60,74],Y2=Array.from({length:12},(n,e)=>({x:`2025-${String(e+1).padStart(2,"0")}-01`,y:96e3+e*14e3+e%3*9e3})),Q2=`select region, sum(revenue) as revenue -from orders -where created_at >= date '2025-01-01' -group by all -order by revenue desc`;function xy({family:n,size:e}){return c.jsxs("div",{className:"flex flex-wrap items-baseline gap-x-6 gap-y-1",style:{fontFamily:n},children:[c.jsx("span",{className:`${e} font-normal`,children:"Regular 400 — Revenue by payment method"}),c.jsx("span",{className:`${e} font-medium`,children:"Medium 500 — Revenue by payment method"}),c.jsx("span",{className:`${e} font-semibold`,children:"Semibold 600 — Revenue by payment method"})]})}function K2(){const[n,e]=I.useState("geist"),[t,i]=I.useState("geistmono"),[a,u]=I.useState("sans"),f=jd(my,n),h=jd(yy,t),m=jd(gy,a),g=m.stack||f.stack;I.useEffect(()=>{Nd(f),Nd(h),Nd(m)},[f,h,m]);const v={"--font-sans":f.stack,"--font-mono":h.stack,"--font-display":g,fontFamily:"var(--font-sans)"};return c.jsxs("main",{className:"min-h-screen bg-bg text-ink",children:[c.jsxs("header",{className:"sticky top-0 z-20 flex items-center justify-between gap-3 border-b border-line bg-surface px-4 py-3",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"text-sm font-semibold",children:"Typography workbench"}),c.jsxs("p",{className:"text-2xs text-faint",children:["Pick faces, judge them on real components · ",c.jsx("a",{className:"text-accent hover:underline",href:"/components",children:"component gallery →"})]})]}),c.jsx(Ko,{})]}),c.jsxs("div",{className:"space-y-10 p-4",children:[c.jsx("section",{children:c.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[c.jsx(Dl,{label:"Sans",value:n,options:my.map(({value:x,label:b})=>({value:x,label:b})),onChange:e}),c.jsx(Dl,{label:"Mono",value:t,options:yy.map(({value:x,label:b})=>({value:x,label:b})),onChange:i}),c.jsx(Dl,{label:"Headings",value:a,options:gy.map(({value:x,label:b})=>({value:x,label:b})),onChange:u}),c.jsx("div",{className:"flex flex-wrap items-center gap-1.5",children:V2.map(x=>{const b=x.sans===n&&x.mono===t&&x.display===a;return c.jsx("button",{type:"button","data-selected":b||void 0,onClick:()=>{e(x.sans),i(x.mono),u(x.display)},className:`inline-flex h-7 items-center rounded-full border px-3 text-xs transition-colors ${b?"border-accent text-accent":"border-line bg-surface text-muted hover:border-line-strong"}`,children:x.label},x.label)})})]})}),c.jsxs("div",{style:v,className:"space-y-10",children:[c.jsxs("section",{children:[c.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"In context"}),c.jsxs("div",{className:"space-y-6",children:[c.jsxs("div",{children:[c.jsx("p",{className:"text-2xs text-faint",children:"Acme Analytics · production"}),c.jsx("h1",{className:"mt-1 text-2xl font-semibold text-ink",children:"Revenue overview"}),c.jsx("div",{className:"text-sm text-muted",children:"Updated 2 minutes ago · 448,214 rows scanned"})]}),c.jsxs("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-3",children:[c.jsx(Nr,{metric:"t.revenue",label:"Revenue",value:288291,format:{format:"currency"},delta:{label:"+12.4%",tone:"positive"},comparison:"vs previous month",sparkValues:G2,selected:!0,onSelect:()=>{}}),c.jsx(Nr,{metric:"t.orders",label:"Order Count",value:447,delta:{label:"-2.1%",tone:"negative"},comparison:"vs previous month",sparkValues:[21,34,28,41,44,38],onSelect:()=>{}}),c.jsx(Nr,{metric:"t.margin",label:"Gross Margin",value:.324,format:{format:"percent"},delta:{label:"+1.1pt",tone:"positive"},comparison:"vs previous month",sparkValues:[24,26,29,27,31,32],onSelect:()=>{}})]}),c.jsx(ea,{points:Y2,formatValue:x=>`$${Math.round(x).toLocaleString("en-US")}`,formatAxis:x=>`$${Math.round(x/1e3)}k`,formatLabel:x=>x.slice(0,7),ariaLabel:"Twelve month revenue trend"}),c.jsxs("div",{className:"max-w-xl",children:[c.jsx("h3",{className:"text-sm font-semibold text-ink",children:"How the comparison works"}),c.jsx("p",{className:"mt-1 text-xs leading-5 text-muted",children:"The overlay shifts the previous period onto the current axis so both lines share a scale. Deltas are computed on the visible range only — zooming recomputes them. Hover any point for the exact pair of values; the quiet gray line is always the older period."})]}),c.jsx("pre",{className:"overflow-x-auto font-mono text-xs leading-5 text-muted",children:Q2})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Numerals — mono, tabular"}),c.jsxs("div",{className:"flex flex-wrap gap-12",children:[c.jsx("div",{className:"font-mono tnum text-sm text-ink",children:["$1,204,918.24","$984,003.10","$88,214.00","$1,111,111.11"].map(x=>c.jsx("div",{className:"text-right",children:x},x))}),c.jsx("div",{className:"font-mono tnum text-sm text-ink",children:["2025-06-30 23:59:59","2025-07-01 00:00:00","2025-12-31 08:15:42"].map(x=>c.jsx("div",{children:x},x))}),c.jsxs("div",{className:"font-mono text-sm text-ink",children:["0O · 1lI · 5S · 8B · ","->"," ","=>"," ","!="," ",">="]})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Weights in use — 400 / 500 / 600 (no bold anywhere)"}),c.jsxs("div",{className:"space-y-2 text-ink",children:[c.jsx(xy,{family:"var(--font-sans)",size:"text-sm"}),c.jsx(xy,{family:"var(--font-sans)",size:"text-xs"}),c.jsx("div",{className:"text-xl font-semibold",style:{fontFamily:"var(--font-display)"},children:"Display 600 — Quarterly revenue, all regions"})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Current ramp — every size in the app and where it appears"}),c.jsx("div",{className:"space-y-1.5",children:W2.map(x=>c.jsxs("div",{className:"grid grid-cols-[3rem_7rem_1fr_1.2fr] items-baseline gap-3",children:[c.jsxs("span",{className:"font-mono tnum text-2xs text-faint",children:[x.px,"px"]}),c.jsx("span",{className:"font-mono text-2xs text-faint",children:x.cls}),c.jsx("span",{className:"truncate text-ink",style:{fontSize:`${x.px}px`,lineHeight:1.3},children:x.sample}),c.jsx("span",{className:"text-2xs text-faint",children:x.usage})]},x.px))})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Size ramp candidates"}),c.jsx("div",{className:"grid grid-cols-1 gap-8 lg:grid-cols-3",children:H2.map(x=>c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"text-sm font-semibold text-ink",children:x.name}),c.jsx("p",{className:"mt-0.5 text-2xs text-faint",children:x.note}),c.jsxs("div",{className:"mt-3 space-y-2",children:[c.jsxs("div",{className:"text-faint",style:{fontSize:x.caption,lineHeight:1.3},children:["Caption ",x.caption,"px · vs previous month"]}),c.jsxs("div",{className:"text-muted",style:{fontSize:x.label,lineHeight:1.35},children:["Label ",x.label,"px · Revenue by region"]}),c.jsxs("div",{className:"text-ink",style:{fontSize:x.body,lineHeight:1.45},children:["Body ",x.body,"px · The overlay shifts the previous period onto the current axis so both lines share a scale."]}),c.jsxs("div",{className:"font-semibold text-ink",style:{fontSize:x.section,lineHeight:1.35},children:["Section title ",x.section,"px"]}),c.jsx("div",{className:"font-mono tnum font-semibold text-ink",style:{fontSize:x.value,lineHeight:1.15},children:"$288,291"}),c.jsx("div",{className:"font-mono tnum font-semibold text-ink",style:{fontSize:x.headline,lineHeight:1.15},children:"$1,282,392"}),c.jsx("div",{className:"font-semibold text-ink",style:{fontFamily:"var(--font-display)",fontSize:x.title,lineHeight:1.2,letterSpacing:"-0.025em"},children:"Revenue overview"})]})]},x.name))})]})]})]})]})}o_();const l0=document.getElementById("root");if(!l0)throw new Error("Missing #root element");hb.createRoot(l0).render(c.jsx(I.StrictMode,{children:window.location.pathname==="/components"?c.jsx(z2,{}):window.location.pathname==="/typography"?c.jsx(K2,{}):c.jsx(l2,{})})); diff --git a/sidemantic/ui/static/index.html b/sidemantic/ui/static/index.html index 5716c890f..067a2d9ef 100644 --- a/sidemantic/ui/static/index.html +++ b/sidemantic/ui/static/index.html @@ -4,7 +4,7 @@ Sidemantic - + diff --git a/sidemantic/widget/static/widget.js b/sidemantic/widget/static/widget.js index 5d4ae2f0e..978651e65 100644 --- a/sidemantic/widget/static/widget.js +++ b/sidemantic/widget/static/widget.js @@ -1,20 +1,20 @@ -var _w=Object.defineProperty;var fi=(t,e)=>{for(var n in e)_w(t,n,{get:e[n],enumerable:!0})};function Yp(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function X(t){return this instanceof X?(this.v=t,this):new X(t)}function Tt(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),i,s=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",o),i[Symbol.asyncIterator]=function(){return this},i;function o(v){return function(S){return Promise.resolve(S).then(v,d)}}function a(v,S){r[v]&&(i[v]=function(I){return new Promise(function(Y,h){s.push([v,I,Y,h])>1||l(v,I)})},S&&(i[v]=S(i[v])))}function l(v,S){try{u(r[v](S))}catch(I){y(s[0][3],I)}}function u(v){v.value instanceof X?Promise.resolve(v.value.v).then(c,d):y(s[0][2],v)}function c(v){l("next",v)}function d(v){l("throw",v)}function y(v,S){v(S),s.shift(),s.length&&l(s[0][0],s[0][1])}}function es(t){var e,n;return e={},r("next"),r("throw",function(i){throw i}),r("return"),e[Symbol.iterator]=function(){return this},e;function r(i,s){e[i]=t[i]?function(o){return(n=!n)?{value:X(t[i](o)),done:!1}:s?s(o):o}:s}}function rn(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof Hp=="function"?Hp(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(s){n[s]=t[s]&&function(o){return new Promise(function(a,l){o=t[s](o),i(a,l,o.done,o.value)})}}function i(s,o,a,l){Promise.resolve(l).then(function(u){s({value:u,done:a})},o)}}var yf={};fi(yf,{compareArrayLike:()=>mf,joinUint8Arrays:()=>Ft,memcpy:()=>uo,rebaseValueOffsets:()=>il,toArrayBufferView:()=>Z,toArrayBufferViewAsyncIterator:()=>on,toArrayBufferViewIterator:()=>On,toBigInt64Array:()=>rl,toBigUint64Array:()=>Tw,toFloat32Array:()=>Ow,toFloat32ArrayAsyncIterator:()=>Hw,toFloat32ArrayIterator:()=>Uw,toFloat64Array:()=>Fw,toFloat64ArrayAsyncIterator:()=>Yw,toFloat64ArrayIterator:()=>Rw,toInt16Array:()=>Bw,toInt16ArrayAsyncIterator:()=>zw,toInt16ArrayIterator:()=>Aw,toInt32Array:()=>di,toInt32ArrayAsyncIterator:()=>Vw,toInt32ArrayIterator:()=>Lw,toInt8Array:()=>Iw,toInt8ArrayAsyncIterator:()=>jw,toInt8ArrayIterator:()=>kw,toUint16Array:()=>Dw,toUint16ArrayAsyncIterator:()=>$w,toUint16ArrayIterator:()=>Mw,toUint32Array:()=>Nw,toUint32ArrayAsyncIterator:()=>Ww,toUint32ArrayIterator:()=>Cw,toUint8Array:()=>V,toUint8ArrayAsyncIterator:()=>pf,toUint8ArrayIterator:()=>hf,toUint8ClampedArray:()=>Ew,toUint8ClampedArrayAsyncIterator:()=>Kw,toUint8ClampedArrayIterator:()=>Pw});var ww=new TextDecoder("utf-8"),ao=t=>ww.decode(t),Sw=new TextEncoder,Tn=t=>Sw.encode(t);var bw=t=>typeof t=="number",Kp=t=>typeof t=="boolean",Ue=t=>typeof t=="function",ct=t=>t!=null&&Object(t)===t,Ot=t=>ct(t)&&Ue(t.then);var sn=t=>ct(t)&&Ue(t[Symbol.iterator]),$t=t=>ct(t)&&Ue(t[Symbol.asyncIterator]),Za=t=>ct(t)&&ct(t.schema);var Ja=t=>ct(t)&&"done"in t&&"value"in t;var qa=t=>ct(t)&&Ue(t.stat)&&bw(t.fd);var el=t=>ct(t)&&lo(t.body),tl=t=>"_getDOMStream"in t&&"_getNodeStream"in t,Qp=t=>ct(t)&&Ue(t.abort)&&Ue(t.getWriter)&&!tl(t),lo=t=>ct(t)&&Ue(t.cancel)&&Ue(t.getReader)&&!tl(t),Gp=t=>ct(t)&&Ue(t.end)&&Ue(t.write)&&Kp(t.writable)&&!tl(t),nl=t=>ct(t)&&Ue(t.read)&&Ue(t.pipe)&&Kp(t.readable)&&!tl(t),Xp=t=>ct(t)&&Ue(t.clear)&&Ue(t.bytes)&&Ue(t.position)&&Ue(t.setPosition)&&Ue(t.capacity)&&Ue(t.getBufferIdentifier)&&Ue(t.createLong);var df=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:ArrayBuffer;function xw(t){let e=t[0]?[t[0]]:[],n,r,i,s;for(let o,a,l=0,u=0,c=t.length;++lc+d.byteLength,0),i,s,o,a=0,l=-1,u=Math.min(e||Number.POSITIVE_INFINITY,r);for(let c=n.length;++lZ(Int8Array,t),Bw=t=>Z(Int16Array,t),di=t=>Z(Int32Array,t),rl=t=>Z(BigInt64Array,t),V=t=>Z(Uint8Array,t),Dw=t=>Z(Uint16Array,t),Nw=t=>Z(Uint32Array,t),Tw=t=>Z(BigUint64Array,t),Ow=t=>Z(Float32Array,t),Fw=t=>Z(Float64Array,t),Ew=t=>Z(Uint8ClampedArray,t),ff=t=>(t.next(),t);function*On(t,e){let n=function*(i){yield i},r=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof df?n(e):sn(e)?e:n(e);return yield*ff((function*(i){let s=null;do s=i.next(yield Z(t,s));while(!s.done)})(r[Symbol.iterator]())),new t}var kw=t=>On(Int8Array,t),Aw=t=>On(Int16Array,t),Lw=t=>On(Int32Array,t),hf=t=>On(Uint8Array,t),Mw=t=>On(Uint16Array,t),Cw=t=>On(Uint32Array,t),Uw=t=>On(Float32Array,t),Rw=t=>On(Float64Array,t),Pw=t=>On(Uint8ClampedArray,t);function on(t,e){return Tt(this,arguments,function*(){if(Ot(e))return yield X(yield X(yield*es(rn(on(t,yield X(e))))));let r=function(o){return Tt(this,arguments,function*(){yield yield X(yield X(o))})},i=function(o){return Tt(this,arguments,function*(){yield X(yield*es(rn(ff((function*(a){let l=null;do l=a.next(yield l?.value);while(!l.done)})(o[Symbol.iterator]())))))})},s=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof df?r(e):sn(e)?i(e):$t(e)?e:r(e);return yield X(yield*es(rn(ff((function(o){return Tt(this,arguments,function*(){let a=null;do a=yield X(o.next(yield yield X(Z(t,a))));while(!a.done)})})(s[Symbol.asyncIterator]()))))),yield X(new t)})}var jw=t=>on(Int8Array,t),zw=t=>on(Int16Array,t),Vw=t=>on(Int32Array,t),pf=t=>on(Uint8Array,t),$w=t=>on(Uint16Array,t),Ww=t=>on(Uint32Array,t),Hw=t=>on(Float32Array,t),Yw=t=>on(Float64Array,t),Kw=t=>on(Uint8ClampedArray,t);function il(t,e,n){if(t!==0){n=n.slice(0,e);for(let r=-1,i=n.length;++r0)do if(t[n]!==e[n])return!1;while(++n(t.next(),t);function*Qw(t){let e,n=!1,r=[],i,s,o,a=0;function l(){return s==="peek"?Ft(r,o)[0]:([i,r,a]=Ft(r,o),i)}({cmd:s,size:o}=(yield null)||{cmd:"read",size:0});let u=hf(t)[Symbol.iterator]();try{do if({done:e,value:i}=Number.isNaN(o-a)?u.next():u.next(o-a),!e&&i.byteLength>0&&(r.push(i),a+=i.byteLength),e||o<=a)do({cmd:s,size:o}=yield l());while(o0&&(i.push(s),l+=s.byteLength),n||a<=l)do({cmd:o,size:a}=yield yield X(u()));while(a0&&(i.push(V(s)),l+=s.byteLength),n||a<=l)do({cmd:o,size:a}=yield yield X(u()));while(a{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(e){return O(this,void 0,void 0,function*(){let{reader:n,source:r}=this;n&&(yield n.cancel(e).catch(()=>{})),r&&r.locked&&this.releaseLock()})}read(e){return O(this,void 0,void 0,function*(){if(e===0)return{done:this.reader==null,value:new Uint8Array(0)};let n=yield this.reader.read();return!n.done&&(n.value=V(n)),n})}},gf=(t,e)=>{let n=i=>r([e,i]),r;return[e,n,new Promise(i=>(r=i)&&t.once(e,n))]};function Zw(t){return Tt(this,arguments,function*(){let n=[],r="error",i=!1,s=null,o,a,l=0,u=[],c;function d(){return o==="peek"?Ft(u,a)[0]:([c,u,l]=Ft(u,a),c)}if({cmd:o,size:a}=(yield yield X(null))||{cmd:"read",size:0},t.isTTY)return yield yield X(new Uint8Array(0)),yield X(null);try{n[0]=gf(t,"end"),n[1]=gf(t,"error");do{if(n[2]=gf(t,"readable"),[r,s]=yield X(Promise.race(n.map(v=>v[2]))),r==="error")break;if((i=r==="end")||(Number.isFinite(a-l)?(c=V(t.read(a-l)),c.byteLength0&&(u.push(c),l+=c.byteLength)),i||a<=l)do({cmd:o,size:a}=yield yield X(d()));while(a{for(let[h,f]of v)t.off(h,f);try{let h=t.destroy;h&&h.call(t,S),S=void 0}catch(h){S=h||S}finally{S!=null?Y(S):I()}})}})}var le;(function(t){t[t.V1=0]="V1",t[t.V2=1]="V2",t[t.V3=2]="V3",t[t.V4=3]="V4",t[t.V5=4]="V5"})(le||(le={}));var de;(function(t){t[t.Sparse=0]="Sparse",t[t.Dense=1]="Dense"})(de||(de={}));var ce;(function(t){t[t.HALF=0]="HALF",t[t.SINGLE=1]="SINGLE",t[t.DOUBLE=2]="DOUBLE"})(ce||(ce={}));var Fe;(function(t){t[t.DAY=0]="DAY",t[t.MILLISECOND=1]="MILLISECOND"})(Fe||(Fe={}));var k;(function(t){t[t.SECOND=0]="SECOND",t[t.MILLISECOND=1]="MILLISECOND",t[t.MICROSECOND=2]="MICROSECOND",t[t.NANOSECOND=3]="NANOSECOND"})(k||(k={}));var We;(function(t){t[t.YEAR_MONTH=0]="YEAR_MONTH",t[t.DAY_TIME=1]="DAY_TIME",t[t.MONTH_DAY_NANO=2]="MONTH_DAY_NANO"})(We||(We={}));var Fn=new Int32Array(2),ol=new Float32Array(Fn.buffer),al=new Float64Array(Fn.buffer),ts=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var co;(function(t){t[t.UTF8_BYTES=1]="UTF8_BYTES",t[t.UTF16_STRING=2]="UTF16_STRING"})(co||(co={}));var Et=class t{constructor(e){this.bytes_=e,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(e){return new t(new Uint8Array(e))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(e){this.position_=e}capacity(){return this.bytes_.length}readInt8(e){return this.readUint8(e)<<24>>24}readUint8(e){return this.bytes_[e]}readInt16(e){return this.readUint16(e)<<16>>16}readUint16(e){return this.bytes_[e]|this.bytes_[e+1]<<8}readInt32(e){return this.bytes_[e]|this.bytes_[e+1]<<8|this.bytes_[e+2]<<16|this.bytes_[e+3]<<24}readUint32(e){return this.readInt32(e)>>>0}readInt64(e){return BigInt.asIntN(64,BigInt(this.readUint32(e))+(BigInt(this.readUint32(e+4))<>8}writeUint16(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8}writeInt32(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8,this.bytes_[e+2]=n>>16,this.bytes_[e+3]=n>>24}writeUint32(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8,this.bytes_[e+2]=n>>16,this.bytes_[e+3]=n>>24}writeInt64(e,n){this.writeInt32(e,Number(BigInt.asIntN(32,n))),this.writeInt32(e+4,Number(BigInt.asIntN(32,n>>BigInt(32))))}writeUint64(e,n){this.writeUint32(e,Number(BigInt.asUintN(32,n))),this.writeUint32(e+4,Number(BigInt.asUintN(32,n>>BigInt(32))))}writeFloat32(e,n){ol[0]=n,this.writeInt32(e,Fn[0])}writeFloat64(e,n){al[0]=n,this.writeInt32(e,Fn[ts?0:1]),this.writeInt32(e+4,Fn[ts?1:0])}getBufferIdentifier(){if(this.bytes_.lengththis.minalign&&(this.minalign=e);let r=~(this.bb.capacity()-this.space+n)+1&e-1;for(;this.space=0&&this.vtable[n]==0;n--);let r=n+1;for(;n>=0;n--)this.addInt16(this.vtable[n]!=0?e-this.vtable[n]:0);let i=2;this.addInt16(e-this.object_start);let s=(r+i)*2;this.addInt16(s);let o=0,a=this.space;e:for(n=0;n=0;o--)this.writeInt8(s.charCodeAt(o))}this.prep(this.minalign,4+i),this.addOffset(e),i&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(e,n){this.finish(e,n,!0)}requiredField(e,n){let r=this.bb.capacity()-e,i=r-this.bb.readInt32(r);if(!(n=0;r--)e.addInt32(n[r]);return e.endVector()}static startTypeIdsVector(e,n){e.startVector(4,n,4)}static endUnion(e){return e.endObject()}static createUnion(e,n,r){return t.startUnion(e),t.addMode(e,n),t.addTypeIds(e,r),t.endUnion(e)}};var bo=class t{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsUtf8(e,n){return(n||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsUtf8(e,n){return e.setPosition(e.position()+4),(n||new t).__init(e.readInt32(e.position())+e.position(),e)}static startUtf8(e){e.startObject(0)}static endUtf8(e){return e.endObject()}static createUtf8(e){return t.startUtf8(e),t.endUtf8(e)}};var fe;(function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.FloatingPoint=3]="FloatingPoint",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct_=13]="Struct_",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Duration=18]="Duration",t[t.LargeBinary=19]="LargeBinary",t[t.LargeUtf8=20]="LargeUtf8",t[t.LargeList=21]="LargeList",t[t.RunEndEncoded=22]="RunEndEncoded"})(fe||(fe={}));var nt=class t{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsField(e,n){return(n||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsField(e,n){return e.setPosition(e.position()+4),(n||new t).__init(e.readInt32(e.position())+e.position(),e)}name(e){let n=this.bb.__offset(this.bb_pos,4);return n?this.bb.__string(this.bb_pos+n,e):null}nullable(){let e=this.bb.__offset(this.bb_pos,6);return e?!!this.bb.readInt8(this.bb_pos+e):!1}typeType(){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readUint8(this.bb_pos+e):fe.NONE}type(e){let n=this.bb.__offset(this.bb_pos,10);return n?this.bb.__union(e,this.bb_pos+n):null}dictionary(e){let n=this.bb.__offset(this.bb_pos,12);return n?(e||new En).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}children(e,n){let r=this.bb.__offset(this.bb_pos,14);return r?(n||new t).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}childrenLength(){let e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){let r=this.bb.__offset(this.bb_pos,16);return r?(n||new Re).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){let e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__vector_len(this.bb_pos+e):0}static startField(e){e.startObject(7)}static addName(e,n){e.addFieldOffset(0,n,0)}static addNullable(e,n){e.addFieldInt8(1,+n,0)}static addTypeType(e,n){e.addFieldInt8(2,n,fe.NONE)}static addType(e,n){e.addFieldOffset(3,n,0)}static addDictionary(e,n){e.addFieldOffset(4,n,0)}static addChildren(e,n){e.addFieldOffset(5,n,0)}static createChildrenVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startChildrenVector(e,n){e.startVector(4,n,4)}static addCustomMetadata(e,n){e.addFieldOffset(6,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endField(e){return e.endObject()}};var gt=class t{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsSchema(e,n){return(n||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsSchema(e,n){return e.setPosition(e.position()+4),(n||new t).__init(e.readInt32(e.position())+e.position(),e)}endianness(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Er.Little}fields(e,n){let r=this.bb.__offset(this.bb_pos,6);return r?(n||new nt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}fieldsLength(){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){let r=this.bb.__offset(this.bb_pos,8);return r?(n||new Re).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}features(e){let n=this.bb.__offset(this.bb_pos,10);return n?this.bb.readInt64(this.bb.__vector(this.bb_pos+n)+e*8):BigInt(0)}featuresLength(){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}static startSchema(e){e.startObject(4)}static addEndianness(e,n){e.addFieldInt16(0,n,Er.Little)}static addFields(e,n){e.addFieldOffset(1,n,0)}static createFieldsVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startFieldsVector(e,n){e.startVector(4,n,4)}static addCustomMetadata(e,n){e.addFieldOffset(2,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static addFeatures(e,n){e.addFieldOffset(3,n,0)}static createFeaturesVector(e,n){e.startVector(8,n.length,8);for(let r=n.length-1;r>=0;r--)e.addInt64(n[r]);return e.endVector()}static startFeaturesVector(e,n){e.startVector(8,n,8)}static endSchema(e){return e.endObject()}static finishSchemaBuffer(e,n){e.finish(n)}static finishSizePrefixedSchemaBuffer(e,n){e.finish(n,void 0,!0)}static createSchema(e,n,r,i,s){return t.startSchema(e),t.addEndianness(e,n),t.addFields(e,r),t.addCustomMetadata(e,i),t.addFeatures(e,s),t.endSchema(e)}};var q;(function(t){t[t.NONE=0]="NONE",t[t.Schema=1]="Schema",t[t.DictionaryBatch=2]="DictionaryBatch",t[t.RecordBatch=3]="RecordBatch",t[t.Tensor=4]="Tensor",t[t.SparseTensor=5]="SparseTensor"})(q||(q={}));var p;(function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.Float=3]="Float",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct=13]="Struct",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Duration=18]="Duration",t[t.LargeBinary=19]="LargeBinary",t[t.LargeUtf8=20]="LargeUtf8",t[t.Dictionary=-1]="Dictionary",t[t.Int8=-2]="Int8",t[t.Int16=-3]="Int16",t[t.Int32=-4]="Int32",t[t.Int64=-5]="Int64",t[t.Uint8=-6]="Uint8",t[t.Uint16=-7]="Uint16",t[t.Uint32=-8]="Uint32",t[t.Uint64=-9]="Uint64",t[t.Float16=-10]="Float16",t[t.Float32=-11]="Float32",t[t.Float64=-12]="Float64",t[t.DateDay=-13]="DateDay",t[t.DateMillisecond=-14]="DateMillisecond",t[t.TimestampSecond=-15]="TimestampSecond",t[t.TimestampMillisecond=-16]="TimestampMillisecond",t[t.TimestampMicrosecond=-17]="TimestampMicrosecond",t[t.TimestampNanosecond=-18]="TimestampNanosecond",t[t.TimeSecond=-19]="TimeSecond",t[t.TimeMillisecond=-20]="TimeMillisecond",t[t.TimeMicrosecond=-21]="TimeMicrosecond",t[t.TimeNanosecond=-22]="TimeNanosecond",t[t.DenseUnion=-23]="DenseUnion",t[t.SparseUnion=-24]="SparseUnion",t[t.IntervalDayTime=-25]="IntervalDayTime",t[t.IntervalYearMonth=-26]="IntervalYearMonth",t[t.DurationSecond=-27]="DurationSecond",t[t.DurationMillisecond=-28]="DurationMillisecond",t[t.DurationMicrosecond=-29]="DurationMicrosecond",t[t.DurationNanosecond=-30]="DurationNanosecond"})(p||(p={}));var cn;(function(t){t[t.OFFSET=0]="OFFSET",t[t.DATA=1]="DATA",t[t.VALIDITY=2]="VALIDITY",t[t.TYPE=3]="TYPE"})(cn||(cn={}));var Rf={};fi(Rf,{clampRange:()=>Do,createElementComparator:()=>Vr,wrapIndex:()=>pi});var _f={};fi(_f,{valueToString:()=>fn});function fn(t){if(t===null)return"null";if(t===void 0)return"undefined";switch(typeof t){case"number":return`${t}`;case"bigint":return`${t}`;case"string":return`"${t}"`}return typeof t[Symbol.toPrimitive]=="function"?t[Symbol.toPrimitive]("string"):ArrayBuffer.isView(t)?t instanceof BigInt64Array||t instanceof BigUint64Array?`[${[...t].map(e=>fn(e))}]`:`[${t}]`:ArrayBuffer.isView(t)?`[${t}]`:JSON.stringify(t,(e,n)=>typeof n=="bigint"?`${n}`:n)}var xf={};fi(xf,{BN:()=>Io,bigNumToBigInt:()=>Jp,bigNumToNumber:()=>bf,bigNumToString:()=>os,isArrowBigNumSymbol:()=>Zp});function ne(t){if(typeof t=="bigint"&&(tNumber.MAX_SAFE_INTEGER))throw new TypeError(`${t} is not safe to convert to a number.`);return Number(t)}function wf(t,e){return ne(t/e)+ne(t%e)/ne(e)}var Zp=Symbol.for("isArrowBigNum");function dn(t,...e){return e.length===0?Object.setPrototypeOf(Z(this.TypedArray,t),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(t,...e),this.constructor.prototype)}dn.prototype[Zp]=!0;dn.prototype.toJSON=function(){return`"${os(this)}"`};dn.prototype.valueOf=function(t){return bf(this,t)};dn.prototype.toString=function(){return os(this)};dn.prototype[Symbol.toPrimitive]=function(t="default"){switch(t){case"number":return bf(this);case"string":return os(this);case"default":return Jp(this)}return os(this)};function is(...t){return dn.apply(this,t)}function ss(...t){return dn.apply(this,t)}function xo(...t){return dn.apply(this,t)}Object.setPrototypeOf(is.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(ss.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(xo.prototype,Object.create(Uint32Array.prototype));Object.assign(is.prototype,dn.prototype,{constructor:is,signed:!0,TypedArray:Int32Array,BigIntArray:BigInt64Array});Object.assign(ss.prototype,dn.prototype,{constructor:ss,signed:!1,TypedArray:Uint32Array,BigIntArray:BigUint64Array});Object.assign(xo.prototype,dn.prototype,{constructor:xo,signed:!0,TypedArray:Uint32Array,BigIntArray:BigUint64Array});var Jw=BigInt(4294967296)*BigInt(4294967296),qw=Jw-BigInt(1);function bf(t,e){let{buffer:n,byteOffset:r,byteLength:i,signed:s}=t,o=new BigUint64Array(n,r,i/8),a=s&&o.at(-1)&BigInt(1)<=0)return Sf(t);e=e.slice();let r=1;for(let s=0;s(t.children=null,t.ArrayType=Array,t.OffsetArrayType=Int32Array,t[Symbol.toStringTag]="DataType"))(F.prototype);var ft=class extends F{constructor(){super(p.Null)}toString(){return"Null"}};em=Symbol.toStringTag;ft[em]=(t=>t[Symbol.toStringTag]="Null")(ft.prototype);var Pe=class extends F{constructor(e,n){super(p.Int),this.isSigned=e,this.bitWidth=n}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?BigInt64Array:BigUint64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}};tm=Symbol.toStringTag;Pe[tm]=(t=>(t.isSigned=null,t.bitWidth=null,t[Symbol.toStringTag]="Int"))(Pe.prototype);var cl=class extends Pe{constructor(){super(!0,8)}get ArrayType(){return Int8Array}},fl=class extends Pe{constructor(){super(!0,16)}get ArrayType(){return Int16Array}},An=class extends Pe{constructor(){super(!0,32)}get ArrayType(){return Int32Array}},dl=class extends Pe{constructor(){super(!0,64)}get ArrayType(){return BigInt64Array}},hl=class extends Pe{constructor(){super(!1,8)}get ArrayType(){return Uint8Array}},pl=class extends Pe{constructor(){super(!1,16)}get ArrayType(){return Uint16Array}},ml=class extends Pe{constructor(){super(!1,32)}get ArrayType(){return Uint32Array}},yl=class extends Pe{constructor(){super(!1,64)}get ArrayType(){return BigUint64Array}};Object.defineProperty(cl.prototype,"ArrayType",{value:Int8Array});Object.defineProperty(fl.prototype,"ArrayType",{value:Int16Array});Object.defineProperty(An.prototype,"ArrayType",{value:Int32Array});Object.defineProperty(dl.prototype,"ArrayType",{value:BigInt64Array});Object.defineProperty(hl.prototype,"ArrayType",{value:Uint8Array});Object.defineProperty(pl.prototype,"ArrayType",{value:Uint16Array});Object.defineProperty(ml.prototype,"ArrayType",{value:Uint32Array});Object.defineProperty(yl.prototype,"ArrayType",{value:BigUint64Array});var Ht=class extends F{constructor(e){super(p.Float),this.precision=e}get ArrayType(){switch(this.precision){case ce.HALF:return Uint16Array;case ce.SINGLE:return Float32Array;case ce.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}};nm=Symbol.toStringTag;Ht[nm]=(t=>(t.precision=null,t[Symbol.toStringTag]="Float"))(Ht.prototype);var gl=class extends Ht{constructor(){super(ce.HALF)}},vl=class extends Ht{constructor(){super(ce.SINGLE)}},_l=class extends Ht{constructor(){super(ce.DOUBLE)}};Object.defineProperty(gl.prototype,"ArrayType",{value:Uint16Array});Object.defineProperty(vl.prototype,"ArrayType",{value:Float32Array});Object.defineProperty(_l.prototype,"ArrayType",{value:Float64Array});var Qn=class extends F{constructor(){super(p.Binary)}toString(){return"Binary"}};rm=Symbol.toStringTag;Qn[rm]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Binary"))(Qn.prototype);var Gn=class extends F{constructor(){super(p.LargeBinary)}toString(){return"LargeBinary"}};im=Symbol.toStringTag;Gn[im]=(t=>(t.ArrayType=Uint8Array,t.OffsetArrayType=BigInt64Array,t[Symbol.toStringTag]="LargeBinary"))(Gn.prototype);var Xn=class extends F{constructor(){super(p.Utf8)}toString(){return"Utf8"}};sm=Symbol.toStringTag;Xn[sm]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Utf8"))(Xn.prototype);var Zn=class extends F{constructor(){super(p.LargeUtf8)}toString(){return"LargeUtf8"}};om=Symbol.toStringTag;Zn[om]=(t=>(t.ArrayType=Uint8Array,t.OffsetArrayType=BigInt64Array,t[Symbol.toStringTag]="LargeUtf8"))(Zn.prototype);var Jn=class extends F{constructor(){super(p.Bool)}toString(){return"Bool"}};am=Symbol.toStringTag;Jn[am]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Bool"))(Jn.prototype);var qn=class extends F{constructor(e,n,r=128){super(p.Decimal),this.scale=e,this.precision=n,this.bitWidth=r}toString(){return`Decimal[${this.precision}e${this.scale>0?"+":""}${this.scale}]`}};lm=Symbol.toStringTag;qn[lm]=(t=>(t.scale=null,t.precision=null,t.ArrayType=Uint32Array,t[Symbol.toStringTag]="Decimal"))(qn.prototype);var er=class extends F{constructor(e){super(p.Date),this.unit=e}toString(){return`Date${(this.unit+1)*32}<${Fe[this.unit]}>`}get ArrayType(){return this.unit===Fe.DAY?Int32Array:BigInt64Array}};um=Symbol.toStringTag;er[um]=(t=>(t.unit=null,t[Symbol.toStringTag]="Date"))(er.prototype);var tr=class extends F{constructor(e,n){super(p.Time),this.unit=e,this.bitWidth=n}toString(){return`Time${this.bitWidth}<${k[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return BigInt64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}};cm=Symbol.toStringTag;tr[cm]=(t=>(t.unit=null,t.bitWidth=null,t[Symbol.toStringTag]="Time"))(tr.prototype);var nr=class extends F{constructor(e,n){super(p.Timestamp),this.unit=e,this.timezone=n}toString(){return`Timestamp<${k[this.unit]}${this.timezone?`, ${this.timezone}`:""}>`}};fm=Symbol.toStringTag;nr[fm]=(t=>(t.unit=null,t.timezone=null,t.ArrayType=BigInt64Array,t[Symbol.toStringTag]="Timestamp"))(nr.prototype);var rr=class extends F{constructor(e){super(p.Interval),this.unit=e}toString(){return`Interval<${We[this.unit]}>`}};dm=Symbol.toStringTag;rr[dm]=(t=>(t.unit=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Interval"))(rr.prototype);var ir=class extends F{constructor(e){super(p.Duration),this.unit=e}toString(){return`Duration<${k[this.unit]}>`}};hm=Symbol.toStringTag;ir[hm]=(t=>(t.unit=null,t.ArrayType=BigInt64Array,t[Symbol.toStringTag]="Duration"))(ir.prototype);var hn=class extends F{constructor(e){super(p.List),this.children=[e]}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}};pm=Symbol.toStringTag;hn[pm]=(t=>(t.children=null,t[Symbol.toStringTag]="List"))(hn.prototype);var he=class extends F{constructor(e){super(p.Struct),this.children=e}toString(){return`Struct<{${this.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}};mm=Symbol.toStringTag;he[mm]=(t=>(t.children=null,t[Symbol.toStringTag]="Struct"))(he.prototype);var pn=class extends F{constructor(e,n,r){super(p.Union),this.mode=e,this.children=r,this.typeIds=n=Int32Array.from(n),this.typeIdToChildIndex=n.reduce((i,s,o)=>(i[s]=o)&&i||i,Object.create(null))}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(e=>`${e.type}`).join(" | ")}>`}};ym=Symbol.toStringTag;pn[ym]=(t=>(t.mode=null,t.typeIds=null,t.children=null,t.typeIdToChildIndex=null,t.ArrayType=Int8Array,t[Symbol.toStringTag]="Union"))(pn.prototype);var sr=class extends F{constructor(e){super(p.FixedSizeBinary),this.byteWidth=e}toString(){return`FixedSizeBinary[${this.byteWidth}]`}};gm=Symbol.toStringTag;sr[gm]=(t=>(t.byteWidth=null,t.ArrayType=Uint8Array,t[Symbol.toStringTag]="FixedSizeBinary"))(sr.prototype);var mn=class extends F{constructor(e,n){super(p.FixedSizeList),this.listSize=e,this.children=[n]}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}};vm=Symbol.toStringTag;mn[vm]=(t=>(t.children=null,t.listSize=null,t[Symbol.toStringTag]="FixedSizeList"))(mn.prototype);var yn=class extends F{constructor(e,n=!1){var r,i,s;if(super(p.Map),this.children=[e],this.keysSorted=n,e&&(e.name="entries",!((r=e?.type)===null||r===void 0)&&r.children)){let o=(i=e?.type)===null||i===void 0?void 0:i.children[0];o&&(o.name="key");let a=(s=e?.type)===null||s===void 0?void 0:s.children[1];a&&(a.name="value")}}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}};_m=Symbol.toStringTag;yn[_m]=(t=>(t.children=null,t.keysSorted=null,t[Symbol.toStringTag]="Map_"))(yn.prototype);var eS=(t=>()=>++t)(-1),At=class extends F{constructor(e,n,r,i){super(p.Dictionary),this.indices=n,this.dictionary=e,this.isOrdered=i||!1,this.id=r==null?eS():ne(r)}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}};wm=Symbol.toStringTag;At[wm]=(t=>(t.id=null,t.indices=null,t.isOrdered=null,t.dictionary=null,t[Symbol.toStringTag]="Dictionary"))(At.prototype);function Lt(t){let e=t;switch(t.typeId){case p.Decimal:return t.bitWidth/32;case p.Interval:return 1+e.unit;case p.FixedSizeList:return e.listSize;case p.FixedSizeBinary:return e.byteWidth;default:return 1}}var C=class{visitMany(e,...n){return e.map((r,i)=>this.visit(r,...n.map(s=>s[i])))}visit(...e){return this.getVisitFn(e[0],!1).apply(this,e)}getVisitFn(e,n=!0){return tS(this,e,n)}getVisitFnByTypeId(e,n=!0){return as(this,e,n)}visitNull(e,...n){return null}visitBool(e,...n){return null}visitInt(e,...n){return null}visitFloat(e,...n){return null}visitUtf8(e,...n){return null}visitLargeUtf8(e,...n){return null}visitBinary(e,...n){return null}visitLargeBinary(e,...n){return null}visitFixedSizeBinary(e,...n){return null}visitDate(e,...n){return null}visitTimestamp(e,...n){return null}visitTime(e,...n){return null}visitDecimal(e,...n){return null}visitList(e,...n){return null}visitStruct(e,...n){return null}visitUnion(e,...n){return null}visitDictionary(e,...n){return null}visitInterval(e,...n){return null}visitDuration(e,...n){return null}visitFixedSizeList(e,...n){return null}visitMap(e,...n){return null}};function tS(t,e,n=!0){return typeof e=="number"?as(t,e,n):typeof e=="string"&&e in p?as(t,p[e],n):e&&e instanceof F?as(t,Sm(e),n):e?.type&&e.type instanceof F?as(t,Sm(e.type),n):as(t,p.NONE,n)}function as(t,e,n=!0){let r=null;switch(e){case p.Null:r=t.visitNull;break;case p.Bool:r=t.visitBool;break;case p.Int:r=t.visitInt;break;case p.Int8:r=t.visitInt8||t.visitInt;break;case p.Int16:r=t.visitInt16||t.visitInt;break;case p.Int32:r=t.visitInt32||t.visitInt;break;case p.Int64:r=t.visitInt64||t.visitInt;break;case p.Uint8:r=t.visitUint8||t.visitInt;break;case p.Uint16:r=t.visitUint16||t.visitInt;break;case p.Uint32:r=t.visitUint32||t.visitInt;break;case p.Uint64:r=t.visitUint64||t.visitInt;break;case p.Float:r=t.visitFloat;break;case p.Float16:r=t.visitFloat16||t.visitFloat;break;case p.Float32:r=t.visitFloat32||t.visitFloat;break;case p.Float64:r=t.visitFloat64||t.visitFloat;break;case p.Utf8:r=t.visitUtf8;break;case p.LargeUtf8:r=t.visitLargeUtf8;break;case p.Binary:r=t.visitBinary;break;case p.LargeBinary:r=t.visitLargeBinary;break;case p.FixedSizeBinary:r=t.visitFixedSizeBinary;break;case p.Date:r=t.visitDate;break;case p.DateDay:r=t.visitDateDay||t.visitDate;break;case p.DateMillisecond:r=t.visitDateMillisecond||t.visitDate;break;case p.Timestamp:r=t.visitTimestamp;break;case p.TimestampSecond:r=t.visitTimestampSecond||t.visitTimestamp;break;case p.TimestampMillisecond:r=t.visitTimestampMillisecond||t.visitTimestamp;break;case p.TimestampMicrosecond:r=t.visitTimestampMicrosecond||t.visitTimestamp;break;case p.TimestampNanosecond:r=t.visitTimestampNanosecond||t.visitTimestamp;break;case p.Time:r=t.visitTime;break;case p.TimeSecond:r=t.visitTimeSecond||t.visitTime;break;case p.TimeMillisecond:r=t.visitTimeMillisecond||t.visitTime;break;case p.TimeMicrosecond:r=t.visitTimeMicrosecond||t.visitTime;break;case p.TimeNanosecond:r=t.visitTimeNanosecond||t.visitTime;break;case p.Decimal:r=t.visitDecimal;break;case p.List:r=t.visitList;break;case p.Struct:r=t.visitStruct;break;case p.Union:r=t.visitUnion;break;case p.DenseUnion:r=t.visitDenseUnion||t.visitUnion;break;case p.SparseUnion:r=t.visitSparseUnion||t.visitUnion;break;case p.Dictionary:r=t.visitDictionary;break;case p.Interval:r=t.visitInterval;break;case p.IntervalDayTime:r=t.visitIntervalDayTime||t.visitInterval;break;case p.IntervalYearMonth:r=t.visitIntervalYearMonth||t.visitInterval;break;case p.Duration:r=t.visitDuration;break;case p.DurationSecond:r=t.visitDurationSecond||t.visitDuration;break;case p.DurationMillisecond:r=t.visitDurationMillisecond||t.visitDuration;break;case p.DurationMicrosecond:r=t.visitDurationMicrosecond||t.visitDuration;break;case p.DurationNanosecond:r=t.visitDurationNanosecond||t.visitDuration;break;case p.FixedSizeList:r=t.visitFixedSizeList;break;case p.Map:r=t.visitMap;break}if(typeof r=="function")return r;if(!n)return()=>null;throw new Error(`Unrecognized type '${p[e]}'`)}function Sm(t){switch(t.typeId){case p.Null:return p.Null;case p.Int:{let{bitWidth:e,isSigned:n}=t;switch(e){case 8:return n?p.Int8:p.Uint8;case 16:return n?p.Int16:p.Uint16;case 32:return n?p.Int32:p.Uint32;case 64:return n?p.Int64:p.Uint64}return p.Int}case p.Float:switch(t.precision){case ce.HALF:return p.Float16;case ce.SINGLE:return p.Float32;case ce.DOUBLE:return p.Float64}return p.Float;case p.Binary:return p.Binary;case p.LargeBinary:return p.LargeBinary;case p.Utf8:return p.Utf8;case p.LargeUtf8:return p.LargeUtf8;case p.Bool:return p.Bool;case p.Decimal:return p.Decimal;case p.Time:switch(t.unit){case k.SECOND:return p.TimeSecond;case k.MILLISECOND:return p.TimeMillisecond;case k.MICROSECOND:return p.TimeMicrosecond;case k.NANOSECOND:return p.TimeNanosecond}return p.Time;case p.Timestamp:switch(t.unit){case k.SECOND:return p.TimestampSecond;case k.MILLISECOND:return p.TimestampMillisecond;case k.MICROSECOND:return p.TimestampMicrosecond;case k.NANOSECOND:return p.TimestampNanosecond}return p.Timestamp;case p.Date:switch(t.unit){case Fe.DAY:return p.DateDay;case Fe.MILLISECOND:return p.DateMillisecond}return p.Date;case p.Interval:switch(t.unit){case We.DAY_TIME:return p.IntervalDayTime;case We.YEAR_MONTH:return p.IntervalYearMonth}return p.Interval;case p.Duration:switch(t.unit){case k.SECOND:return p.DurationSecond;case k.MILLISECOND:return p.DurationMillisecond;case k.MICROSECOND:return p.DurationMicrosecond;case k.NANOSECOND:return p.DurationNanosecond}return p.Duration;case p.Map:return p.Map;case p.List:return p.List;case p.Struct:return p.Struct;case p.Union:switch(t.mode){case de.Dense:return p.DenseUnion;case de.Sparse:return p.SparseUnion}return p.Union;case p.FixedSizeBinary:return p.FixedSizeBinary;case p.FixedSizeList:return p.FixedSizeList;case p.Dictionary:return p.Dictionary}throw new Error(`Unrecognized type '${p[t.typeId]}'`)}C.prototype.visitInt8=null;C.prototype.visitInt16=null;C.prototype.visitInt32=null;C.prototype.visitInt64=null;C.prototype.visitUint8=null;C.prototype.visitUint16=null;C.prototype.visitUint32=null;C.prototype.visitUint64=null;C.prototype.visitFloat16=null;C.prototype.visitFloat32=null;C.prototype.visitFloat64=null;C.prototype.visitDateDay=null;C.prototype.visitDateMillisecond=null;C.prototype.visitTimestampSecond=null;C.prototype.visitTimestampMillisecond=null;C.prototype.visitTimestampMicrosecond=null;C.prototype.visitTimestampNanosecond=null;C.prototype.visitTimeSecond=null;C.prototype.visitTimeMillisecond=null;C.prototype.visitTimeMicrosecond=null;C.prototype.visitTimeNanosecond=null;C.prototype.visitDenseUnion=null;C.prototype.visitSparseUnion=null;C.prototype.visitIntervalDayTime=null;C.prototype.visitIntervalYearMonth=null;C.prototype.visitDuration=null;C.prototype.visitDurationSecond=null;C.prototype.visitDurationMillisecond=null;C.prototype.visitDurationMicrosecond=null;C.prototype.visitDurationNanosecond=null;var If={};fi(If,{float64ToUint16:()=>Bo,uint16ToFloat64:()=>wl});var bm=new Float64Array(1),ls=new Uint32Array(bm.buffer);function wl(t){let e=(t&31744)>>10,n=(t&1023)/1024,r=Math.pow(-1,(t&32768)>>15);switch(e){case 31:return r*(n?Number.NaN:1/0);case 0:return r*(n?6103515625e-14*n:0)}return r*Math.pow(2,e-15)*(1+n)}function Bo(t){if(t!==t)return 32256;bm[0]=t;let e=(ls[1]&2147483648)>>16&65535,n=ls[1]&2146435072,r=0;return n>=1089470464?ls[0]>0?n=31744:(n=(n&2080374784)>>16,r=(ls[1]&1048575)>>10):n<=1056964608?(r=1048576+(ls[1]&1048575),r=1048576+(r<<(n>>20)-998)>>21,n=0):(n=n-1056964608>>10,r=(ls[1]&1048575)+512>>10),e|n|r&65535}var z=class extends C{};function H(t){return(e,n,r)=>{if(e.setValid(n,r!=null))return t(e,n,r)}}var nS=(t,e,n)=>{t[e]=Math.floor(n/864e5)},xm=(t,e,n,r)=>{if(n+1{let i=t+n;r?e[i>>3]|=1<>3]&=~(1<{t[e]=n},Bf=({values:t},e,n)=>{t[e]=n},Im=({values:t},e,n)=>{t[e]=Bo(n)},iS=(t,e,n)=>{switch(t.type.precision){case ce.HALF:return Im(t,e,n);case ce.SINGLE:case ce.DOUBLE:return Bf(t,e,n)}},Sl=({values:t},e,n)=>{nS(t,e,n.valueOf())},bl=({values:t},e,n)=>{t[e]=BigInt(n)},Df=({stride:t,values:e},n,r)=>{e.set(r.subarray(0,t),t*n)},Bm=({values:t,valueOffsets:e},n,r)=>xm(t,e,n,r),Dm=({values:t,valueOffsets:e},n,r)=>xm(t,e,n,Tn(r)),Nf=(t,e,n)=>{t.type.unit===Fe.DAY?Sl(t,e,n):bl(t,e,n)},xl=({values:t},e,n)=>{t[e]=BigInt(n/1e3)},Il=({values:t},e,n)=>{t[e]=BigInt(n)},Bl=({values:t},e,n)=>{t[e]=BigInt(n*1e3)},Dl=({values:t},e,n)=>{t[e]=BigInt(n*1e6)},Tf=(t,e,n)=>{switch(t.type.unit){case k.SECOND:return xl(t,e,n);case k.MILLISECOND:return Il(t,e,n);case k.MICROSECOND:return Bl(t,e,n);case k.NANOSECOND:return Dl(t,e,n)}},Nl=({values:t},e,n)=>{t[e]=n},Tl=({values:t},e,n)=>{t[e]=n},Ol=({values:t},e,n)=>{t[e]=n},Fl=({values:t},e,n)=>{t[e]=n},Of=(t,e,n)=>{switch(t.type.unit){case k.SECOND:return Nl(t,e,n);case k.MILLISECOND:return Tl(t,e,n);case k.MICROSECOND:return Ol(t,e,n);case k.NANOSECOND:return Fl(t,e,n)}},Ff=({values:t,stride:e},n,r)=>{t.set(r.subarray(0,e),e*n)},sS=(t,e,n)=>{let r=t.children[0],i=t.valueOffsets,s=Xe.getVisitFn(r);if(Array.isArray(n))for(let o=-1,a=i[e],l=i[e+1];a{let r=t.children[0],{valueOffsets:i}=t,s=Xe.getVisitFn(r),{[e]:o,[e+1]:a}=i,l=n instanceof Map?n.entries():Object.entries(n);for(let u of l)if(s(r,o,u),++o>=a)break},aS=(t,e)=>(n,r,i,s)=>r&&n(r,t,e[s]),lS=(t,e)=>(n,r,i,s)=>r&&n(r,t,e.get(s)),uS=(t,e)=>(n,r,i,s)=>r&&n(r,t,e.get(i.name)),cS=(t,e)=>(n,r,i,s)=>r&&n(r,t,e[i.name]),fS=(t,e,n)=>{let r=t.type.children.map(s=>Xe.getVisitFn(s.type)),i=n instanceof Map?uS(e,n):n instanceof ee?lS(e,n):Array.isArray(n)?aS(e,n):cS(e,n);t.type.children.forEach((s,o)=>i(r[o],t.children[o],s,o))},dS=(t,e,n)=>{t.type.mode===de.Dense?Nm(t,e,n):Tm(t,e,n)},Nm=(t,e,n)=>{let r=t.type.typeIdToChildIndex[t.typeIds[e]],i=t.children[r];Xe.visit(i,t.valueOffsets[e],n)},Tm=(t,e,n)=>{let r=t.type.typeIdToChildIndex[t.typeIds[e]],i=t.children[r];Xe.visit(i,e,n)},hS=(t,e,n)=>{var r;(r=t.dictionary)===null||r===void 0||r.set(t.values[e],n)},Ef=(t,e,n)=>{t.type.unit===We.DAY_TIME?El(t,e,n):kl(t,e,n)},El=({values:t},e,n)=>{t.set(n.subarray(0,2),2*e)},kl=({values:t},e,n)=>{t[e]=n[0]*12+n[1]%12},Al=({values:t},e,n)=>{t[e]=n},Ll=({values:t},e,n)=>{t[e]=n},Ml=({values:t},e,n)=>{t[e]=n},Cl=({values:t},e,n)=>{t[e]=n},kf=(t,e,n)=>{switch(t.type.unit){case k.SECOND:return Al(t,e,n);case k.MILLISECOND:return Ll(t,e,n);case k.MICROSECOND:return Ml(t,e,n);case k.NANOSECOND:return Cl(t,e,n)}},pS=(t,e,n)=>{let{stride:r}=t,i=t.children[0],s=Xe.getVisitFn(i);if(Array.isArray(n))for(let o=-1,a=e*r;++o`${fn(e)}: ${fn(n)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}[Symbol.iterator](){return new Af(this[gn],this[us])}},Af=class{constructor(e,n){this.childIndex=0,this.children=e.children,this.rowIndex=n,this.childFields=e.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){let e=this.childIndex;return en.name)}has(e,n){return e[gn].type.children.findIndex(r=>r.name===n)!==-1}getOwnPropertyDescriptor(e,n){if(e[gn].type.children.findIndex(r=>r.name===n)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,n){if(Reflect.has(e,n))return e[n];let r=e[gn].type.children.findIndex(i=>i.name===n);if(r!==-1){let i=Le.visit(e[gn].children[r],e[us]);return Reflect.set(e,n,i),i}}set(e,n,r){let i=e[gn].type.children.findIndex(s=>s.name===n);return i!==-1?(Xe.visit(e[gn].children[i],e[us],r),Reflect.set(e,n,r)):Reflect.has(e,n)||typeof n=="symbol"?Reflect.set(e,n,r):!1}};var U=class extends C{};function $(t){return(e,n)=>e.getValid(n)?t(e,n):null}var mS=(t,e)=>864e5*t[e],yS=(t,e)=>null,Om=(t,e,n)=>{if(n+1>=e.length)return null;let r=ne(e[n]),i=ne(e[n+1]);return t.subarray(r,i)},gS=({offset:t,values:e},n)=>{let r=t+n;return(e[r>>3]&1<mS(t,e),Em=({values:t},e)=>ne(t[e]),jr=({stride:t,values:e},n)=>e[t*n],vS=({stride:t,values:e},n)=>wl(e[t*n]),km=({values:t},e)=>t[e],_S=({stride:t,values:e},n)=>e.subarray(t*n,t*(n+1)),Am=({values:t,valueOffsets:e},n)=>Om(t,e,n),Lm=({values:t,valueOffsets:e},n)=>{let r=Om(t,e,n);return r!==null?ao(r):null},wS=({values:t},e)=>t[e],SS=({type:t,values:e},n)=>t.precision!==ce.HALF?e[n]:wl(e[n]),bS=(t,e)=>t.type.unit===Fe.DAY?Fm(t,e):Em(t,e),Mm=({values:t},e)=>1e3*ne(t[e]),Cm=({values:t},e)=>ne(t[e]),Um=({values:t},e)=>wf(t[e],BigInt(1e3)),Rm=({values:t},e)=>wf(t[e],BigInt(1e6)),xS=(t,e)=>{switch(t.type.unit){case k.SECOND:return Mm(t,e);case k.MILLISECOND:return Cm(t,e);case k.MICROSECOND:return Um(t,e);case k.NANOSECOND:return Rm(t,e)}},Pm=({values:t},e)=>t[e],jm=({values:t},e)=>t[e],zm=({values:t},e)=>t[e],Vm=({values:t},e)=>t[e],IS=(t,e)=>{switch(t.type.unit){case k.SECOND:return Pm(t,e);case k.MILLISECOND:return jm(t,e);case k.MICROSECOND:return zm(t,e);case k.NANOSECOND:return Vm(t,e)}},BS=({values:t,stride:e},n)=>Io.decimal(t.subarray(e*n,e*(n+1))),DS=(t,e)=>{let{valueOffsets:n,stride:r,children:i}=t,{[e*r]:s,[e*r+1]:o}=n,l=i[0].slice(s,o-s);return new ee([l])},NS=(t,e)=>{let{valueOffsets:n,children:r}=t,{[e]:i,[e+1]:s}=n,o=r[0];return new Ln(o.slice(i,s-i))},TS=(t,e)=>new Pr(t,e),OS=(t,e)=>t.type.mode===de.Dense?$m(t,e):Wm(t,e),$m=(t,e)=>{let n=t.type.typeIdToChildIndex[t.typeIds[e]],r=t.children[n];return Le.visit(r,t.valueOffsets[e])},Wm=(t,e)=>{let n=t.type.typeIdToChildIndex[t.typeIds[e]],r=t.children[n];return Le.visit(r,e)},FS=(t,e)=>{var n;return(n=t.dictionary)===null||n===void 0?void 0:n.get(t.values[e])},ES=(t,e)=>t.type.unit===We.DAY_TIME?Hm(t,e):Ym(t,e),Hm=({values:t},e)=>t.subarray(2*e,2*(e+1)),Ym=({values:t},e)=>{let n=t[e],r=new Int32Array(2);return r[0]=Math.trunc(n/12),r[1]=Math.trunc(n%12),r},Km=({values:t},e)=>t[e],Qm=({values:t},e)=>t[e],Gm=({values:t},e)=>t[e],Xm=({values:t},e)=>t[e],kS=(t,e)=>{switch(t.type.unit){case k.SECOND:return Km(t,e);case k.MILLISECOND:return Qm(t,e);case k.MICROSECOND:return Gm(t,e);case k.NANOSECOND:return Xm(t,e)}},AS=(t,e)=>{let{stride:n,children:r}=t,s=r[0].slice(e*n,n);return new ee([s])};U.prototype.visitNull=$(yS);U.prototype.visitBool=$(gS);U.prototype.visitInt=$(wS);U.prototype.visitInt8=$(jr);U.prototype.visitInt16=$(jr);U.prototype.visitInt32=$(jr);U.prototype.visitInt64=$(km);U.prototype.visitUint8=$(jr);U.prototype.visitUint16=$(jr);U.prototype.visitUint32=$(jr);U.prototype.visitUint64=$(km);U.prototype.visitFloat=$(SS);U.prototype.visitFloat16=$(vS);U.prototype.visitFloat32=$(jr);U.prototype.visitFloat64=$(jr);U.prototype.visitUtf8=$(Lm);U.prototype.visitLargeUtf8=$(Lm);U.prototype.visitBinary=$(Am);U.prototype.visitLargeBinary=$(Am);U.prototype.visitFixedSizeBinary=$(_S);U.prototype.visitDate=$(bS);U.prototype.visitDateDay=$(Fm);U.prototype.visitDateMillisecond=$(Em);U.prototype.visitTimestamp=$(xS);U.prototype.visitTimestampSecond=$(Mm);U.prototype.visitTimestampMillisecond=$(Cm);U.prototype.visitTimestampMicrosecond=$(Um);U.prototype.visitTimestampNanosecond=$(Rm);U.prototype.visitTime=$(IS);U.prototype.visitTimeSecond=$(Pm);U.prototype.visitTimeMillisecond=$(jm);U.prototype.visitTimeMicrosecond=$(zm);U.prototype.visitTimeNanosecond=$(Vm);U.prototype.visitDecimal=$(BS);U.prototype.visitList=$(DS);U.prototype.visitStruct=$(TS);U.prototype.visitUnion=$(OS);U.prototype.visitDenseUnion=$($m);U.prototype.visitSparseUnion=$(Wm);U.prototype.visitDictionary=$(FS);U.prototype.visitInterval=$(ES);U.prototype.visitIntervalDayTime=$(Hm);U.prototype.visitIntervalYearMonth=$(Ym);U.prototype.visitDuration=$(kS);U.prototype.visitDurationSecond=$(Km);U.prototype.visitDurationMillisecond=$(Qm);U.prototype.visitDurationMicrosecond=$(Gm);U.prototype.visitDurationNanosecond=$(Xm);U.prototype.visitFixedSizeList=$(AS);U.prototype.visitMap=$(NS);var Le=new U;var zr=Symbol.for("keys"),fs=Symbol.for("vals"),cs=Symbol.for("kKeysAsStrings"),Mf=Symbol.for("_kKeysAsStrings"),Ln=class{constructor(e){return this[zr]=new ee([e.children[0]]).memoize(),this[fs]=e.children[1],new Proxy(this,new Uf)}get[cs](){return this[Mf]||(this[Mf]=Array.from(this[zr].toArray(),String))}[Symbol.iterator](){return new Cf(this[zr],this[fs])}get size(){return this[zr].length}toArray(){return Object.values(this.toJSON())}toJSON(){let e=this[zr],n=this[fs],r={};for(let i=-1,s=e.length;++i`${fn(e)}: ${fn(n)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}},Cf=class{constructor(e,n){this.keys=e,this.vals=n,this.keyIndex=0,this.numKeys=e.length}[Symbol.iterator](){return this}next(){let e=this.keyIndex;return e===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(e),Le.visit(this.vals,e)]})}},Uf=class{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(e){return e[cs]}has(e,n){return e[cs].includes(n)}getOwnPropertyDescriptor(e,n){if(e[cs].indexOf(n)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,n){if(Reflect.has(e,n))return e[n];let r=e[cs].indexOf(n);if(r!==-1){let i=Le.visit(Reflect.get(e,fs),r);return Reflect.set(e,n,i),i}}set(e,n,r){let i=e[cs].indexOf(n);return i!==-1?(Xe.visit(Reflect.get(e,fs),i,r),Reflect.set(e,n,r)):Reflect.has(e,n)?Reflect.set(e,n,r):!1}};Object.defineProperties(Ln.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[zr]:{writable:!0,enumerable:!1,configurable:!1,value:null},[fs]:{writable:!0,enumerable:!1,configurable:!1,value:null},[Mf]:{writable:!0,enumerable:!1,configurable:!1,value:null}});var Zm;function Do(t,e,n,r){let{length:i=0}=t,s=typeof e!="number"?0:e,o=typeof n!="number"?i:n;return s<0&&(s=(s%i+i)%i),o<0&&(o=(o%i+i)%i),oi&&(o=i),r?r(t,s,o):[s,o]}var pi=(t,e)=>t<0?e+t:t,Jm=t=>t!==t;function Vr(t){if(typeof t!=="object"||t===null)return Jm(t)?Jm:n=>n===t;if(t instanceof Date){let n=t.valueOf();return r=>r instanceof Date?r.valueOf()===n:!1}return ArrayBuffer.isView(t)?n=>n?mf(t,n):!1:t instanceof Map?MS(t):Array.isArray(t)?LS(t):t instanceof ee?CS(t):US(t,!0)}function LS(t){let e=[];for(let n=-1,r=t.length;++n!1;let r=[];for(let i=-1,s=n.length;++i{if(!n||typeof n!="object")return!1;switch(n.constructor){case Array:return RS(t,n);case Map:return qm(t,n,n.keys());case Ln:case Pr:case Object:case void 0:return qm(t,n,e||Object.keys(n))}return n instanceof ee?PS(t,n):!1}}function RS(t,e){let n=t.length;if(e.length!==n)return!1;for(let r=-1;++rmi,getBit:()=>ey,getBool:()=>Pl,packBools:()=>gi,popcnt_array:()=>ty,popcnt_bit_range:()=>No,popcnt_uint32:()=>Rl,setBool:()=>jS,truncateBitmap:()=>yi});function Pl(t,e,n,r){return(n&1<>r}function jS(t,e,n){return n?!!(t[e>>3]|=1<>3]&=~(1<0||n.byteLength>3):gi(new mi(n,t,e,null,Pl)).subarray(0,r)),i}return n}function gi(t){let e=[],n=0,r=0,i=0;for(let o of t)o&&(i|=1<0)&&(e[n++]=i);let s=new Uint8Array(e.length+7&-8);return s.set(e),s}var mi=class{constructor(e,n,r,i,s){this.bytes=e,this.length=r,this.context=i,this.get=s,this.bit=n%8,this.byteIndex=n>>3,this.byte=e[this.byteIndex++],this.index=0}next(){return this.index>3<<3,i=e+(e%8===0?0:8-e%8);return No(t,e,i)+No(t,r,n)+ty(t,i>>3,r-i>>3)}function ty(t,e,n){let r=0,i=Math.trunc(e),s=new DataView(t.buffer,t.byteOffset,t.byteLength),o=n===void 0?t.byteLength:i+n;for(;o-i>=4;)r+=Rl(s.getUint32(i)),i+=4;for(;o-i>=2;)r+=Rl(s.getUint16(i)),i+=2;for(;o-i>=1;)r+=Rl(s.getUint8(i)),i+=1;return r}function Rl(t){let e=Math.trunc(t);return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24}var zS=-1,se=class t{get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get nullable(){if(this._nullCount!==0){let{type:e}=this;return F.isSparseUnion(e)?this.children.some(n=>n.nullable):F.isDenseUnion(e)?this.children.some(n=>n.nullable):this.nullBitmap&&this.nullBitmap.byteLength>0}return!0}get byteLength(){let e=0,{valueOffsets:n,values:r,nullBitmap:i,typeIds:s}=this;return n&&(e+=n.byteLength),r&&(e+=r.byteLength),i&&(e+=i.byteLength),s&&(e+=s.byteLength),this.children.reduce((o,a)=>o+a.byteLength,e)}get nullCount(){if(F.isUnion(this.type))return this.children.reduce((r,i)=>r+i.nullCount,0);let e=this._nullCount,n;return e<=zS&&(n=this.nullBitmap)&&(this._nullCount=e=n.length===0?0:this.length-No(n,this.offset,this.offset+this.length)),e}constructor(e,n,r,i,s,o=[],a){this.type=e,this.children=o,this.dictionary=a,this.offset=Math.floor(Math.max(n||0,0)),this.length=Math.floor(Math.max(r||0,0)),this._nullCount=Math.floor(Math.max(i||0,-1));let l;s instanceof t?(this.stride=s.stride,this.values=s.values,this.typeIds=s.typeIds,this.nullBitmap=s.nullBitmap,this.valueOffsets=s.valueOffsets):(this.stride=Lt(e),s&&((l=s[0])&&(this.valueOffsets=l),(l=s[1])&&(this.values=l),(l=s[2])&&(this.nullBitmap=l),(l=s[3])&&(this.typeIds=l)))}getValid(e){let{type:n}=this;if(F.isUnion(n)){let r=n,i=this.children[r.typeIdToChildIndex[this.typeIds[e]]],s=r.mode===de.Dense?this.valueOffsets[e]:e;return i.getValid(s)}if(this.nullable&&this.nullCount>0){let r=this.offset+e;return(this.nullBitmap[r>>3]&1<>3;(!s||s.byteLength<=c)&&(s=new Uint8Array((o+a+63&-64)>>3).fill(255),this.nullCount>0?(s.set(yi(o,a,this.nullBitmap),0),Object.assign(this,{nullBitmap:s})):Object.assign(this,{nullBitmap:s,_nullCount:0}));let d=s[c];r=(d&u)!==0,s[c]=n?d|u:d&~u}return r!==!!n&&(this._nullCount=this.nullCount+(n?-1:1)),n}clone(e=this.type,n=this.offset,r=this.length,i=this._nullCount,s=this,o=this.children){return new t(e,n,r,i,s,o,this.dictionary)}slice(e,n){let{stride:r,typeId:i,children:s}=this,o=+(this._nullCount===0)-1,a=i===16?r:1,l=this._sliceBuffers(e,n,r,i);return this.clone(this.type,this.offset+e,n,o,l,s.length===0||this.valueOffsets?s:this._sliceChildren(s,a*e,a*n))}_changeLengthAndBackfillNullBitmap(e){if(this.typeId===p.Null)return this.clone(this.type,0,e,0);let{length:n,nullCount:r}=this,i=new Uint8Array((e+63&-64)>>3).fill(255,0,n>>3);i[n>>3]=(1<0&&i.set(yi(this.offset,n,this.nullBitmap),0);let s=this.buffers;return s[cn.VALIDITY]=i,this.clone(this.type,0,e,r+(e-n),s)}_sliceBuffers(e,n,r,i){let s,{buffers:o}=this;return(s=o[cn.TYPE])&&(o[cn.TYPE]=s.subarray(e,e+n)),(s=o[cn.OFFSET])&&(o[cn.OFFSET]=s.subarray(e,e+n+1))||(s=o[cn.DATA])&&(o[cn.DATA]=i===6?s:s.subarray(r*e,r*(e+n))),o}_sliceChildren(e,n,r){return e.map(i=>i.slice(n,r))}};se.prototype.children=Object.freeze([]);var jf=class t extends C{visit(e){return this.getVisitFn(e.type).call(this,e)}visitNull(e){let{["type"]:n,["offset"]:r=0,["length"]:i=0}=e;return new se(n,r,i,i)}visitBool(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length>>3,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitInt(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitFloat(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitUtf8(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.data),s=V(e.nullBitmap),o=di(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new se(n,r,a,l,[o,i,s])}visitLargeUtf8(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.data),s=V(e.nullBitmap),o=rl(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new se(n,r,a,l,[o,i,s])}visitBinary(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.data),s=V(e.nullBitmap),o=di(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new se(n,r,a,l,[o,i,s])}visitLargeBinary(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.data),s=V(e.nullBitmap),o=rl(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new se(n,r,a,l,[o,i,s])}visitFixedSizeBinary(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length/Lt(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitDate(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length/Lt(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitTimestamp(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length/Lt(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitTime(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length/Lt(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitDecimal(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length/Lt(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitList(e){let{["type"]:n,["offset"]:r=0,["child"]:i}=e,s=V(e.nullBitmap),o=di(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new se(n,r,a,l,[o,void 0,s],[i])}visitStruct(e){let{["type"]:n,["offset"]:r=0,["children"]:i=[]}=e,s=V(e.nullBitmap),{length:o=i.reduce((l,{length:u})=>Math.max(l,u),0),nullCount:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,void 0,s],i)}visitUnion(e){let{["type"]:n,["offset"]:r=0,["children"]:i=[]}=e,s=Z(n.ArrayType,e.typeIds),{["length"]:o=s.length,["nullCount"]:a=-1}=e;if(F.isSparseUnion(n))return new se(n,r,o,a,[void 0,void 0,void 0,s],i);let l=di(e.valueOffsets);return new se(n,r,o,a,[l,void 0,void 0,s],i)}visitDictionary(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.indices.ArrayType,e.data),{["dictionary"]:o=new ee([new t().visit({type:n.dictionary})])}=e,{["length"]:a=s.length,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new se(n,r,a,l,[void 0,s,i],[],o)}visitInterval(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length/Lt(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitDuration(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitFixedSizeList(e){let{["type"]:n,["offset"]:r=0,["child"]:i=new t().visit({type:n.valueType})}=e,s=V(e.nullBitmap),{["length"]:o=i.length/Lt(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,void 0,s],[i])}visitMap(e){let{["type"]:n,["offset"]:r=0,["child"]:i=new t().visit({type:n.childType})}=e,s=V(e.nullBitmap),o=di(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new se(n,r,a,l,[o,void 0,s],[i])}},VS=new jf;function Q(t){return VS.visit(t)}var To=class{constructor(e=0,n){this.numChunks=e,this.getChunkIterator=n,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndexe.nullable)}function jl(t){return t.reduce((e,n)=>e+n.nullCount,0)}function zl(t){return t.reduce((e,n,r)=>(e[r+1]=e[r]+n.length,e),new Uint32Array(t.length+1))}function Vl(t,e,n,r){let i=[];for(let s=-1,o=t.length;++s=r)break;if(n>=l+u)continue;if(l>=n&&l+u<=r){i.push(a);continue}let c=Math.max(0,n-l),d=Math.min(r-l,u);i.push(a.slice(c,d-c))}return i.length===0&&i.push(t[0].slice(0,0)),i}function zf(t,e,n,r){let i=0,s=0,o=e.length-1;do{if(i>=o-1)return n0?0:-1}function WS(t,e){let{nullBitmap:n}=t;if(!n||t.nullCount<=0)return-1;let r=0;for(let i of new mi(n,t.offset+(e||0),t.length,n,Pl)){if(!i)return r;++r}return-1}function G(t,e,n){if(e===void 0)return-1;if(e===null)switch(t.typeId){case p.Union:break;case p.Dictionary:break;default:return WS(t,n)}let r=Le.getVisitFn(t),i=Vr(e);for(let s=(n||0)-1,o=t.length;++s{let i=t.data[r];return i.values.subarray(0,i.length)[Symbol.iterator]()});let n=0;return new To(t.data.length,r=>{let s=t.data[r].length,o=t.slice(n,n+s);return n+=s,new Vf(o)})}var Vf=class{constructor(e){this.vector=e,this.index=0}next(){return this.indexa.data):e;if(s.length===0||s.some(a=>!(a instanceof se)))throw new TypeError("Vector constructor expects an Array of Data instances.");let o=(n=s[0])===null||n===void 0?void 0:n.type;switch(s.length){case 0:this._offsets=[0];break;case 1:{let{get:a,set:l,indexOf:u}=sy[o.typeId],c=s[0];this.isValid=d=>Oo(c,d),this.get=d=>a(c,d),this.set=(d,y)=>l(c,d,y),this.indexOf=d=>u(c,d),this._offsets=[0,c.length];break}default:Object.setPrototypeOf(this,oy[o.typeId]),this._offsets=zl(s);break}this.data=s,this.type=o,this.stride=Lt(o),this.numChildren=(i=(r=o.children)===null||r===void 0?void 0:r.length)!==null&&i!==void 0?i:0,this.length=this._offsets.at(-1)}get byteLength(){return this.data.reduce((e,n)=>e+n.byteLength,0)}get nullable(){return ny(this.data)}get nullCount(){return jl(this.data)}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${p[this.type.typeId]}Vector`}isValid(e){return!1}get(e){return null}at(e){return this.get(pi(e,this.length))}set(e,n){}indexOf(e,n){return-1}includes(e,n){return this.indexOf(e,n)>-1}[Symbol.iterator](){return hs.visit(this)}concat(...e){return new t(this.data.concat(e.flatMap(n=>n.data).flat(Number.POSITIVE_INFINITY)))}slice(e,n){return new t(Do(this,e,n,({data:r,_offsets:i},s,o)=>Vl(r,i,s,o)))}toJSON(){return[...this]}toArray(){let{type:e,data:n,length:r,stride:i,ArrayType:s}=this;switch(e.typeId){case p.Int:case p.Float:case p.Decimal:case p.Time:case p.Timestamp:switch(n.length){case 0:return new s;case 1:return n[0].values.subarray(0,r*i);default:return n.reduce((o,{values:a,length:l})=>(o.array.set(a.subarray(0,l*i),o.offset),o.offset+=l*i,o),{array:new s(r*i),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(",")}]`}getChild(e){var n;return this.getChildAt((n=this.type.children)===null||n===void 0?void 0:n.findIndex(r=>r.name===e))}getChildAt(e){return e>-1&&en[e])):null}get isMemoized(){return F.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(F.isDictionary(this.type)){let e=new Hl(this.data[0].dictionary),n=this.data.map(r=>{let i=r.clone();return i.dictionary=e,i});return new t(n)}return new Hl(this)}unmemoize(){if(F.isDictionary(this.type)&&this.isMemoized){let e=this.data[0].dictionary.unmemoize(),n=this.data.map(r=>{let i=r.clone();return i.dictionary=e,i});return new t(n)}return this}};iy=Symbol.toStringTag;ee[iy]=(t=>{t.type=F.prototype,t.data=[],t.length=0,t.stride=1,t.numChildren=0,t._offsets=new Uint32Array([0]),t[Symbol.isConcatSpreadable]=!0;let e=Object.keys(p).map(n=>p[n]).filter(n=>typeof n=="number"&&n!==p.NONE);for(let n of e){let r=Le.getVisitFnByTypeId(n),i=Xe.getVisitFnByTypeId(n),s=vi.getVisitFnByTypeId(n);sy[n]={get:r,set:i,indexOf:s},oy[n]=Object.create(t,{isValid:{value:ds(Oo)},get:{value:ds(Le.getVisitFnByTypeId(n))},set:{value:$l(Xe.getVisitFnByTypeId(n))},indexOf:{value:Wl(vi.getVisitFnByTypeId(n))}})}return"Vector"})(ee.prototype);var Hl=class t extends ee{constructor(e){super(e.data);let n=this.get,r=this.set,i=this.slice,s=new Array(this.length);Object.defineProperty(this,"get",{value(o){let a=s[o];if(a!==void 0)return a;let l=n.call(this,o);return s[o]=l,l}}),Object.defineProperty(this,"set",{value(o,a){r.call(this,o,a),s[o]=a}}),Object.defineProperty(this,"slice",{value:(o,a)=>new t(i.call(this,o,a))}),Object.defineProperty(this,"isMemoized",{value:!0}),Object.defineProperty(this,"unmemoize",{value:()=>new ee(this.data)}),Object.defineProperty(this,"memoize",{value:()=>this})}};function ay(t){if(!t||t.length<=0)return function(i){return!0};let e="",n=t.filter(r=>r===r);return n.length>0&&(e=` +var _w=Object.defineProperty;var fi=(t,e)=>{for(var n in e)_w(t,n,{get:e[n],enumerable:!0})};function Yp(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function X(t){return this instanceof X?(this.v=t,this):new X(t)}function Tt(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),i,s=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",o),i[Symbol.asyncIterator]=function(){return this},i;function o(v){return function(S){return Promise.resolve(S).then(v,d)}}function a(v,S){r[v]&&(i[v]=function(I){return new Promise(function(Y,h){s.push([v,I,Y,h])>1||l(v,I)})},S&&(i[v]=S(i[v])))}function l(v,S){try{u(r[v](S))}catch(I){y(s[0][3],I)}}function u(v){v.value instanceof X?Promise.resolve(v.value.v).then(c,d):y(s[0][2],v)}function c(v){l("next",v)}function d(v){l("throw",v)}function y(v,S){v(S),s.shift(),s.length&&l(s[0][0],s[0][1])}}function es(t){var e,n;return e={},r("next"),r("throw",function(i){throw i}),r("return"),e[Symbol.iterator]=function(){return this},e;function r(i,s){e[i]=t[i]?function(o){return(n=!n)?{value:X(t[i](o)),done:!1}:s?s(o):o}:s}}function rn(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof Hp=="function"?Hp(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(s){n[s]=t[s]&&function(o){return new Promise(function(a,l){o=t[s](o),i(a,l,o.done,o.value)})}}function i(s,o,a,l){Promise.resolve(l).then(function(u){s({value:u,done:a})},o)}}var mf={};fi(mf,{compareArrayLike:()=>pf,joinUint8Arrays:()=>Ft,memcpy:()=>uo,rebaseValueOffsets:()=>il,toArrayBufferView:()=>Z,toArrayBufferViewAsyncIterator:()=>on,toArrayBufferViewIterator:()=>On,toBigInt64Array:()=>rl,toBigUint64Array:()=>Tw,toFloat32Array:()=>Ow,toFloat32ArrayAsyncIterator:()=>Hw,toFloat32ArrayIterator:()=>Uw,toFloat64Array:()=>Fw,toFloat64ArrayAsyncIterator:()=>Yw,toFloat64ArrayIterator:()=>Rw,toInt16Array:()=>Bw,toInt16ArrayAsyncIterator:()=>zw,toInt16ArrayIterator:()=>Aw,toInt32Array:()=>di,toInt32ArrayAsyncIterator:()=>Vw,toInt32ArrayIterator:()=>Lw,toInt8Array:()=>Iw,toInt8ArrayAsyncIterator:()=>jw,toInt8ArrayIterator:()=>kw,toUint16Array:()=>Dw,toUint16ArrayAsyncIterator:()=>$w,toUint16ArrayIterator:()=>Mw,toUint32Array:()=>Nw,toUint32ArrayAsyncIterator:()=>Ww,toUint32ArrayIterator:()=>Cw,toUint8Array:()=>V,toUint8ArrayAsyncIterator:()=>hf,toUint8ArrayIterator:()=>df,toUint8ClampedArray:()=>Ew,toUint8ClampedArrayAsyncIterator:()=>Kw,toUint8ClampedArrayIterator:()=>Pw});var ww=new TextDecoder("utf-8"),ao=t=>ww.decode(t),Sw=new TextEncoder,Tn=t=>Sw.encode(t);var bw=t=>typeof t=="number",Kp=t=>typeof t=="boolean",Ue=t=>typeof t=="function",ct=t=>t!=null&&Object(t)===t,Ot=t=>ct(t)&&Ue(t.then);var sn=t=>ct(t)&&Ue(t[Symbol.iterator]),$t=t=>ct(t)&&Ue(t[Symbol.asyncIterator]),Za=t=>ct(t)&&ct(t.schema);var Ja=t=>ct(t)&&"done"in t&&"value"in t;var qa=t=>ct(t)&&Ue(t.stat)&&bw(t.fd);var el=t=>ct(t)&&lo(t.body),tl=t=>"_getDOMStream"in t&&"_getNodeStream"in t,Qp=t=>ct(t)&&Ue(t.abort)&&Ue(t.getWriter)&&!tl(t),lo=t=>ct(t)&&Ue(t.cancel)&&Ue(t.getReader)&&!tl(t),Gp=t=>ct(t)&&Ue(t.end)&&Ue(t.write)&&Kp(t.writable)&&!tl(t),nl=t=>ct(t)&&Ue(t.read)&&Ue(t.pipe)&&Kp(t.readable)&&!tl(t),Xp=t=>ct(t)&&Ue(t.clear)&&Ue(t.bytes)&&Ue(t.position)&&Ue(t.setPosition)&&Ue(t.capacity)&&Ue(t.getBufferIdentifier)&&Ue(t.createLong);var ff=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:ArrayBuffer;function xw(t){let e=t[0]?[t[0]]:[],n,r,i,s;for(let o,a,l=0,u=0,c=t.length;++lc+d.byteLength,0),i,s,o,a=0,l=-1,u=Math.min(e||Number.POSITIVE_INFINITY,r);for(let c=n.length;++lZ(Int8Array,t),Bw=t=>Z(Int16Array,t),di=t=>Z(Int32Array,t),rl=t=>Z(BigInt64Array,t),V=t=>Z(Uint8Array,t),Dw=t=>Z(Uint16Array,t),Nw=t=>Z(Uint32Array,t),Tw=t=>Z(BigUint64Array,t),Ow=t=>Z(Float32Array,t),Fw=t=>Z(Float64Array,t),Ew=t=>Z(Uint8ClampedArray,t),cf=t=>(t.next(),t);function*On(t,e){let n=function*(i){yield i},r=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof ff?n(e):sn(e)?e:n(e);return yield*cf((function*(i){let s=null;do s=i.next(yield Z(t,s));while(!s.done)})(r[Symbol.iterator]())),new t}var kw=t=>On(Int8Array,t),Aw=t=>On(Int16Array,t),Lw=t=>On(Int32Array,t),df=t=>On(Uint8Array,t),Mw=t=>On(Uint16Array,t),Cw=t=>On(Uint32Array,t),Uw=t=>On(Float32Array,t),Rw=t=>On(Float64Array,t),Pw=t=>On(Uint8ClampedArray,t);function on(t,e){return Tt(this,arguments,function*(){if(Ot(e))return yield X(yield X(yield*es(rn(on(t,yield X(e))))));let r=function(o){return Tt(this,arguments,function*(){yield yield X(yield X(o))})},i=function(o){return Tt(this,arguments,function*(){yield X(yield*es(rn(cf((function*(a){let l=null;do l=a.next(yield l?.value);while(!l.done)})(o[Symbol.iterator]())))))})},s=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof ff?r(e):sn(e)?i(e):$t(e)?e:r(e);return yield X(yield*es(rn(cf((function(o){return Tt(this,arguments,function*(){let a=null;do a=yield X(o.next(yield yield X(Z(t,a))));while(!a.done)})})(s[Symbol.asyncIterator]()))))),yield X(new t)})}var jw=t=>on(Int8Array,t),zw=t=>on(Int16Array,t),Vw=t=>on(Int32Array,t),hf=t=>on(Uint8Array,t),$w=t=>on(Uint16Array,t),Ww=t=>on(Uint32Array,t),Hw=t=>on(Float32Array,t),Yw=t=>on(Float64Array,t),Kw=t=>on(Uint8ClampedArray,t);function il(t,e,n){if(t!==0){n=n.slice(0,e);for(let r=-1,i=n.length;++r0)do if(t[n]!==e[n])return!1;while(++n(t.next(),t);function*Qw(t){let e,n=!1,r=[],i,s,o,a=0;function l(){return s==="peek"?Ft(r,o)[0]:([i,r,a]=Ft(r,o),i)}({cmd:s,size:o}=(yield null)||{cmd:"read",size:0});let u=df(t)[Symbol.iterator]();try{do if({done:e,value:i}=Number.isNaN(o-a)?u.next():u.next(o-a),!e&&i.byteLength>0&&(r.push(i),a+=i.byteLength),e||o<=a)do({cmd:s,size:o}=yield l());while(o0&&(i.push(s),l+=s.byteLength),n||a<=l)do({cmd:o,size:a}=yield yield X(u()));while(a0&&(i.push(V(s)),l+=s.byteLength),n||a<=l)do({cmd:o,size:a}=yield yield X(u()));while(a{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(e){return O(this,void 0,void 0,function*(){let{reader:n,source:r}=this;n&&(yield n.cancel(e).catch(()=>{})),r&&r.locked&&this.releaseLock()})}read(e){return O(this,void 0,void 0,function*(){if(e===0)return{done:this.reader==null,value:new Uint8Array(0)};let n=yield this.reader.read();return!n.done&&(n.value=V(n)),n})}},yf=(t,e)=>{let n=i=>r([e,i]),r;return[e,n,new Promise(i=>(r=i)&&t.once(e,n))]};function Zw(t){return Tt(this,arguments,function*(){let n=[],r="error",i=!1,s=null,o,a,l=0,u=[],c;function d(){return o==="peek"?Ft(u,a)[0]:([c,u,l]=Ft(u,a),c)}if({cmd:o,size:a}=(yield yield X(null))||{cmd:"read",size:0},t.isTTY)return yield yield X(new Uint8Array(0)),yield X(null);try{n[0]=yf(t,"end"),n[1]=yf(t,"error");do{if(n[2]=yf(t,"readable"),[r,s]=yield X(Promise.race(n.map(v=>v[2]))),r==="error")break;if((i=r==="end")||(Number.isFinite(a-l)?(c=V(t.read(a-l)),c.byteLength0&&(u.push(c),l+=c.byteLength)),i||a<=l)do({cmd:o,size:a}=yield yield X(d()));while(a{for(let[h,f]of v)t.off(h,f);try{let h=t.destroy;h&&h.call(t,S),S=void 0}catch(h){S=h||S}finally{S!=null?Y(S):I()}})}})}var le;(function(t){t[t.V1=0]="V1",t[t.V2=1]="V2",t[t.V3=2]="V3",t[t.V4=3]="V4",t[t.V5=4]="V5"})(le||(le={}));var de;(function(t){t[t.Sparse=0]="Sparse",t[t.Dense=1]="Dense"})(de||(de={}));var ce;(function(t){t[t.HALF=0]="HALF",t[t.SINGLE=1]="SINGLE",t[t.DOUBLE=2]="DOUBLE"})(ce||(ce={}));var Fe;(function(t){t[t.DAY=0]="DAY",t[t.MILLISECOND=1]="MILLISECOND"})(Fe||(Fe={}));var k;(function(t){t[t.SECOND=0]="SECOND",t[t.MILLISECOND=1]="MILLISECOND",t[t.MICROSECOND=2]="MICROSECOND",t[t.NANOSECOND=3]="NANOSECOND"})(k||(k={}));var We;(function(t){t[t.YEAR_MONTH=0]="YEAR_MONTH",t[t.DAY_TIME=1]="DAY_TIME",t[t.MONTH_DAY_NANO=2]="MONTH_DAY_NANO"})(We||(We={}));var Fn=new Int32Array(2),ol=new Float32Array(Fn.buffer),al=new Float64Array(Fn.buffer),ts=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var co;(function(t){t[t.UTF8_BYTES=1]="UTF8_BYTES",t[t.UTF16_STRING=2]="UTF16_STRING"})(co||(co={}));var Et=class t{constructor(e){this.bytes_=e,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(e){return new t(new Uint8Array(e))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(e){this.position_=e}capacity(){return this.bytes_.length}readInt8(e){return this.readUint8(e)<<24>>24}readUint8(e){return this.bytes_[e]}readInt16(e){return this.readUint16(e)<<16>>16}readUint16(e){return this.bytes_[e]|this.bytes_[e+1]<<8}readInt32(e){return this.bytes_[e]|this.bytes_[e+1]<<8|this.bytes_[e+2]<<16|this.bytes_[e+3]<<24}readUint32(e){return this.readInt32(e)>>>0}readInt64(e){return BigInt.asIntN(64,BigInt(this.readUint32(e))+(BigInt(this.readUint32(e+4))<>8}writeUint16(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8}writeInt32(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8,this.bytes_[e+2]=n>>16,this.bytes_[e+3]=n>>24}writeUint32(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8,this.bytes_[e+2]=n>>16,this.bytes_[e+3]=n>>24}writeInt64(e,n){this.writeInt32(e,Number(BigInt.asIntN(32,n))),this.writeInt32(e+4,Number(BigInt.asIntN(32,n>>BigInt(32))))}writeUint64(e,n){this.writeUint32(e,Number(BigInt.asUintN(32,n))),this.writeUint32(e+4,Number(BigInt.asUintN(32,n>>BigInt(32))))}writeFloat32(e,n){ol[0]=n,this.writeInt32(e,Fn[0])}writeFloat64(e,n){al[0]=n,this.writeInt32(e,Fn[ts?0:1]),this.writeInt32(e+4,Fn[ts?1:0])}getBufferIdentifier(){if(this.bytes_.lengththis.minalign&&(this.minalign=e);let r=~(this.bb.capacity()-this.space+n)+1&e-1;for(;this.space=0&&this.vtable[n]==0;n--);let r=n+1;for(;n>=0;n--)this.addInt16(this.vtable[n]!=0?e-this.vtable[n]:0);let i=2;this.addInt16(e-this.object_start);let s=(r+i)*2;this.addInt16(s);let o=0,a=this.space;e:for(n=0;n=0;o--)this.writeInt8(s.charCodeAt(o))}this.prep(this.minalign,4+i),this.addOffset(e),i&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(e,n){this.finish(e,n,!0)}requiredField(e,n){let r=this.bb.capacity()-e,i=r-this.bb.readInt32(r);if(!(n=0;r--)e.addInt32(n[r]);return e.endVector()}static startTypeIdsVector(e,n){e.startVector(4,n,4)}static endUnion(e){return e.endObject()}static createUnion(e,n,r){return t.startUnion(e),t.addMode(e,n),t.addTypeIds(e,r),t.endUnion(e)}};var bo=class t{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsUtf8(e,n){return(n||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsUtf8(e,n){return e.setPosition(e.position()+4),(n||new t).__init(e.readInt32(e.position())+e.position(),e)}static startUtf8(e){e.startObject(0)}static endUtf8(e){return e.endObject()}static createUtf8(e){return t.startUtf8(e),t.endUtf8(e)}};var fe;(function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.FloatingPoint=3]="FloatingPoint",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct_=13]="Struct_",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Duration=18]="Duration",t[t.LargeBinary=19]="LargeBinary",t[t.LargeUtf8=20]="LargeUtf8",t[t.LargeList=21]="LargeList",t[t.RunEndEncoded=22]="RunEndEncoded"})(fe||(fe={}));var nt=class t{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsField(e,n){return(n||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsField(e,n){return e.setPosition(e.position()+4),(n||new t).__init(e.readInt32(e.position())+e.position(),e)}name(e){let n=this.bb.__offset(this.bb_pos,4);return n?this.bb.__string(this.bb_pos+n,e):null}nullable(){let e=this.bb.__offset(this.bb_pos,6);return e?!!this.bb.readInt8(this.bb_pos+e):!1}typeType(){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readUint8(this.bb_pos+e):fe.NONE}type(e){let n=this.bb.__offset(this.bb_pos,10);return n?this.bb.__union(e,this.bb_pos+n):null}dictionary(e){let n=this.bb.__offset(this.bb_pos,12);return n?(e||new En).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}children(e,n){let r=this.bb.__offset(this.bb_pos,14);return r?(n||new t).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}childrenLength(){let e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){let r=this.bb.__offset(this.bb_pos,16);return r?(n||new Re).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){let e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__vector_len(this.bb_pos+e):0}static startField(e){e.startObject(7)}static addName(e,n){e.addFieldOffset(0,n,0)}static addNullable(e,n){e.addFieldInt8(1,+n,0)}static addTypeType(e,n){e.addFieldInt8(2,n,fe.NONE)}static addType(e,n){e.addFieldOffset(3,n,0)}static addDictionary(e,n){e.addFieldOffset(4,n,0)}static addChildren(e,n){e.addFieldOffset(5,n,0)}static createChildrenVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startChildrenVector(e,n){e.startVector(4,n,4)}static addCustomMetadata(e,n){e.addFieldOffset(6,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endField(e){return e.endObject()}};var gt=class t{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsSchema(e,n){return(n||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsSchema(e,n){return e.setPosition(e.position()+4),(n||new t).__init(e.readInt32(e.position())+e.position(),e)}endianness(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Er.Little}fields(e,n){let r=this.bb.__offset(this.bb_pos,6);return r?(n||new nt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}fieldsLength(){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){let r=this.bb.__offset(this.bb_pos,8);return r?(n||new Re).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}features(e){let n=this.bb.__offset(this.bb_pos,10);return n?this.bb.readInt64(this.bb.__vector(this.bb_pos+n)+e*8):BigInt(0)}featuresLength(){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}static startSchema(e){e.startObject(4)}static addEndianness(e,n){e.addFieldInt16(0,n,Er.Little)}static addFields(e,n){e.addFieldOffset(1,n,0)}static createFieldsVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startFieldsVector(e,n){e.startVector(4,n,4)}static addCustomMetadata(e,n){e.addFieldOffset(2,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static addFeatures(e,n){e.addFieldOffset(3,n,0)}static createFeaturesVector(e,n){e.startVector(8,n.length,8);for(let r=n.length-1;r>=0;r--)e.addInt64(n[r]);return e.endVector()}static startFeaturesVector(e,n){e.startVector(8,n,8)}static endSchema(e){return e.endObject()}static finishSchemaBuffer(e,n){e.finish(n)}static finishSizePrefixedSchemaBuffer(e,n){e.finish(n,void 0,!0)}static createSchema(e,n,r,i,s){return t.startSchema(e),t.addEndianness(e,n),t.addFields(e,r),t.addCustomMetadata(e,i),t.addFeatures(e,s),t.endSchema(e)}};var q;(function(t){t[t.NONE=0]="NONE",t[t.Schema=1]="Schema",t[t.DictionaryBatch=2]="DictionaryBatch",t[t.RecordBatch=3]="RecordBatch",t[t.Tensor=4]="Tensor",t[t.SparseTensor=5]="SparseTensor"})(q||(q={}));var p;(function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.Float=3]="Float",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct=13]="Struct",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Duration=18]="Duration",t[t.LargeBinary=19]="LargeBinary",t[t.LargeUtf8=20]="LargeUtf8",t[t.Dictionary=-1]="Dictionary",t[t.Int8=-2]="Int8",t[t.Int16=-3]="Int16",t[t.Int32=-4]="Int32",t[t.Int64=-5]="Int64",t[t.Uint8=-6]="Uint8",t[t.Uint16=-7]="Uint16",t[t.Uint32=-8]="Uint32",t[t.Uint64=-9]="Uint64",t[t.Float16=-10]="Float16",t[t.Float32=-11]="Float32",t[t.Float64=-12]="Float64",t[t.DateDay=-13]="DateDay",t[t.DateMillisecond=-14]="DateMillisecond",t[t.TimestampSecond=-15]="TimestampSecond",t[t.TimestampMillisecond=-16]="TimestampMillisecond",t[t.TimestampMicrosecond=-17]="TimestampMicrosecond",t[t.TimestampNanosecond=-18]="TimestampNanosecond",t[t.TimeSecond=-19]="TimeSecond",t[t.TimeMillisecond=-20]="TimeMillisecond",t[t.TimeMicrosecond=-21]="TimeMicrosecond",t[t.TimeNanosecond=-22]="TimeNanosecond",t[t.DenseUnion=-23]="DenseUnion",t[t.SparseUnion=-24]="SparseUnion",t[t.IntervalDayTime=-25]="IntervalDayTime",t[t.IntervalYearMonth=-26]="IntervalYearMonth",t[t.DurationSecond=-27]="DurationSecond",t[t.DurationMillisecond=-28]="DurationMillisecond",t[t.DurationMicrosecond=-29]="DurationMicrosecond",t[t.DurationNanosecond=-30]="DurationNanosecond"})(p||(p={}));var cn;(function(t){t[t.OFFSET=0]="OFFSET",t[t.DATA=1]="DATA",t[t.VALIDITY=2]="VALIDITY",t[t.TYPE=3]="TYPE"})(cn||(cn={}));var Uf={};fi(Uf,{clampRange:()=>Do,createElementComparator:()=>Vr,wrapIndex:()=>pi});var vf={};fi(vf,{valueToString:()=>fn});function fn(t){if(t===null)return"null";if(t===void 0)return"undefined";switch(typeof t){case"number":return`${t}`;case"bigint":return`${t}`;case"string":return`"${t}"`}return typeof t[Symbol.toPrimitive]=="function"?t[Symbol.toPrimitive]("string"):ArrayBuffer.isView(t)?t instanceof BigInt64Array||t instanceof BigUint64Array?`[${[...t].map(e=>fn(e))}]`:`[${t}]`:ArrayBuffer.isView(t)?`[${t}]`:JSON.stringify(t,(e,n)=>typeof n=="bigint"?`${n}`:n)}var bf={};fi(bf,{BN:()=>Io,bigNumToBigInt:()=>Jp,bigNumToNumber:()=>Sf,bigNumToString:()=>os,isArrowBigNumSymbol:()=>Zp});function ne(t){if(typeof t=="bigint"&&(tNumber.MAX_SAFE_INTEGER))throw new TypeError(`${t} is not safe to convert to a number.`);return Number(t)}function _f(t,e){return ne(t/e)+ne(t%e)/ne(e)}var Zp=Symbol.for("isArrowBigNum");function dn(t,...e){return e.length===0?Object.setPrototypeOf(Z(this.TypedArray,t),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(t,...e),this.constructor.prototype)}dn.prototype[Zp]=!0;dn.prototype.toJSON=function(){return`"${os(this)}"`};dn.prototype.valueOf=function(t){return Sf(this,t)};dn.prototype.toString=function(){return os(this)};dn.prototype[Symbol.toPrimitive]=function(t="default"){switch(t){case"number":return Sf(this);case"string":return os(this);case"default":return Jp(this)}return os(this)};function is(...t){return dn.apply(this,t)}function ss(...t){return dn.apply(this,t)}function xo(...t){return dn.apply(this,t)}Object.setPrototypeOf(is.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(ss.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(xo.prototype,Object.create(Uint32Array.prototype));Object.assign(is.prototype,dn.prototype,{constructor:is,signed:!0,TypedArray:Int32Array,BigIntArray:BigInt64Array});Object.assign(ss.prototype,dn.prototype,{constructor:ss,signed:!1,TypedArray:Uint32Array,BigIntArray:BigUint64Array});Object.assign(xo.prototype,dn.prototype,{constructor:xo,signed:!0,TypedArray:Uint32Array,BigIntArray:BigUint64Array});var Jw=BigInt(4294967296)*BigInt(4294967296),qw=Jw-BigInt(1);function Sf(t,e){let{buffer:n,byteOffset:r,byteLength:i,signed:s}=t,o=new BigUint64Array(n,r,i/8),a=s&&o.at(-1)&BigInt(1)<=0)return wf(t);e=e.slice();let r=1;for(let s=0;s(t.children=null,t.ArrayType=Array,t.OffsetArrayType=Int32Array,t[Symbol.toStringTag]="DataType"))(F.prototype);var ft=class extends F{constructor(){super(p.Null)}toString(){return"Null"}};em=Symbol.toStringTag;ft[em]=(t=>t[Symbol.toStringTag]="Null")(ft.prototype);var Pe=class extends F{constructor(e,n){super(p.Int),this.isSigned=e,this.bitWidth=n}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?BigInt64Array:BigUint64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}};tm=Symbol.toStringTag;Pe[tm]=(t=>(t.isSigned=null,t.bitWidth=null,t[Symbol.toStringTag]="Int"))(Pe.prototype);var cl=class extends Pe{constructor(){super(!0,8)}get ArrayType(){return Int8Array}},fl=class extends Pe{constructor(){super(!0,16)}get ArrayType(){return Int16Array}},An=class extends Pe{constructor(){super(!0,32)}get ArrayType(){return Int32Array}},dl=class extends Pe{constructor(){super(!0,64)}get ArrayType(){return BigInt64Array}},hl=class extends Pe{constructor(){super(!1,8)}get ArrayType(){return Uint8Array}},pl=class extends Pe{constructor(){super(!1,16)}get ArrayType(){return Uint16Array}},ml=class extends Pe{constructor(){super(!1,32)}get ArrayType(){return Uint32Array}},yl=class extends Pe{constructor(){super(!1,64)}get ArrayType(){return BigUint64Array}};Object.defineProperty(cl.prototype,"ArrayType",{value:Int8Array});Object.defineProperty(fl.prototype,"ArrayType",{value:Int16Array});Object.defineProperty(An.prototype,"ArrayType",{value:Int32Array});Object.defineProperty(dl.prototype,"ArrayType",{value:BigInt64Array});Object.defineProperty(hl.prototype,"ArrayType",{value:Uint8Array});Object.defineProperty(pl.prototype,"ArrayType",{value:Uint16Array});Object.defineProperty(ml.prototype,"ArrayType",{value:Uint32Array});Object.defineProperty(yl.prototype,"ArrayType",{value:BigUint64Array});var Ht=class extends F{constructor(e){super(p.Float),this.precision=e}get ArrayType(){switch(this.precision){case ce.HALF:return Uint16Array;case ce.SINGLE:return Float32Array;case ce.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}};nm=Symbol.toStringTag;Ht[nm]=(t=>(t.precision=null,t[Symbol.toStringTag]="Float"))(Ht.prototype);var gl=class extends Ht{constructor(){super(ce.HALF)}},vl=class extends Ht{constructor(){super(ce.SINGLE)}},_l=class extends Ht{constructor(){super(ce.DOUBLE)}};Object.defineProperty(gl.prototype,"ArrayType",{value:Uint16Array});Object.defineProperty(vl.prototype,"ArrayType",{value:Float32Array});Object.defineProperty(_l.prototype,"ArrayType",{value:Float64Array});var Qn=class extends F{constructor(){super(p.Binary)}toString(){return"Binary"}};rm=Symbol.toStringTag;Qn[rm]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Binary"))(Qn.prototype);var Gn=class extends F{constructor(){super(p.LargeBinary)}toString(){return"LargeBinary"}};im=Symbol.toStringTag;Gn[im]=(t=>(t.ArrayType=Uint8Array,t.OffsetArrayType=BigInt64Array,t[Symbol.toStringTag]="LargeBinary"))(Gn.prototype);var Xn=class extends F{constructor(){super(p.Utf8)}toString(){return"Utf8"}};sm=Symbol.toStringTag;Xn[sm]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Utf8"))(Xn.prototype);var Zn=class extends F{constructor(){super(p.LargeUtf8)}toString(){return"LargeUtf8"}};om=Symbol.toStringTag;Zn[om]=(t=>(t.ArrayType=Uint8Array,t.OffsetArrayType=BigInt64Array,t[Symbol.toStringTag]="LargeUtf8"))(Zn.prototype);var Jn=class extends F{constructor(){super(p.Bool)}toString(){return"Bool"}};am=Symbol.toStringTag;Jn[am]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Bool"))(Jn.prototype);var qn=class extends F{constructor(e,n,r=128){super(p.Decimal),this.scale=e,this.precision=n,this.bitWidth=r}toString(){return`Decimal[${this.precision}e${this.scale>0?"+":""}${this.scale}]`}};lm=Symbol.toStringTag;qn[lm]=(t=>(t.scale=null,t.precision=null,t.ArrayType=Uint32Array,t[Symbol.toStringTag]="Decimal"))(qn.prototype);var er=class extends F{constructor(e){super(p.Date),this.unit=e}toString(){return`Date${(this.unit+1)*32}<${Fe[this.unit]}>`}get ArrayType(){return this.unit===Fe.DAY?Int32Array:BigInt64Array}};um=Symbol.toStringTag;er[um]=(t=>(t.unit=null,t[Symbol.toStringTag]="Date"))(er.prototype);var tr=class extends F{constructor(e,n){super(p.Time),this.unit=e,this.bitWidth=n}toString(){return`Time${this.bitWidth}<${k[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return BigInt64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}};cm=Symbol.toStringTag;tr[cm]=(t=>(t.unit=null,t.bitWidth=null,t[Symbol.toStringTag]="Time"))(tr.prototype);var nr=class extends F{constructor(e,n){super(p.Timestamp),this.unit=e,this.timezone=n}toString(){return`Timestamp<${k[this.unit]}${this.timezone?`, ${this.timezone}`:""}>`}};fm=Symbol.toStringTag;nr[fm]=(t=>(t.unit=null,t.timezone=null,t.ArrayType=BigInt64Array,t[Symbol.toStringTag]="Timestamp"))(nr.prototype);var rr=class extends F{constructor(e){super(p.Interval),this.unit=e}toString(){return`Interval<${We[this.unit]}>`}};dm=Symbol.toStringTag;rr[dm]=(t=>(t.unit=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Interval"))(rr.prototype);var ir=class extends F{constructor(e){super(p.Duration),this.unit=e}toString(){return`Duration<${k[this.unit]}>`}};hm=Symbol.toStringTag;ir[hm]=(t=>(t.unit=null,t.ArrayType=BigInt64Array,t[Symbol.toStringTag]="Duration"))(ir.prototype);var hn=class extends F{constructor(e){super(p.List),this.children=[e]}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}};pm=Symbol.toStringTag;hn[pm]=(t=>(t.children=null,t[Symbol.toStringTag]="List"))(hn.prototype);var he=class extends F{constructor(e){super(p.Struct),this.children=e}toString(){return`Struct<{${this.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}};mm=Symbol.toStringTag;he[mm]=(t=>(t.children=null,t[Symbol.toStringTag]="Struct"))(he.prototype);var pn=class extends F{constructor(e,n,r){super(p.Union),this.mode=e,this.children=r,this.typeIds=n=Int32Array.from(n),this.typeIdToChildIndex=n.reduce((i,s,o)=>(i[s]=o)&&i||i,Object.create(null))}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(e=>`${e.type}`).join(" | ")}>`}};ym=Symbol.toStringTag;pn[ym]=(t=>(t.mode=null,t.typeIds=null,t.children=null,t.typeIdToChildIndex=null,t.ArrayType=Int8Array,t[Symbol.toStringTag]="Union"))(pn.prototype);var sr=class extends F{constructor(e){super(p.FixedSizeBinary),this.byteWidth=e}toString(){return`FixedSizeBinary[${this.byteWidth}]`}};gm=Symbol.toStringTag;sr[gm]=(t=>(t.byteWidth=null,t.ArrayType=Uint8Array,t[Symbol.toStringTag]="FixedSizeBinary"))(sr.prototype);var mn=class extends F{constructor(e,n){super(p.FixedSizeList),this.listSize=e,this.children=[n]}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}};vm=Symbol.toStringTag;mn[vm]=(t=>(t.children=null,t.listSize=null,t[Symbol.toStringTag]="FixedSizeList"))(mn.prototype);var yn=class extends F{constructor(e,n=!1){var r,i,s;if(super(p.Map),this.children=[e],this.keysSorted=n,e&&(e.name="entries",!((r=e?.type)===null||r===void 0)&&r.children)){let o=(i=e?.type)===null||i===void 0?void 0:i.children[0];o&&(o.name="key");let a=(s=e?.type)===null||s===void 0?void 0:s.children[1];a&&(a.name="value")}}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}};_m=Symbol.toStringTag;yn[_m]=(t=>(t.children=null,t.keysSorted=null,t[Symbol.toStringTag]="Map_"))(yn.prototype);var eS=(t=>()=>++t)(-1),At=class extends F{constructor(e,n,r,i){super(p.Dictionary),this.indices=n,this.dictionary=e,this.isOrdered=i||!1,this.id=r==null?eS():ne(r)}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}};wm=Symbol.toStringTag;At[wm]=(t=>(t.id=null,t.indices=null,t.isOrdered=null,t.dictionary=null,t[Symbol.toStringTag]="Dictionary"))(At.prototype);function Lt(t){let e=t;switch(t.typeId){case p.Decimal:return t.bitWidth/32;case p.Interval:return 1+e.unit;case p.FixedSizeList:return e.listSize;case p.FixedSizeBinary:return e.byteWidth;default:return 1}}var C=class{visitMany(e,...n){return e.map((r,i)=>this.visit(r,...n.map(s=>s[i])))}visit(...e){return this.getVisitFn(e[0],!1).apply(this,e)}getVisitFn(e,n=!0){return tS(this,e,n)}getVisitFnByTypeId(e,n=!0){return as(this,e,n)}visitNull(e,...n){return null}visitBool(e,...n){return null}visitInt(e,...n){return null}visitFloat(e,...n){return null}visitUtf8(e,...n){return null}visitLargeUtf8(e,...n){return null}visitBinary(e,...n){return null}visitLargeBinary(e,...n){return null}visitFixedSizeBinary(e,...n){return null}visitDate(e,...n){return null}visitTimestamp(e,...n){return null}visitTime(e,...n){return null}visitDecimal(e,...n){return null}visitList(e,...n){return null}visitStruct(e,...n){return null}visitUnion(e,...n){return null}visitDictionary(e,...n){return null}visitInterval(e,...n){return null}visitDuration(e,...n){return null}visitFixedSizeList(e,...n){return null}visitMap(e,...n){return null}};function tS(t,e,n=!0){return typeof e=="number"?as(t,e,n):typeof e=="string"&&e in p?as(t,p[e],n):e&&e instanceof F?as(t,Sm(e),n):e?.type&&e.type instanceof F?as(t,Sm(e.type),n):as(t,p.NONE,n)}function as(t,e,n=!0){let r=null;switch(e){case p.Null:r=t.visitNull;break;case p.Bool:r=t.visitBool;break;case p.Int:r=t.visitInt;break;case p.Int8:r=t.visitInt8||t.visitInt;break;case p.Int16:r=t.visitInt16||t.visitInt;break;case p.Int32:r=t.visitInt32||t.visitInt;break;case p.Int64:r=t.visitInt64||t.visitInt;break;case p.Uint8:r=t.visitUint8||t.visitInt;break;case p.Uint16:r=t.visitUint16||t.visitInt;break;case p.Uint32:r=t.visitUint32||t.visitInt;break;case p.Uint64:r=t.visitUint64||t.visitInt;break;case p.Float:r=t.visitFloat;break;case p.Float16:r=t.visitFloat16||t.visitFloat;break;case p.Float32:r=t.visitFloat32||t.visitFloat;break;case p.Float64:r=t.visitFloat64||t.visitFloat;break;case p.Utf8:r=t.visitUtf8;break;case p.LargeUtf8:r=t.visitLargeUtf8;break;case p.Binary:r=t.visitBinary;break;case p.LargeBinary:r=t.visitLargeBinary;break;case p.FixedSizeBinary:r=t.visitFixedSizeBinary;break;case p.Date:r=t.visitDate;break;case p.DateDay:r=t.visitDateDay||t.visitDate;break;case p.DateMillisecond:r=t.visitDateMillisecond||t.visitDate;break;case p.Timestamp:r=t.visitTimestamp;break;case p.TimestampSecond:r=t.visitTimestampSecond||t.visitTimestamp;break;case p.TimestampMillisecond:r=t.visitTimestampMillisecond||t.visitTimestamp;break;case p.TimestampMicrosecond:r=t.visitTimestampMicrosecond||t.visitTimestamp;break;case p.TimestampNanosecond:r=t.visitTimestampNanosecond||t.visitTimestamp;break;case p.Time:r=t.visitTime;break;case p.TimeSecond:r=t.visitTimeSecond||t.visitTime;break;case p.TimeMillisecond:r=t.visitTimeMillisecond||t.visitTime;break;case p.TimeMicrosecond:r=t.visitTimeMicrosecond||t.visitTime;break;case p.TimeNanosecond:r=t.visitTimeNanosecond||t.visitTime;break;case p.Decimal:r=t.visitDecimal;break;case p.List:r=t.visitList;break;case p.Struct:r=t.visitStruct;break;case p.Union:r=t.visitUnion;break;case p.DenseUnion:r=t.visitDenseUnion||t.visitUnion;break;case p.SparseUnion:r=t.visitSparseUnion||t.visitUnion;break;case p.Dictionary:r=t.visitDictionary;break;case p.Interval:r=t.visitInterval;break;case p.IntervalDayTime:r=t.visitIntervalDayTime||t.visitInterval;break;case p.IntervalYearMonth:r=t.visitIntervalYearMonth||t.visitInterval;break;case p.Duration:r=t.visitDuration;break;case p.DurationSecond:r=t.visitDurationSecond||t.visitDuration;break;case p.DurationMillisecond:r=t.visitDurationMillisecond||t.visitDuration;break;case p.DurationMicrosecond:r=t.visitDurationMicrosecond||t.visitDuration;break;case p.DurationNanosecond:r=t.visitDurationNanosecond||t.visitDuration;break;case p.FixedSizeList:r=t.visitFixedSizeList;break;case p.Map:r=t.visitMap;break}if(typeof r=="function")return r;if(!n)return()=>null;throw new Error(`Unrecognized type '${p[e]}'`)}function Sm(t){switch(t.typeId){case p.Null:return p.Null;case p.Int:{let{bitWidth:e,isSigned:n}=t;switch(e){case 8:return n?p.Int8:p.Uint8;case 16:return n?p.Int16:p.Uint16;case 32:return n?p.Int32:p.Uint32;case 64:return n?p.Int64:p.Uint64}return p.Int}case p.Float:switch(t.precision){case ce.HALF:return p.Float16;case ce.SINGLE:return p.Float32;case ce.DOUBLE:return p.Float64}return p.Float;case p.Binary:return p.Binary;case p.LargeBinary:return p.LargeBinary;case p.Utf8:return p.Utf8;case p.LargeUtf8:return p.LargeUtf8;case p.Bool:return p.Bool;case p.Decimal:return p.Decimal;case p.Time:switch(t.unit){case k.SECOND:return p.TimeSecond;case k.MILLISECOND:return p.TimeMillisecond;case k.MICROSECOND:return p.TimeMicrosecond;case k.NANOSECOND:return p.TimeNanosecond}return p.Time;case p.Timestamp:switch(t.unit){case k.SECOND:return p.TimestampSecond;case k.MILLISECOND:return p.TimestampMillisecond;case k.MICROSECOND:return p.TimestampMicrosecond;case k.NANOSECOND:return p.TimestampNanosecond}return p.Timestamp;case p.Date:switch(t.unit){case Fe.DAY:return p.DateDay;case Fe.MILLISECOND:return p.DateMillisecond}return p.Date;case p.Interval:switch(t.unit){case We.DAY_TIME:return p.IntervalDayTime;case We.YEAR_MONTH:return p.IntervalYearMonth}return p.Interval;case p.Duration:switch(t.unit){case k.SECOND:return p.DurationSecond;case k.MILLISECOND:return p.DurationMillisecond;case k.MICROSECOND:return p.DurationMicrosecond;case k.NANOSECOND:return p.DurationNanosecond}return p.Duration;case p.Map:return p.Map;case p.List:return p.List;case p.Struct:return p.Struct;case p.Union:switch(t.mode){case de.Dense:return p.DenseUnion;case de.Sparse:return p.SparseUnion}return p.Union;case p.FixedSizeBinary:return p.FixedSizeBinary;case p.FixedSizeList:return p.FixedSizeList;case p.Dictionary:return p.Dictionary}throw new Error(`Unrecognized type '${p[t.typeId]}'`)}C.prototype.visitInt8=null;C.prototype.visitInt16=null;C.prototype.visitInt32=null;C.prototype.visitInt64=null;C.prototype.visitUint8=null;C.prototype.visitUint16=null;C.prototype.visitUint32=null;C.prototype.visitUint64=null;C.prototype.visitFloat16=null;C.prototype.visitFloat32=null;C.prototype.visitFloat64=null;C.prototype.visitDateDay=null;C.prototype.visitDateMillisecond=null;C.prototype.visitTimestampSecond=null;C.prototype.visitTimestampMillisecond=null;C.prototype.visitTimestampMicrosecond=null;C.prototype.visitTimestampNanosecond=null;C.prototype.visitTimeSecond=null;C.prototype.visitTimeMillisecond=null;C.prototype.visitTimeMicrosecond=null;C.prototype.visitTimeNanosecond=null;C.prototype.visitDenseUnion=null;C.prototype.visitSparseUnion=null;C.prototype.visitIntervalDayTime=null;C.prototype.visitIntervalYearMonth=null;C.prototype.visitDuration=null;C.prototype.visitDurationSecond=null;C.prototype.visitDurationMillisecond=null;C.prototype.visitDurationMicrosecond=null;C.prototype.visitDurationNanosecond=null;var xf={};fi(xf,{float64ToUint16:()=>Bo,uint16ToFloat64:()=>wl});var bm=new Float64Array(1),ls=new Uint32Array(bm.buffer);function wl(t){let e=(t&31744)>>10,n=(t&1023)/1024,r=Math.pow(-1,(t&32768)>>15);switch(e){case 31:return r*(n?Number.NaN:1/0);case 0:return r*(n?6103515625e-14*n:0)}return r*Math.pow(2,e-15)*(1+n)}function Bo(t){if(t!==t)return 32256;bm[0]=t;let e=(ls[1]&2147483648)>>16&65535,n=ls[1]&2146435072,r=0;return n>=1089470464?ls[0]>0?n=31744:(n=(n&2080374784)>>16,r=(ls[1]&1048575)>>10):n<=1056964608?(r=1048576+(ls[1]&1048575),r=1048576+(r<<(n>>20)-998)>>21,n=0):(n=n-1056964608>>10,r=(ls[1]&1048575)+512>>10),e|n|r&65535}var z=class extends C{};function H(t){return(e,n,r)=>{if(e.setValid(n,r!=null))return t(e,n,r)}}var nS=(t,e,n)=>{t[e]=Math.floor(n/864e5)},xm=(t,e,n,r)=>{if(n+1{let i=t+n;r?e[i>>3]|=1<>3]&=~(1<{t[e]=n},If=({values:t},e,n)=>{t[e]=n},Im=({values:t},e,n)=>{t[e]=Bo(n)},iS=(t,e,n)=>{switch(t.type.precision){case ce.HALF:return Im(t,e,n);case ce.SINGLE:case ce.DOUBLE:return If(t,e,n)}},Sl=({values:t},e,n)=>{nS(t,e,n.valueOf())},bl=({values:t},e,n)=>{t[e]=BigInt(n)},Bf=({stride:t,values:e},n,r)=>{e.set(r.subarray(0,t),t*n)},Bm=({values:t,valueOffsets:e},n,r)=>xm(t,e,n,r),Dm=({values:t,valueOffsets:e},n,r)=>xm(t,e,n,Tn(r)),Df=(t,e,n)=>{t.type.unit===Fe.DAY?Sl(t,e,n):bl(t,e,n)},xl=({values:t},e,n)=>{t[e]=BigInt(n/1e3)},Il=({values:t},e,n)=>{t[e]=BigInt(n)},Bl=({values:t},e,n)=>{t[e]=BigInt(n*1e3)},Dl=({values:t},e,n)=>{t[e]=BigInt(n*1e6)},Nf=(t,e,n)=>{switch(t.type.unit){case k.SECOND:return xl(t,e,n);case k.MILLISECOND:return Il(t,e,n);case k.MICROSECOND:return Bl(t,e,n);case k.NANOSECOND:return Dl(t,e,n)}},Nl=({values:t},e,n)=>{t[e]=n},Tl=({values:t},e,n)=>{t[e]=n},Ol=({values:t},e,n)=>{t[e]=n},Fl=({values:t},e,n)=>{t[e]=n},Tf=(t,e,n)=>{switch(t.type.unit){case k.SECOND:return Nl(t,e,n);case k.MILLISECOND:return Tl(t,e,n);case k.MICROSECOND:return Ol(t,e,n);case k.NANOSECOND:return Fl(t,e,n)}},Of=({values:t,stride:e},n,r)=>{t.set(r.subarray(0,e),e*n)},sS=(t,e,n)=>{let r=t.children[0],i=t.valueOffsets,s=Xe.getVisitFn(r);if(Array.isArray(n))for(let o=-1,a=i[e],l=i[e+1];a{let r=t.children[0],{valueOffsets:i}=t,s=Xe.getVisitFn(r),{[e]:o,[e+1]:a}=i,l=n instanceof Map?n.entries():Object.entries(n);for(let u of l)if(s(r,o,u),++o>=a)break},aS=(t,e)=>(n,r,i,s)=>r&&n(r,t,e[s]),lS=(t,e)=>(n,r,i,s)=>r&&n(r,t,e.get(s)),uS=(t,e)=>(n,r,i,s)=>r&&n(r,t,e.get(i.name)),cS=(t,e)=>(n,r,i,s)=>r&&n(r,t,e[i.name]),fS=(t,e,n)=>{let r=t.type.children.map(s=>Xe.getVisitFn(s.type)),i=n instanceof Map?uS(e,n):n instanceof ee?lS(e,n):Array.isArray(n)?aS(e,n):cS(e,n);t.type.children.forEach((s,o)=>i(r[o],t.children[o],s,o))},dS=(t,e,n)=>{t.type.mode===de.Dense?Nm(t,e,n):Tm(t,e,n)},Nm=(t,e,n)=>{let r=t.type.typeIdToChildIndex[t.typeIds[e]],i=t.children[r];Xe.visit(i,t.valueOffsets[e],n)},Tm=(t,e,n)=>{let r=t.type.typeIdToChildIndex[t.typeIds[e]],i=t.children[r];Xe.visit(i,e,n)},hS=(t,e,n)=>{var r;(r=t.dictionary)===null||r===void 0||r.set(t.values[e],n)},Ff=(t,e,n)=>{t.type.unit===We.DAY_TIME?El(t,e,n):kl(t,e,n)},El=({values:t},e,n)=>{t.set(n.subarray(0,2),2*e)},kl=({values:t},e,n)=>{t[e]=n[0]*12+n[1]%12},Al=({values:t},e,n)=>{t[e]=n},Ll=({values:t},e,n)=>{t[e]=n},Ml=({values:t},e,n)=>{t[e]=n},Cl=({values:t},e,n)=>{t[e]=n},Ef=(t,e,n)=>{switch(t.type.unit){case k.SECOND:return Al(t,e,n);case k.MILLISECOND:return Ll(t,e,n);case k.MICROSECOND:return Ml(t,e,n);case k.NANOSECOND:return Cl(t,e,n)}},pS=(t,e,n)=>{let{stride:r}=t,i=t.children[0],s=Xe.getVisitFn(i);if(Array.isArray(n))for(let o=-1,a=e*r;++o`${fn(e)}: ${fn(n)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}[Symbol.iterator](){return new kf(this[gn],this[us])}},kf=class{constructor(e,n){this.childIndex=0,this.children=e.children,this.rowIndex=n,this.childFields=e.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){let e=this.childIndex;return en.name)}has(e,n){return e[gn].type.children.findIndex(r=>r.name===n)!==-1}getOwnPropertyDescriptor(e,n){if(e[gn].type.children.findIndex(r=>r.name===n)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,n){if(Reflect.has(e,n))return e[n];let r=e[gn].type.children.findIndex(i=>i.name===n);if(r!==-1){let i=Le.visit(e[gn].children[r],e[us]);return Reflect.set(e,n,i),i}}set(e,n,r){let i=e[gn].type.children.findIndex(s=>s.name===n);return i!==-1?(Xe.visit(e[gn].children[i],e[us],r),Reflect.set(e,n,r)):Reflect.has(e,n)||typeof n=="symbol"?Reflect.set(e,n,r):!1}};var U=class extends C{};function $(t){return(e,n)=>e.getValid(n)?t(e,n):null}var mS=(t,e)=>864e5*t[e],yS=(t,e)=>null,Om=(t,e,n)=>{if(n+1>=e.length)return null;let r=ne(e[n]),i=ne(e[n+1]);return t.subarray(r,i)},gS=({offset:t,values:e},n)=>{let r=t+n;return(e[r>>3]&1<mS(t,e),Em=({values:t},e)=>ne(t[e]),jr=({stride:t,values:e},n)=>e[t*n],vS=({stride:t,values:e},n)=>wl(e[t*n]),km=({values:t},e)=>t[e],_S=({stride:t,values:e},n)=>e.subarray(t*n,t*(n+1)),Am=({values:t,valueOffsets:e},n)=>Om(t,e,n),Lm=({values:t,valueOffsets:e},n)=>{let r=Om(t,e,n);return r!==null?ao(r):null},wS=({values:t},e)=>t[e],SS=({type:t,values:e},n)=>t.precision!==ce.HALF?e[n]:wl(e[n]),bS=(t,e)=>t.type.unit===Fe.DAY?Fm(t,e):Em(t,e),Mm=({values:t},e)=>1e3*ne(t[e]),Cm=({values:t},e)=>ne(t[e]),Um=({values:t},e)=>_f(t[e],BigInt(1e3)),Rm=({values:t},e)=>_f(t[e],BigInt(1e6)),xS=(t,e)=>{switch(t.type.unit){case k.SECOND:return Mm(t,e);case k.MILLISECOND:return Cm(t,e);case k.MICROSECOND:return Um(t,e);case k.NANOSECOND:return Rm(t,e)}},Pm=({values:t},e)=>t[e],jm=({values:t},e)=>t[e],zm=({values:t},e)=>t[e],Vm=({values:t},e)=>t[e],IS=(t,e)=>{switch(t.type.unit){case k.SECOND:return Pm(t,e);case k.MILLISECOND:return jm(t,e);case k.MICROSECOND:return zm(t,e);case k.NANOSECOND:return Vm(t,e)}},BS=({values:t,stride:e},n)=>Io.decimal(t.subarray(e*n,e*(n+1))),DS=(t,e)=>{let{valueOffsets:n,stride:r,children:i}=t,{[e*r]:s,[e*r+1]:o}=n,l=i[0].slice(s,o-s);return new ee([l])},NS=(t,e)=>{let{valueOffsets:n,children:r}=t,{[e]:i,[e+1]:s}=n,o=r[0];return new Ln(o.slice(i,s-i))},TS=(t,e)=>new Pr(t,e),OS=(t,e)=>t.type.mode===de.Dense?$m(t,e):Wm(t,e),$m=(t,e)=>{let n=t.type.typeIdToChildIndex[t.typeIds[e]],r=t.children[n];return Le.visit(r,t.valueOffsets[e])},Wm=(t,e)=>{let n=t.type.typeIdToChildIndex[t.typeIds[e]],r=t.children[n];return Le.visit(r,e)},FS=(t,e)=>{var n;return(n=t.dictionary)===null||n===void 0?void 0:n.get(t.values[e])},ES=(t,e)=>t.type.unit===We.DAY_TIME?Hm(t,e):Ym(t,e),Hm=({values:t},e)=>t.subarray(2*e,2*(e+1)),Ym=({values:t},e)=>{let n=t[e],r=new Int32Array(2);return r[0]=Math.trunc(n/12),r[1]=Math.trunc(n%12),r},Km=({values:t},e)=>t[e],Qm=({values:t},e)=>t[e],Gm=({values:t},e)=>t[e],Xm=({values:t},e)=>t[e],kS=(t,e)=>{switch(t.type.unit){case k.SECOND:return Km(t,e);case k.MILLISECOND:return Qm(t,e);case k.MICROSECOND:return Gm(t,e);case k.NANOSECOND:return Xm(t,e)}},AS=(t,e)=>{let{stride:n,children:r}=t,s=r[0].slice(e*n,n);return new ee([s])};U.prototype.visitNull=$(yS);U.prototype.visitBool=$(gS);U.prototype.visitInt=$(wS);U.prototype.visitInt8=$(jr);U.prototype.visitInt16=$(jr);U.prototype.visitInt32=$(jr);U.prototype.visitInt64=$(km);U.prototype.visitUint8=$(jr);U.prototype.visitUint16=$(jr);U.prototype.visitUint32=$(jr);U.prototype.visitUint64=$(km);U.prototype.visitFloat=$(SS);U.prototype.visitFloat16=$(vS);U.prototype.visitFloat32=$(jr);U.prototype.visitFloat64=$(jr);U.prototype.visitUtf8=$(Lm);U.prototype.visitLargeUtf8=$(Lm);U.prototype.visitBinary=$(Am);U.prototype.visitLargeBinary=$(Am);U.prototype.visitFixedSizeBinary=$(_S);U.prototype.visitDate=$(bS);U.prototype.visitDateDay=$(Fm);U.prototype.visitDateMillisecond=$(Em);U.prototype.visitTimestamp=$(xS);U.prototype.visitTimestampSecond=$(Mm);U.prototype.visitTimestampMillisecond=$(Cm);U.prototype.visitTimestampMicrosecond=$(Um);U.prototype.visitTimestampNanosecond=$(Rm);U.prototype.visitTime=$(IS);U.prototype.visitTimeSecond=$(Pm);U.prototype.visitTimeMillisecond=$(jm);U.prototype.visitTimeMicrosecond=$(zm);U.prototype.visitTimeNanosecond=$(Vm);U.prototype.visitDecimal=$(BS);U.prototype.visitList=$(DS);U.prototype.visitStruct=$(TS);U.prototype.visitUnion=$(OS);U.prototype.visitDenseUnion=$($m);U.prototype.visitSparseUnion=$(Wm);U.prototype.visitDictionary=$(FS);U.prototype.visitInterval=$(ES);U.prototype.visitIntervalDayTime=$(Hm);U.prototype.visitIntervalYearMonth=$(Ym);U.prototype.visitDuration=$(kS);U.prototype.visitDurationSecond=$(Km);U.prototype.visitDurationMillisecond=$(Qm);U.prototype.visitDurationMicrosecond=$(Gm);U.prototype.visitDurationNanosecond=$(Xm);U.prototype.visitFixedSizeList=$(AS);U.prototype.visitMap=$(NS);var Le=new U;var zr=Symbol.for("keys"),fs=Symbol.for("vals"),cs=Symbol.for("kKeysAsStrings"),Lf=Symbol.for("_kKeysAsStrings"),Ln=class{constructor(e){return this[zr]=new ee([e.children[0]]).memoize(),this[fs]=e.children[1],new Proxy(this,new Cf)}get[cs](){return this[Lf]||(this[Lf]=Array.from(this[zr].toArray(),String))}[Symbol.iterator](){return new Mf(this[zr],this[fs])}get size(){return this[zr].length}toArray(){return Object.values(this.toJSON())}toJSON(){let e=this[zr],n=this[fs],r={};for(let i=-1,s=e.length;++i`${fn(e)}: ${fn(n)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}},Mf=class{constructor(e,n){this.keys=e,this.vals=n,this.keyIndex=0,this.numKeys=e.length}[Symbol.iterator](){return this}next(){let e=this.keyIndex;return e===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(e),Le.visit(this.vals,e)]})}},Cf=class{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(e){return e[cs]}has(e,n){return e[cs].includes(n)}getOwnPropertyDescriptor(e,n){if(e[cs].indexOf(n)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,n){if(Reflect.has(e,n))return e[n];let r=e[cs].indexOf(n);if(r!==-1){let i=Le.visit(Reflect.get(e,fs),r);return Reflect.set(e,n,i),i}}set(e,n,r){let i=e[cs].indexOf(n);return i!==-1?(Xe.visit(Reflect.get(e,fs),i,r),Reflect.set(e,n,r)):Reflect.has(e,n)?Reflect.set(e,n,r):!1}};Object.defineProperties(Ln.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[zr]:{writable:!0,enumerable:!1,configurable:!1,value:null},[fs]:{writable:!0,enumerable:!1,configurable:!1,value:null},[Lf]:{writable:!0,enumerable:!1,configurable:!1,value:null}});var Zm;function Do(t,e,n,r){let{length:i=0}=t,s=typeof e!="number"?0:e,o=typeof n!="number"?i:n;return s<0&&(s=(s%i+i)%i),o<0&&(o=(o%i+i)%i),oi&&(o=i),r?r(t,s,o):[s,o]}var pi=(t,e)=>t<0?e+t:t,Jm=t=>t!==t;function Vr(t){if(typeof t!=="object"||t===null)return Jm(t)?Jm:n=>n===t;if(t instanceof Date){let n=t.valueOf();return r=>r instanceof Date?r.valueOf()===n:!1}return ArrayBuffer.isView(t)?n=>n?pf(t,n):!1:t instanceof Map?MS(t):Array.isArray(t)?LS(t):t instanceof ee?CS(t):US(t,!0)}function LS(t){let e=[];for(let n=-1,r=t.length;++n!1;let r=[];for(let i=-1,s=n.length;++i{if(!n||typeof n!="object")return!1;switch(n.constructor){case Array:return RS(t,n);case Map:return qm(t,n,n.keys());case Ln:case Pr:case Object:case void 0:return qm(t,n,e||Object.keys(n))}return n instanceof ee?PS(t,n):!1}}function RS(t,e){let n=t.length;if(e.length!==n)return!1;for(let r=-1;++rmi,getBit:()=>ey,getBool:()=>Pl,packBools:()=>gi,popcnt_array:()=>ty,popcnt_bit_range:()=>No,popcnt_uint32:()=>Rl,setBool:()=>jS,truncateBitmap:()=>yi});function Pl(t,e,n,r){return(n&1<>r}function jS(t,e,n){return n?!!(t[e>>3]|=1<>3]&=~(1<0||n.byteLength>3):gi(new mi(n,t,e,null,Pl)).subarray(0,r)),i}return n}function gi(t){let e=[],n=0,r=0,i=0;for(let o of t)o&&(i|=1<0)&&(e[n++]=i);let s=new Uint8Array(e.length+7&-8);return s.set(e),s}var mi=class{constructor(e,n,r,i,s){this.bytes=e,this.length=r,this.context=i,this.get=s,this.bit=n%8,this.byteIndex=n>>3,this.byte=e[this.byteIndex++],this.index=0}next(){return this.index>3<<3,i=e+(e%8===0?0:8-e%8);return No(t,e,i)+No(t,r,n)+ty(t,i>>3,r-i>>3)}function ty(t,e,n){let r=0,i=Math.trunc(e),s=new DataView(t.buffer,t.byteOffset,t.byteLength),o=n===void 0?t.byteLength:i+n;for(;o-i>=4;)r+=Rl(s.getUint32(i)),i+=4;for(;o-i>=2;)r+=Rl(s.getUint16(i)),i+=2;for(;o-i>=1;)r+=Rl(s.getUint8(i)),i+=1;return r}function Rl(t){let e=Math.trunc(t);return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24}var zS=-1,se=class t{get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get nullable(){if(this._nullCount!==0){let{type:e}=this;return F.isSparseUnion(e)?this.children.some(n=>n.nullable):F.isDenseUnion(e)?this.children.some(n=>n.nullable):this.nullBitmap&&this.nullBitmap.byteLength>0}return!0}get byteLength(){let e=0,{valueOffsets:n,values:r,nullBitmap:i,typeIds:s}=this;return n&&(e+=n.byteLength),r&&(e+=r.byteLength),i&&(e+=i.byteLength),s&&(e+=s.byteLength),this.children.reduce((o,a)=>o+a.byteLength,e)}get nullCount(){if(F.isUnion(this.type))return this.children.reduce((r,i)=>r+i.nullCount,0);let e=this._nullCount,n;return e<=zS&&(n=this.nullBitmap)&&(this._nullCount=e=n.length===0?0:this.length-No(n,this.offset,this.offset+this.length)),e}constructor(e,n,r,i,s,o=[],a){this.type=e,this.children=o,this.dictionary=a,this.offset=Math.floor(Math.max(n||0,0)),this.length=Math.floor(Math.max(r||0,0)),this._nullCount=Math.floor(Math.max(i||0,-1));let l;s instanceof t?(this.stride=s.stride,this.values=s.values,this.typeIds=s.typeIds,this.nullBitmap=s.nullBitmap,this.valueOffsets=s.valueOffsets):(this.stride=Lt(e),s&&((l=s[0])&&(this.valueOffsets=l),(l=s[1])&&(this.values=l),(l=s[2])&&(this.nullBitmap=l),(l=s[3])&&(this.typeIds=l)))}getValid(e){let{type:n}=this;if(F.isUnion(n)){let r=n,i=this.children[r.typeIdToChildIndex[this.typeIds[e]]],s=r.mode===de.Dense?this.valueOffsets[e]:e;return i.getValid(s)}if(this.nullable&&this.nullCount>0){let r=this.offset+e;return(this.nullBitmap[r>>3]&1<>3;(!s||s.byteLength<=c)&&(s=new Uint8Array((o+a+63&-64)>>3).fill(255),this.nullCount>0?(s.set(yi(o,a,this.nullBitmap),0),Object.assign(this,{nullBitmap:s})):Object.assign(this,{nullBitmap:s,_nullCount:0}));let d=s[c];r=(d&u)!==0,s[c]=n?d|u:d&~u}return r!==!!n&&(this._nullCount=this.nullCount+(n?-1:1)),n}clone(e=this.type,n=this.offset,r=this.length,i=this._nullCount,s=this,o=this.children){return new t(e,n,r,i,s,o,this.dictionary)}slice(e,n){let{stride:r,typeId:i,children:s}=this,o=+(this._nullCount===0)-1,a=i===16?r:1,l=this._sliceBuffers(e,n,r,i);return this.clone(this.type,this.offset+e,n,o,l,s.length===0||this.valueOffsets?s:this._sliceChildren(s,a*e,a*n))}_changeLengthAndBackfillNullBitmap(e){if(this.typeId===p.Null)return this.clone(this.type,0,e,0);let{length:n,nullCount:r}=this,i=new Uint8Array((e+63&-64)>>3).fill(255,0,n>>3);i[n>>3]=(1<0&&i.set(yi(this.offset,n,this.nullBitmap),0);let s=this.buffers;return s[cn.VALIDITY]=i,this.clone(this.type,0,e,r+(e-n),s)}_sliceBuffers(e,n,r,i){let s,{buffers:o}=this;return(s=o[cn.TYPE])&&(o[cn.TYPE]=s.subarray(e,e+n)),(s=o[cn.OFFSET])&&(o[cn.OFFSET]=s.subarray(e,e+n+1))||(s=o[cn.DATA])&&(o[cn.DATA]=i===6?s:s.subarray(r*e,r*(e+n))),o}_sliceChildren(e,n,r){return e.map(i=>i.slice(n,r))}};se.prototype.children=Object.freeze([]);var Pf=class t extends C{visit(e){return this.getVisitFn(e.type).call(this,e)}visitNull(e){let{["type"]:n,["offset"]:r=0,["length"]:i=0}=e;return new se(n,r,i,i)}visitBool(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length>>3,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitInt(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitFloat(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitUtf8(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.data),s=V(e.nullBitmap),o=di(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new se(n,r,a,l,[o,i,s])}visitLargeUtf8(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.data),s=V(e.nullBitmap),o=rl(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new se(n,r,a,l,[o,i,s])}visitBinary(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.data),s=V(e.nullBitmap),o=di(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new se(n,r,a,l,[o,i,s])}visitLargeBinary(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.data),s=V(e.nullBitmap),o=rl(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new se(n,r,a,l,[o,i,s])}visitFixedSizeBinary(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length/Lt(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitDate(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length/Lt(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitTimestamp(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length/Lt(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitTime(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length/Lt(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitDecimal(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length/Lt(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitList(e){let{["type"]:n,["offset"]:r=0,["child"]:i}=e,s=V(e.nullBitmap),o=di(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new se(n,r,a,l,[o,void 0,s],[i])}visitStruct(e){let{["type"]:n,["offset"]:r=0,["children"]:i=[]}=e,s=V(e.nullBitmap),{length:o=i.reduce((l,{length:u})=>Math.max(l,u),0),nullCount:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,void 0,s],i)}visitUnion(e){let{["type"]:n,["offset"]:r=0,["children"]:i=[]}=e,s=Z(n.ArrayType,e.typeIds),{["length"]:o=s.length,["nullCount"]:a=-1}=e;if(F.isSparseUnion(n))return new se(n,r,o,a,[void 0,void 0,void 0,s],i);let l=di(e.valueOffsets);return new se(n,r,o,a,[l,void 0,void 0,s],i)}visitDictionary(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.indices.ArrayType,e.data),{["dictionary"]:o=new ee([new t().visit({type:n.dictionary})])}=e,{["length"]:a=s.length,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new se(n,r,a,l,[void 0,s,i],[],o)}visitInterval(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length/Lt(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitDuration(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitFixedSizeList(e){let{["type"]:n,["offset"]:r=0,["child"]:i=new t().visit({type:n.valueType})}=e,s=V(e.nullBitmap),{["length"]:o=i.length/Lt(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,void 0,s],[i])}visitMap(e){let{["type"]:n,["offset"]:r=0,["child"]:i=new t().visit({type:n.childType})}=e,s=V(e.nullBitmap),o=di(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new se(n,r,a,l,[o,void 0,s],[i])}},VS=new Pf;function Q(t){return VS.visit(t)}var To=class{constructor(e=0,n){this.numChunks=e,this.getChunkIterator=n,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndexe.nullable)}function jl(t){return t.reduce((e,n)=>e+n.nullCount,0)}function zl(t){return t.reduce((e,n,r)=>(e[r+1]=e[r]+n.length,e),new Uint32Array(t.length+1))}function Vl(t,e,n,r){let i=[];for(let s=-1,o=t.length;++s=r)break;if(n>=l+u)continue;if(l>=n&&l+u<=r){i.push(a);continue}let c=Math.max(0,n-l),d=Math.min(r-l,u);i.push(a.slice(c,d-c))}return i.length===0&&i.push(t[0].slice(0,0)),i}function jf(t,e,n,r){let i=0,s=0,o=e.length-1;do{if(i>=o-1)return n0?0:-1}function WS(t,e){let{nullBitmap:n}=t;if(!n||t.nullCount<=0)return-1;let r=0;for(let i of new mi(n,t.offset+(e||0),t.length,n,Pl)){if(!i)return r;++r}return-1}function G(t,e,n){if(e===void 0)return-1;if(e===null)switch(t.typeId){case p.Union:break;case p.Dictionary:break;default:return WS(t,n)}let r=Le.getVisitFn(t),i=Vr(e);for(let s=(n||0)-1,o=t.length;++s{let i=t.data[r];return i.values.subarray(0,i.length)[Symbol.iterator]()});let n=0;return new To(t.data.length,r=>{let s=t.data[r].length,o=t.slice(n,n+s);return n+=s,new zf(o)})}var zf=class{constructor(e){this.vector=e,this.index=0}next(){return this.indexa.data):e;if(s.length===0||s.some(a=>!(a instanceof se)))throw new TypeError("Vector constructor expects an Array of Data instances.");let o=(n=s[0])===null||n===void 0?void 0:n.type;switch(s.length){case 0:this._offsets=[0];break;case 1:{let{get:a,set:l,indexOf:u}=sy[o.typeId],c=s[0];this.isValid=d=>Oo(c,d),this.get=d=>a(c,d),this.set=(d,y)=>l(c,d,y),this.indexOf=d=>u(c,d),this._offsets=[0,c.length];break}default:Object.setPrototypeOf(this,oy[o.typeId]),this._offsets=zl(s);break}this.data=s,this.type=o,this.stride=Lt(o),this.numChildren=(i=(r=o.children)===null||r===void 0?void 0:r.length)!==null&&i!==void 0?i:0,this.length=this._offsets.at(-1)}get byteLength(){return this.data.reduce((e,n)=>e+n.byteLength,0)}get nullable(){return ny(this.data)}get nullCount(){return jl(this.data)}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${p[this.type.typeId]}Vector`}isValid(e){return!1}get(e){return null}at(e){return this.get(pi(e,this.length))}set(e,n){}indexOf(e,n){return-1}includes(e,n){return this.indexOf(e,n)>-1}[Symbol.iterator](){return hs.visit(this)}concat(...e){return new t(this.data.concat(e.flatMap(n=>n.data).flat(Number.POSITIVE_INFINITY)))}slice(e,n){return new t(Do(this,e,n,({data:r,_offsets:i},s,o)=>Vl(r,i,s,o)))}toJSON(){return[...this]}toArray(){let{type:e,data:n,length:r,stride:i,ArrayType:s}=this;switch(e.typeId){case p.Int:case p.Float:case p.Decimal:case p.Time:case p.Timestamp:switch(n.length){case 0:return new s;case 1:return n[0].values.subarray(0,r*i);default:return n.reduce((o,{values:a,length:l})=>(o.array.set(a.subarray(0,l*i),o.offset),o.offset+=l*i,o),{array:new s(r*i),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(",")}]`}getChild(e){var n;return this.getChildAt((n=this.type.children)===null||n===void 0?void 0:n.findIndex(r=>r.name===e))}getChildAt(e){return e>-1&&en[e])):null}get isMemoized(){return F.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(F.isDictionary(this.type)){let e=new Hl(this.data[0].dictionary),n=this.data.map(r=>{let i=r.clone();return i.dictionary=e,i});return new t(n)}return new Hl(this)}unmemoize(){if(F.isDictionary(this.type)&&this.isMemoized){let e=this.data[0].dictionary.unmemoize(),n=this.data.map(r=>{let i=r.clone();return i.dictionary=e,i});return new t(n)}return this}};iy=Symbol.toStringTag;ee[iy]=(t=>{t.type=F.prototype,t.data=[],t.length=0,t.stride=1,t.numChildren=0,t._offsets=new Uint32Array([0]),t[Symbol.isConcatSpreadable]=!0;let e=Object.keys(p).map(n=>p[n]).filter(n=>typeof n=="number"&&n!==p.NONE);for(let n of e){let r=Le.getVisitFnByTypeId(n),i=Xe.getVisitFnByTypeId(n),s=vi.getVisitFnByTypeId(n);sy[n]={get:r,set:i,indexOf:s},oy[n]=Object.create(t,{isValid:{value:ds(Oo)},get:{value:ds(Le.getVisitFnByTypeId(n))},set:{value:$l(Xe.getVisitFnByTypeId(n))},indexOf:{value:Wl(vi.getVisitFnByTypeId(n))}})}return"Vector"})(ee.prototype);var Hl=class t extends ee{constructor(e){super(e.data);let n=this.get,r=this.set,i=this.slice,s=new Array(this.length);Object.defineProperty(this,"get",{value(o){let a=s[o];if(a!==void 0)return a;let l=n.call(this,o);return s[o]=l,l}}),Object.defineProperty(this,"set",{value(o,a){r.call(this,o,a),s[o]=a}}),Object.defineProperty(this,"slice",{value:(o,a)=>new t(i.call(this,o,a))}),Object.defineProperty(this,"isMemoized",{value:!0}),Object.defineProperty(this,"unmemoize",{value:()=>new ee(this.data)}),Object.defineProperty(this,"memoize",{value:()=>this})}};function ay(t){if(!t||t.length<=0)return function(i){return!0};let e="",n=t.filter(r=>r===r);return n.length>0&&(e=` switch (x) {${n.map(r=>` case ${HS(r)}:`).join("")} return false; }`),t.length!==n.length&&(e=`if (x !== x) return false; ${e}`),new Function("x",`${e} -return true;`)}function HS(t){return typeof t!="bigint"?fn(t):`${fn(t)}n`}function $f(t,e){let n=Math.ceil(t)*e-1;return(n-n%64+64||64)/e}function ly(t,e=0){return t.length>=e?t.subarray(0,e):uo(new t.constructor(e),t,0)}var vn=class{constructor(e,n=0,r=1){this.length=Math.ceil(n/r),this.buffer=new e(this.length),this.stride=r,this.BYTES_PER_ELEMENT=e.BYTES_PER_ELEMENT,this.ArrayType=e}get byteLength(){return Math.ceil(this.length*this.stride)*this.BYTES_PER_ELEMENT}get reservedLength(){return this.buffer.length/this.stride}get reservedByteLength(){return this.buffer.byteLength}set(e,n){return this}append(e){return this.set(this.length,e)}reserve(e){if(e>0){this.length+=e;let n=this.stride,r=this.length*n,i=this.buffer.length;r>=i&&this._resize(i===0?$f(r*1,this.BYTES_PER_ELEMENT):$f(r*2,this.BYTES_PER_ELEMENT))}return this}flush(e=this.length){e=$f(e*this.stride,this.BYTES_PER_ELEMENT);let n=ly(this.buffer,e);return this.clear(),n}clear(){return this.length=0,this.buffer=new this.ArrayType,this}_resize(e){return this.buffer=ly(this.buffer,e)}},ar=class extends vn{last(){return this.get(this.length-1)}get(e){return this.buffer[e]}set(e,n){return this.reserve(e-this.length+1),this.buffer[e*this.stride]=n,this}},ps=class extends ar{constructor(){super(Uint8Array,0,1/8),this.numValid=0}get numInvalid(){return this.length-this.numValid}get(e){return this.buffer[e>>3]>>e%8&1}set(e,n){let{buffer:r}=this.reserve(e-this.length+1),i=e>>3,s=e%8,o=r[i]>>s&1;return n?o===0&&(r[i]|=1<=0&&i.fill(i[r],r,e),i[e]=i[e-1]+n,this}flush(e=this.length-1){return e>this.length&&this.set(e-1,this.BYTES_PER_ELEMENT>4?BigInt(0):0),super.flush(e+1)}};var ge=class{static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e){throw new Error('"throughDOM" not available in this environment')}constructor({type:e,nullValues:n}){this.length=0,this.finished=!1,this.type=e,this.children=[],this.nullValues=n,this.stride=Lt(e),this._nulls=new ps,n&&n.length>0&&(this._isValid=ay(n))}toVector(){return new ee([this.flush()])}get ArrayType(){return this.type.ArrayType}get nullCount(){return this._nulls.numInvalid}get numChildren(){return this.children.length}get byteLength(){let e=0,{_offsets:n,_values:r,_nulls:i,_typeIds:s,children:o}=this;return n&&(e+=n.byteLength),r&&(e+=r.byteLength),i&&(e+=i.byteLength),s&&(e+=s.byteLength),o.reduce((a,l)=>a+l.byteLength,e)}get reservedLength(){return this._nulls.reservedLength}get reservedByteLength(){let e=0;return this._offsets&&(e+=this._offsets.reservedByteLength),this._values&&(e+=this._values.reservedByteLength),this._nulls&&(e+=this._nulls.reservedByteLength),this._typeIds&&(e+=this._typeIds.reservedByteLength),this.children.reduce((n,r)=>n+r.reservedByteLength,e)}get valueOffsets(){return this._offsets?this._offsets.buffer:null}get values(){return this._values?this._values.buffer:null}get nullBitmap(){return this._nulls?this._nulls.buffer:null}get typeIds(){return this._typeIds?this._typeIds.buffer:null}append(e){return this.set(this.length,e)}isValid(e){return this._isValid(e)}set(e,n){return this.setValid(e,this.isValid(n))&&this.setValue(e,n),this}setValue(e,n){this._setValue(this,e,n)}setValid(e,n){return this.length=this._nulls.set(e,+n).length,n}addChild(e,n=`${this.numChildren}`){throw new Error(`Cannot append children to non-nested type "${this.type}"`)}getChildAt(e){return this.children[e]||null}flush(){let e,n,r,i,{type:s,length:o,nullCount:a,_typeIds:l,_offsets:u,_values:c,_nulls:d}=this;(n=l?.flush(o))?i=u?.flush(o):(i=u?.flush(o))?e=c?.flush(u.last()):e=c?.flush(o),a>0&&(r=d?.flush(o));let y=this.children.map(v=>v.flush());return this.clear(),Q({type:s,length:o,nullCount:a,children:y,child:y[0],data:e,typeIds:n,nullBitmap:r,valueOffsets:i})}finish(){this.finished=!0;for(let e of this.children)e.finish();return this}clear(){var e,n,r,i;this.length=0,(e=this._nulls)===null||e===void 0||e.clear(),(n=this._values)===null||n===void 0||n.clear(),(r=this._offsets)===null||r===void 0||r.clear(),(i=this._typeIds)===null||i===void 0||i.clear();for(let s of this.children)s.clear();return this}};ge.prototype.length=1;ge.prototype.stride=1;ge.prototype.children=null;ge.prototype.finished=!1;ge.prototype.nullValues=null;ge.prototype._isValid=()=>!0;var Me=class extends ge{constructor(e){super(e),this._values=new ar(this.ArrayType,0,this.stride)}setValue(e,n){let r=this._values;return r.reserve(e-r.length+1),super.setValue(e,n)}},vt=class extends ge{constructor(e){super(e),this._pendingLength=0,this._offsets=new ms(e.type)}setValue(e,n){let r=this._pending||(this._pending=new Map),i=r.get(e);i&&(this._pendingLength-=i.length),this._pendingLength+=n instanceof Ln?n[zr].length:n.length,r.set(e,n)}setValid(e,n){return super.setValid(e,n)?!0:((this._pending||(this._pending=new Map)).set(e,void 0),!1)}clear(){return this._pendingLength=0,this._pending=void 0,super.clear()}flush(){return this._flush(),super.flush()}finish(){return this._flush(),super.finish()}_flush(){let e=this._pending,n=this._pendingLength;return this._pendingLength=0,this._pending=void 0,e&&e.size>0&&this._flushPending(e,n),this}};var _i=class{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(e,n,r,i){return e.prep(8,24),e.writeInt64(BigInt(i??0)),e.pad(4),e.writeInt32(r),e.writeInt64(BigInt(n??0)),e.offset()}};var Mt=class t{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsFooter(e,n){return(n||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsFooter(e,n){return e.setPosition(e.position()+4),(n||new t).__init(e.readInt32(e.position())+e.position(),e)}version(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):le.V1}schema(e){let n=this.bb.__offset(this.bb_pos,6);return n?(e||new gt).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}dictionaries(e,n){let r=this.bb.__offset(this.bb_pos,8);return r?(n||new _i).__init(this.bb.__vector(this.bb_pos+r)+e*24,this.bb):null}dictionariesLength(){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}recordBatches(e,n){let r=this.bb.__offset(this.bb_pos,10);return r?(n||new _i).__init(this.bb.__vector(this.bb_pos+r)+e*24,this.bb):null}recordBatchesLength(){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){let r=this.bb.__offset(this.bb_pos,12);return r?(n||new Re).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){let e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startFooter(e){e.startObject(5)}static addVersion(e,n){e.addFieldInt16(0,n,le.V1)}static addSchema(e,n){e.addFieldOffset(1,n,0)}static addDictionaries(e,n){e.addFieldOffset(2,n,0)}static startDictionariesVector(e,n){e.startVector(24,n,8)}static addRecordBatches(e,n){e.addFieldOffset(3,n,0)}static startRecordBatchesVector(e,n){e.startVector(24,n,8)}static addCustomMetadata(e,n){e.addFieldOffset(4,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endFooter(e){return e.endObject()}static finishFooterBuffer(e,n){e.finish(n)}static finishSizePrefixedFooterBuffer(e,n){e.finish(n,void 0,!0)}};var ae=class t{constructor(e=[],n,r,i=le.V5){this.fields=e||[],this.metadata=n||new Map,r||(r=Wf(this.fields)),this.dictionaries=r,this.metadataVersion=i}get[Symbol.toStringTag](){return"Schema"}get names(){return this.fields.map(e=>e.name)}toString(){return`Schema<{ ${this.fields.map((e,n)=>`${n}: ${e}`).join(", ")} }>`}select(e){let n=new Set(e),r=this.fields.filter(i=>n.has(i.name));return new t(r,this.metadata)}selectAt(e){let n=e.map(r=>this.fields[r]).filter(Boolean);return new t(n,this.metadata)}assign(...e){let n=e[0]instanceof t?e[0]:Array.isArray(e[0])?new t(e[0]):new t(e),r=[...this.fields],i=Yl(Yl(new Map,this.metadata),n.metadata),s=n.fields.filter(a=>{let l=r.findIndex(u=>u.name===a.name);return~l?(r[l]=a.clone({metadata:Yl(Yl(new Map,r[l].metadata),a.metadata)}))&&!1:!0}),o=Wf(s,new Map);return new t([...r,...s],i,new Map([...this.dictionaries,...o]))}};ae.prototype.fields=null;ae.prototype.metadata=null;ae.prototype.dictionaries=null;var J=class t{static new(...e){let[n,r,i,s]=e;return e[0]&&typeof e[0]=="object"&&({name:n}=e[0],r===void 0&&(r=e[0].type),i===void 0&&(i=e[0].nullable),s===void 0&&(s=e[0].metadata)),new t(`${n}`,r,i,s)}constructor(e,n,r=!1,i){this.name=e,this.type=n,this.nullable=r,this.metadata=i||new Map}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return"Field"}toString(){return`${this.name}: ${this.type}`}clone(...e){let[n,r,i,s]=e;return!e[0]||typeof e[0]!="object"?[n=this.name,r=this.type,i=this.nullable,s=this.metadata]=e:{name:n=this.name,type:r=this.type,nullable:i=this.nullable,metadata:s=this.metadata}=e[0],t.new(n,r,i,s)}};J.prototype.type=null;J.prototype.name=null;J.prototype.nullable=null;J.prototype.metadata=null;function Yl(t,e){return new Map([...t||new Map,...e||new Map])}function Wf(t,e=new Map){for(let n=-1,r=t.length;++n0&&Wf(s.children,e)}return e}var YS=hi,KS=Et,lr=class{static decode(e){e=new KS(V(e));let n=Mt.getRootAsFooter(e),r=ae.decode(n.schema(),new Map,n.version());return new Hf(r,n)}static encode(e){let n=new YS,r=ae.encode(n,e.schema);Mt.startRecordBatchesVector(n,e.numRecordBatches);for(let o of[...e.recordBatches()].slice().reverse())ur.encode(n,o);let i=n.endVector();Mt.startDictionariesVector(n,e.numDictionaries);for(let o of[...e.dictionaryBatches()].slice().reverse())ur.encode(n,o);let s=n.endVector();return Mt.startFooter(n),Mt.addSchema(n,r),Mt.addVersion(n,le.V5),Mt.addRecordBatches(n,i),Mt.addDictionaries(n,s),Mt.finishFooterBuffer(n,Mt.endFooter(n)),n.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}constructor(e,n=le.V5,r,i){this.schema=e,this.version=n,r&&(this._recordBatches=r),i&&(this._dictionaryBatches=i)}*recordBatches(){for(let e,n=-1,r=this.numRecordBatches;++n=0&&e=0&&e=0&&e=0&&ethis._closedPromiseResolve=e)}get closed(){return this._closedPromise}cancel(e){return O(this,void 0,void 0,function*(){yield this.return(e)})}write(e){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(e):this.resolvers.shift().resolve({done:!1,value:e}))}abort(e){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:e}:this.resolvers.shift().reject({done:!0,value:e}))}close(){if(this._closedPromiseResolve){let{resolvers:e}=this;for(;e.length>0;)e.shift().resolve(pe);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(e){return Ge.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,e)}toNodeStream(e){return Ge.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,e)}throw(e){return O(this,void 0,void 0,function*(){return yield this.abort(e),pe})}return(e){return O(this,void 0,void 0,function*(){return yield this.close(),pe})}read(e){return O(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return O(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(...e){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((n,r)=>{this.resolvers.push({resolve:n,reject:r})}):Promise.resolve(pe)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error("AsyncQueue is closed")}};var Mn=class extends Kl{write(e){if((e=V(e)).byteLength>0)return super.write(e)}toString(e=!1){return e?ao(this.toUint8Array(!0)):this.toUint8Array(!1).then(ao)}toUint8Array(e=!1){return e?Ft(this._values)[0]:O(this,void 0,void 0,function*(){var n,r,i,s;let o=[],a=0;try{for(var l=!0,u=rn(this),c;c=yield u.next(),n=c.done,!n;l=!0){s=c.value,l=!1;let d=s;o.push(d),a+=d.byteLength}}catch(d){r={error:d}}finally{try{!l&&!n&&(i=u.return)&&(yield i.call(u))}finally{if(r)throw r.error}}return Ft(o,a)[0]})}},Cn=class{constructor(e){e&&(this.source=new Yf(Ge.fromIterable(e)))}[Symbol.iterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}},Yt=class t{constructor(e){e instanceof t?this.source=e.source:e instanceof Mn?this.source=new cr(Ge.fromAsyncIterable(e)):nl(e)?this.source=new cr(Ge.fromNodeStream(e)):lo(e)?this.source=new cr(Ge.fromDOMStream(e)):el(e)?this.source=new cr(Ge.fromDOMStream(e.body)):sn(e)?this.source=new cr(Ge.fromIterable(e)):Ot(e)?this.source=new cr(Ge.fromAsyncIterable(e)):$t(e)&&(this.source=new cr(Ge.fromAsyncIterable(e)))}[Symbol.asyncIterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}get closed(){return this.source.closed}cancel(e){return this.source.cancel(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}},Yf=class{constructor(e){this.source=e}cancel(e){this.return(e)}peek(e){return this.next(e,"peek").value}read(e){return this.next(e,"read").value}next(e,n="read"){return this.source.next({cmd:n,size:e})}throw(e){return Object.create(this.source.throw&&this.source.throw(e)||pe)}return(e){return Object.create(this.source.return&&this.source.return(e)||pe)}},cr=class{constructor(e){this.source=e,this._closedPromise=new Promise(n=>this._closedPromiseResolve=n)}cancel(e){return O(this,void 0,void 0,function*(){yield this.return(e)})}get closed(){return this._closedPromise}read(e){return O(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return O(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(e){return O(this,arguments,void 0,function*(n,r="read"){return yield this.source.next({cmd:r,size:n})})}throw(e){return O(this,void 0,void 0,function*(){let n=this.source.throw&&(yield this.source.throw(e))||pe;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)})}return(e){return O(this,void 0,void 0,function*(){let n=this.source.return&&(yield this.source.return(e))||pe;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)})}};var Eo=class extends Cn{constructor(e,n){super(),this.position=0,this.buffer=V(e),this.size=n===void 0?this.buffer.byteLength:n}readInt32(e){let{buffer:n,byteOffset:r}=this.readAt(e,4);return new DataView(n,r).getInt32(0,!0)}seek(e){return this.position=Math.min(e,this.size),eko,Int128:()=>Ao,Int64:()=>fr,Uint64:()=>Be});function ys(t){return t<0&&(t=4294967295+t+1),`0x${t.toString(16)}`}var gs=8,Kf=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8],ko=class{constructor(e){this.buffer=e}high(){return this.buffer[1]}low(){return this.buffer[0]}_times(e){let n=new Uint32Array([this.buffer[1]>>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),r=new Uint32Array([e.buffer[1]>>>16,e.buffer[1]&65535,e.buffer[0]>>>16,e.buffer[0]&65535]),i=n[3]*r[3];this.buffer[0]=i&65535;let s=i>>>16;return i=n[2]*r[3],s+=i,i=n[3]*r[2]>>>0,s+=i,this.buffer[0]+=s<<16,this.buffer[1]=s>>>0>>16,this.buffer[1]+=n[1]*r[3]+n[2]*r[2]+n[3]*r[1],this.buffer[1]+=n[0]*r[3]+n[1]*r[2]+n[2]*r[1]+n[3]*r[0]<<16,this}_plus(e){let n=this.buffer[0]+e.buffer[0]>>>0;this.buffer[1]+=e.buffer[1],n>>0&&++this.buffer[1],this.buffer[0]=n}lessThan(e){return this.buffer[1]>>0,n[2]=this.buffer[2]+e.buffer[2]>>>0,n[1]=this.buffer[1]+e.buffer[1]>>>0,n[0]=this.buffer[0]+e.buffer[0]>>>0,n[0]>>0&&++n[1],n[1]>>0&&++n[2],n[2]>>0&&++n[3],this.buffer[3]=n[3],this.buffer[2]=n[2],this.buffer[1]=n[1],this.buffer[0]=n[0],this}hex(){return`${ys(this.buffer[3])} ${ys(this.buffer[2])} ${ys(this.buffer[1])} ${ys(this.buffer[0])}`}static multiply(e,n){return new t(new Uint32Array(e.buffer)).times(n)}static add(e,n){return new t(new Uint32Array(e.buffer)).plus(n)}static from(e,n=new Uint32Array(4)){return t.fromString(typeof e=="string"?e:e.toString(),n)}static fromNumber(e,n=new Uint32Array(4)){return t.fromString(e.toString(),n)}static fromString(e,n=new Uint32Array(4)){let r=e.startsWith("-"),i=e.length,s=new t(n);for(let o=r?1:0;o0&&this.readData(e,r)||new Uint8Array(0)}readOffsets(e,n){return this.readData(e,n)}readTypeIds(e,n){return this.readData(e,n)}readData(e,{length:n,offset:r}=this.nextBufferRange()){return this.bytes.subarray(r,r+n)}readDictionary(e){return this.dictionaries.get(e.id)}},Ql=class extends Lo{constructor(e,n,r,i,s){super(new Uint8Array(0),n,r,i,s),this.sources=e}readNullBitmap(e,n,{offset:r}=this.nextBufferRange()){return n<=0?new Uint8Array(0):gi(this.sources[r])}readOffsets(e,{offset:n}=this.nextBufferRange()){return Z(Uint8Array,Z(e.OffsetArrayType,this.sources[n]))}readTypeIds(e,{offset:n}=this.nextBufferRange()){return Z(Uint8Array,Z(e.ArrayType,this.sources[n]))}readData(e,{offset:n}=this.nextBufferRange()){let{sources:r}=this;return F.isTimestamp(e)?Z(Uint8Array,fr.convertArray(r[n])):(F.isInt(e)||F.isTime(e))&&e.bitWidth===64||F.isDuration(e)?Z(Uint8Array,fr.convertArray(r[n])):F.isDate(e)&&e.unit===Fe.MILLISECOND?Z(Uint8Array,fr.convertArray(r[n])):F.isDecimal(e)?Z(Uint8Array,Ao.convertArray(r[n])):F.isBinary(e)||F.isLargeBinary(e)||F.isFixedSizeBinary(e)?QS(r[n]):F.isBool(e)?gi(r[n]):F.isUtf8(e)||F.isLargeUtf8(e)?Tn(r[n].join("")):Z(Uint8Array,Z(e.ArrayType,r[n].map(i=>+i)))}};function QS(t){let e=t.join(""),n=new Uint8Array(e.length/2);for(let r=0;r>1]=Number.parseInt(e.slice(r,r+2),16);return n}var vs=class extends vt{constructor(e){super(e),this._values=new vn(Uint8Array)}get byteLength(){let e=this._pendingLength+this.length*4;return this._offsets&&(e+=this._offsets.byteLength),this._values&&(e+=this._values.byteLength),this._nulls&&(e+=this._nulls.byteLength),e}setValue(e,n){return super.setValue(e,V(n))}_flushPending(e,n){let r=this._offsets,i=this._values.reserve(n).buffer,s=0;for(let[o,a]of e)if(a===void 0)r.set(o,0);else{let l=a.length;i.set(a,s),r.set(o,l),s+=l}}};var _s=class extends vt{constructor(e){super(e),this._values=new vn(Uint8Array)}get byteLength(){let e=this._pendingLength+this.length*4;return this._offsets&&(e+=this._offsets.byteLength),this._values&&(e+=this._values.byteLength),this._nulls&&(e+=this._nulls.byteLength),e}setValue(e,n){return super.setValue(e,V(n))}_flushPending(e,n){let r=this._offsets,i=this._values.reserve(n).buffer,s=0;for(let[o,a]of e)if(a===void 0)r.set(o,BigInt(0));else{let l=a.length;i.set(a,s),r.set(o,BigInt(l)),s+=l}}};var Gl=class extends ge{constructor(e){super(e),this._values=new ps}setValue(e,n){this._values.set(e,+n)}};var Si=class extends Me{};Si.prototype._setValue=Nf;var Mo=class extends Si{};Mo.prototype._setValue=Sl;var Co=class extends Si{};Co.prototype._setValue=bl;var Uo=class extends Me{};Uo.prototype._setValue=Ff;var Xl=class extends ge{constructor({type:e,nullValues:n,dictionaryHashFunction:r}){super({type:new At(e.dictionary,e.indices,e.id,e.isOrdered)}),this._nulls=null,this._dictionaryOffset=0,this._keysToIndices=Object.create(null),this.indices=bi({type:this.type.indices,nullValues:n}),this.dictionary=bi({type:this.type.dictionary,nullValues:null}),typeof r=="function"&&(this.valueToKey=r)}get values(){return this.indices.values}get nullCount(){return this.indices.nullCount}get nullBitmap(){return this.indices.nullBitmap}get byteLength(){return this.indices.byteLength+this.dictionary.byteLength}get reservedLength(){return this.indices.reservedLength+this.dictionary.reservedLength}get reservedByteLength(){return this.indices.reservedByteLength+this.dictionary.reservedByteLength}isValid(e){return this.indices.isValid(e)}setValid(e,n){let r=this.indices;return n=r.setValid(e,n),this.length=r.length,n}setValue(e,n){let r=this._keysToIndices,i=this.valueToKey(n),s=r[i];return s===void 0&&(r[i]=s=this._dictionaryOffset+this.dictionary.append(n).length-1),this.indices.setValue(e,s)}flush(){let e=this.type,n=this._dictionary,r=this.dictionary.toVector(),i=this.indices.flush().clone(e);return i.dictionary=n?n.concat(r):r,this.finished||(this._dictionaryOffset+=r.length),this._dictionary=i.dictionary,this.clear(),i}finish(){return this.indices.finish(),this.dictionary.finish(),this._dictionaryOffset=0,this._keysToIndices=Object.create(null),super.finish()}clear(){return this.indices.clear(),this.dictionary.clear(),super.clear()}valueToKey(e){return typeof e=="string"?e:`${e}`}};var Ro=class extends Me{};Ro.prototype._setValue=Df;var Zl=class extends ge{setValue(e,n){let[r]=this.children,i=e*this.stride;for(let s=-1,o=n.length;++s0)throw new Error("FixedSizeListBuilder can only have one child.");let r=this.children.push(e);return this.type=new mn(this.type.listSize,new J(n,e.type,!0)),r}};var xi=class extends Me{setValue(e,n){this._values.set(e,n)}},Jl=class extends xi{setValue(e,n){super.setValue(e,Bo(n))}},ql=class extends xi{},eu=class extends xi{};var Ii=class extends Me{};Ii.prototype._setValue=Ef;var Po=class extends Ii{};Po.prototype._setValue=El;var jo=class extends Ii{};jo.prototype._setValue=kl;var dr=class extends Me{};dr.prototype._setValue=kf;var zo=class extends dr{};zo.prototype._setValue=Al;var Vo=class extends dr{};Vo.prototype._setValue=Ll;var $o=class extends dr{};$o.prototype._setValue=Ml;var Wo=class extends dr{};Wo.prototype._setValue=Cl;var Kt=class extends Me{setValue(e,n){this._values.set(e,n)}},tu=class extends Kt{},nu=class extends Kt{},ru=class extends Kt{},iu=class extends Kt{},su=class extends Kt{},ou=class extends Kt{},au=class extends Kt{},lu=class extends Kt{};var uu=class extends vt{constructor(e){super(e),this._offsets=new ms(e.type)}addChild(e,n="0"){if(this.numChildren>0)throw new Error("ListBuilder can only have one child.");return this.children[this.numChildren]=e,this.type=new hn(new J(n,e.type,!0)),this.numChildren-1}_flushPending(e){let n=this._offsets,[r]=this.children;for(let[i,s]of e)if(typeof s>"u")n.set(i,0);else{let o=s,a=o.length,l=n.set(i,a).buffer[i];for(let u=-1;++u0)throw new Error("ListBuilder can only have one child.");return this.children[this.numChildren]=e,this.type=new yn(new J(n,e.type,!0),this.type.keysSorted),this.numChildren-1}_flushPending(e){let n=this._offsets,[r]=this.children;for(let[i,s]of e)if(s===void 0)n.set(i,0);else{let{[i]:o,[i+1]:a}=n.set(i,s.size).buffer;for(let l of s.entries())if(r.set(o,l),++o>=a)break}}};var fu=class extends ge{setValue(e,n){}setValid(e,n){return this.length=Math.max(e+1,this.length),n}};var du=class extends ge{setValue(e,n){let{children:r,type:i}=this;switch(Array.isArray(n)||n.constructor){case!0:return i.children.forEach((s,o)=>r[o].set(e,n[o]));case Map:return i.children.forEach((s,o)=>r[o].set(e,n.get(s.name)));default:return i.children.forEach((s,o)=>r[o].set(e,n[s.name]))}}setValid(e,n){return super.setValid(e,n)||this.children.forEach(r=>r.setValid(e,n)),n}addChild(e,n=`${this.numChildren}`){let r=this.children.push(e);return this.type=new he([...this.type.children,new J(n,e.type,!0)]),r}};var hr=class extends Me{};hr.prototype._setValue=Tf;var Ho=class extends hr{};Ho.prototype._setValue=xl;var Yo=class extends hr{};Yo.prototype._setValue=Il;var Ko=class extends hr{};Ko.prototype._setValue=Bl;var Qo=class extends hr{};Qo.prototype._setValue=Dl;var pr=class extends Me{};pr.prototype._setValue=Of;var Go=class extends pr{};Go.prototype._setValue=Nl;var Xo=class extends pr{};Xo.prototype._setValue=Tl;var Zo=class extends pr{};Zo.prototype._setValue=Ol;var Jo=class extends pr{};Jo.prototype._setValue=Fl;var ws=class extends ge{constructor(e){super(e),this._typeIds=new ar(Int8Array,0,1),typeof e.valueToChildTypeId=="function"&&(this._valueToChildTypeId=e.valueToChildTypeId)}get typeIdToChildIndex(){return this.type.typeIdToChildIndex}append(e,n){return this.set(this.length,e,n)}set(e,n,r){return r===void 0&&(r=this._valueToChildTypeId(this,n,e)),this.setValue(e,n,r),this}setValue(e,n,r){this._typeIds.set(e,r);let i=this.type.typeIdToChildIndex[r],s=this.children[i];s?.set(e,n)}addChild(e,n=`${this.children.length}`){let r=this.children.push(e),{type:{children:i,mode:s,typeIds:o}}=this,a=[...i,new J(n,e.type)];return this.type=new pn(s,[...o,r],a),r}_valueToChildTypeId(e,n,r){throw new Error("Cannot map UnionBuilder value to child typeId. Pass the `childTypeId` as the second argument to unionBuilder.append(), or supply a `valueToChildTypeId` function as part of the UnionBuilder constructor options.")}},hu=class extends ws{},pu=class extends ws{constructor(e){super(e),this._offsets=new ar(Int32Array)}setValue(e,n,r){let i=this._typeIds.set(e,r).buffer[e],s=this.getChildAt(this.type.typeIdToChildIndex[i]),o=this._offsets.set(e,s.length).buffer[e];s?.set(o,n)}};var qo=class extends vt{constructor(e){super(e),this._values=new vn(Uint8Array)}get byteLength(){let e=this._pendingLength+this.length*4;return this._offsets&&(e+=this._offsets.byteLength),this._values&&(e+=this._values.byteLength),this._nulls&&(e+=this._nulls.byteLength),e}setValue(e,n){return super.setValue(e,Tn(n))}_flushPending(e,n){}};qo.prototype._flushPending=vs.prototype._flushPending;var ea=class extends vt{constructor(e){super(e),this._values=new vn(Uint8Array)}get byteLength(){let e=this._pendingLength+this.length*4;return this._offsets&&(e+=this._offsets.byteLength),this._values&&(e+=this._values.byteLength),this._nulls&&(e+=this._nulls.byteLength),e}setValue(e,n){return super.setValue(e,Tn(n))}_flushPending(e,n){}};ea.prototype._flushPending=_s.prototype._flushPending;var Gf=class extends C{visitNull(){return fu}visitBool(){return Gl}visitInt(){return Kt}visitInt8(){return tu}visitInt16(){return nu}visitInt32(){return ru}visitInt64(){return iu}visitUint8(){return su}visitUint16(){return ou}visitUint32(){return au}visitUint64(){return lu}visitFloat(){return xi}visitFloat16(){return Jl}visitFloat32(){return ql}visitFloat64(){return eu}visitUtf8(){return qo}visitLargeUtf8(){return ea}visitBinary(){return vs}visitLargeBinary(){return _s}visitFixedSizeBinary(){return Ro}visitDate(){return Si}visitDateDay(){return Mo}visitDateMillisecond(){return Co}visitTimestamp(){return hr}visitTimestampSecond(){return Ho}visitTimestampMillisecond(){return Yo}visitTimestampMicrosecond(){return Ko}visitTimestampNanosecond(){return Qo}visitTime(){return pr}visitTimeSecond(){return Go}visitTimeMillisecond(){return Xo}visitTimeMicrosecond(){return Zo}visitTimeNanosecond(){return Jo}visitDecimal(){return Uo}visitList(){return uu}visitStruct(){return du}visitUnion(){return ws}visitDenseUnion(){return pu}visitSparseUnion(){return hu}visitDictionary(){return Xl}visitInterval(){return Ii}visitIntervalDayTime(){return Po}visitIntervalYearMonth(){return jo}visitDuration(){return dr}visitDurationSecond(){return zo}visitDurationMillisecond(){return Vo}visitDurationMicrosecond(){return $o}visitDurationNanosecond(){return Wo}visitFixedSizeList(){return Zl}visitMap(){return cu}},uy=new Gf;var j=class extends C{compareSchemas(e,n){return e===n||n instanceof e.constructor&&this.compareManyFields(e.fields,n.fields)}compareManyFields(e,n){return e===n||Array.isArray(e)&&Array.isArray(n)&&e.length===n.length&&e.every((r,i)=>this.compareFields(r,n[i]))}compareFields(e,n){return e===n||n instanceof e.constructor&&e.name===n.name&&e.nullable===n.nullable&&this.visit(e.type,n.type)}};function dt(t,e){return e instanceof t.constructor}function Bi(t,e){return t===e||dt(t,e)}function mr(t,e){return t===e||dt(t,e)&&t.bitWidth===e.bitWidth&&t.isSigned===e.isSigned}function mu(t,e){return t===e||dt(t,e)&&t.precision===e.precision}function GS(t,e){return t===e||dt(t,e)&&t.byteWidth===e.byteWidth}function Xf(t,e){return t===e||dt(t,e)&&t.unit===e.unit}function ta(t,e){return t===e||dt(t,e)&&t.unit===e.unit&&t.timezone===e.timezone}function na(t,e){return t===e||dt(t,e)&&t.unit===e.unit&&t.bitWidth===e.bitWidth}function XS(t,e){return t===e||dt(t,e)&&t.children.length===e.children.length&&Un.compareManyFields(t.children,e.children)}function ZS(t,e){return t===e||dt(t,e)&&t.children.length===e.children.length&&Un.compareManyFields(t.children,e.children)}function Zf(t,e){return t===e||dt(t,e)&&t.mode===e.mode&&t.typeIds.every((n,r)=>n===e.typeIds[r])&&Un.compareManyFields(t.children,e.children)}function JS(t,e){return t===e||dt(t,e)&&t.id===e.id&&t.isOrdered===e.isOrdered&&Un.visit(t.indices,e.indices)&&Un.visit(t.dictionary,e.dictionary)}function Jf(t,e){return t===e||dt(t,e)&&t.unit===e.unit}function ra(t,e){return t===e||dt(t,e)&&t.unit===e.unit}function qS(t,e){return t===e||dt(t,e)&&t.listSize===e.listSize&&t.children.length===e.children.length&&Un.compareManyFields(t.children,e.children)}function eb(t,e){return t===e||dt(t,e)&&t.keysSorted===e.keysSorted&&t.children.length===e.children.length&&Un.compareManyFields(t.children,e.children)}j.prototype.visitNull=Bi;j.prototype.visitBool=Bi;j.prototype.visitInt=mr;j.prototype.visitInt8=mr;j.prototype.visitInt16=mr;j.prototype.visitInt32=mr;j.prototype.visitInt64=mr;j.prototype.visitUint8=mr;j.prototype.visitUint16=mr;j.prototype.visitUint32=mr;j.prototype.visitUint64=mr;j.prototype.visitFloat=mu;j.prototype.visitFloat16=mu;j.prototype.visitFloat32=mu;j.prototype.visitFloat64=mu;j.prototype.visitUtf8=Bi;j.prototype.visitLargeUtf8=Bi;j.prototype.visitBinary=Bi;j.prototype.visitLargeBinary=Bi;j.prototype.visitFixedSizeBinary=GS;j.prototype.visitDate=Xf;j.prototype.visitDateDay=Xf;j.prototype.visitDateMillisecond=Xf;j.prototype.visitTimestamp=ta;j.prototype.visitTimestampSecond=ta;j.prototype.visitTimestampMillisecond=ta;j.prototype.visitTimestampMicrosecond=ta;j.prototype.visitTimestampNanosecond=ta;j.prototype.visitTime=na;j.prototype.visitTimeSecond=na;j.prototype.visitTimeMillisecond=na;j.prototype.visitTimeMicrosecond=na;j.prototype.visitTimeNanosecond=na;j.prototype.visitDecimal=Bi;j.prototype.visitList=XS;j.prototype.visitStruct=ZS;j.prototype.visitUnion=Zf;j.prototype.visitDenseUnion=Zf;j.prototype.visitSparseUnion=Zf;j.prototype.visitDictionary=JS;j.prototype.visitInterval=Jf;j.prototype.visitIntervalDayTime=Jf;j.prototype.visitIntervalYearMonth=Jf;j.prototype.visitDuration=ra;j.prototype.visitDurationSecond=ra;j.prototype.visitDurationMillisecond=ra;j.prototype.visitDurationMicrosecond=ra;j.prototype.visitDurationNanosecond=ra;j.prototype.visitFixedSizeList=qS;j.prototype.visitMap=eb;var Un=new j;function Di(t,e){return Un.compareSchemas(t,e)}function cy(t,e){return Un.compareFields(t,e)}function fy(t,e){return Un.visit(t,e)}function bi(t){let e=t.type,n=new(uy.getVisitFn(e)())(t);if(e.children&&e.children.length>0){let r=t.children||[],i={nullValues:t.nullValues},s=Array.isArray(r)?((o,a)=>r[a]||i):(({name:o})=>r[o]||i);for(let[o,a]of e.children.entries()){let{type:l}=a,u=s(a,o);n.children.push(bi(Object.assign(Object.assign({},u),{type:l})))}}return n}function yu(t,e){return tb(t,e.map(n=>n.data.concat()))}function tb(t,e){let n=[...t.fields],r=[],i={numBatches:e.reduce((d,y)=>Math.max(d,y.length),0)},s=0,o=0,a=-1,l=e.length,u,c=[];for(;i.numBatches-- >0;){for(o=Number.POSITIVE_INFINITY,a=-1;++a0&&(r[s++]=Q({type:new he(n),length:o,nullCount:0,children:c.slice()})))}return[t=t.assign(n),r.map(d=>new Ne(t,d))]}function nb(t,e,n,r,i){var s;let o=(e+63&-64)>>3;for(let a=-1,l=r.length;++a=e)c===e?n[a]=u:(n[a]=u.slice(0,e),i.numBatches=Math.max(i.numBatches,r[a].unshift(u.slice(e,c-e))));else{let d=t[a];t[a]=d.clone({nullable:!0}),n[a]=(s=u?._changeLengthAndBackfillNullBitmap(e))!==null&&s!==void 0?s:Q({type:d.type,length:e,nullCount:e,nullBitmap:new Uint8Array(o)})}}return n}var dy,_t=class t{constructor(...e){var n,r;if(e.length===0)return this.batches=[],this.schema=new ae([]),this._offsets=[0],this;let i,s;e[0]instanceof ae&&(i=e.shift()),e.at(-1)instanceof Uint32Array&&(s=e.pop());let o=l=>{if(l){if(l instanceof Ne)return[l];if(l instanceof t)return l.batches;if(l instanceof se){if(l.type instanceof he)return[new Ne(new ae(l.type.children),l)]}else{if(Array.isArray(l))return l.flatMap(u=>o(u));if(typeof l[Symbol.iterator]=="function")return[...l].flatMap(u=>o(u));if(typeof l=="object"){let u=Object.keys(l),c=u.map(v=>new ee([l[v]])),d=i??new ae(u.map((v,S)=>new J(String(v),c[S].type,c[S].nullable))),[,y]=yu(d,c);return y.length===0?[new Ne(l)]:y}}}return[]},a=e.flatMap(l=>o(l));if(i=(r=i??((n=a[0])===null||n===void 0?void 0:n.schema))!==null&&r!==void 0?r:new ae([]),!(i instanceof ae))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");for(let l of a){if(!(l instanceof Ne))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");if(!Di(i,l.schema))throw new TypeError("Table and inner RecordBatch schemas must be equivalent.")}this.schema=i,this.batches=a,this._offsets=s??zl(this.data)}get data(){return this.batches.map(({data:e})=>e)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((e,n)=>e+n.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=jl(this.data)),this._nullCount}isValid(e){return!1}get(e){return null}at(e){return this.get(pi(e,this.numRows))}set(e,n){}indexOf(e,n){return-1}[Symbol.iterator](){return this.batches.length>0?hs.visit(new ee(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[ +return true;`)}function HS(t){return typeof t!="bigint"?fn(t):`${fn(t)}n`}function Vf(t,e){let n=Math.ceil(t)*e-1;return(n-n%64+64||64)/e}function ly(t,e=0){return t.length>=e?t.subarray(0,e):uo(new t.constructor(e),t,0)}var vn=class{constructor(e,n=0,r=1){this.length=Math.ceil(n/r),this.buffer=new e(this.length),this.stride=r,this.BYTES_PER_ELEMENT=e.BYTES_PER_ELEMENT,this.ArrayType=e}get byteLength(){return Math.ceil(this.length*this.stride)*this.BYTES_PER_ELEMENT}get reservedLength(){return this.buffer.length/this.stride}get reservedByteLength(){return this.buffer.byteLength}set(e,n){return this}append(e){return this.set(this.length,e)}reserve(e){if(e>0){this.length+=e;let n=this.stride,r=this.length*n,i=this.buffer.length;r>=i&&this._resize(i===0?Vf(r*1,this.BYTES_PER_ELEMENT):Vf(r*2,this.BYTES_PER_ELEMENT))}return this}flush(e=this.length){e=Vf(e*this.stride,this.BYTES_PER_ELEMENT);let n=ly(this.buffer,e);return this.clear(),n}clear(){return this.length=0,this.buffer=new this.ArrayType,this}_resize(e){return this.buffer=ly(this.buffer,e)}},ar=class extends vn{last(){return this.get(this.length-1)}get(e){return this.buffer[e]}set(e,n){return this.reserve(e-this.length+1),this.buffer[e*this.stride]=n,this}},ps=class extends ar{constructor(){super(Uint8Array,0,1/8),this.numValid=0}get numInvalid(){return this.length-this.numValid}get(e){return this.buffer[e>>3]>>e%8&1}set(e,n){let{buffer:r}=this.reserve(e-this.length+1),i=e>>3,s=e%8,o=r[i]>>s&1;return n?o===0&&(r[i]|=1<=0&&i.fill(i[r],r,e),i[e]=i[e-1]+n,this}flush(e=this.length-1){return e>this.length&&this.set(e-1,this.BYTES_PER_ELEMENT>4?BigInt(0):0),super.flush(e+1)}};var ge=class{static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e){throw new Error('"throughDOM" not available in this environment')}constructor({type:e,nullValues:n}){this.length=0,this.finished=!1,this.type=e,this.children=[],this.nullValues=n,this.stride=Lt(e),this._nulls=new ps,n&&n.length>0&&(this._isValid=ay(n))}toVector(){return new ee([this.flush()])}get ArrayType(){return this.type.ArrayType}get nullCount(){return this._nulls.numInvalid}get numChildren(){return this.children.length}get byteLength(){let e=0,{_offsets:n,_values:r,_nulls:i,_typeIds:s,children:o}=this;return n&&(e+=n.byteLength),r&&(e+=r.byteLength),i&&(e+=i.byteLength),s&&(e+=s.byteLength),o.reduce((a,l)=>a+l.byteLength,e)}get reservedLength(){return this._nulls.reservedLength}get reservedByteLength(){let e=0;return this._offsets&&(e+=this._offsets.reservedByteLength),this._values&&(e+=this._values.reservedByteLength),this._nulls&&(e+=this._nulls.reservedByteLength),this._typeIds&&(e+=this._typeIds.reservedByteLength),this.children.reduce((n,r)=>n+r.reservedByteLength,e)}get valueOffsets(){return this._offsets?this._offsets.buffer:null}get values(){return this._values?this._values.buffer:null}get nullBitmap(){return this._nulls?this._nulls.buffer:null}get typeIds(){return this._typeIds?this._typeIds.buffer:null}append(e){return this.set(this.length,e)}isValid(e){return this._isValid(e)}set(e,n){return this.setValid(e,this.isValid(n))&&this.setValue(e,n),this}setValue(e,n){this._setValue(this,e,n)}setValid(e,n){return this.length=this._nulls.set(e,+n).length,n}addChild(e,n=`${this.numChildren}`){throw new Error(`Cannot append children to non-nested type "${this.type}"`)}getChildAt(e){return this.children[e]||null}flush(){let e,n,r,i,{type:s,length:o,nullCount:a,_typeIds:l,_offsets:u,_values:c,_nulls:d}=this;(n=l?.flush(o))?i=u?.flush(o):(i=u?.flush(o))?e=c?.flush(u.last()):e=c?.flush(o),a>0&&(r=d?.flush(o));let y=this.children.map(v=>v.flush());return this.clear(),Q({type:s,length:o,nullCount:a,children:y,child:y[0],data:e,typeIds:n,nullBitmap:r,valueOffsets:i})}finish(){this.finished=!0;for(let e of this.children)e.finish();return this}clear(){var e,n,r,i;this.length=0,(e=this._nulls)===null||e===void 0||e.clear(),(n=this._values)===null||n===void 0||n.clear(),(r=this._offsets)===null||r===void 0||r.clear(),(i=this._typeIds)===null||i===void 0||i.clear();for(let s of this.children)s.clear();return this}};ge.prototype.length=1;ge.prototype.stride=1;ge.prototype.children=null;ge.prototype.finished=!1;ge.prototype.nullValues=null;ge.prototype._isValid=()=>!0;var Me=class extends ge{constructor(e){super(e),this._values=new ar(this.ArrayType,0,this.stride)}setValue(e,n){let r=this._values;return r.reserve(e-r.length+1),super.setValue(e,n)}},vt=class extends ge{constructor(e){super(e),this._pendingLength=0,this._offsets=new ms(e.type)}setValue(e,n){let r=this._pending||(this._pending=new Map),i=r.get(e);i&&(this._pendingLength-=i.length),this._pendingLength+=n instanceof Ln?n[zr].length:n.length,r.set(e,n)}setValid(e,n){return super.setValid(e,n)?!0:((this._pending||(this._pending=new Map)).set(e,void 0),!1)}clear(){return this._pendingLength=0,this._pending=void 0,super.clear()}flush(){return this._flush(),super.flush()}finish(){return this._flush(),super.finish()}_flush(){let e=this._pending,n=this._pendingLength;return this._pendingLength=0,this._pending=void 0,e&&e.size>0&&this._flushPending(e,n),this}};var _i=class{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(e,n,r,i){return e.prep(8,24),e.writeInt64(BigInt(i??0)),e.pad(4),e.writeInt32(r),e.writeInt64(BigInt(n??0)),e.offset()}};var Mt=class t{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsFooter(e,n){return(n||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsFooter(e,n){return e.setPosition(e.position()+4),(n||new t).__init(e.readInt32(e.position())+e.position(),e)}version(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):le.V1}schema(e){let n=this.bb.__offset(this.bb_pos,6);return n?(e||new gt).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}dictionaries(e,n){let r=this.bb.__offset(this.bb_pos,8);return r?(n||new _i).__init(this.bb.__vector(this.bb_pos+r)+e*24,this.bb):null}dictionariesLength(){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}recordBatches(e,n){let r=this.bb.__offset(this.bb_pos,10);return r?(n||new _i).__init(this.bb.__vector(this.bb_pos+r)+e*24,this.bb):null}recordBatchesLength(){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){let r=this.bb.__offset(this.bb_pos,12);return r?(n||new Re).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){let e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startFooter(e){e.startObject(5)}static addVersion(e,n){e.addFieldInt16(0,n,le.V1)}static addSchema(e,n){e.addFieldOffset(1,n,0)}static addDictionaries(e,n){e.addFieldOffset(2,n,0)}static startDictionariesVector(e,n){e.startVector(24,n,8)}static addRecordBatches(e,n){e.addFieldOffset(3,n,0)}static startRecordBatchesVector(e,n){e.startVector(24,n,8)}static addCustomMetadata(e,n){e.addFieldOffset(4,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endFooter(e){return e.endObject()}static finishFooterBuffer(e,n){e.finish(n)}static finishSizePrefixedFooterBuffer(e,n){e.finish(n,void 0,!0)}};var ae=class t{constructor(e=[],n,r,i=le.V5){this.fields=e||[],this.metadata=n||new Map,r||(r=$f(this.fields)),this.dictionaries=r,this.metadataVersion=i}get[Symbol.toStringTag](){return"Schema"}get names(){return this.fields.map(e=>e.name)}toString(){return`Schema<{ ${this.fields.map((e,n)=>`${n}: ${e}`).join(", ")} }>`}select(e){let n=new Set(e),r=this.fields.filter(i=>n.has(i.name));return new t(r,this.metadata)}selectAt(e){let n=e.map(r=>this.fields[r]).filter(Boolean);return new t(n,this.metadata)}assign(...e){let n=e[0]instanceof t?e[0]:Array.isArray(e[0])?new t(e[0]):new t(e),r=[...this.fields],i=Yl(Yl(new Map,this.metadata),n.metadata),s=n.fields.filter(a=>{let l=r.findIndex(u=>u.name===a.name);return~l?(r[l]=a.clone({metadata:Yl(Yl(new Map,r[l].metadata),a.metadata)}))&&!1:!0}),o=$f(s,new Map);return new t([...r,...s],i,new Map([...this.dictionaries,...o]))}};ae.prototype.fields=null;ae.prototype.metadata=null;ae.prototype.dictionaries=null;var J=class t{static new(...e){let[n,r,i,s]=e;return e[0]&&typeof e[0]=="object"&&({name:n}=e[0],r===void 0&&(r=e[0].type),i===void 0&&(i=e[0].nullable),s===void 0&&(s=e[0].metadata)),new t(`${n}`,r,i,s)}constructor(e,n,r=!1,i){this.name=e,this.type=n,this.nullable=r,this.metadata=i||new Map}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return"Field"}toString(){return`${this.name}: ${this.type}`}clone(...e){let[n,r,i,s]=e;return!e[0]||typeof e[0]!="object"?[n=this.name,r=this.type,i=this.nullable,s=this.metadata]=e:{name:n=this.name,type:r=this.type,nullable:i=this.nullable,metadata:s=this.metadata}=e[0],t.new(n,r,i,s)}};J.prototype.type=null;J.prototype.name=null;J.prototype.nullable=null;J.prototype.metadata=null;function Yl(t,e){return new Map([...t||new Map,...e||new Map])}function $f(t,e=new Map){for(let n=-1,r=t.length;++n0&&$f(s.children,e)}return e}var YS=hi,KS=Et,lr=class{static decode(e){e=new KS(V(e));let n=Mt.getRootAsFooter(e),r=ae.decode(n.schema(),new Map,n.version());return new Wf(r,n)}static encode(e){let n=new YS,r=ae.encode(n,e.schema);Mt.startRecordBatchesVector(n,e.numRecordBatches);for(let o of[...e.recordBatches()].slice().reverse())ur.encode(n,o);let i=n.endVector();Mt.startDictionariesVector(n,e.numDictionaries);for(let o of[...e.dictionaryBatches()].slice().reverse())ur.encode(n,o);let s=n.endVector();return Mt.startFooter(n),Mt.addSchema(n,r),Mt.addVersion(n,le.V5),Mt.addRecordBatches(n,i),Mt.addDictionaries(n,s),Mt.finishFooterBuffer(n,Mt.endFooter(n)),n.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}constructor(e,n=le.V5,r,i){this.schema=e,this.version=n,r&&(this._recordBatches=r),i&&(this._dictionaryBatches=i)}*recordBatches(){for(let e,n=-1,r=this.numRecordBatches;++n=0&&e=0&&e=0&&e=0&&ethis._closedPromiseResolve=e)}get closed(){return this._closedPromise}cancel(e){return O(this,void 0,void 0,function*(){yield this.return(e)})}write(e){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(e):this.resolvers.shift().resolve({done:!1,value:e}))}abort(e){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:e}:this.resolvers.shift().reject({done:!0,value:e}))}close(){if(this._closedPromiseResolve){let{resolvers:e}=this;for(;e.length>0;)e.shift().resolve(pe);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(e){return Ge.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,e)}toNodeStream(e){return Ge.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,e)}throw(e){return O(this,void 0,void 0,function*(){return yield this.abort(e),pe})}return(e){return O(this,void 0,void 0,function*(){return yield this.close(),pe})}read(e){return O(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return O(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(...e){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((n,r)=>{this.resolvers.push({resolve:n,reject:r})}):Promise.resolve(pe)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error("AsyncQueue is closed")}};var Mn=class extends Kl{write(e){if((e=V(e)).byteLength>0)return super.write(e)}toString(e=!1){return e?ao(this.toUint8Array(!0)):this.toUint8Array(!1).then(ao)}toUint8Array(e=!1){return e?Ft(this._values)[0]:O(this,void 0,void 0,function*(){var n,r,i,s;let o=[],a=0;try{for(var l=!0,u=rn(this),c;c=yield u.next(),n=c.done,!n;l=!0){s=c.value,l=!1;let d=s;o.push(d),a+=d.byteLength}}catch(d){r={error:d}}finally{try{!l&&!n&&(i=u.return)&&(yield i.call(u))}finally{if(r)throw r.error}}return Ft(o,a)[0]})}},Cn=class{constructor(e){e&&(this.source=new Hf(Ge.fromIterable(e)))}[Symbol.iterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}},Yt=class t{constructor(e){e instanceof t?this.source=e.source:e instanceof Mn?this.source=new cr(Ge.fromAsyncIterable(e)):nl(e)?this.source=new cr(Ge.fromNodeStream(e)):lo(e)?this.source=new cr(Ge.fromDOMStream(e)):el(e)?this.source=new cr(Ge.fromDOMStream(e.body)):sn(e)?this.source=new cr(Ge.fromIterable(e)):Ot(e)?this.source=new cr(Ge.fromAsyncIterable(e)):$t(e)&&(this.source=new cr(Ge.fromAsyncIterable(e)))}[Symbol.asyncIterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}get closed(){return this.source.closed}cancel(e){return this.source.cancel(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}},Hf=class{constructor(e){this.source=e}cancel(e){this.return(e)}peek(e){return this.next(e,"peek").value}read(e){return this.next(e,"read").value}next(e,n="read"){return this.source.next({cmd:n,size:e})}throw(e){return Object.create(this.source.throw&&this.source.throw(e)||pe)}return(e){return Object.create(this.source.return&&this.source.return(e)||pe)}},cr=class{constructor(e){this.source=e,this._closedPromise=new Promise(n=>this._closedPromiseResolve=n)}cancel(e){return O(this,void 0,void 0,function*(){yield this.return(e)})}get closed(){return this._closedPromise}read(e){return O(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return O(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(e){return O(this,arguments,void 0,function*(n,r="read"){return yield this.source.next({cmd:r,size:n})})}throw(e){return O(this,void 0,void 0,function*(){let n=this.source.throw&&(yield this.source.throw(e))||pe;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)})}return(e){return O(this,void 0,void 0,function*(){let n=this.source.return&&(yield this.source.return(e))||pe;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)})}};var Eo=class extends Cn{constructor(e,n){super(),this.position=0,this.buffer=V(e),this.size=n===void 0?this.buffer.byteLength:n}readInt32(e){let{buffer:n,byteOffset:r}=this.readAt(e,4);return new DataView(n,r).getInt32(0,!0)}seek(e){return this.position=Math.min(e,this.size),eko,Int128:()=>Ao,Int64:()=>fr,Uint64:()=>Be});function ys(t){return t<0&&(t=4294967295+t+1),`0x${t.toString(16)}`}var gs=8,Yf=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8],ko=class{constructor(e){this.buffer=e}high(){return this.buffer[1]}low(){return this.buffer[0]}_times(e){let n=new Uint32Array([this.buffer[1]>>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),r=new Uint32Array([e.buffer[1]>>>16,e.buffer[1]&65535,e.buffer[0]>>>16,e.buffer[0]&65535]),i=n[3]*r[3];this.buffer[0]=i&65535;let s=i>>>16;return i=n[2]*r[3],s+=i,i=n[3]*r[2]>>>0,s+=i,this.buffer[0]+=s<<16,this.buffer[1]=s>>>0>>16,this.buffer[1]+=n[1]*r[3]+n[2]*r[2]+n[3]*r[1],this.buffer[1]+=n[0]*r[3]+n[1]*r[2]+n[2]*r[1]+n[3]*r[0]<<16,this}_plus(e){let n=this.buffer[0]+e.buffer[0]>>>0;this.buffer[1]+=e.buffer[1],n>>0&&++this.buffer[1],this.buffer[0]=n}lessThan(e){return this.buffer[1]>>0,n[2]=this.buffer[2]+e.buffer[2]>>>0,n[1]=this.buffer[1]+e.buffer[1]>>>0,n[0]=this.buffer[0]+e.buffer[0]>>>0,n[0]>>0&&++n[1],n[1]>>0&&++n[2],n[2]>>0&&++n[3],this.buffer[3]=n[3],this.buffer[2]=n[2],this.buffer[1]=n[1],this.buffer[0]=n[0],this}hex(){return`${ys(this.buffer[3])} ${ys(this.buffer[2])} ${ys(this.buffer[1])} ${ys(this.buffer[0])}`}static multiply(e,n){return new t(new Uint32Array(e.buffer)).times(n)}static add(e,n){return new t(new Uint32Array(e.buffer)).plus(n)}static from(e,n=new Uint32Array(4)){return t.fromString(typeof e=="string"?e:e.toString(),n)}static fromNumber(e,n=new Uint32Array(4)){return t.fromString(e.toString(),n)}static fromString(e,n=new Uint32Array(4)){let r=e.startsWith("-"),i=e.length,s=new t(n);for(let o=r?1:0;o0&&this.readData(e,r)||new Uint8Array(0)}readOffsets(e,n){return this.readData(e,n)}readTypeIds(e,n){return this.readData(e,n)}readData(e,{length:n,offset:r}=this.nextBufferRange()){return this.bytes.subarray(r,r+n)}readDictionary(e){return this.dictionaries.get(e.id)}},Ql=class extends Lo{constructor(e,n,r,i,s){super(new Uint8Array(0),n,r,i,s),this.sources=e}readNullBitmap(e,n,{offset:r}=this.nextBufferRange()){return n<=0?new Uint8Array(0):gi(this.sources[r])}readOffsets(e,{offset:n}=this.nextBufferRange()){return Z(Uint8Array,Z(e.OffsetArrayType,this.sources[n]))}readTypeIds(e,{offset:n}=this.nextBufferRange()){return Z(Uint8Array,Z(e.ArrayType,this.sources[n]))}readData(e,{offset:n}=this.nextBufferRange()){let{sources:r}=this;return F.isTimestamp(e)?Z(Uint8Array,fr.convertArray(r[n])):(F.isInt(e)||F.isTime(e))&&e.bitWidth===64||F.isDuration(e)?Z(Uint8Array,fr.convertArray(r[n])):F.isDate(e)&&e.unit===Fe.MILLISECOND?Z(Uint8Array,fr.convertArray(r[n])):F.isDecimal(e)?Z(Uint8Array,Ao.convertArray(r[n])):F.isBinary(e)||F.isLargeBinary(e)||F.isFixedSizeBinary(e)?QS(r[n]):F.isBool(e)?gi(r[n]):F.isUtf8(e)||F.isLargeUtf8(e)?Tn(r[n].join("")):Z(Uint8Array,Z(e.ArrayType,r[n].map(i=>+i)))}};function QS(t){let e=t.join(""),n=new Uint8Array(e.length/2);for(let r=0;r>1]=Number.parseInt(e.slice(r,r+2),16);return n}var vs=class extends vt{constructor(e){super(e),this._values=new vn(Uint8Array)}get byteLength(){let e=this._pendingLength+this.length*4;return this._offsets&&(e+=this._offsets.byteLength),this._values&&(e+=this._values.byteLength),this._nulls&&(e+=this._nulls.byteLength),e}setValue(e,n){return super.setValue(e,V(n))}_flushPending(e,n){let r=this._offsets,i=this._values.reserve(n).buffer,s=0;for(let[o,a]of e)if(a===void 0)r.set(o,0);else{let l=a.length;i.set(a,s),r.set(o,l),s+=l}}};var _s=class extends vt{constructor(e){super(e),this._values=new vn(Uint8Array)}get byteLength(){let e=this._pendingLength+this.length*4;return this._offsets&&(e+=this._offsets.byteLength),this._values&&(e+=this._values.byteLength),this._nulls&&(e+=this._nulls.byteLength),e}setValue(e,n){return super.setValue(e,V(n))}_flushPending(e,n){let r=this._offsets,i=this._values.reserve(n).buffer,s=0;for(let[o,a]of e)if(a===void 0)r.set(o,BigInt(0));else{let l=a.length;i.set(a,s),r.set(o,BigInt(l)),s+=l}}};var Gl=class extends ge{constructor(e){super(e),this._values=new ps}setValue(e,n){this._values.set(e,+n)}};var Si=class extends Me{};Si.prototype._setValue=Df;var Mo=class extends Si{};Mo.prototype._setValue=Sl;var Co=class extends Si{};Co.prototype._setValue=bl;var Uo=class extends Me{};Uo.prototype._setValue=Of;var Xl=class extends ge{constructor({type:e,nullValues:n,dictionaryHashFunction:r}){super({type:new At(e.dictionary,e.indices,e.id,e.isOrdered)}),this._nulls=null,this._dictionaryOffset=0,this._keysToIndices=Object.create(null),this.indices=bi({type:this.type.indices,nullValues:n}),this.dictionary=bi({type:this.type.dictionary,nullValues:null}),typeof r=="function"&&(this.valueToKey=r)}get values(){return this.indices.values}get nullCount(){return this.indices.nullCount}get nullBitmap(){return this.indices.nullBitmap}get byteLength(){return this.indices.byteLength+this.dictionary.byteLength}get reservedLength(){return this.indices.reservedLength+this.dictionary.reservedLength}get reservedByteLength(){return this.indices.reservedByteLength+this.dictionary.reservedByteLength}isValid(e){return this.indices.isValid(e)}setValid(e,n){let r=this.indices;return n=r.setValid(e,n),this.length=r.length,n}setValue(e,n){let r=this._keysToIndices,i=this.valueToKey(n),s=r[i];return s===void 0&&(r[i]=s=this._dictionaryOffset+this.dictionary.append(n).length-1),this.indices.setValue(e,s)}flush(){let e=this.type,n=this._dictionary,r=this.dictionary.toVector(),i=this.indices.flush().clone(e);return i.dictionary=n?n.concat(r):r,this.finished||(this._dictionaryOffset+=r.length),this._dictionary=i.dictionary,this.clear(),i}finish(){return this.indices.finish(),this.dictionary.finish(),this._dictionaryOffset=0,this._keysToIndices=Object.create(null),super.finish()}clear(){return this.indices.clear(),this.dictionary.clear(),super.clear()}valueToKey(e){return typeof e=="string"?e:`${e}`}};var Ro=class extends Me{};Ro.prototype._setValue=Bf;var Zl=class extends ge{setValue(e,n){let[r]=this.children,i=e*this.stride;for(let s=-1,o=n.length;++s0)throw new Error("FixedSizeListBuilder can only have one child.");let r=this.children.push(e);return this.type=new mn(this.type.listSize,new J(n,e.type,!0)),r}};var xi=class extends Me{setValue(e,n){this._values.set(e,n)}},Jl=class extends xi{setValue(e,n){super.setValue(e,Bo(n))}},ql=class extends xi{},eu=class extends xi{};var Ii=class extends Me{};Ii.prototype._setValue=Ff;var Po=class extends Ii{};Po.prototype._setValue=El;var jo=class extends Ii{};jo.prototype._setValue=kl;var dr=class extends Me{};dr.prototype._setValue=Ef;var zo=class extends dr{};zo.prototype._setValue=Al;var Vo=class extends dr{};Vo.prototype._setValue=Ll;var $o=class extends dr{};$o.prototype._setValue=Ml;var Wo=class extends dr{};Wo.prototype._setValue=Cl;var Kt=class extends Me{setValue(e,n){this._values.set(e,n)}},tu=class extends Kt{},nu=class extends Kt{},ru=class extends Kt{},iu=class extends Kt{},su=class extends Kt{},ou=class extends Kt{},au=class extends Kt{},lu=class extends Kt{};var uu=class extends vt{constructor(e){super(e),this._offsets=new ms(e.type)}addChild(e,n="0"){if(this.numChildren>0)throw new Error("ListBuilder can only have one child.");return this.children[this.numChildren]=e,this.type=new hn(new J(n,e.type,!0)),this.numChildren-1}_flushPending(e){let n=this._offsets,[r]=this.children;for(let[i,s]of e)if(typeof s>"u")n.set(i,0);else{let o=s,a=o.length,l=n.set(i,a).buffer[i];for(let u=-1;++u0)throw new Error("ListBuilder can only have one child.");return this.children[this.numChildren]=e,this.type=new yn(new J(n,e.type,!0),this.type.keysSorted),this.numChildren-1}_flushPending(e){let n=this._offsets,[r]=this.children;for(let[i,s]of e)if(s===void 0)n.set(i,0);else{let{[i]:o,[i+1]:a}=n.set(i,s.size).buffer;for(let l of s.entries())if(r.set(o,l),++o>=a)break}}};var fu=class extends ge{setValue(e,n){}setValid(e,n){return this.length=Math.max(e+1,this.length),n}};var du=class extends ge{setValue(e,n){let{children:r,type:i}=this;switch(Array.isArray(n)||n.constructor){case!0:return i.children.forEach((s,o)=>r[o].set(e,n[o]));case Map:return i.children.forEach((s,o)=>r[o].set(e,n.get(s.name)));default:return i.children.forEach((s,o)=>r[o].set(e,n[s.name]))}}setValid(e,n){return super.setValid(e,n)||this.children.forEach(r=>r.setValid(e,n)),n}addChild(e,n=`${this.numChildren}`){let r=this.children.push(e);return this.type=new he([...this.type.children,new J(n,e.type,!0)]),r}};var hr=class extends Me{};hr.prototype._setValue=Nf;var Ho=class extends hr{};Ho.prototype._setValue=xl;var Yo=class extends hr{};Yo.prototype._setValue=Il;var Ko=class extends hr{};Ko.prototype._setValue=Bl;var Qo=class extends hr{};Qo.prototype._setValue=Dl;var pr=class extends Me{};pr.prototype._setValue=Tf;var Go=class extends pr{};Go.prototype._setValue=Nl;var Xo=class extends pr{};Xo.prototype._setValue=Tl;var Zo=class extends pr{};Zo.prototype._setValue=Ol;var Jo=class extends pr{};Jo.prototype._setValue=Fl;var ws=class extends ge{constructor(e){super(e),this._typeIds=new ar(Int8Array,0,1),typeof e.valueToChildTypeId=="function"&&(this._valueToChildTypeId=e.valueToChildTypeId)}get typeIdToChildIndex(){return this.type.typeIdToChildIndex}append(e,n){return this.set(this.length,e,n)}set(e,n,r){return r===void 0&&(r=this._valueToChildTypeId(this,n,e)),this.setValue(e,n,r),this}setValue(e,n,r){this._typeIds.set(e,r);let i=this.type.typeIdToChildIndex[r],s=this.children[i];s?.set(e,n)}addChild(e,n=`${this.children.length}`){let r=this.children.push(e),{type:{children:i,mode:s,typeIds:o}}=this,a=[...i,new J(n,e.type)];return this.type=new pn(s,[...o,r],a),r}_valueToChildTypeId(e,n,r){throw new Error("Cannot map UnionBuilder value to child typeId. Pass the `childTypeId` as the second argument to unionBuilder.append(), or supply a `valueToChildTypeId` function as part of the UnionBuilder constructor options.")}},hu=class extends ws{},pu=class extends ws{constructor(e){super(e),this._offsets=new ar(Int32Array)}setValue(e,n,r){let i=this._typeIds.set(e,r).buffer[e],s=this.getChildAt(this.type.typeIdToChildIndex[i]),o=this._offsets.set(e,s.length).buffer[e];s?.set(o,n)}};var qo=class extends vt{constructor(e){super(e),this._values=new vn(Uint8Array)}get byteLength(){let e=this._pendingLength+this.length*4;return this._offsets&&(e+=this._offsets.byteLength),this._values&&(e+=this._values.byteLength),this._nulls&&(e+=this._nulls.byteLength),e}setValue(e,n){return super.setValue(e,Tn(n))}_flushPending(e,n){}};qo.prototype._flushPending=vs.prototype._flushPending;var ea=class extends vt{constructor(e){super(e),this._values=new vn(Uint8Array)}get byteLength(){let e=this._pendingLength+this.length*4;return this._offsets&&(e+=this._offsets.byteLength),this._values&&(e+=this._values.byteLength),this._nulls&&(e+=this._nulls.byteLength),e}setValue(e,n){return super.setValue(e,Tn(n))}_flushPending(e,n){}};ea.prototype._flushPending=_s.prototype._flushPending;var Qf=class extends C{visitNull(){return fu}visitBool(){return Gl}visitInt(){return Kt}visitInt8(){return tu}visitInt16(){return nu}visitInt32(){return ru}visitInt64(){return iu}visitUint8(){return su}visitUint16(){return ou}visitUint32(){return au}visitUint64(){return lu}visitFloat(){return xi}visitFloat16(){return Jl}visitFloat32(){return ql}visitFloat64(){return eu}visitUtf8(){return qo}visitLargeUtf8(){return ea}visitBinary(){return vs}visitLargeBinary(){return _s}visitFixedSizeBinary(){return Ro}visitDate(){return Si}visitDateDay(){return Mo}visitDateMillisecond(){return Co}visitTimestamp(){return hr}visitTimestampSecond(){return Ho}visitTimestampMillisecond(){return Yo}visitTimestampMicrosecond(){return Ko}visitTimestampNanosecond(){return Qo}visitTime(){return pr}visitTimeSecond(){return Go}visitTimeMillisecond(){return Xo}visitTimeMicrosecond(){return Zo}visitTimeNanosecond(){return Jo}visitDecimal(){return Uo}visitList(){return uu}visitStruct(){return du}visitUnion(){return ws}visitDenseUnion(){return pu}visitSparseUnion(){return hu}visitDictionary(){return Xl}visitInterval(){return Ii}visitIntervalDayTime(){return Po}visitIntervalYearMonth(){return jo}visitDuration(){return dr}visitDurationSecond(){return zo}visitDurationMillisecond(){return Vo}visitDurationMicrosecond(){return $o}visitDurationNanosecond(){return Wo}visitFixedSizeList(){return Zl}visitMap(){return cu}},uy=new Qf;var j=class extends C{compareSchemas(e,n){return e===n||n instanceof e.constructor&&this.compareManyFields(e.fields,n.fields)}compareManyFields(e,n){return e===n||Array.isArray(e)&&Array.isArray(n)&&e.length===n.length&&e.every((r,i)=>this.compareFields(r,n[i]))}compareFields(e,n){return e===n||n instanceof e.constructor&&e.name===n.name&&e.nullable===n.nullable&&this.visit(e.type,n.type)}};function dt(t,e){return e instanceof t.constructor}function Bi(t,e){return t===e||dt(t,e)}function mr(t,e){return t===e||dt(t,e)&&t.bitWidth===e.bitWidth&&t.isSigned===e.isSigned}function mu(t,e){return t===e||dt(t,e)&&t.precision===e.precision}function GS(t,e){return t===e||dt(t,e)&&t.byteWidth===e.byteWidth}function Gf(t,e){return t===e||dt(t,e)&&t.unit===e.unit}function ta(t,e){return t===e||dt(t,e)&&t.unit===e.unit&&t.timezone===e.timezone}function na(t,e){return t===e||dt(t,e)&&t.unit===e.unit&&t.bitWidth===e.bitWidth}function XS(t,e){return t===e||dt(t,e)&&t.children.length===e.children.length&&Un.compareManyFields(t.children,e.children)}function ZS(t,e){return t===e||dt(t,e)&&t.children.length===e.children.length&&Un.compareManyFields(t.children,e.children)}function Xf(t,e){return t===e||dt(t,e)&&t.mode===e.mode&&t.typeIds.every((n,r)=>n===e.typeIds[r])&&Un.compareManyFields(t.children,e.children)}function JS(t,e){return t===e||dt(t,e)&&t.id===e.id&&t.isOrdered===e.isOrdered&&Un.visit(t.indices,e.indices)&&Un.visit(t.dictionary,e.dictionary)}function Zf(t,e){return t===e||dt(t,e)&&t.unit===e.unit}function ra(t,e){return t===e||dt(t,e)&&t.unit===e.unit}function qS(t,e){return t===e||dt(t,e)&&t.listSize===e.listSize&&t.children.length===e.children.length&&Un.compareManyFields(t.children,e.children)}function eb(t,e){return t===e||dt(t,e)&&t.keysSorted===e.keysSorted&&t.children.length===e.children.length&&Un.compareManyFields(t.children,e.children)}j.prototype.visitNull=Bi;j.prototype.visitBool=Bi;j.prototype.visitInt=mr;j.prototype.visitInt8=mr;j.prototype.visitInt16=mr;j.prototype.visitInt32=mr;j.prototype.visitInt64=mr;j.prototype.visitUint8=mr;j.prototype.visitUint16=mr;j.prototype.visitUint32=mr;j.prototype.visitUint64=mr;j.prototype.visitFloat=mu;j.prototype.visitFloat16=mu;j.prototype.visitFloat32=mu;j.prototype.visitFloat64=mu;j.prototype.visitUtf8=Bi;j.prototype.visitLargeUtf8=Bi;j.prototype.visitBinary=Bi;j.prototype.visitLargeBinary=Bi;j.prototype.visitFixedSizeBinary=GS;j.prototype.visitDate=Gf;j.prototype.visitDateDay=Gf;j.prototype.visitDateMillisecond=Gf;j.prototype.visitTimestamp=ta;j.prototype.visitTimestampSecond=ta;j.prototype.visitTimestampMillisecond=ta;j.prototype.visitTimestampMicrosecond=ta;j.prototype.visitTimestampNanosecond=ta;j.prototype.visitTime=na;j.prototype.visitTimeSecond=na;j.prototype.visitTimeMillisecond=na;j.prototype.visitTimeMicrosecond=na;j.prototype.visitTimeNanosecond=na;j.prototype.visitDecimal=Bi;j.prototype.visitList=XS;j.prototype.visitStruct=ZS;j.prototype.visitUnion=Xf;j.prototype.visitDenseUnion=Xf;j.prototype.visitSparseUnion=Xf;j.prototype.visitDictionary=JS;j.prototype.visitInterval=Zf;j.prototype.visitIntervalDayTime=Zf;j.prototype.visitIntervalYearMonth=Zf;j.prototype.visitDuration=ra;j.prototype.visitDurationSecond=ra;j.prototype.visitDurationMillisecond=ra;j.prototype.visitDurationMicrosecond=ra;j.prototype.visitDurationNanosecond=ra;j.prototype.visitFixedSizeList=qS;j.prototype.visitMap=eb;var Un=new j;function Di(t,e){return Un.compareSchemas(t,e)}function cy(t,e){return Un.compareFields(t,e)}function fy(t,e){return Un.visit(t,e)}function bi(t){let e=t.type,n=new(uy.getVisitFn(e)())(t);if(e.children&&e.children.length>0){let r=t.children||[],i={nullValues:t.nullValues},s=Array.isArray(r)?((o,a)=>r[a]||i):(({name:o})=>r[o]||i);for(let[o,a]of e.children.entries()){let{type:l}=a,u=s(a,o);n.children.push(bi(Object.assign(Object.assign({},u),{type:l})))}}return n}function yu(t,e){return tb(t,e.map(n=>n.data.concat()))}function tb(t,e){let n=[...t.fields],r=[],i={numBatches:e.reduce((d,y)=>Math.max(d,y.length),0)},s=0,o=0,a=-1,l=e.length,u,c=[];for(;i.numBatches-- >0;){for(o=Number.POSITIVE_INFINITY,a=-1;++a0&&(r[s++]=Q({type:new he(n),length:o,nullCount:0,children:c.slice()})))}return[t=t.assign(n),r.map(d=>new Ne(t,d))]}function nb(t,e,n,r,i){var s;let o=(e+63&-64)>>3;for(let a=-1,l=r.length;++a=e)c===e?n[a]=u:(n[a]=u.slice(0,e),i.numBatches=Math.max(i.numBatches,r[a].unshift(u.slice(e,c-e))));else{let d=t[a];t[a]=d.clone({nullable:!0}),n[a]=(s=u?._changeLengthAndBackfillNullBitmap(e))!==null&&s!==void 0?s:Q({type:d.type,length:e,nullCount:e,nullBitmap:new Uint8Array(o)})}}return n}var dy,_t=class t{constructor(...e){var n,r;if(e.length===0)return this.batches=[],this.schema=new ae([]),this._offsets=[0],this;let i,s;e[0]instanceof ae&&(i=e.shift()),e.at(-1)instanceof Uint32Array&&(s=e.pop());let o=l=>{if(l){if(l instanceof Ne)return[l];if(l instanceof t)return l.batches;if(l instanceof se){if(l.type instanceof he)return[new Ne(new ae(l.type.children),l)]}else{if(Array.isArray(l))return l.flatMap(u=>o(u));if(typeof l[Symbol.iterator]=="function")return[...l].flatMap(u=>o(u));if(typeof l=="object"){let u=Object.keys(l),c=u.map(v=>new ee([l[v]])),d=i??new ae(u.map((v,S)=>new J(String(v),c[S].type,c[S].nullable))),[,y]=yu(d,c);return y.length===0?[new Ne(l)]:y}}}return[]},a=e.flatMap(l=>o(l));if(i=(r=i??((n=a[0])===null||n===void 0?void 0:n.schema))!==null&&r!==void 0?r:new ae([]),!(i instanceof ae))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");for(let l of a){if(!(l instanceof Ne))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");if(!Di(i,l.schema))throw new TypeError("Table and inner RecordBatch schemas must be equivalent.")}this.schema=i,this.batches=a,this._offsets=s??zl(this.data)}get data(){return this.batches.map(({data:e})=>e)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((e,n)=>e+n.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=jl(this.data)),this._nullCount}isValid(e){return!1}get(e){return null}at(e){return this.get(pi(e,this.numRows))}set(e,n){}indexOf(e,n){return-1}[Symbol.iterator](){return this.batches.length>0?hs.visit(new ee(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[ ${this.toArray().join(`, `)} -]`}concat(...e){let n=this.schema,r=this.data.concat(e.flatMap(({data:i})=>i));return new t(n,r.map(i=>new Ne(n,i)))}slice(e,n){let r=this.schema;[e,n]=Do({length:this.numRows},e,n);let i=Vl(this.data,this._offsets,e,n);return new t(r,i.map(s=>new Ne(r,s)))}getChild(e){return this.getChildAt(this.schema.fields.findIndex(n=>n.name===e))}getChildAt(e){if(e>-1&&er.children[e]);if(n.length===0){let{type:r}=this.schema.fields[e],i=Q({type:r,length:0,nullCount:0});n.push(i._changeLengthAndBackfillNullBitmap(this.numRows))}return new ee(n)}return null}setChild(e,n){var r;return this.setChildAt((r=this.schema.fields)===null||r===void 0?void 0:r.findIndex(i=>i.name===e),n)}setChildAt(e,n){let r=this.schema,i=[...this.batches];if(e>-1&&ethis.getChildAt(u));[s[e],a[e]]=[o,n],[r,i]=yu(r,a)}return new t(r,i)}select(e){let n=this.schema.fields.reduce((r,i,s)=>r.set(i.name,s),new Map);return this.selectAt(e.map(r=>n.get(r)).filter(r=>r>-1))}selectAt(e){let n=this.schema.selectAt(e),r=this.batches.map(i=>i.selectAt(e));return new t(n,r)}assign(e){let n=this.schema.fields,[r,i]=e.schema.fields.reduce((a,l,u)=>{let[c,d]=a,y=n.findIndex(v=>v.name===l.name);return~y?d[y]=u:c.push(u),a},[[],[]]),s=this.schema.assign(e.schema),o=[...n.map((a,l)=>[l,i[l]]).map(([a,l])=>l===void 0?this.getChildAt(a):e.getChildAt(l)),...r.map(a=>e.getChildAt(a))].filter(Boolean);return new t(...yu(s,o))}};dy=Symbol.toStringTag;_t[dy]=(t=>(t.schema=null,t.batches=[],t._offsets=new Uint32Array([0]),t._nullCount=-1,t[Symbol.isConcatSpreadable]=!0,t.isValid=ds(Oo),t.get=ds(Le.getVisitFn(p.Struct)),t.set=$l(Xe.getVisitFn(p.Struct)),t.indexOf=Wl(vi.getVisitFn(p.Struct)),"Table"))(_t.prototype);var py,Ne=class t{constructor(...e){switch(e.length){case 2:{if([this.schema]=e,!(this.schema instanceof ae))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");if([,this.data=Q({nullCount:0,type:new he(this.schema.fields),children:this.schema.fields.map(n=>Q({type:n.type,nullCount:0}))})]=e,!(this.data instanceof se))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");[this.schema,this.data]=hy(this.schema,this.data.children);break}case 1:{let[n]=e,{fields:r,children:i,length:s}=Object.keys(n).reduce((l,u,c)=>(l.children[c]=n[u],l.length=Math.max(l.length,n[u].length),l.fields[c]=J.new({name:u,type:n[u].type,nullable:!0}),l),{length:0,fields:new Array,children:new Array}),o=new ae(r),a=Q({type:new he(r),length:s,children:i,nullCount:0});[this.schema,this.data]=hy(o,a.children,s);break}default:throw new TypeError("RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.")}}get dictionaries(){return this._dictionaries||(this._dictionaries=my(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(e){return this.data.getValid(e)}get(e){return Le.visit(this.data,e)}at(e){return this.get(pi(e,this.numRows))}set(e,n){return Xe.visit(this.data,e,n)}indexOf(e,n){return vi.visit(this.data,e,n)}[Symbol.iterator](){return hs.visit(new ee([this.data]))}toArray(){return[...this]}concat(...e){return new _t(this.schema,[this,...e])}slice(e,n){let[r]=new ee([this.data]).slice(e,n).data;return new t(this.schema,r)}getChild(e){var n;return this.getChildAt((n=this.schema.fields)===null||n===void 0?void 0:n.findIndex(r=>r.name===e))}getChildAt(e){return e>-1&&ei.name===e),n)}setChildAt(e,n){let r=this.schema,i=this.data;if(e>-1&&ea.name===s);~o&&(i[o]=this.data.children[o])}return new t(n,Q({type:r,length:this.numRows,children:i}))}selectAt(e){let n=this.schema.selectAt(e),r=e.map(s=>this.data.children[s]).filter(Boolean),i=Q({type:new he(n.fields),length:this.numRows,children:r});return new t(n,i)}};py=Symbol.toStringTag;Ne[py]=(t=>(t._nullCount=-1,t[Symbol.isConcatSpreadable]=!0,"RecordBatch"))(Ne.prototype);function hy(t,e,n=e.reduce((r,i)=>Math.max(r,i.length),0)){var r;let i=[...t.fields],s=[...e],o=(n+63&-64)>>3;for(let[a,l]of t.fields.entries()){let u=e[a];(!u||u.length!==n)&&(i[a]=l.clone({nullable:!0}),s[a]=(r=u?._changeLengthAndBackfillNullBitmap(n))!==null&&r!==void 0?r:Q({type:l.type,length:n,nullCount:n,nullBitmap:new Uint8Array(o)}))}return[t.assign(i),Q({type:new he(i),length:n,children:s})]}function my(t,e,n=new Map){var r,i;if(((r=t?.length)!==null&&r!==void 0?r:0)>0&&t?.length===e?.length)for(let s=-1,o=t.length;++sQ({type:i.type})),r=Q({type:new he(e.fields),nullCount:0,children:n});super(e,r)}};var _n=class t{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsMessage(e,n){return(n||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsMessage(e,n){return e.setPosition(e.position()+4),(n||new t).__init(e.readInt32(e.position())+e.position(),e)}version(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):le.V1}headerType(){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint8(this.bb_pos+e):q.NONE}header(e){let n=this.bb.__offset(this.bb_pos,8);return n?this.bb.__union(e,this.bb_pos+n):null}bodyLength(){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readInt64(this.bb_pos+e):BigInt("0")}customMetadata(e,n){let r=this.bb.__offset(this.bb_pos,12);return r?(n||new Re).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){let e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startMessage(e){e.startObject(5)}static addVersion(e,n){e.addFieldInt16(0,n,le.V1)}static addHeaderType(e,n){e.addFieldInt8(1,n,q.NONE)}static addHeader(e,n){e.addFieldOffset(2,n,0)}static addBodyLength(e,n){e.addFieldInt64(3,n,BigInt("0"))}static addCustomMetadata(e,n){e.addFieldOffset(4,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endMessage(e){return e.endObject()}static finishMessageBuffer(e,n){e.finish(n)}static finishSizePrefixedMessageBuffer(e,n){e.finish(n,void 0,!0)}static createMessage(e,n,r,i,s,o){return t.startMessage(e),t.addVersion(e,n),t.addHeaderType(e,r),t.addHeader(e,i),t.addBodyLength(e,s),t.addCustomMetadata(e,o),t.endMessage(e)}};var qf=class extends C{visit(e,n){return e==null||n==null?void 0:super.visit(e,n)}visitNull(e,n){return wo.startNull(n),wo.endNull(n)}visitInt(e,n){return ln.startInt(n),ln.addBitWidth(n,e.bitWidth),ln.addIsSigned(n,e.isSigned),ln.endInt(n)}visitFloat(e,n){return Cr.startFloatingPoint(n),Cr.addPrecision(n,e.precision),Cr.endFloatingPoint(n)}visitBinary(e,n){return mo.startBinary(n),mo.endBinary(n)}visitLargeBinary(e,n){return go.startLargeBinary(n),go.endLargeBinary(n)}visitBool(e,n){return yo.startBool(n),yo.endBool(n)}visitUtf8(e,n){return bo.startUtf8(n),bo.endUtf8(n)}visitLargeUtf8(e,n){return vo.startLargeUtf8(n),vo.endLargeUtf8(n)}visitDecimal(e,n){return kn.startDecimal(n),kn.addScale(n,e.scale),kn.addPrecision(n,e.precision),kn.addBitWidth(n,e.bitWidth),kn.endDecimal(n)}visitDate(e,n){return kr.startDate(n),kr.addUnit(n,e.unit),kr.endDate(n)}visitTime(e,n){return Yn.startTime(n),Yn.addUnit(n,e.unit),Yn.addBitWidth(n,e.bitWidth),Yn.endTime(n)}visitTimestamp(e,n){let r=e.timezone&&n.createString(e.timezone)||void 0;return Kn.startTimestamp(n),Kn.addUnit(n,e.unit),r!==void 0&&Kn.addTimezone(n,r),Kn.endTimestamp(n)}visitInterval(e,n){return Ur.startInterval(n),Ur.addUnit(n,e.unit),Ur.endInterval(n)}visitDuration(e,n){return Ar.startDuration(n),Ar.addUnit(n,e.unit),Ar.endDuration(n)}visitList(e,n){return _o.startList(n),_o.endList(n)}visitStruct(e,n){return So.startStruct_(n),So.endStruct_(n)}visitUnion(e,n){un.startTypeIdsVector(n,e.typeIds.length);let r=un.createTypeIdsVector(n,e.typeIds);return un.startUnion(n),un.addMode(n,e.mode),un.addTypeIds(n,r),un.endUnion(n)}visitDictionary(e,n){let r=this.visit(e.indices,n);return En.startDictionaryEncoding(n),En.addId(n,BigInt(e.id)),En.addIsOrdered(n,e.isOrdered),r!==void 0&&En.addIndexType(n,r),En.endDictionaryEncoding(n)}visitFixedSizeBinary(e,n){return Lr.startFixedSizeBinary(n),Lr.addByteWidth(n,e.byteWidth),Lr.endFixedSizeBinary(n)}visitFixedSizeList(e,n){return Mr.startFixedSizeList(n),Mr.addListSize(n,e.listSize),Mr.endFixedSizeList(n)}visitMap(e,n){return Rr.startMap(n),Rr.addKeysSorted(n,e.keysSorted),Rr.endMap(n)}},gu=new qf;function _y(t,e=new Map){return new ae(ib(t,e),vu(t.metadata),e)}function ed(t){return new Ze(t.count,Sy(t.columns),by(t.columns))}function wy(t){return new St(ed(t.data),t.id,t.isDelta)}function ib(t,e){return(t.fields||[]).filter(Boolean).map(n=>J.fromJSON(n,e))}function yy(t,e){return(t.children||[]).filter(Boolean).map(n=>J.fromJSON(n,e))}function Sy(t){return(t||[]).reduce((e,n)=>[...e,new Qt(n.count,sb(n.VALIDITY)),...Sy(n.children)],[])}function by(t,e=[]){for(let n=-1,r=(t||[]).length;++ne+ +(n===0),0)}function xy(t,e){let n,r,i,s,o,a;return!e||!(s=t.dictionary)?(o=vy(t,yy(t,e)),i=new J(t.name,o,t.nullable,vu(t.metadata))):e.has(n=s.id)?(r=(r=s.indexType)?gy(r):new An,a=new At(e.get(n),r,n,s.isOrdered),i=new J(t.name,a,t.nullable,vu(t.metadata))):(r=(r=s.indexType)?gy(r):new An,e.set(n,o=vy(t,yy(t,e))),a=new At(o,r,n,s.isOrdered),i=new J(t.name,a,t.nullable,vu(t.metadata))),i||null}function vu(t=[]){return new Map(t.map(({key:e,value:n})=>[e,n]))}function gy(t){return new Pe(t.isSigned,t.bitWidth)}function vy(t,e){let n=t.type.name;switch(n){case"NONE":return new ft;case"null":return new ft;case"binary":return new Qn;case"largebinary":return new Gn;case"utf8":return new Xn;case"largeutf8":return new Zn;case"bool":return new Jn;case"list":return new hn((e||[])[0]);case"struct":return new he(e||[]);case"struct_":return new he(e||[])}switch(n){case"int":{let r=t.type;return new Pe(r.isSigned,r.bitWidth)}case"floatingpoint":{let r=t.type;return new Ht(ce[r.precision])}case"decimal":{let r=t.type;return new qn(r.scale,r.precision,r.bitWidth)}case"date":{let r=t.type;return new er(Fe[r.unit])}case"time":{let r=t.type;return new tr(k[r.unit],r.bitWidth)}case"timestamp":{let r=t.type;return new nr(k[r.unit],r.timezone)}case"interval":{let r=t.type;return new rr(We[r.unit])}case"duration":{let r=t.type;return new ir(k[r.unit])}case"union":{let r=t.type,[i,...s]=(r.mode+"").toLowerCase(),o=i.toUpperCase()+s.join("");return new pn(de[o],r.typeIds||[],e||[])}case"fixedsizebinary":{let r=t.type;return new sr(r.byteWidth)}case"fixedsizelist":{let r=t.type;return new mn(r.listSize,(e||[])[0])}case"map":{let r=t.type;return new yn((e||[])[0],r.keysSorted)}}throw new Error(`Unrecognized type: "${n}"`)}var ob=hi,ab=Et,bt=class t{static fromJSON(e,n){let r=new t(0,le.V5,n);return r._createHeader=lb(e,n),r}static decode(e){e=new ab(V(e));let n=_n.getRootAsMessage(e),r=n.bodyLength(),i=n.version(),s=n.headerType(),o=new t(r,i,s);return o._createHeader=ub(n,s),o}static encode(e){let n=new ob,r=-1;return e.isSchema()?r=ae.encode(n,e.header()):e.isRecordBatch()?r=Ze.encode(n,e.header()):e.isDictionaryBatch()&&(r=St.encode(n,e.header())),_n.startMessage(n),_n.addVersion(n,le.V5),_n.addHeader(n,r),_n.addHeaderType(n,e.headerType),_n.addBodyLength(n,BigInt(e.bodyLength)),_n.finishMessageBuffer(n,_n.endMessage(n)),n.asUint8Array()}static from(e,n=0){if(e instanceof ae)return new t(0,le.V5,q.Schema,e);if(e instanceof Ze)return new t(n,le.V5,q.RecordBatch,e);if(e instanceof St)return new t(n,le.V5,q.DictionaryBatch,e);throw new Error(`Unrecognized Message header: ${e}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===q.Schema}isRecordBatch(){return this.headerType===q.RecordBatch}isDictionaryBatch(){return this.headerType===q.DictionaryBatch}constructor(e,n,r,i){this._version=n,this._headerType=r,this.body=new Uint8Array(0),i&&(this._createHeader=()=>i),this._bodyLength=ne(e)}},Ze=class{get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}constructor(e,n,r){this._nodes=n,this._buffers=r,this._length=ne(e)}},St=class{get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}constructor(e,n,r=!1){this._data=e,this._isDelta=r,this._id=ne(n)}},wt=class{constructor(e,n){this.offset=ne(e),this.length=ne(n)}},Qt=class{constructor(e,n){this.length=ne(e),this.nullCount=ne(n)}};function lb(t,e){return(()=>{switch(e){case q.Schema:return ae.fromJSON(t);case q.RecordBatch:return Ze.fromJSON(t);case q.DictionaryBatch:return St.fromJSON(t)}throw new Error(`Unrecognized Message type: { name: ${q[e]}, type: ${e} }`)})}function ub(t,e){return(()=>{switch(e){case q.Schema:return ae.decode(t.header(new gt),new Map,t.version());case q.RecordBatch:return Ze.decode(t.header(new kt),t.version());case q.DictionaryBatch:return St.decode(t.header(new Hn),t.version())}throw new Error(`Unrecognized Message type: { name: ${q[e]}, type: ${e} }`)})}J.encode=wb;J.decode=vb;J.fromJSON=xy;ae.encode=_b;ae.decode=cb;ae.fromJSON=_y;Ze.encode=Sb;Ze.decode=fb;Ze.fromJSON=ed;St.encode=bb;St.decode=db;St.fromJSON=wy;Qt.encode=xb;Qt.decode=pb;wt.encode=Ib;wt.decode=hb;function cb(t,e=new Map,n=le.V5){let r=gb(t,e);return new ae(r,_u(t),e,n)}function fb(t,e=le.V5){if(t.compression()!==null)throw new Error("Record batch compression not implemented");return new Ze(t.length(),mb(t),yb(t,e))}function db(t,e=le.V5){return new St(Ze.decode(t.data(),e),t.id(),t.isDelta())}function hb(t){return new wt(t.offset(),t.length())}function pb(t){return new Qt(t.length(),t.nullCount())}function mb(t){let e=[];for(let n,r=-1,i=-1,s=t.nodesLength();++rJ.encode(t,s));gt.startFieldsVector(t,n.length);let r=gt.createFieldsVector(t,n),i=e.metadata&&e.metadata.size>0?gt.createCustomMetadataVector(t,[...e.metadata].map(([s,o])=>{let a=t.createString(`${s}`),l=t.createString(`${o}`);return Re.startKeyValue(t),Re.addKey(t,a),Re.addValue(t,l),Re.endKeyValue(t)})):-1;return gt.startSchema(t),gt.addFields(t,r),gt.addEndianness(t,Bb?Er.Little:Er.Big),i!==-1&>.addCustomMetadata(t,i),gt.endSchema(t)}function wb(t,e){let n=-1,r=-1,i=-1,s=e.type,o=e.typeId;F.isDictionary(s)?(o=s.dictionary.typeId,i=gu.visit(s,t),r=gu.visit(s.dictionary,t)):r=gu.visit(s,t);let a=(s.children||[]).map(c=>J.encode(t,c)),l=nt.createChildrenVector(t,a),u=e.metadata&&e.metadata.size>0?nt.createCustomMetadataVector(t,[...e.metadata].map(([c,d])=>{let y=t.createString(`${c}`),v=t.createString(`${d}`);return Re.startKeyValue(t),Re.addKey(t,y),Re.addValue(t,v),Re.endKeyValue(t)})):-1;return e.name&&(n=t.createString(e.name)),nt.startField(t),nt.addType(t,r),nt.addTypeType(t,o),nt.addChildren(t,l),nt.addNullable(t,!!e.nullable),n!==-1&&nt.addName(t,n),i!==-1&&nt.addDictionary(t,i),u!==-1&&nt.addCustomMetadata(t,u),nt.endField(t)}function Sb(t,e){let n=e.nodes||[],r=e.buffers||[];kt.startNodesVector(t,n.length);for(let o of n.slice().reverse())Qt.encode(t,o);let i=t.endVector();kt.startBuffersVector(t,r.length);for(let o of r.slice().reverse())wt.encode(t,o);let s=t.endVector();return kt.startRecordBatch(t),kt.addLength(t,BigInt(e.length)),kt.addNodes(t,i),kt.addBuffers(t,s),kt.endRecordBatch(t)}function bb(t,e){let n=Ze.encode(t,e.data);return Hn.startDictionaryBatch(t),Hn.addId(t,BigInt(e.id)),Hn.addIsDelta(t,e.isDelta),Hn.addData(t,n),Hn.endDictionaryBatch(t)}function xb(t,e){return rs.createFieldNode(t,BigInt(e.length),BigInt(e.nullCount))}function Ib(t,e){return ns.createBuffer(t,BigInt(e.offset),BigInt(e.length))}var Bb=(()=>{let t=new ArrayBuffer(2);return new DataView(t).setInt16(0,256,!0),new Int16Array(t)[0]===256})();var nd=t=>`Expected ${q[t]} Message in stream, but was null or length 0.`,rd=t=>`Header pointer of flatbuffer-encoded ${q[t]} Message is null or length 0.`,Ny=(t,e)=>`Expected to read ${t} metadata bytes, but only read ${e}.`,Ty=(t,e)=>`Expected to read ${t} bytes for message body, but only read ${e}.`,Ss=class{constructor(e){this.source=e instanceof Cn?e:new Cn(e)}[Symbol.iterator](){return this}next(){let e;return(e=this.readMetadataLength()).done?pe:e.value===-1&&(e=this.readMetadataLength()).done?pe:(e=this.readMetadata(e.value)).done?pe:e}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}readMessage(e){let n;if((n=this.next()).done)return null;if(e!=null&&n.value.headerType!==e)throw new Error(nd(e));return n.value}readMessageBody(e){if(e<=0)return new Uint8Array(0);let n=V(this.source.read(e));if(n.byteLength[...i,...s.VALIDITY&&[s.VALIDITY]||[],...s.TYPE_ID&&[s.TYPE_ID]||[],...s.OFFSET&&[s.OFFSET]||[],...s.DATA&&[s.DATA]||[],...n(s.children)],[])}}readMessage(e){let n;if((n=this.next()).done)return null;if(e!=null&&n.value.headerType!==e)throw new Error(nd(e));return n.value}readSchema(){let e=q.Schema,n=this.readMessage(e),r=n?.header();if(!n||!r)throw new Error(rd(e));return r}},wu=4,td="ARROW1",bs=new Uint8Array(td.length);for(let t=0;tthis):this}readRecordBatch(e){return this._impl.isFile()?this._impl.readRecordBatch(e):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return Ge.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return Ge.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,n){throw new Error('"throughDOM" not available in this environment')}static from(e){return e instanceof t?e:Za(e)?Nb(e):qa(e)?Fb(e):Ot(e)?O(this,void 0,void 0,function*(){return yield t.from(yield e)}):el(e)||lo(e)||nl(e)||$t(e)?Ob(new Yt(e)):Tb(new Cn(e))}static readAll(e){return e instanceof t?e.isSync()?Fy(e):Ey(e):Za(e)||ArrayBuffer.isView(e)||sn(e)||Ja(e)?Fy(e):Ey(e)}},yr=class extends Ct{constructor(e){super(e),this._impl=e}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return Tt(this,arguments,function*(){yield X(yield*es(rn(this[Symbol.iterator]())))})}},Ti=class extends Ct{constructor(e){super(e),this._impl=e}readAll(){return O(this,void 0,void 0,function*(){var e,n,r,i;let s=new Array;try{for(var o=!0,a=rn(this),l;l=yield a.next(),e=l.done,!e;o=!0){i=l.value,o=!1;let u=i;s.push(u)}}catch(u){n={error:u}}finally{try{!o&&!e&&(r=a.return)&&(yield r.call(a))}finally{if(n)throw n.error}}return s})}[Symbol.iterator](){throw new Error("AsyncRecordBatchStreamReader is not Iterable")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}},Oi=class extends yr{constructor(e){super(e),this._impl=e}},bu=class extends Ti{constructor(e){super(e),this._impl=e}},xu=class{get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}constructor(e=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=e}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(e){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=e,this.dictionaries=new Map,this}_loadRecordBatch(e,n){let r=this._loadVectors(e,n,this.schema.fields),i=Q({type:new he(this.schema.fields),length:e.length,children:r});return new Ne(this.schema,i)}_loadDictionaryBatch(e,n){let{id:r,isDelta:i}=e,{dictionaries:s,schema:o}=this,a=s.get(r),l=o.dictionaries.get(r),u=this._loadVectors(e.data,n,[l]);return(a&&i?a.concat(new ee(u)):new ee(u)).memoize()}_loadVectors(e,n,r){return new Lo(n,e.nodes,e.buffers,this.dictionaries,this.schema.metadataVersion).visitMany(r)}},Is=class extends xu{constructor(e,n){super(n),this._reader=Za(e)?new sa(this._handle=e):new Ss(this._handle=e)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(e){return this.closed||(this.autoDestroy=ky(this,e),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(e):pe}return(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(e):pe}next(){if(this.closed)return pe;let e,{_reader:n}=this;for(;e=this._readNextMessageAndValidate();)if(e.isSchema())this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;let r=e.header(),i=n.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(r,i)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;let r=e.header(),i=n.readMessageBody(e.bodyLength),s=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,s)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new Ni(this.schema)}):this.return()}_readNextMessageAndValidate(e){return this._reader.readMessage(e)}},Bs=class extends xu{constructor(e,n){super(n),this._reader=new ia(this._handle=e)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return O(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(e){return O(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=ky(this,e),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(e){return O(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(e):pe})}return(e){return O(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(e):pe})}next(){return O(this,void 0,void 0,function*(){if(this.closed)return pe;let e,{_reader:n}=this;for(;e=yield this._readNextMessageAndValidate();)if(e.isSchema())yield this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;let r=e.header(),i=yield n.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(r,i)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;let r=e.header(),i=yield n.readMessageBody(e.bodyLength),s=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,s)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new Ni(this.schema)}):yield this.return()})}_readNextMessageAndValidate(e){return O(this,void 0,void 0,function*(){return yield this._reader.readMessage(e)})}},Iu=class extends Is{get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}constructor(e,n){super(e instanceof Eo?e:new Eo(e),n)}isSync(){return!0}isFile(){return!0}open(e){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(let n of this._footer.dictionaryBatches())n&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(e)}readRecordBatch(e){var n;if(this.closed)return null;this._footer||this.open();let r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(e);if(r&&this._handle.seek(r.offset)){let i=this._reader.readMessage(q.RecordBatch);if(i?.isRecordBatch()){let s=i.header(),o=this._reader.readMessageBody(i.bodyLength);return this._loadRecordBatch(s,o)}}return null}_readDictionaryBatch(e){var n;let r=(n=this._footer)===null||n===void 0?void 0:n.getDictionaryBatch(e);if(r&&this._handle.seek(r.offset)){let i=this._reader.readMessage(q.DictionaryBatch);if(i?.isDictionaryBatch()){let s=i.header(),o=this._reader.readMessageBody(i.bodyLength),a=this._loadDictionaryBatch(s,o);this.dictionaries.set(s.id,a)}}}_readFooter(){let{_handle:e}=this,n=e.size-id,r=e.readInt32(n),i=e.readAt(n-r,r);return lr.decode(i)}_readNextMessageAndValidate(e){var n;if(this._footer||this.open(),this._footer&&this._recordBatchIndexsuper.open}});return O(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(let r of this._footer.dictionaryBatches())r&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield n.open.call(this,e)})}readRecordBatch(e){return O(this,void 0,void 0,function*(){var n;if(this.closed)return null;this._footer||(yield this.open());let r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(e);if(r&&(yield this._handle.seek(r.offset))){let i=yield this._reader.readMessage(q.RecordBatch);if(i?.isRecordBatch()){let s=i.header(),o=yield this._reader.readMessageBody(i.bodyLength);return this._loadRecordBatch(s,o)}}return null})}_readDictionaryBatch(e){return O(this,void 0,void 0,function*(){var n;let r=(n=this._footer)===null||n===void 0?void 0:n.getDictionaryBatch(e);if(r&&(yield this._handle.seek(r.offset))){let i=yield this._reader.readMessage(q.DictionaryBatch);if(i?.isDictionaryBatch()){let s=i.header(),o=yield this._reader.readMessageBody(i.bodyLength),a=this._loadDictionaryBatch(s,o);this.dictionaries.set(s.id,a)}}})}_readFooter(){return O(this,void 0,void 0,function*(){let{_handle:e}=this;e._pending&&(yield e._pending);let n=e.size-id,r=yield e.readInt32(n),i=yield e.readAt(n-r,r);return lr.decode(i)})}_readNextMessageAndValidate(e){return O(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex=4?Su(e)?new Oi(new Iu(t.read())):new yr(new Is(t)):new yr(new Is((function*(){})()))}function Ob(t){return O(this,void 0,void 0,function*(){let e=yield t.peek(xs+7&-8);return e&&e.byteLength>=4?Su(e)?new Oi(new Iu(yield t.read())):new Ti(new Bs(t)):new Ti(new Bs((function(){return Tt(this,arguments,function*(){})})()))})}function Fb(t){return O(this,void 0,void 0,function*(){let{size:e}=yield t.stat(),n=new $r(t,e);return e>=Oy&&Su(yield n.readAt(0,xs+7&-8))?new bu(new sd(n)):new Ti(new Bs(n))})}var Se=class t extends C{static assemble(...e){let n=i=>i.flatMap(s=>Array.isArray(s)?n(s):s instanceof Ne?s.data.children:s.data),r=new t;return r.visitMany(n(e)),r}constructor(){super(),this._byteLength=0,this._nodes=[],this._buffers=[],this._bufferRegions=[]}visit(e){if(e instanceof ee)return this.visitMany(e.data),this;let{type:n}=e;if(!F.isDictionary(n)){let{length:r}=e;if(r>2147483647)throw new RangeError("Cannot write arrays larger than 2^31 - 1 in length");if(F.isUnion(n))this.nodes.push(new Qt(r,0));else{let{nullCount:i}=e;F.isNull(n)||wn.call(this,i<=0?new Uint8Array(0):yi(e.offset,r,e.nullBitmap)),this.nodes.push(new Qt(r,i))}}return super.visit(e)}visitNull(e){return this}visitDictionary(e){return this.visit(e.clone(e.type.indices))}get nodes(){return this._nodes}get buffers(){return this._buffers}get byteLength(){return this._byteLength}get bufferRegions(){return this._bufferRegions}};function wn(t){let e=t.byteLength+7&-8;return this.buffers.push(t),this.bufferRegions.push(new wt(this._byteLength,e)),this._byteLength+=e,this}function Eb(t){var e;let{type:n,length:r,typeIds:i,valueOffsets:s}=t;if(wn.call(this,i),n.mode===de.Sparse)return ad.call(this,t);if(n.mode===de.Dense){if(t.offset<=0)return wn.call(this,s),ad.call(this,t);{let o=new Int32Array(r),a=Object.create(null),l=Object.create(null);for(let u,c,d=-1;++d{let d=n.typeIds[c],y=a[d],v=l[d];return u.slice(y,Math.min(r,v))}))}}return this}function kb(t){let e;return t.nullCount>=t.length?wn.call(this,new Uint8Array(0)):(e=t.values)instanceof Uint8Array?wn.call(this,yi(t.offset,t.length,e)):wn.call(this,gi(t.values))}function gr(t){return wn.call(this,t.values.subarray(0,t.length*t.stride))}function Bu(t){let{length:e,values:n,valueOffsets:r}=t,i=ne(r[0]),s=ne(r[e]),o=Math.min(s-i,n.byteLength-i);return wn.call(this,il(-i,e+1,r)),wn.call(this,n.subarray(i,i+o)),this}function ld(t){let{length:e,valueOffsets:n}=t;if(n){let{[0]:r,[e]:i}=n;return wn.call(this,il(-r,e+1,n)),this.visit(t.children[0].slice(r,i-r))}return this.visit(t.children[0])}function ad(t){return this.visitMany(t.type.children.map((e,n)=>t.children[n]).filter(Boolean))[0]}Se.prototype.visitBool=kb;Se.prototype.visitInt=gr;Se.prototype.visitFloat=gr;Se.prototype.visitUtf8=Bu;Se.prototype.visitLargeUtf8=Bu;Se.prototype.visitBinary=Bu;Se.prototype.visitLargeBinary=Bu;Se.prototype.visitFixedSizeBinary=gr;Se.prototype.visitDate=gr;Se.prototype.visitTimestamp=gr;Se.prototype.visitTime=gr;Se.prototype.visitDecimal=gr;Se.prototype.visitList=ld;Se.prototype.visitStruct=ad;Se.prototype.visitUnion=Eb;Se.prototype.visitInterval=gr;Se.prototype.visitDuration=gr;Se.prototype.visitFixedSizeList=ld;Se.prototype.visitMap=ld;var Fi=class extends wi{static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,n){throw new Error('"throughDOM" not available in this environment')}constructor(e){super(),this._position=0,this._started=!1,this._sink=new Mn,this._schema=null,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._seenDictionaries=new Map,this._dictionaryDeltaOffsets=new Map,ct(e)||(e={autoDestroy:!0,writeLegacyIpcFormat:!1}),this._autoDestroy=typeof e.autoDestroy=="boolean"?e.autoDestroy:!0,this._writeLegacyIpcFormat=typeof e.writeLegacyIpcFormat=="boolean"?e.writeLegacyIpcFormat:!1}toString(e=!1){return this._sink.toString(e)}toUint8Array(e=!1){return this._sink.toUint8Array(e)}writeAll(e){return Ot(e)?e.then(n=>this.writeAll(n)):$t(e)?cd(this,e):ud(this,e)}get closed(){return this._sink.closed}[Symbol.asyncIterator](){return this._sink[Symbol.asyncIterator]()}toDOMStream(e){return this._sink.toDOMStream(e)}toNodeStream(e){return this._sink.toNodeStream(e)}close(){return this.reset()._sink.close()}abort(e){return this.reset()._sink.abort(e)}finish(){return this._autoDestroy?this.close():this.reset(this._sink,this._schema),this}reset(e=this._sink,n=null){return e===this._sink||e instanceof Mn?this._sink=e:(this._sink=new Mn,e&&Qp(e)?this.toDOMStream({type:"bytes"}).pipeTo(e):e&&Gp(e)&&this.toNodeStream({objectMode:!1}).pipe(e)),this._started&&this._schema&&this._writeFooter(this._schema),this._started=!1,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._seenDictionaries=new Map,this._dictionaryDeltaOffsets=new Map,(!n||!Di(n,this._schema))&&(n==null?(this._position=0,this._schema=null):(this._started=!0,this._schema=n,this._writeSchema(n))),this}write(e){let n=null;if(this._sink){if(e==null)return this.finish()&&void 0;if(e instanceof _t&&!(n=e.schema))return this.finish()&&void 0;if(e instanceof Ne&&!(n=e.schema))return this.finish()&&void 0}else throw new Error("RecordBatchWriter is closed");if(n&&!Di(n,this._schema)){if(this._started&&this._autoDestroy)return this.close();this.reset(this._sink,n)}e instanceof Ne?e instanceof Ni||this._writeRecordBatch(e):e instanceof _t?this.writeAll(e.batches):sn(e)&&this.writeAll(e)}_writeMessage(e,n=8){let r=n-1,i=bt.encode(e),s=i.byteLength,o=this._writeLegacyIpcFormat?4:8,a=s+o+r&~r,l=a-s-o;return e.headerType===q.RecordBatch?this._recordBatchBlocks.push(new ur(a,e.bodyLength,this._position)):e.headerType===q.DictionaryBatch&&this._dictionaryBlocks.push(new ur(a,e.bodyLength,this._position)),this._writeLegacyIpcFormat||this._write(Int32Array.of(-1)),this._write(Int32Array.of(a-o)),s>0&&this._write(i),this._writePadding(l)}_write(e){if(this._started){let n=V(e);n&&n.byteLength>0&&(this._sink.write(n),this._position+=n.byteLength)}return this}_writeSchema(e){return this._writeMessage(bt.from(e))}_writeFooter(e){return this._writeLegacyIpcFormat?this._write(Int32Array.of(0)):this._write(Int32Array.of(-1,0))}_writeMagic(){return this._write(bs)}_writePadding(e){return e>0?this._write(new Uint8Array(e)):this}_writeRecordBatch(e){let{byteLength:n,nodes:r,bufferRegions:i,buffers:s}=Se.assemble(e),o=new Ze(e.numRows,r,i),a=bt.from(o,n);return this._writeDictionaries(e)._writeMessage(a)._writeBodyBuffers(s)}_writeDictionaryBatch(e,n,r=!1){let{byteLength:i,nodes:s,bufferRegions:o,buffers:a}=Se.assemble(new ee([e])),l=new Ze(e.length,s,o),u=new St(l,n,r),c=bt.from(u,i);return this._writeMessage(c)._writeBodyBuffers(a)}_writeBodyBuffers(e){let n,r,i;for(let s=-1,o=e.length;++s0&&(this._write(n),(i=(r+7&-8)-r)>0&&this._writePadding(i));return this}_writeDictionaries(e){var n,r;for(let[i,s]of e.dictionaries){let o=(n=s?.data)!==null&&n!==void 0?n:[],a=this._seenDictionaries.get(i),l=(r=this._dictionaryDeltaOffsets.get(i))!==null&&r!==void 0?r:0;if(!a||a.data[0]!==o[0])for(let[u,c]of o.entries())this._writeDictionaryBatch(c,i,u>0);else if(lr.writeAll(i)):$t(e)?cd(r,e):ud(r,e)}},aa=class t extends Fi{static writeAll(e){let n=new t;return Ot(e)?e.then(r=>n.writeAll(r)):$t(e)?cd(n,e):ud(n,e)}constructor(){super(),this._autoDestroy=!0}_writeSchema(e){return this._writeMagic()._writePadding(2)}_writeDictionaryBatch(e,n,r=!1){if(!r&&this._seenDictionaries.has(n))throw new Error("The Arrow File format does not support replacement dictionaries. ");return super._writeDictionaryBatch(e,n,r)}_writeFooter(e){let n=lr.encode(new lr(e,le.V5,this._recordBatchBlocks,this._dictionaryBlocks));return super._writeFooter(e)._write(n)._write(Int32Array.of(n.byteLength))._writeMagic()}};function ud(t,e){let n=e;e instanceof _t&&(n=e.batches,t.reset(void 0,e.schema));for(let r of n)t.write(r);return t.finish()}function cd(t,e){return O(this,void 0,void 0,function*(){var n,r,i,s,o,a,l;try{for(n=!0,r=rn(e);i=yield r.next(),s=i.done,!s;n=!0){l=i.value,n=!1;let u=l;t.write(u)}}catch(u){o={error:u}}finally{try{!n&&!s&&(a=r.return)&&(yield a.call(r))}finally{if(o)throw o.error}}return t.finish()})}function Ay(t,e){if($t(t))return Lb(t,e);if(sn(t))return Ab(t,e);throw new Error("toDOMStream() must be called with an Iterable or AsyncIterable")}function Ab(t,e){let n=null,r=e?.type==="bytes"||!1,i=e?.highWaterMark||Math.pow(2,24);return new ReadableStream(Object.assign(Object.assign({},e),{start(o){s(o,n||(n=t[Symbol.iterator]()))},pull(o){n?s(o,n):o.close()},cancel(){(n?.return&&n.return()||!0)&&(n=null)}}),Object.assign({highWaterMark:r?i:void 0},e));function s(o,a){let l,u=null,c=o.desiredSize||null;for(;!(u=a.next(r?c:null)).done;)if(ArrayBuffer.isView(u.value)&&(l=V(u.value))&&(c!=null&&r&&(c=c-l.byteLength+1),u.value=l),o.enqueue(u.value),c!=null&&--c<=0)return;o.close()}}function Lb(t,e){let n=null,r=e?.type==="bytes"||!1,i=e?.highWaterMark||Math.pow(2,24);return new ReadableStream(Object.assign(Object.assign({},e),{start(o){return O(this,void 0,void 0,function*(){yield s(o,n||(n=t[Symbol.asyncIterator]()))})},pull(o){return O(this,void 0,void 0,function*(){n?yield s(o,n):o.close()})},cancel(){return O(this,void 0,void 0,function*(){(n?.return&&(yield n.return())||!0)&&(n=null)})}}),Object.assign({highWaterMark:r?i:void 0},e));function s(o,a){return O(this,void 0,void 0,function*(){let l,u=null,c=o.desiredSize||null;for(;!(u=yield a.next(r?c:null)).done;)if(ArrayBuffer.isView(u.value)&&(l=V(u.value))&&(c!=null&&r&&(c=c-l.byteLength+1),u.value=l),o.enqueue(u.value),c!=null&&--c<=0)return;o.close()})}}function Cy(t){return new fd(t)}var fd=class{constructor(e){this._numChunks=0,this._finished=!1,this._bufferedSize=0;let{["readableStrategy"]:n,["writableStrategy"]:r,["queueingStrategy"]:i="count"}=e,s=Yp(e,["readableStrategy","writableStrategy","queueingStrategy"]);this._controller=null,this._builder=bi(s),this._getSize=i!=="bytes"?Ly:My;let{["highWaterMark"]:o=i==="bytes"?Math.pow(2,14):1e3}=Object.assign({},n),{["highWaterMark"]:a=i==="bytes"?Math.pow(2,14):1e3}=Object.assign({},r);this.readable=new ReadableStream({cancel:()=>{this._builder.clear()},pull:l=>{this._maybeFlush(this._builder,this._controller=l)},start:l=>{this._maybeFlush(this._builder,this._controller=l)}},{highWaterMark:o,size:i!=="bytes"?Ly:My}),this.writable=new WritableStream({abort:()=>{this._builder.clear()},write:()=>{this._maybeFlush(this._builder,this._controller)},close:()=>{this._maybeFlush(this._builder.finish(),this._controller)}},{highWaterMark:a,size:l=>this._writeValueAndReturnChunkSize(l)})}_writeValueAndReturnChunkSize(e){let n=this._bufferedSize;return this._bufferedSize=this._getSize(this._builder.append(e)),this._bufferedSize-n}_maybeFlush(e,n){n!=null&&(this._bufferedSize>=n.desiredSize&&++this._numChunks&&this._enqueue(n,e.toVector()),e.finished&&((e.length>0||this._numChunks===0)&&++this._numChunks&&this._enqueue(n,e.toVector()),!this._finished&&(this._finished=!0)&&this._enqueue(n,null)))}_enqueue(e,n){this._bufferedSize=0,this._controller=null,n==null?e.close():e.enqueue(n)}},Ly=t=>{var e;return(e=t?.length)!==null&&e!==void 0?e:0},My=t=>{var e;return(e=t?.byteLength)!==null&&e!==void 0?e:0};function Du(t,e){let n=new Mn,r=null,i=new ReadableStream({cancel(){return O(this,void 0,void 0,function*(){yield n.close()})},start(a){return O(this,void 0,void 0,function*(){yield o(a,r||(r=yield s()))})},pull(a){return O(this,void 0,void 0,function*(){r?yield o(a,r):a.close()})}});return{writable:new WritableStream(n,Object.assign({highWaterMark:Math.pow(2,14)},t)),readable:i};function s(){return O(this,void 0,void 0,function*(){return yield(yield Ct.from(n)).open(e)})}function o(a,l){return O(this,void 0,void 0,function*(){let u=a.desiredSize,c=null;for(;!(c=yield l.next()).done;)if(a.enqueue(c.value),u!=null&&--u<=0)return;a.close()})}}function Nu(t,e){let n=new this(t),r=new Yt(n),i=new ReadableStream({cancel(){return O(this,void 0,void 0,function*(){yield r.cancel()})},pull(o){return O(this,void 0,void 0,function*(){yield s(o)})},start(o){return O(this,void 0,void 0,function*(){yield s(o)})}},Object.assign({highWaterMark:Math.pow(2,14)},e));return{writable:new WritableStream(n,t),readable:i};function s(o){return O(this,void 0,void 0,function*(){let a=null,l=o.desiredSize;for(;a=yield r.read(l||null);)if(o.enqueue(a),l!=null&&(l-=a.byteLength)<=0)return;o.close()})}}function la(t){let e=Ct.from(t);return Ot(e)?e.then(n=>la(n)):e.isAsync()?e.readAll().then(n=>new _t(n)):new _t(e.readAll())}var Cb=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},xf),Qf),Pf),If),yf),Rf),_f),{compareSchemas:Di,compareFields:cy,compareTypes:fy});Ge.toDOMStream=Ay;ge.throughDOM=Cy;Ct.throughDOM=Du;Oi.throughDOM=Du;yr.throughDOM=Du;Fi.throughDOM=Nu;aa.throughDOM=Nu;oa.throughDOM=Nu;var Ub=Object.create,Rb=Object.getPrototypeOf,$d=Object.defineProperty,Pb=Object.getOwnPropertyNames,jb=Object.prototype.hasOwnProperty;function zb(t){return this[t]}var Vb,$b,ye=(t,e,n)=>{var r=t!=null&&typeof t=="object";if(r){var i=e?Vb??=new WeakMap:$b??=new WeakMap,s=i.get(t);if(s)return s}n=t!=null?Ub(Rb(t)):{};let o=e||!t||!t.__esModule?$d(n,"default",{value:t,enumerable:!0}):n;if(t&&typeof t=="object"||typeof t=="function")for(let a of Pb(t))jb.call(o,a)||$d(o,a,{get:zb.bind(t,a),enumerable:!0});return r&&i.set(t,o),o},so=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Wb=t=>t;function Hb(t,e){this[t]=Wb.bind(null,e)}var Gh=(t,e)=>{for(var n in e)$d(t,n,{get:e[n],enumerable:!0,configurable:!0,set:Hb.bind(e,n)})},Xh=(t,e)=>()=>(t&&(e=t(t=0)),e),bv={};Gh(bv,{Children:()=>Fv,Component:()=>Ev,Fragment:()=>kv,Profiler:()=>Av,PureComponent:()=>Lv,StrictMode:()=>Mv,Suspense:()=>Cv,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:()=>Uv,act:()=>Rv,cloneElement:()=>Xb,createContext:()=>Zb,createElement:()=>Pv,createFactory:()=>Jb,createRef:()=>qb,forwardRef:()=>ex,isValidElement:()=>jv,lazy:()=>tx,memo:()=>nx,startTransition:()=>rx,unstable_act:()=>zv,useCallback:()=>ix,useContext:()=>sx,useDebugValue:()=>ox,useDeferredValue:()=>ax,useEffect:()=>lx,useId:()=>ux,useImperativeHandle:()=>cx,useInsertionEffect:()=>fx,useLayoutEffect:()=>dx,useMemo:()=>hx,useReducer:()=>px,useRef:()=>mx,useState:()=>yx,useSyncExternalStore:()=>gx,useTransition:()=>vx,version:()=>_x});function Yb(t){return t===null||typeof t!="object"?null:(t=Hd&&t[Hd]||t["@@iterator"],typeof t=="function"?t:null)}function Ds(t,e,n){this.props=t,this.context=e,this.refs=Jh,this.updater=n||Zh}function Uy(){}function dd(t,e,n){this.props=t,this.context=e,this.refs=Jh,this.updater=n||Zh}function xv(t,e,n){var r,i={},s=null,o=null;if(e!=null)for(r in e.ref!==void 0&&(o=e.ref),e.key!==void 0&&(s=""+e.key),e)qh.call(e,r)&&!ep.hasOwnProperty(r)&&(i[r]=e[r]);var a=arguments.length-2;if(a===1)i.children=n;else if(1{oo=Symbol.for("react.element"),Iv=Symbol.for("react.portal"),Py=Symbol.for("react.fragment"),jy=Symbol.for("react.strict_mode"),zy=Symbol.for("react.profiler"),Bv=Symbol.for("react.provider"),Dv=Symbol.for("react.context"),Nv=Symbol.for("react.forward_ref"),Vy=Symbol.for("react.suspense"),Tv=Symbol.for("react.memo"),Ov=Symbol.for("react.lazy"),Hd=Symbol.iterator,Zh={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Yd=Object.assign,Jh={},Ds.prototype.isReactComponent={},Ds.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")},Ds.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")},Uy.prototype=Ds.prototype,Ou=dd.prototype=new Uy,Ou.constructor=dd,Yd(Ou,Ds.prototype),Ou.isPureReactComponent=!0,Kd=Array.isArray,qh=Object.prototype.hasOwnProperty,cc={current:null},ep={key:!0,ref:!0,__self:!0,__source:!0},Qd=/\/+/g,ut={current:null},Ia={transition:null},$y={ReactCurrentDispatcher:ut,ReactCurrentBatchConfig:Ia,ReactCurrentOwner:cc},Fv={map:Tu,forEach:function(t,e,n){Tu(t,function(){e.apply(this,arguments)},n)},count:function(t){var e=0;return Tu(t,function(){e++}),e},toArray:function(t){return Tu(t,function(e){return e})||[]},only:function(t){if(!Wd(t))throw Error("React.Children.only expected to receive a single React element child.");return t}},Ev=Ds,kv=Py,Av=zy,Lv=dd,Mv=jy,Cv=Vy,Uv=$y,Rv=Ry,Pv=xv,jv=Wd,zv=Ry}),nn=so(function(t,e){wx(),e.exports=bv}),Sx=so(function(t){function e(T,M){var _=T.length;T.push(M);e:for(;0<_;){var B=_-1>>>1,te=T[B];if(0>>1;B<$e;){var ui=2*(B+1)-1,cf=T[ui],ci=ui+1,Xa=T[ci];if(0>i(cf,_))cii(Xa,cf)?(T[B]=Xa,T[ci]=_,B=ci):(T[B]=cf,T[ui]=_,B=ui);else if(cii(Xa,_))T[B]=Xa,T[ci]=_,B=ci;else break e}}return M}function i(T,M){var _=T.sortIndex-M.sortIndex;return _!==0?_:T.id-M.id}typeof performance=="object"&&typeof performance.now=="function"?(s=performance,t.unstable_now=function(){return s.now()}):(o=Date,a=o.now(),t.unstable_now=function(){return o.now()-a});var s,o,a,l=[],u=[],c=1,d=null,y=3,v=!1,S=!1,I=!1,Y=typeof setTimeout=="function"?setTimeout:null,h=typeof clearTimeout=="function"?clearTimeout:null,f=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function m(T){for(var M=n(u);M!==null;){if(M.callback===null)r(u);else if(M.startTime<=T)r(u),M.sortIndex=M.expirationTime,e(l,M);else break;M=n(u)}}function g(T){if(I=!1,m(T),!S)if(n(l)!==null)S=!0,Ve(w);else{var M=n(u);M!==null&&Fr(g,M.startTime-T)}}function w(T,M){S=!1,I&&(I=!1,h(b),b=-1),v=!0;var _=y;try{for(m(M),d=n(l);d!==null&&(!(d.expirationTime>M)||T&&!ie());){var B=d.callback;if(typeof B=="function"){d.callback=null,y=d.priorityLevel;var te=B(d.expirationTime<=M);M=t.unstable_now(),typeof te=="function"?d.callback=te:d===n(l)&&r(l),m(M)}else r(l);d=n(l)}if(d!==null)var $e=!0;else{var ui=n(u);ui!==null&&Fr(g,ui.startTime-M),$e=!1}return $e}finally{d=null,y=_,v=!1}}var D=!1,N=null,b=-1,K=5,L=-1;function ie(){return!(t.unstable_now()-LT||125B?(T.sortIndex=_,e(u,T),n(l)===null&&T===n(u)&&(I?(h(b),b=-1):I=!0,Fr(g,_-B))):(T.sortIndex=te,e(l,T),S||v||(S=!0,Ve(w))),T},t.unstable_shouldYield=ie,t.unstable_wrapCallback=function(T){var M=y;return function(){var _=y;y=M;try{return T.apply(this,arguments)}finally{y=_}}}}),bx=so(function(t,e){var n=ye(Sx());e.exports=n}),Vv={};Gh(Vv,{__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:()=>G_,createPortal:()=>I1,createRoot:()=>B1,findDOMNode:()=>D1,flushSync:()=>N1,hydrate:()=>T1,hydrateRoot:()=>O1,render:()=>F1,unmountComponentAtNode:()=>E1,unstable_batchedUpdates:()=>X_,unstable_renderSubtreeIntoContainer:()=>k1,version:()=>A1});function x(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,n=1;n"u"||Ix(t,e,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function ht(t,e,n,r,i,s,o){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=t,this.type=e,this.sanitizeURL=s,this.removeEmptyString=o}function pd(t){return t[1].toUpperCase()}function tp(t,e,n,r){var i=He.hasOwnProperty(e)?He[e]:null;(i!==null?i.type!==0:r||!(2i));return new t(n,r.map(i=>new Ne(n,i)))}slice(e,n){let r=this.schema;[e,n]=Do({length:this.numRows},e,n);let i=Vl(this.data,this._offsets,e,n);return new t(r,i.map(s=>new Ne(r,s)))}getChild(e){return this.getChildAt(this.schema.fields.findIndex(n=>n.name===e))}getChildAt(e){if(e>-1&&er.children[e]);if(n.length===0){let{type:r}=this.schema.fields[e],i=Q({type:r,length:0,nullCount:0});n.push(i._changeLengthAndBackfillNullBitmap(this.numRows))}return new ee(n)}return null}setChild(e,n){var r;return this.setChildAt((r=this.schema.fields)===null||r===void 0?void 0:r.findIndex(i=>i.name===e),n)}setChildAt(e,n){let r=this.schema,i=[...this.batches];if(e>-1&&ethis.getChildAt(u));[s[e],a[e]]=[o,n],[r,i]=yu(r,a)}return new t(r,i)}select(e){let n=this.schema.fields.reduce((r,i,s)=>r.set(i.name,s),new Map);return this.selectAt(e.map(r=>n.get(r)).filter(r=>r>-1))}selectAt(e){let n=this.schema.selectAt(e),r=this.batches.map(i=>i.selectAt(e));return new t(n,r)}assign(e){let n=this.schema.fields,[r,i]=e.schema.fields.reduce((a,l,u)=>{let[c,d]=a,y=n.findIndex(v=>v.name===l.name);return~y?d[y]=u:c.push(u),a},[[],[]]),s=this.schema.assign(e.schema),o=[...n.map((a,l)=>[l,i[l]]).map(([a,l])=>l===void 0?this.getChildAt(a):e.getChildAt(l)),...r.map(a=>e.getChildAt(a))].filter(Boolean);return new t(...yu(s,o))}};dy=Symbol.toStringTag;_t[dy]=(t=>(t.schema=null,t.batches=[],t._offsets=new Uint32Array([0]),t._nullCount=-1,t[Symbol.isConcatSpreadable]=!0,t.isValid=ds(Oo),t.get=ds(Le.getVisitFn(p.Struct)),t.set=$l(Xe.getVisitFn(p.Struct)),t.indexOf=Wl(vi.getVisitFn(p.Struct)),"Table"))(_t.prototype);var py,Ne=class t{constructor(...e){switch(e.length){case 2:{if([this.schema]=e,!(this.schema instanceof ae))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");if([,this.data=Q({nullCount:0,type:new he(this.schema.fields),children:this.schema.fields.map(n=>Q({type:n.type,nullCount:0}))})]=e,!(this.data instanceof se))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");[this.schema,this.data]=hy(this.schema,this.data.children);break}case 1:{let[n]=e,{fields:r,children:i,length:s}=Object.keys(n).reduce((l,u,c)=>(l.children[c]=n[u],l.length=Math.max(l.length,n[u].length),l.fields[c]=J.new({name:u,type:n[u].type,nullable:!0}),l),{length:0,fields:new Array,children:new Array}),o=new ae(r),a=Q({type:new he(r),length:s,children:i,nullCount:0});[this.schema,this.data]=hy(o,a.children,s);break}default:throw new TypeError("RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.")}}get dictionaries(){return this._dictionaries||(this._dictionaries=my(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(e){return this.data.getValid(e)}get(e){return Le.visit(this.data,e)}at(e){return this.get(pi(e,this.numRows))}set(e,n){return Xe.visit(this.data,e,n)}indexOf(e,n){return vi.visit(this.data,e,n)}[Symbol.iterator](){return hs.visit(new ee([this.data]))}toArray(){return[...this]}concat(...e){return new _t(this.schema,[this,...e])}slice(e,n){let[r]=new ee([this.data]).slice(e,n).data;return new t(this.schema,r)}getChild(e){var n;return this.getChildAt((n=this.schema.fields)===null||n===void 0?void 0:n.findIndex(r=>r.name===e))}getChildAt(e){return e>-1&&ei.name===e),n)}setChildAt(e,n){let r=this.schema,i=this.data;if(e>-1&&ea.name===s);~o&&(i[o]=this.data.children[o])}return new t(n,Q({type:r,length:this.numRows,children:i}))}selectAt(e){let n=this.schema.selectAt(e),r=e.map(s=>this.data.children[s]).filter(Boolean),i=Q({type:new he(n.fields),length:this.numRows,children:r});return new t(n,i)}};py=Symbol.toStringTag;Ne[py]=(t=>(t._nullCount=-1,t[Symbol.isConcatSpreadable]=!0,"RecordBatch"))(Ne.prototype);function hy(t,e,n=e.reduce((r,i)=>Math.max(r,i.length),0)){var r;let i=[...t.fields],s=[...e],o=(n+63&-64)>>3;for(let[a,l]of t.fields.entries()){let u=e[a];(!u||u.length!==n)&&(i[a]=l.clone({nullable:!0}),s[a]=(r=u?._changeLengthAndBackfillNullBitmap(n))!==null&&r!==void 0?r:Q({type:l.type,length:n,nullCount:n,nullBitmap:new Uint8Array(o)}))}return[t.assign(i),Q({type:new he(i),length:n,children:s})]}function my(t,e,n=new Map){var r,i;if(((r=t?.length)!==null&&r!==void 0?r:0)>0&&t?.length===e?.length)for(let s=-1,o=t.length;++sQ({type:i.type})),r=Q({type:new he(e.fields),nullCount:0,children:n});super(e,r)}};var _n=class t{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsMessage(e,n){return(n||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsMessage(e,n){return e.setPosition(e.position()+4),(n||new t).__init(e.readInt32(e.position())+e.position(),e)}version(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):le.V1}headerType(){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint8(this.bb_pos+e):q.NONE}header(e){let n=this.bb.__offset(this.bb_pos,8);return n?this.bb.__union(e,this.bb_pos+n):null}bodyLength(){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readInt64(this.bb_pos+e):BigInt("0")}customMetadata(e,n){let r=this.bb.__offset(this.bb_pos,12);return r?(n||new Re).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){let e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startMessage(e){e.startObject(5)}static addVersion(e,n){e.addFieldInt16(0,n,le.V1)}static addHeaderType(e,n){e.addFieldInt8(1,n,q.NONE)}static addHeader(e,n){e.addFieldOffset(2,n,0)}static addBodyLength(e,n){e.addFieldInt64(3,n,BigInt("0"))}static addCustomMetadata(e,n){e.addFieldOffset(4,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endMessage(e){return e.endObject()}static finishMessageBuffer(e,n){e.finish(n)}static finishSizePrefixedMessageBuffer(e,n){e.finish(n,void 0,!0)}static createMessage(e,n,r,i,s,o){return t.startMessage(e),t.addVersion(e,n),t.addHeaderType(e,r),t.addHeader(e,i),t.addBodyLength(e,s),t.addCustomMetadata(e,o),t.endMessage(e)}};var Jf=class extends C{visit(e,n){return e==null||n==null?void 0:super.visit(e,n)}visitNull(e,n){return wo.startNull(n),wo.endNull(n)}visitInt(e,n){return ln.startInt(n),ln.addBitWidth(n,e.bitWidth),ln.addIsSigned(n,e.isSigned),ln.endInt(n)}visitFloat(e,n){return Cr.startFloatingPoint(n),Cr.addPrecision(n,e.precision),Cr.endFloatingPoint(n)}visitBinary(e,n){return mo.startBinary(n),mo.endBinary(n)}visitLargeBinary(e,n){return go.startLargeBinary(n),go.endLargeBinary(n)}visitBool(e,n){return yo.startBool(n),yo.endBool(n)}visitUtf8(e,n){return bo.startUtf8(n),bo.endUtf8(n)}visitLargeUtf8(e,n){return vo.startLargeUtf8(n),vo.endLargeUtf8(n)}visitDecimal(e,n){return kn.startDecimal(n),kn.addScale(n,e.scale),kn.addPrecision(n,e.precision),kn.addBitWidth(n,e.bitWidth),kn.endDecimal(n)}visitDate(e,n){return kr.startDate(n),kr.addUnit(n,e.unit),kr.endDate(n)}visitTime(e,n){return Yn.startTime(n),Yn.addUnit(n,e.unit),Yn.addBitWidth(n,e.bitWidth),Yn.endTime(n)}visitTimestamp(e,n){let r=e.timezone&&n.createString(e.timezone)||void 0;return Kn.startTimestamp(n),Kn.addUnit(n,e.unit),r!==void 0&&Kn.addTimezone(n,r),Kn.endTimestamp(n)}visitInterval(e,n){return Ur.startInterval(n),Ur.addUnit(n,e.unit),Ur.endInterval(n)}visitDuration(e,n){return Ar.startDuration(n),Ar.addUnit(n,e.unit),Ar.endDuration(n)}visitList(e,n){return _o.startList(n),_o.endList(n)}visitStruct(e,n){return So.startStruct_(n),So.endStruct_(n)}visitUnion(e,n){un.startTypeIdsVector(n,e.typeIds.length);let r=un.createTypeIdsVector(n,e.typeIds);return un.startUnion(n),un.addMode(n,e.mode),un.addTypeIds(n,r),un.endUnion(n)}visitDictionary(e,n){let r=this.visit(e.indices,n);return En.startDictionaryEncoding(n),En.addId(n,BigInt(e.id)),En.addIsOrdered(n,e.isOrdered),r!==void 0&&En.addIndexType(n,r),En.endDictionaryEncoding(n)}visitFixedSizeBinary(e,n){return Lr.startFixedSizeBinary(n),Lr.addByteWidth(n,e.byteWidth),Lr.endFixedSizeBinary(n)}visitFixedSizeList(e,n){return Mr.startFixedSizeList(n),Mr.addListSize(n,e.listSize),Mr.endFixedSizeList(n)}visitMap(e,n){return Rr.startMap(n),Rr.addKeysSorted(n,e.keysSorted),Rr.endMap(n)}},gu=new Jf;function _y(t,e=new Map){return new ae(ib(t,e),vu(t.metadata),e)}function qf(t){return new Ze(t.count,Sy(t.columns),by(t.columns))}function wy(t){return new St(qf(t.data),t.id,t.isDelta)}function ib(t,e){return(t.fields||[]).filter(Boolean).map(n=>J.fromJSON(n,e))}function yy(t,e){return(t.children||[]).filter(Boolean).map(n=>J.fromJSON(n,e))}function Sy(t){return(t||[]).reduce((e,n)=>[...e,new Qt(n.count,sb(n.VALIDITY)),...Sy(n.children)],[])}function by(t,e=[]){for(let n=-1,r=(t||[]).length;++ne+ +(n===0),0)}function xy(t,e){let n,r,i,s,o,a;return!e||!(s=t.dictionary)?(o=vy(t,yy(t,e)),i=new J(t.name,o,t.nullable,vu(t.metadata))):e.has(n=s.id)?(r=(r=s.indexType)?gy(r):new An,a=new At(e.get(n),r,n,s.isOrdered),i=new J(t.name,a,t.nullable,vu(t.metadata))):(r=(r=s.indexType)?gy(r):new An,e.set(n,o=vy(t,yy(t,e))),a=new At(o,r,n,s.isOrdered),i=new J(t.name,a,t.nullable,vu(t.metadata))),i||null}function vu(t=[]){return new Map(t.map(({key:e,value:n})=>[e,n]))}function gy(t){return new Pe(t.isSigned,t.bitWidth)}function vy(t,e){let n=t.type.name;switch(n){case"NONE":return new ft;case"null":return new ft;case"binary":return new Qn;case"largebinary":return new Gn;case"utf8":return new Xn;case"largeutf8":return new Zn;case"bool":return new Jn;case"list":return new hn((e||[])[0]);case"struct":return new he(e||[]);case"struct_":return new he(e||[])}switch(n){case"int":{let r=t.type;return new Pe(r.isSigned,r.bitWidth)}case"floatingpoint":{let r=t.type;return new Ht(ce[r.precision])}case"decimal":{let r=t.type;return new qn(r.scale,r.precision,r.bitWidth)}case"date":{let r=t.type;return new er(Fe[r.unit])}case"time":{let r=t.type;return new tr(k[r.unit],r.bitWidth)}case"timestamp":{let r=t.type;return new nr(k[r.unit],r.timezone)}case"interval":{let r=t.type;return new rr(We[r.unit])}case"duration":{let r=t.type;return new ir(k[r.unit])}case"union":{let r=t.type,[i,...s]=(r.mode+"").toLowerCase(),o=i.toUpperCase()+s.join("");return new pn(de[o],r.typeIds||[],e||[])}case"fixedsizebinary":{let r=t.type;return new sr(r.byteWidth)}case"fixedsizelist":{let r=t.type;return new mn(r.listSize,(e||[])[0])}case"map":{let r=t.type;return new yn((e||[])[0],r.keysSorted)}}throw new Error(`Unrecognized type: "${n}"`)}var ob=hi,ab=Et,bt=class t{static fromJSON(e,n){let r=new t(0,le.V5,n);return r._createHeader=lb(e,n),r}static decode(e){e=new ab(V(e));let n=_n.getRootAsMessage(e),r=n.bodyLength(),i=n.version(),s=n.headerType(),o=new t(r,i,s);return o._createHeader=ub(n,s),o}static encode(e){let n=new ob,r=-1;return e.isSchema()?r=ae.encode(n,e.header()):e.isRecordBatch()?r=Ze.encode(n,e.header()):e.isDictionaryBatch()&&(r=St.encode(n,e.header())),_n.startMessage(n),_n.addVersion(n,le.V5),_n.addHeader(n,r),_n.addHeaderType(n,e.headerType),_n.addBodyLength(n,BigInt(e.bodyLength)),_n.finishMessageBuffer(n,_n.endMessage(n)),n.asUint8Array()}static from(e,n=0){if(e instanceof ae)return new t(0,le.V5,q.Schema,e);if(e instanceof Ze)return new t(n,le.V5,q.RecordBatch,e);if(e instanceof St)return new t(n,le.V5,q.DictionaryBatch,e);throw new Error(`Unrecognized Message header: ${e}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===q.Schema}isRecordBatch(){return this.headerType===q.RecordBatch}isDictionaryBatch(){return this.headerType===q.DictionaryBatch}constructor(e,n,r,i){this._version=n,this._headerType=r,this.body=new Uint8Array(0),i&&(this._createHeader=()=>i),this._bodyLength=ne(e)}},Ze=class{get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}constructor(e,n,r){this._nodes=n,this._buffers=r,this._length=ne(e)}},St=class{get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}constructor(e,n,r=!1){this._data=e,this._isDelta=r,this._id=ne(n)}},wt=class{constructor(e,n){this.offset=ne(e),this.length=ne(n)}},Qt=class{constructor(e,n){this.length=ne(e),this.nullCount=ne(n)}};function lb(t,e){return(()=>{switch(e){case q.Schema:return ae.fromJSON(t);case q.RecordBatch:return Ze.fromJSON(t);case q.DictionaryBatch:return St.fromJSON(t)}throw new Error(`Unrecognized Message type: { name: ${q[e]}, type: ${e} }`)})}function ub(t,e){return(()=>{switch(e){case q.Schema:return ae.decode(t.header(new gt),new Map,t.version());case q.RecordBatch:return Ze.decode(t.header(new kt),t.version());case q.DictionaryBatch:return St.decode(t.header(new Hn),t.version())}throw new Error(`Unrecognized Message type: { name: ${q[e]}, type: ${e} }`)})}J.encode=wb;J.decode=vb;J.fromJSON=xy;ae.encode=_b;ae.decode=cb;ae.fromJSON=_y;Ze.encode=Sb;Ze.decode=fb;Ze.fromJSON=qf;St.encode=bb;St.decode=db;St.fromJSON=wy;Qt.encode=xb;Qt.decode=pb;wt.encode=Ib;wt.decode=hb;function cb(t,e=new Map,n=le.V5){let r=gb(t,e);return new ae(r,_u(t),e,n)}function fb(t,e=le.V5){if(t.compression()!==null)throw new Error("Record batch compression not implemented");return new Ze(t.length(),mb(t),yb(t,e))}function db(t,e=le.V5){return new St(Ze.decode(t.data(),e),t.id(),t.isDelta())}function hb(t){return new wt(t.offset(),t.length())}function pb(t){return new Qt(t.length(),t.nullCount())}function mb(t){let e=[];for(let n,r=-1,i=-1,s=t.nodesLength();++rJ.encode(t,s));gt.startFieldsVector(t,n.length);let r=gt.createFieldsVector(t,n),i=e.metadata&&e.metadata.size>0?gt.createCustomMetadataVector(t,[...e.metadata].map(([s,o])=>{let a=t.createString(`${s}`),l=t.createString(`${o}`);return Re.startKeyValue(t),Re.addKey(t,a),Re.addValue(t,l),Re.endKeyValue(t)})):-1;return gt.startSchema(t),gt.addFields(t,r),gt.addEndianness(t,Bb?Er.Little:Er.Big),i!==-1&>.addCustomMetadata(t,i),gt.endSchema(t)}function wb(t,e){let n=-1,r=-1,i=-1,s=e.type,o=e.typeId;F.isDictionary(s)?(o=s.dictionary.typeId,i=gu.visit(s,t),r=gu.visit(s.dictionary,t)):r=gu.visit(s,t);let a=(s.children||[]).map(c=>J.encode(t,c)),l=nt.createChildrenVector(t,a),u=e.metadata&&e.metadata.size>0?nt.createCustomMetadataVector(t,[...e.metadata].map(([c,d])=>{let y=t.createString(`${c}`),v=t.createString(`${d}`);return Re.startKeyValue(t),Re.addKey(t,y),Re.addValue(t,v),Re.endKeyValue(t)})):-1;return e.name&&(n=t.createString(e.name)),nt.startField(t),nt.addType(t,r),nt.addTypeType(t,o),nt.addChildren(t,l),nt.addNullable(t,!!e.nullable),n!==-1&&nt.addName(t,n),i!==-1&&nt.addDictionary(t,i),u!==-1&&nt.addCustomMetadata(t,u),nt.endField(t)}function Sb(t,e){let n=e.nodes||[],r=e.buffers||[];kt.startNodesVector(t,n.length);for(let o of n.slice().reverse())Qt.encode(t,o);let i=t.endVector();kt.startBuffersVector(t,r.length);for(let o of r.slice().reverse())wt.encode(t,o);let s=t.endVector();return kt.startRecordBatch(t),kt.addLength(t,BigInt(e.length)),kt.addNodes(t,i),kt.addBuffers(t,s),kt.endRecordBatch(t)}function bb(t,e){let n=Ze.encode(t,e.data);return Hn.startDictionaryBatch(t),Hn.addId(t,BigInt(e.id)),Hn.addIsDelta(t,e.isDelta),Hn.addData(t,n),Hn.endDictionaryBatch(t)}function xb(t,e){return rs.createFieldNode(t,BigInt(e.length),BigInt(e.nullCount))}function Ib(t,e){return ns.createBuffer(t,BigInt(e.offset),BigInt(e.length))}var Bb=(()=>{let t=new ArrayBuffer(2);return new DataView(t).setInt16(0,256,!0),new Int16Array(t)[0]===256})();var td=t=>`Expected ${q[t]} Message in stream, but was null or length 0.`,nd=t=>`Header pointer of flatbuffer-encoded ${q[t]} Message is null or length 0.`,Ny=(t,e)=>`Expected to read ${t} metadata bytes, but only read ${e}.`,Ty=(t,e)=>`Expected to read ${t} bytes for message body, but only read ${e}.`,Ss=class{constructor(e){this.source=e instanceof Cn?e:new Cn(e)}[Symbol.iterator](){return this}next(){let e;return(e=this.readMetadataLength()).done?pe:e.value===-1&&(e=this.readMetadataLength()).done?pe:(e=this.readMetadata(e.value)).done?pe:e}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}readMessage(e){let n;if((n=this.next()).done)return null;if(e!=null&&n.value.headerType!==e)throw new Error(td(e));return n.value}readMessageBody(e){if(e<=0)return new Uint8Array(0);let n=V(this.source.read(e));if(n.byteLength[...i,...s.VALIDITY&&[s.VALIDITY]||[],...s.TYPE_ID&&[s.TYPE_ID]||[],...s.OFFSET&&[s.OFFSET]||[],...s.DATA&&[s.DATA]||[],...n(s.children)],[])}}readMessage(e){let n;if((n=this.next()).done)return null;if(e!=null&&n.value.headerType!==e)throw new Error(td(e));return n.value}readSchema(){let e=q.Schema,n=this.readMessage(e),r=n?.header();if(!n||!r)throw new Error(nd(e));return r}},wu=4,ed="ARROW1",bs=new Uint8Array(ed.length);for(let t=0;tthis):this}readRecordBatch(e){return this._impl.isFile()?this._impl.readRecordBatch(e):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return Ge.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return Ge.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,n){throw new Error('"throughDOM" not available in this environment')}static from(e){return e instanceof t?e:Za(e)?Nb(e):qa(e)?Fb(e):Ot(e)?O(this,void 0,void 0,function*(){return yield t.from(yield e)}):el(e)||lo(e)||nl(e)||$t(e)?Ob(new Yt(e)):Tb(new Cn(e))}static readAll(e){return e instanceof t?e.isSync()?Fy(e):Ey(e):Za(e)||ArrayBuffer.isView(e)||sn(e)||Ja(e)?Fy(e):Ey(e)}},yr=class extends Ct{constructor(e){super(e),this._impl=e}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return Tt(this,arguments,function*(){yield X(yield*es(rn(this[Symbol.iterator]())))})}},Ti=class extends Ct{constructor(e){super(e),this._impl=e}readAll(){return O(this,void 0,void 0,function*(){var e,n,r,i;let s=new Array;try{for(var o=!0,a=rn(this),l;l=yield a.next(),e=l.done,!e;o=!0){i=l.value,o=!1;let u=i;s.push(u)}}catch(u){n={error:u}}finally{try{!o&&!e&&(r=a.return)&&(yield r.call(a))}finally{if(n)throw n.error}}return s})}[Symbol.iterator](){throw new Error("AsyncRecordBatchStreamReader is not Iterable")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}},Oi=class extends yr{constructor(e){super(e),this._impl=e}},bu=class extends Ti{constructor(e){super(e),this._impl=e}},xu=class{get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}constructor(e=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=e}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(e){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=e,this.dictionaries=new Map,this}_loadRecordBatch(e,n){let r=this._loadVectors(e,n,this.schema.fields),i=Q({type:new he(this.schema.fields),length:e.length,children:r});return new Ne(this.schema,i)}_loadDictionaryBatch(e,n){let{id:r,isDelta:i}=e,{dictionaries:s,schema:o}=this,a=s.get(r),l=o.dictionaries.get(r),u=this._loadVectors(e.data,n,[l]);return(a&&i?a.concat(new ee(u)):new ee(u)).memoize()}_loadVectors(e,n,r){return new Lo(n,e.nodes,e.buffers,this.dictionaries,this.schema.metadataVersion).visitMany(r)}},Is=class extends xu{constructor(e,n){super(n),this._reader=Za(e)?new sa(this._handle=e):new Ss(this._handle=e)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(e){return this.closed||(this.autoDestroy=ky(this,e),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(e):pe}return(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(e):pe}next(){if(this.closed)return pe;let e,{_reader:n}=this;for(;e=this._readNextMessageAndValidate();)if(e.isSchema())this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;let r=e.header(),i=n.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(r,i)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;let r=e.header(),i=n.readMessageBody(e.bodyLength),s=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,s)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new Ni(this.schema)}):this.return()}_readNextMessageAndValidate(e){return this._reader.readMessage(e)}},Bs=class extends xu{constructor(e,n){super(n),this._reader=new ia(this._handle=e)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return O(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(e){return O(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=ky(this,e),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(e){return O(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(e):pe})}return(e){return O(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(e):pe})}next(){return O(this,void 0,void 0,function*(){if(this.closed)return pe;let e,{_reader:n}=this;for(;e=yield this._readNextMessageAndValidate();)if(e.isSchema())yield this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;let r=e.header(),i=yield n.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(r,i)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;let r=e.header(),i=yield n.readMessageBody(e.bodyLength),s=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,s)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new Ni(this.schema)}):yield this.return()})}_readNextMessageAndValidate(e){return O(this,void 0,void 0,function*(){return yield this._reader.readMessage(e)})}},Iu=class extends Is{get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}constructor(e,n){super(e instanceof Eo?e:new Eo(e),n)}isSync(){return!0}isFile(){return!0}open(e){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(let n of this._footer.dictionaryBatches())n&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(e)}readRecordBatch(e){var n;if(this.closed)return null;this._footer||this.open();let r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(e);if(r&&this._handle.seek(r.offset)){let i=this._reader.readMessage(q.RecordBatch);if(i?.isRecordBatch()){let s=i.header(),o=this._reader.readMessageBody(i.bodyLength);return this._loadRecordBatch(s,o)}}return null}_readDictionaryBatch(e){var n;let r=(n=this._footer)===null||n===void 0?void 0:n.getDictionaryBatch(e);if(r&&this._handle.seek(r.offset)){let i=this._reader.readMessage(q.DictionaryBatch);if(i?.isDictionaryBatch()){let s=i.header(),o=this._reader.readMessageBody(i.bodyLength),a=this._loadDictionaryBatch(s,o);this.dictionaries.set(s.id,a)}}}_readFooter(){let{_handle:e}=this,n=e.size-rd,r=e.readInt32(n),i=e.readAt(n-r,r);return lr.decode(i)}_readNextMessageAndValidate(e){var n;if(this._footer||this.open(),this._footer&&this._recordBatchIndexsuper.open}});return O(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(let r of this._footer.dictionaryBatches())r&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield n.open.call(this,e)})}readRecordBatch(e){return O(this,void 0,void 0,function*(){var n;if(this.closed)return null;this._footer||(yield this.open());let r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(e);if(r&&(yield this._handle.seek(r.offset))){let i=yield this._reader.readMessage(q.RecordBatch);if(i?.isRecordBatch()){let s=i.header(),o=yield this._reader.readMessageBody(i.bodyLength);return this._loadRecordBatch(s,o)}}return null})}_readDictionaryBatch(e){return O(this,void 0,void 0,function*(){var n;let r=(n=this._footer)===null||n===void 0?void 0:n.getDictionaryBatch(e);if(r&&(yield this._handle.seek(r.offset))){let i=yield this._reader.readMessage(q.DictionaryBatch);if(i?.isDictionaryBatch()){let s=i.header(),o=yield this._reader.readMessageBody(i.bodyLength),a=this._loadDictionaryBatch(s,o);this.dictionaries.set(s.id,a)}}})}_readFooter(){return O(this,void 0,void 0,function*(){let{_handle:e}=this;e._pending&&(yield e._pending);let n=e.size-rd,r=yield e.readInt32(n),i=yield e.readAt(n-r,r);return lr.decode(i)})}_readNextMessageAndValidate(e){return O(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex=4?Su(e)?new Oi(new Iu(t.read())):new yr(new Is(t)):new yr(new Is((function*(){})()))}function Ob(t){return O(this,void 0,void 0,function*(){let e=yield t.peek(xs+7&-8);return e&&e.byteLength>=4?Su(e)?new Oi(new Iu(yield t.read())):new Ti(new Bs(t)):new Ti(new Bs((function(){return Tt(this,arguments,function*(){})})()))})}function Fb(t){return O(this,void 0,void 0,function*(){let{size:e}=yield t.stat(),n=new $r(t,e);return e>=Oy&&Su(yield n.readAt(0,xs+7&-8))?new bu(new id(n)):new Ti(new Bs(n))})}var Se=class t extends C{static assemble(...e){let n=i=>i.flatMap(s=>Array.isArray(s)?n(s):s instanceof Ne?s.data.children:s.data),r=new t;return r.visitMany(n(e)),r}constructor(){super(),this._byteLength=0,this._nodes=[],this._buffers=[],this._bufferRegions=[]}visit(e){if(e instanceof ee)return this.visitMany(e.data),this;let{type:n}=e;if(!F.isDictionary(n)){let{length:r}=e;if(r>2147483647)throw new RangeError("Cannot write arrays larger than 2^31 - 1 in length");if(F.isUnion(n))this.nodes.push(new Qt(r,0));else{let{nullCount:i}=e;F.isNull(n)||wn.call(this,i<=0?new Uint8Array(0):yi(e.offset,r,e.nullBitmap)),this.nodes.push(new Qt(r,i))}}return super.visit(e)}visitNull(e){return this}visitDictionary(e){return this.visit(e.clone(e.type.indices))}get nodes(){return this._nodes}get buffers(){return this._buffers}get byteLength(){return this._byteLength}get bufferRegions(){return this._bufferRegions}};function wn(t){let e=t.byteLength+7&-8;return this.buffers.push(t),this.bufferRegions.push(new wt(this._byteLength,e)),this._byteLength+=e,this}function Eb(t){var e;let{type:n,length:r,typeIds:i,valueOffsets:s}=t;if(wn.call(this,i),n.mode===de.Sparse)return od.call(this,t);if(n.mode===de.Dense){if(t.offset<=0)return wn.call(this,s),od.call(this,t);{let o=new Int32Array(r),a=Object.create(null),l=Object.create(null);for(let u,c,d=-1;++d{let d=n.typeIds[c],y=a[d],v=l[d];return u.slice(y,Math.min(r,v))}))}}return this}function kb(t){let e;return t.nullCount>=t.length?wn.call(this,new Uint8Array(0)):(e=t.values)instanceof Uint8Array?wn.call(this,yi(t.offset,t.length,e)):wn.call(this,gi(t.values))}function gr(t){return wn.call(this,t.values.subarray(0,t.length*t.stride))}function Bu(t){let{length:e,values:n,valueOffsets:r}=t,i=ne(r[0]),s=ne(r[e]),o=Math.min(s-i,n.byteLength-i);return wn.call(this,il(-i,e+1,r)),wn.call(this,n.subarray(i,i+o)),this}function ad(t){let{length:e,valueOffsets:n}=t;if(n){let{[0]:r,[e]:i}=n;return wn.call(this,il(-r,e+1,n)),this.visit(t.children[0].slice(r,i-r))}return this.visit(t.children[0])}function od(t){return this.visitMany(t.type.children.map((e,n)=>t.children[n]).filter(Boolean))[0]}Se.prototype.visitBool=kb;Se.prototype.visitInt=gr;Se.prototype.visitFloat=gr;Se.prototype.visitUtf8=Bu;Se.prototype.visitLargeUtf8=Bu;Se.prototype.visitBinary=Bu;Se.prototype.visitLargeBinary=Bu;Se.prototype.visitFixedSizeBinary=gr;Se.prototype.visitDate=gr;Se.prototype.visitTimestamp=gr;Se.prototype.visitTime=gr;Se.prototype.visitDecimal=gr;Se.prototype.visitList=ad;Se.prototype.visitStruct=od;Se.prototype.visitUnion=Eb;Se.prototype.visitInterval=gr;Se.prototype.visitDuration=gr;Se.prototype.visitFixedSizeList=ad;Se.prototype.visitMap=ad;var Fi=class extends wi{static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,n){throw new Error('"throughDOM" not available in this environment')}constructor(e){super(),this._position=0,this._started=!1,this._sink=new Mn,this._schema=null,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._seenDictionaries=new Map,this._dictionaryDeltaOffsets=new Map,ct(e)||(e={autoDestroy:!0,writeLegacyIpcFormat:!1}),this._autoDestroy=typeof e.autoDestroy=="boolean"?e.autoDestroy:!0,this._writeLegacyIpcFormat=typeof e.writeLegacyIpcFormat=="boolean"?e.writeLegacyIpcFormat:!1}toString(e=!1){return this._sink.toString(e)}toUint8Array(e=!1){return this._sink.toUint8Array(e)}writeAll(e){return Ot(e)?e.then(n=>this.writeAll(n)):$t(e)?ud(this,e):ld(this,e)}get closed(){return this._sink.closed}[Symbol.asyncIterator](){return this._sink[Symbol.asyncIterator]()}toDOMStream(e){return this._sink.toDOMStream(e)}toNodeStream(e){return this._sink.toNodeStream(e)}close(){return this.reset()._sink.close()}abort(e){return this.reset()._sink.abort(e)}finish(){return this._autoDestroy?this.close():this.reset(this._sink,this._schema),this}reset(e=this._sink,n=null){return e===this._sink||e instanceof Mn?this._sink=e:(this._sink=new Mn,e&&Qp(e)?this.toDOMStream({type:"bytes"}).pipeTo(e):e&&Gp(e)&&this.toNodeStream({objectMode:!1}).pipe(e)),this._started&&this._schema&&this._writeFooter(this._schema),this._started=!1,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._seenDictionaries=new Map,this._dictionaryDeltaOffsets=new Map,(!n||!Di(n,this._schema))&&(n==null?(this._position=0,this._schema=null):(this._started=!0,this._schema=n,this._writeSchema(n))),this}write(e){let n=null;if(this._sink){if(e==null)return this.finish()&&void 0;if(e instanceof _t&&!(n=e.schema))return this.finish()&&void 0;if(e instanceof Ne&&!(n=e.schema))return this.finish()&&void 0}else throw new Error("RecordBatchWriter is closed");if(n&&!Di(n,this._schema)){if(this._started&&this._autoDestroy)return this.close();this.reset(this._sink,n)}e instanceof Ne?e instanceof Ni||this._writeRecordBatch(e):e instanceof _t?this.writeAll(e.batches):sn(e)&&this.writeAll(e)}_writeMessage(e,n=8){let r=n-1,i=bt.encode(e),s=i.byteLength,o=this._writeLegacyIpcFormat?4:8,a=s+o+r&~r,l=a-s-o;return e.headerType===q.RecordBatch?this._recordBatchBlocks.push(new ur(a,e.bodyLength,this._position)):e.headerType===q.DictionaryBatch&&this._dictionaryBlocks.push(new ur(a,e.bodyLength,this._position)),this._writeLegacyIpcFormat||this._write(Int32Array.of(-1)),this._write(Int32Array.of(a-o)),s>0&&this._write(i),this._writePadding(l)}_write(e){if(this._started){let n=V(e);n&&n.byteLength>0&&(this._sink.write(n),this._position+=n.byteLength)}return this}_writeSchema(e){return this._writeMessage(bt.from(e))}_writeFooter(e){return this._writeLegacyIpcFormat?this._write(Int32Array.of(0)):this._write(Int32Array.of(-1,0))}_writeMagic(){return this._write(bs)}_writePadding(e){return e>0?this._write(new Uint8Array(e)):this}_writeRecordBatch(e){let{byteLength:n,nodes:r,bufferRegions:i,buffers:s}=Se.assemble(e),o=new Ze(e.numRows,r,i),a=bt.from(o,n);return this._writeDictionaries(e)._writeMessage(a)._writeBodyBuffers(s)}_writeDictionaryBatch(e,n,r=!1){let{byteLength:i,nodes:s,bufferRegions:o,buffers:a}=Se.assemble(new ee([e])),l=new Ze(e.length,s,o),u=new St(l,n,r),c=bt.from(u,i);return this._writeMessage(c)._writeBodyBuffers(a)}_writeBodyBuffers(e){let n,r,i;for(let s=-1,o=e.length;++s0&&(this._write(n),(i=(r+7&-8)-r)>0&&this._writePadding(i));return this}_writeDictionaries(e){var n,r;for(let[i,s]of e.dictionaries){let o=(n=s?.data)!==null&&n!==void 0?n:[],a=this._seenDictionaries.get(i),l=(r=this._dictionaryDeltaOffsets.get(i))!==null&&r!==void 0?r:0;if(!a||a.data[0]!==o[0])for(let[u,c]of o.entries())this._writeDictionaryBatch(c,i,u>0);else if(lr.writeAll(i)):$t(e)?ud(r,e):ld(r,e)}},aa=class t extends Fi{static writeAll(e){let n=new t;return Ot(e)?e.then(r=>n.writeAll(r)):$t(e)?ud(n,e):ld(n,e)}constructor(){super(),this._autoDestroy=!0}_writeSchema(e){return this._writeMagic()._writePadding(2)}_writeDictionaryBatch(e,n,r=!1){if(!r&&this._seenDictionaries.has(n))throw new Error("The Arrow File format does not support replacement dictionaries. ");return super._writeDictionaryBatch(e,n,r)}_writeFooter(e){let n=lr.encode(new lr(e,le.V5,this._recordBatchBlocks,this._dictionaryBlocks));return super._writeFooter(e)._write(n)._write(Int32Array.of(n.byteLength))._writeMagic()}};function ld(t,e){let n=e;e instanceof _t&&(n=e.batches,t.reset(void 0,e.schema));for(let r of n)t.write(r);return t.finish()}function ud(t,e){return O(this,void 0,void 0,function*(){var n,r,i,s,o,a,l;try{for(n=!0,r=rn(e);i=yield r.next(),s=i.done,!s;n=!0){l=i.value,n=!1;let u=l;t.write(u)}}catch(u){o={error:u}}finally{try{!n&&!s&&(a=r.return)&&(yield a.call(r))}finally{if(o)throw o.error}}return t.finish()})}function Ay(t,e){if($t(t))return Lb(t,e);if(sn(t))return Ab(t,e);throw new Error("toDOMStream() must be called with an Iterable or AsyncIterable")}function Ab(t,e){let n=null,r=e?.type==="bytes"||!1,i=e?.highWaterMark||Math.pow(2,24);return new ReadableStream(Object.assign(Object.assign({},e),{start(o){s(o,n||(n=t[Symbol.iterator]()))},pull(o){n?s(o,n):o.close()},cancel(){(n?.return&&n.return()||!0)&&(n=null)}}),Object.assign({highWaterMark:r?i:void 0},e));function s(o,a){let l,u=null,c=o.desiredSize||null;for(;!(u=a.next(r?c:null)).done;)if(ArrayBuffer.isView(u.value)&&(l=V(u.value))&&(c!=null&&r&&(c=c-l.byteLength+1),u.value=l),o.enqueue(u.value),c!=null&&--c<=0)return;o.close()}}function Lb(t,e){let n=null,r=e?.type==="bytes"||!1,i=e?.highWaterMark||Math.pow(2,24);return new ReadableStream(Object.assign(Object.assign({},e),{start(o){return O(this,void 0,void 0,function*(){yield s(o,n||(n=t[Symbol.asyncIterator]()))})},pull(o){return O(this,void 0,void 0,function*(){n?yield s(o,n):o.close()})},cancel(){return O(this,void 0,void 0,function*(){(n?.return&&(yield n.return())||!0)&&(n=null)})}}),Object.assign({highWaterMark:r?i:void 0},e));function s(o,a){return O(this,void 0,void 0,function*(){let l,u=null,c=o.desiredSize||null;for(;!(u=yield a.next(r?c:null)).done;)if(ArrayBuffer.isView(u.value)&&(l=V(u.value))&&(c!=null&&r&&(c=c-l.byteLength+1),u.value=l),o.enqueue(u.value),c!=null&&--c<=0)return;o.close()})}}function Cy(t){return new cd(t)}var cd=class{constructor(e){this._numChunks=0,this._finished=!1,this._bufferedSize=0;let{["readableStrategy"]:n,["writableStrategy"]:r,["queueingStrategy"]:i="count"}=e,s=Yp(e,["readableStrategy","writableStrategy","queueingStrategy"]);this._controller=null,this._builder=bi(s),this._getSize=i!=="bytes"?Ly:My;let{["highWaterMark"]:o=i==="bytes"?Math.pow(2,14):1e3}=Object.assign({},n),{["highWaterMark"]:a=i==="bytes"?Math.pow(2,14):1e3}=Object.assign({},r);this.readable=new ReadableStream({cancel:()=>{this._builder.clear()},pull:l=>{this._maybeFlush(this._builder,this._controller=l)},start:l=>{this._maybeFlush(this._builder,this._controller=l)}},{highWaterMark:o,size:i!=="bytes"?Ly:My}),this.writable=new WritableStream({abort:()=>{this._builder.clear()},write:()=>{this._maybeFlush(this._builder,this._controller)},close:()=>{this._maybeFlush(this._builder.finish(),this._controller)}},{highWaterMark:a,size:l=>this._writeValueAndReturnChunkSize(l)})}_writeValueAndReturnChunkSize(e){let n=this._bufferedSize;return this._bufferedSize=this._getSize(this._builder.append(e)),this._bufferedSize-n}_maybeFlush(e,n){n!=null&&(this._bufferedSize>=n.desiredSize&&++this._numChunks&&this._enqueue(n,e.toVector()),e.finished&&((e.length>0||this._numChunks===0)&&++this._numChunks&&this._enqueue(n,e.toVector()),!this._finished&&(this._finished=!0)&&this._enqueue(n,null)))}_enqueue(e,n){this._bufferedSize=0,this._controller=null,n==null?e.close():e.enqueue(n)}},Ly=t=>{var e;return(e=t?.length)!==null&&e!==void 0?e:0},My=t=>{var e;return(e=t?.byteLength)!==null&&e!==void 0?e:0};function Du(t,e){let n=new Mn,r=null,i=new ReadableStream({cancel(){return O(this,void 0,void 0,function*(){yield n.close()})},start(a){return O(this,void 0,void 0,function*(){yield o(a,r||(r=yield s()))})},pull(a){return O(this,void 0,void 0,function*(){r?yield o(a,r):a.close()})}});return{writable:new WritableStream(n,Object.assign({highWaterMark:Math.pow(2,14)},t)),readable:i};function s(){return O(this,void 0,void 0,function*(){return yield(yield Ct.from(n)).open(e)})}function o(a,l){return O(this,void 0,void 0,function*(){let u=a.desiredSize,c=null;for(;!(c=yield l.next()).done;)if(a.enqueue(c.value),u!=null&&--u<=0)return;a.close()})}}function Nu(t,e){let n=new this(t),r=new Yt(n),i=new ReadableStream({cancel(){return O(this,void 0,void 0,function*(){yield r.cancel()})},pull(o){return O(this,void 0,void 0,function*(){yield s(o)})},start(o){return O(this,void 0,void 0,function*(){yield s(o)})}},Object.assign({highWaterMark:Math.pow(2,14)},e));return{writable:new WritableStream(n,t),readable:i};function s(o){return O(this,void 0,void 0,function*(){let a=null,l=o.desiredSize;for(;a=yield r.read(l||null);)if(o.enqueue(a),l!=null&&(l-=a.byteLength)<=0)return;o.close()})}}function la(t){let e=Ct.from(t);return Ot(e)?e.then(n=>la(n)):e.isAsync()?e.readAll().then(n=>new _t(n)):new _t(e.readAll())}var Cb=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},bf),Kf),Rf),xf),mf),Uf),vf),{compareSchemas:Di,compareFields:cy,compareTypes:fy});Ge.toDOMStream=Ay;ge.throughDOM=Cy;Ct.throughDOM=Du;Oi.throughDOM=Du;yr.throughDOM=Du;Fi.throughDOM=Nu;aa.throughDOM=Nu;oa.throughDOM=Nu;var Ub=Object.create,Rb=Object.getPrototypeOf,Vd=Object.defineProperty,Pb=Object.getOwnPropertyNames,jb=Object.prototype.hasOwnProperty;function zb(t){return this[t]}var Vb,$b,ye=(t,e,n)=>{var r=t!=null&&typeof t=="object";if(r){var i=e?Vb??=new WeakMap:$b??=new WeakMap,s=i.get(t);if(s)return s}n=t!=null?Ub(Rb(t)):{};let o=e||!t||!t.__esModule?Vd(n,"default",{value:t,enumerable:!0}):n;if(t&&typeof t=="object"||typeof t=="function")for(let a of Pb(t))jb.call(o,a)||Vd(o,a,{get:zb.bind(t,a),enumerable:!0});return r&&i.set(t,o),o},so=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Wb=t=>t;function Hb(t,e){this[t]=Wb.bind(null,e)}var Qh=(t,e)=>{for(var n in e)Vd(t,n,{get:e[n],enumerable:!0,configurable:!0,set:Hb.bind(e,n)})},Gh=(t,e)=>()=>(t&&(e=t(t=0)),e),bv={};Qh(bv,{Children:()=>Fv,Component:()=>Ev,Fragment:()=>kv,Profiler:()=>Av,PureComponent:()=>Lv,StrictMode:()=>Mv,Suspense:()=>Cv,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:()=>Uv,act:()=>Rv,cloneElement:()=>Xb,createContext:()=>Zb,createElement:()=>Pv,createFactory:()=>Jb,createRef:()=>qb,forwardRef:()=>ex,isValidElement:()=>jv,lazy:()=>tx,memo:()=>nx,startTransition:()=>rx,unstable_act:()=>zv,useCallback:()=>ix,useContext:()=>sx,useDebugValue:()=>ox,useDeferredValue:()=>ax,useEffect:()=>lx,useId:()=>ux,useImperativeHandle:()=>cx,useInsertionEffect:()=>fx,useLayoutEffect:()=>dx,useMemo:()=>hx,useReducer:()=>px,useRef:()=>mx,useState:()=>yx,useSyncExternalStore:()=>gx,useTransition:()=>vx,version:()=>_x});function Yb(t){return t===null||typeof t!="object"?null:(t=Wd&&t[Wd]||t["@@iterator"],typeof t=="function"?t:null)}function Ds(t,e,n){this.props=t,this.context=e,this.refs=Zh,this.updater=n||Xh}function Uy(){}function fd(t,e,n){this.props=t,this.context=e,this.refs=Zh,this.updater=n||Xh}function xv(t,e,n){var r,i={},s=null,o=null;if(e!=null)for(r in e.ref!==void 0&&(o=e.ref),e.key!==void 0&&(s=""+e.key),e)Jh.call(e,r)&&!qh.hasOwnProperty(r)&&(i[r]=e[r]);var a=arguments.length-2;if(a===1)i.children=n;else if(1{oo=Symbol.for("react.element"),Iv=Symbol.for("react.portal"),Py=Symbol.for("react.fragment"),jy=Symbol.for("react.strict_mode"),zy=Symbol.for("react.profiler"),Bv=Symbol.for("react.provider"),Dv=Symbol.for("react.context"),Nv=Symbol.for("react.forward_ref"),Vy=Symbol.for("react.suspense"),Tv=Symbol.for("react.memo"),Ov=Symbol.for("react.lazy"),Wd=Symbol.iterator,Xh={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Hd=Object.assign,Zh={},Ds.prototype.isReactComponent={},Ds.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")},Ds.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")},Uy.prototype=Ds.prototype,Ou=fd.prototype=new Uy,Ou.constructor=fd,Hd(Ou,Ds.prototype),Ou.isPureReactComponent=!0,Yd=Array.isArray,Jh=Object.prototype.hasOwnProperty,cc={current:null},qh={key:!0,ref:!0,__self:!0,__source:!0},Kd=/\/+/g,ut={current:null},Ia={transition:null},$y={ReactCurrentDispatcher:ut,ReactCurrentBatchConfig:Ia,ReactCurrentOwner:cc},Fv={map:Tu,forEach:function(t,e,n){Tu(t,function(){e.apply(this,arguments)},n)},count:function(t){var e=0;return Tu(t,function(){e++}),e},toArray:function(t){return Tu(t,function(e){return e})||[]},only:function(t){if(!$d(t))throw Error("React.Children.only expected to receive a single React element child.");return t}},Ev=Ds,kv=Py,Av=zy,Lv=fd,Mv=jy,Cv=Vy,Uv=$y,Rv=Ry,Pv=xv,jv=$d,zv=Ry}),nn=so(function(t,e){wx(),e.exports=bv}),Sx=so(function(t){function e(T,M){var _=T.length;T.push(M);e:for(;0<_;){var N=_-1>>>1,te=T[N];if(0>>1;N<$e;){var ui=2*(N+1)-1,uf=T[ui],ci=ui+1,Xa=T[ci];if(0>i(uf,_))cii(Xa,uf)?(T[N]=Xa,T[ci]=_,N=ci):(T[N]=uf,T[ui]=_,N=ui);else if(cii(Xa,_))T[N]=Xa,T[ci]=_,N=ci;else break e}}return M}function i(T,M){var _=T.sortIndex-M.sortIndex;return _!==0?_:T.id-M.id}typeof performance=="object"&&typeof performance.now=="function"?(s=performance,t.unstable_now=function(){return s.now()}):(o=Date,a=o.now(),t.unstable_now=function(){return o.now()-a});var s,o,a,l=[],u=[],c=1,d=null,y=3,v=!1,S=!1,I=!1,Y=typeof setTimeout=="function"?setTimeout:null,h=typeof clearTimeout=="function"?clearTimeout:null,f=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function m(T){for(var M=n(u);M!==null;){if(M.callback===null)r(u);else if(M.startTime<=T)r(u),M.sortIndex=M.expirationTime,e(l,M);else break;M=n(u)}}function g(T){if(I=!1,m(T),!S)if(n(l)!==null)S=!0,Ve(w);else{var M=n(u);M!==null&&Fr(g,M.startTime-T)}}function w(T,M){S=!1,I&&(I=!1,h(b),b=-1),v=!0;var _=y;try{for(m(M),d=n(l);d!==null&&(!(d.expirationTime>M)||T&&!ie());){var N=d.callback;if(typeof N=="function"){d.callback=null,y=d.priorityLevel;var te=N(d.expirationTime<=M);M=t.unstable_now(),typeof te=="function"?d.callback=te:d===n(l)&&r(l),m(M)}else r(l);d=n(l)}if(d!==null)var $e=!0;else{var ui=n(u);ui!==null&&Fr(g,ui.startTime-M),$e=!1}return $e}finally{d=null,y=_,v=!1}}var B=!1,D=null,b=-1,K=5,L=-1;function ie(){return!(t.unstable_now()-LT||125N?(T.sortIndex=_,e(u,T),n(l)===null&&T===n(u)&&(I?(h(b),b=-1):I=!0,Fr(g,_-N))):(T.sortIndex=te,e(l,T),S||v||(S=!0,Ve(w))),T},t.unstable_shouldYield=ie,t.unstable_wrapCallback=function(T){var M=y;return function(){var _=y;y=M;try{return T.apply(this,arguments)}finally{y=_}}}}),bx=so(function(t,e){var n=ye(Sx());e.exports=n}),Vv={};Qh(Vv,{__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:()=>G_,createPortal:()=>I1,createRoot:()=>B1,findDOMNode:()=>D1,flushSync:()=>N1,hydrate:()=>T1,hydrateRoot:()=>O1,render:()=>F1,unmountComponentAtNode:()=>E1,unstable_batchedUpdates:()=>X_,unstable_renderSubtreeIntoContainer:()=>k1,version:()=>A1});function x(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,n=1;n"u"||Ix(t,e,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function ht(t,e,n,r,i,s,o){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=t,this.type=e,this.sanitizeURL=s,this.removeEmptyString=o}function hd(t){return t[1].toUpperCase()}function ep(t,e,n,r){var i=He.hasOwnProperty(e)?He[e]:null;(i!==null?i.type!==0:r||!(2a||i[o]!==s[a]){var l=` -`+i[o].replace(" at new "," at ");return t.displayName&&l.includes("")&&(l=l.replace("",t.displayName)),l}while(1<=o&&0<=a);break}}}finally{Ed=!1,Error.prepareStackTrace=n}return(t=t?t.displayName||t.name:"")?va(t):""}function Dx(t){switch(t.tag){case 5:return va(t.type);case 16:return va("Lazy");case 13:return va("Suspense");case 19:return va("SuspenseList");case 0:case 2:case 15:return t=md(t.type,!1),t;case 11:return t=md(t.type.render,!1),t;case 1:return t=md(t.type,!0),t;default:return""}}function Gd(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case ji:return"Fragment";case Pi:return"Portal";case Ic:return"Profiler";case Jc:return"StrictMode";case Bc:return"Suspense";case Dc:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case Np:return(t.displayName||"Context")+".Consumer";case Dp:return(t._context.displayName||"Context")+".Provider";case qc:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case ef:return e=t.displayName||null,e!==null?e:Gd(t.type)||"Memo";case wr:e=t._payload,t=t._init;try{return Gd(t(e))}catch{}}return null}function Nx(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Gd(e);case 8:return e===Jc?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function oi(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function $v(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function Tx(t){var e=$v(t)?"checked":"value",n=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),r=""+t[e];if(!t.hasOwnProperty(e)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var{get:i,set:s}=n;return Object.defineProperty(t,e,{configurable:!0,get:function(){return i.call(this)},set:function(o){r=""+o,s.call(this,o)}}),Object.defineProperty(t,e,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function Fu(t){t._valueTracker||(t._valueTracker=Tx(t))}function Wv(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var n=e.getValue(),r="";return t&&(r=$v(t)?t.checked?"true":"false":t.value),t=r,t!==n?(e.setValue(t),!0):!1}function fc(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function Xd(t,e){var n=e.checked;return be({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??t._wrapperState.initialChecked})}function Wy(t,e){var n=e.defaultValue==null?"":e.defaultValue,r=e.checked!=null?e.checked:e.defaultChecked;n=oi(e.value!=null?e.value:n),t._wrapperState={initialChecked:r,initialValue:n,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function Hv(t,e){e=e.checked,e!=null&&tp(t,"checked",e,!1)}function Zd(t,e){Hv(t,e);var n=oi(e.value),r=e.type;if(n!=null)r==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+n):t.value!==""+n&&(t.value=""+n);else if(r==="submit"||r==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?Jd(t,e.type,n):e.hasOwnProperty("defaultValue")&&Jd(t,e.type,oi(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function Hy(t,e,n){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var r=e.type;if(!(r!=="submit"&&r!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,n||e===t.value||(t.value=e),t.defaultValue=e}n=t.name,n!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,n!==""&&(t.name=n)}function Jd(t,e,n){(e!=="number"||fc(t.ownerDocument)!==t)&&(n==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+n&&(t.defaultValue=""+n))}function $s(t,e,n,r){if(t=t.options,e){e={};for(var i=0;i>>=0,t===0?32:31-(c_(t)/f_|0)|0}function _a(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function dc(t,e){var n=t.pendingLanes;if(n===0)return 0;var r=0,i=t.suspendedLanes,s=t.pingedLanes,o=n&268435455;if(o!==0){var a=o&~i;a!==0?r=_a(a):(s&=o,s!==0&&(r=_a(s)))}else o=n&~i,o!==0?r=_a(o):s!==0&&(r=_a(s));if(r===0)return 0;if(e!==0&&e!==r&&(e&i)===0&&(i=r&-r,s=e&-e,i>=s||i===16&&(s&4194240)!==0))return e;if((r&4)!==0&&(r|=n&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=r;0n;n++)e.push(t);return e}function Qa(t,e,n){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-en(e),t[e]=n}function Ux(t,e){var n=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var r=t.eventTimes;for(t=t.expirationTimes;0=e)return{node:n,offset:e-t};t=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=tg(n)}}function h0(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?h0(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function p0(){for(var t=window,e=fc();e instanceof t.HTMLIFrameElement;){try{var n=typeof e.contentWindow.location.href=="string"}catch{n=!1}if(n)t=e.contentWindow;else break;e=fc(t.document)}return e}function sp(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function Jx(t){var e=p0(),n=t.focusedElem,r=t.selectionRange;if(e!==n&&n&&n.ownerDocument&&h0(n.ownerDocument.documentElement,n)){if(r!==null&&sp(n)){if(e=r.start,t=r.end,t===void 0&&(t=e),"selectionStart"in n)n.selectionStart=e,n.selectionEnd=Math.min(t,n.value.length);else if(t=(e=n.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var i=n.textContent.length,s=Math.min(r.start,i);r=r.end===void 0?s:Math.min(r.end,i),!t.extend&&s>r&&(i=r,r=s,s=i),i=ng(n,s);var o=ng(n,r);i&&o&&(t.rangeCount!==1||t.anchorNode!==i.node||t.anchorOffset!==i.offset||t.focusNode!==o.node||t.focusOffset!==o.offset)&&(e=e.createRange(),e.setStart(i.node,i.offset),t.removeAllRanges(),s>r?(t.addRange(e),t.extend(o.node,o.offset)):(e.setEnd(o.node,o.offset),t.addRange(e)))}}for(e=[],t=n;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;nPs||(t.current=Lc[Ps],Lc[Ps]=null,Ps--)}function me(t,e){Ps++,Lc[Ps]=t.current,t.current=e}function Gs(t,e){var n=t.type.contextTypes;if(!n)return Nr;var r=t.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===e)return r.__reactInternalMemoizedMaskedChildContext;var i={},s;for(s in n)i[s]=e[s];return r&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=i),i}function Dt(t){return t=t.childContextTypes,t!=null}function yc(){_e(yt),_e(tt)}function lg(t,e,n){if(tt.current!==Nr)throw Error(x(168));me(tt,e),me(yt,n)}function g0(t,e,n){var r=t.stateNode;if(e=e.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in e))throw Error(x(108,Nx(t)||"Unknown",i));return be({},n,r)}function gc(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||Nr,ai=tt.current,me(tt,t),me(yt,yt.current),!0}function ug(t,e,n){var r=t.stateNode;if(!r)throw Error(x(169));n?(t=g0(t,e,ai),r.__reactInternalMemoizedMergedChildContext=t,_e(yt),_e(tt),me(tt,t)):_e(yt),me(yt,n)}function v0(t){Sr===null?Sr=[t]:Sr.push(t)}function e1(t){sf=!0,v0(t)}function li(){if(!Pd&&Sr!==null){Pd=!0;var t=0,e=ue;try{var n=Sr;for(ue=1;t>=o,i-=o,Ir=1<<32-en(e)+i|n<b?(K=N,N=null):K=N.sibling;var L=y(h,N,m[b],g);if(L===null){N===null&&(N=K);break}t&&N&&L.alternate===null&&e(h,N),f=s(L,f,b),D===null?w=L:D.sibling=L,D=L,N=K}if(b===m.length)return n(h,N),Ie&&Li(h,b),w;if(N===null){for(;bb?(K=N,N=null):K=N.sibling;var ie=y(h,N,L.value,g);if(ie===null){N===null&&(N=K);break}t&&N&&ie.alternate===null&&e(h,N),f=s(ie,f,b),D===null?w=ie:D.sibling=ie,D=ie,N=K}if(L.done)return n(h,N),Ie&&Li(h,b),w;if(N===null){for(;!L.done;b++,L=m.next())L=d(h,L.value,g),L!==null&&(f=s(L,f,b),D===null?w=L:D.sibling=L,D=L);return Ie&&Li(h,b),w}for(N=r(h,N);!L.done;b++,L=m.next())L=v(N,h,b,L.value,g),L!==null&&(t&&L.alternate!==null&&N.delete(L.key===null?b:L.key),f=s(L,f,b),D===null?w=L:D.sibling=L,D=L);return t&&N.forEach(function(Qe){return e(h,Qe)}),Ie&&Li(h,b),w}function Y(h,f,m,g){if(typeof m=="object"&&m!==null&&m.type===ji&&m.key===null&&(m=m.props.children),typeof m=="object"&&m!==null){switch(m.$$typeof){case Sa:e:{for(var w=m.key,D=f;D!==null;){if(D.key===w){if(w=m.type,w===ji){if(D.tag===7){n(h,D.sibling),f=i(D,m.props.children),f.return=h,h=f;break e}}else if(D.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===wr&&dg(w)===D.type){n(h,D.sibling),f=i(D,m.props),f.ref=da(h,D,m),f.return=h,h=f;break e}n(h,D);break}else e(h,D);D=D.sibling}m.type===ji?(f=Yi(m.props.children,h.mode,g,m.key),f.return=h,h=f):(g=tc(m.type,m.key,m.props,null,h.mode,g),g.ref=da(h,f,m),g.return=h,h=g)}return o(h);case Pi:e:{for(D=m.key;f!==null;){if(f.key===D)if(f.tag===4&&f.stateNode.containerInfo===m.containerInfo&&f.stateNode.implementation===m.implementation){n(h,f.sibling),f=i(f,m.children||[]),f.return=h,h=f;break e}else{n(h,f);break}else e(h,f);f=f.sibling}f=Td(m,h.mode,g),f.return=h,h=f}return o(h);case wr:return D=m._init,Y(h,f,D(m._payload),g)}if(Ls(m))return S(h,f,m,g);if(ua(m))return I(h,f,m,g);Cu(h,m)}return typeof m=="string"&&m!==""||typeof m=="number"?(m=""+m,f!==null&&f.tag===6?(n(h,f.sibling),f=i(f,m),f.return=h,h=f):(n(h,f),f=Nd(m,h.mode,g),f.return=h,h=f),o(h)):n(h,f)}return Y}function up(){Up=zs=Uc=null}function cp(t){var e=Va.current;_e(Va),t._currentValue=e}function lh(t,e,n){for(;t!==null;){var r=t.alternate;if((t.childLanes&e)!==e?(t.childLanes|=e,r!==null&&(r.childLanes|=e)):r!==null&&(r.childLanes&e)!==e&&(r.childLanes|=e),t===n)break;t=t.return}}function Ws(t,e){Uc=t,Up=zs=null,t=t.dependencies,t!==null&&t.firstContext!==null&&((t.lanes&e)!==0&&(Bt=!0),t.firstContext=null)}function Gt(t){var e=t._currentValue;if(Up!==t)if(t={context:t,memoizedValue:e,next:null},zs===null){if(Uc===null)throw Error(x(308));zs=t,Uc.dependencies={lanes:0,firstContext:t}}else zs=zs.next=t;return e}function fp(t){Vi===null?Vi=[t]:Vi.push(t)}function b0(t,e,n,r){var i=e.interleaved;return i===null?(n.next=n,fp(e)):(n.next=i.next,i.next=n),e.interleaved=n,Dr(t,r)}function Dr(t,e){t.lanes|=e;var n=t.alternate;for(n!==null&&(n.lanes|=e),n=t,t=t.return;t!==null;)t.childLanes|=e,n=t.alternate,n!==null&&(n.childLanes|=e),n=t,t=t.return;return n.tag===3?n.stateNode:null}function dp(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function x0(t,e){t=t.updateQueue,e.updateQueue===t&&(e.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,effects:t.effects})}function xr(t,e){return{eventTime:t,lane:e,tag:0,payload:null,callback:null,next:null}}function ei(t,e,n){var r=t.updateQueue;if(r===null)return null;if(r=r.shared,(re&2)!==0){var i=r.pending;return i===null?e.next=e:(e.next=i.next,i.next=e),r.pending=e,Dr(t,n)}return i=r.interleaved,i===null?(e.next=e,fp(r)):(e.next=i.next,i.next=e),r.interleaved=e,Dr(t,n)}function Ju(t,e,n){if(e=e.updateQueue,e!==null&&(e=e.shared,(n&4194240)!==0)){var r=e.lanes;r&=t.pendingLanes,n|=r,e.lanes=n,rp(t,n)}}function pg(t,e){var{updateQueue:n,alternate:r}=t;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,s=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};s===null?i=s=o:s=s.next=o,n=n.next}while(n!==null);s===null?i=s=e:s=s.next=e}else i=s=e;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:s,shared:r.shared,effects:r.effects},t.updateQueue=n;return}t=n.lastBaseUpdate,t===null?n.firstBaseUpdate=e:t.next=e,n.lastBaseUpdate=e}function vc(t,e,n,r){var i=t.updateQueue;Kr=!1;var{firstBaseUpdate:s,lastBaseUpdate:o}=i,a=i.shared.pending;if(a!==null){i.shared.pending=null;var l=a,u=l.next;l.next=null,o===null?s=u:o.next=u,o=l;var c=t.alternate;c!==null&&(c=c.updateQueue,a=c.lastBaseUpdate,a!==o&&(a===null?c.firstBaseUpdate=u:a.next=u,c.lastBaseUpdate=l))}if(s!==null){var d=i.baseState;o=0,c=u=l=null,a=s;do{var{lane:y,eventTime:v}=a;if((r&y)===y){c!==null&&(c=c.next={eventTime:v,lane:0,tag:a.tag,payload:a.payload,callback:a.callback,next:null});e:{var S=t,I=a;switch(y=e,v=n,I.tag){case 1:if(S=I.payload,typeof S=="function"){d=S.call(v,d,y);break e}d=S;break e;case 3:S.flags=S.flags&-65537|128;case 0:if(S=I.payload,y=typeof S=="function"?S.call(v,d,y):S,y==null)break e;d=be({},d,y);break e;case 2:Kr=!0}}a.callback!==null&&a.lane!==0&&(t.flags|=64,y=i.effects,y===null?i.effects=[a]:y.push(a))}else v={eventTime:v,lane:y,tag:a.tag,payload:a.payload,callback:a.callback,next:null},c===null?(u=c=v,l=d):c=c.next=v,o|=y;if(a=a.next,a===null){if(a=i.shared.pending,a===null)break;y=a,a=y.next,y.next=null,i.lastBaseUpdate=y,i.shared.pending=null}}while(!0);if(c===null&&(l=d),i.baseState=l,i.firstBaseUpdate=u,i.lastBaseUpdate=c,e=i.shared.interleaved,e!==null){i=e;do o|=i.lane,i=i.next;while(i!==e)}else s===null&&(i.shared.lanes=0);Zi|=o,t.lanes=o,t.memoizedState=d}}function mg(t,e,n){if(t=e.effects,e.effects=null,t!==null)for(e=0;en?n:4,t(!0);var r=ac.transition;ac.transition={};try{t(!1),e()}finally{ue=n,ac.transition=r}}function Ng(){return Jt().memoizedState}function n1(t,e,n){var r=Xr(t);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},E0(t))k0(e,n);else if(n=b0(t,e,n,r),n!==null){var i=mt();In(n,t,r,i),A0(n,e,r)}}function r1(t,e,n){var r=Xr(t),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(E0(t))k0(e,i);else{var s=t.alternate;if(t.lanes===0&&(s===null||s.lanes===0)&&(s=e.lastRenderedReducer,s!==null))try{var o=e.lastRenderedState,a=s(o,n);if(i.hasEagerState=!0,i.eagerState=a,tn(a,o)){var l=e.interleaved;l===null?(i.next=i,fp(e)):(i.next=l.next,l.next=i),e.interleaved=i;return}}catch{}n=b0(t,e,i,r),n!==null&&(i=mt(),In(n,t,r,i),A0(n,e,r))}}function E0(t){var e=t.alternate;return t===De||e!==null&&e===De}function k0(t,e){Fa=Rc=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function A0(t,e,n){if((n&4194240)!==0){var r=e.lanes;r&=t.pendingLanes,n|=r,e.lanes=n,rp(t,n)}}function bn(t,e){if(t&&t.defaultProps){e=be({},e),t=t.defaultProps;for(var n in t)e[n]===void 0&&(e[n]=t[n]);return e}return e}function ch(t,e,n,r){e=t.memoizedState,n=n(r,e),n=n==null?e:be({},e,n),t.memoizedState=n,t.lanes===0&&(t.updateQueue.baseState=n)}function Tg(t,e,n,r,i,s,o){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(r,s,o):e.prototype&&e.prototype.isPureReactComponent?!Ca(n,r)||!Ca(i,s):!0}function L0(t,e,n){var r=!1,i=Nr,s=e.contextType;return typeof s=="object"&&s!==null?s=Gt(s):(i=Dt(e)?ai:tt.current,r=e.contextTypes,s=(r=r!=null)?Gs(t,i):Nr),e=new e(n,s),t.memoizedState=e.state!==null&&e.state!==void 0?e.state:null,e.updater=Ha,t.stateNode=e,e._reactInternals=t,r&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=i,t.__reactInternalMemoizedMaskedChildContext=s),e}function Og(t,e,n,r){t=e.state,typeof e.componentWillReceiveProps=="function"&&e.componentWillReceiveProps(n,r),typeof e.UNSAFE_componentWillReceiveProps=="function"&&e.UNSAFE_componentWillReceiveProps(n,r),e.state!==t&&Ha.enqueueReplaceState(e,e.state,null)}function fh(t,e,n,r){var i=t.stateNode;i.props=n,i.state=t.memoizedState,i.refs={},dp(t);var s=e.contextType;typeof s=="object"&&s!==null?i.context=Gt(s):(s=Dt(e)?ai:tt.current,i.context=Gs(t,s)),i.state=t.memoizedState,s=e.getDerivedStateFromProps,typeof s=="function"&&(ch(t,e,s,n),i.state=t.memoizedState),typeof e.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(e=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),e!==i.state&&Ha.enqueueReplaceState(i,i.state,null),vc(t,n,i,r),i.state=t.memoizedState),typeof i.componentDidMount=="function"&&(t.flags|=4194308)}function Js(t,e){try{var n="",r=e;do n+=Dx(r),r=r.return;while(r);var i=n}catch(s){i=` +`+i[o].replace(" at new "," at ");return t.displayName&&l.includes("")&&(l=l.replace("",t.displayName)),l}while(1<=o&&0<=a);break}}}finally{Fd=!1,Error.prepareStackTrace=n}return(t=t?t.displayName||t.name:"")?va(t):""}function Dx(t){switch(t.tag){case 5:return va(t.type);case 16:return va("Lazy");case 13:return va("Suspense");case 19:return va("SuspenseList");case 0:case 2:case 15:return t=pd(t.type,!1),t;case 11:return t=pd(t.type.render,!1),t;case 1:return t=pd(t.type,!0),t;default:return""}}function Qd(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case ji:return"Fragment";case Pi:return"Portal";case Ic:return"Profiler";case Jc:return"StrictMode";case Bc:return"Suspense";case Dc:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case Dp:return(t.displayName||"Context")+".Consumer";case Bp:return(t._context.displayName||"Context")+".Provider";case qc:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case ef:return e=t.displayName||null,e!==null?e:Qd(t.type)||"Memo";case wr:e=t._payload,t=t._init;try{return Qd(t(e))}catch{}}return null}function Nx(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Qd(e);case 8:return e===Jc?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function oi(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function $v(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function Tx(t){var e=$v(t)?"checked":"value",n=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),r=""+t[e];if(!t.hasOwnProperty(e)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var{get:i,set:s}=n;return Object.defineProperty(t,e,{configurable:!0,get:function(){return i.call(this)},set:function(o){r=""+o,s.call(this,o)}}),Object.defineProperty(t,e,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function Fu(t){t._valueTracker||(t._valueTracker=Tx(t))}function Wv(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var n=e.getValue(),r="";return t&&(r=$v(t)?t.checked?"true":"false":t.value),t=r,t!==n?(e.setValue(t),!0):!1}function fc(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function Gd(t,e){var n=e.checked;return be({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??t._wrapperState.initialChecked})}function Wy(t,e){var n=e.defaultValue==null?"":e.defaultValue,r=e.checked!=null?e.checked:e.defaultChecked;n=oi(e.value!=null?e.value:n),t._wrapperState={initialChecked:r,initialValue:n,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function Hv(t,e){e=e.checked,e!=null&&ep(t,"checked",e,!1)}function Xd(t,e){Hv(t,e);var n=oi(e.value),r=e.type;if(n!=null)r==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+n):t.value!==""+n&&(t.value=""+n);else if(r==="submit"||r==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?Zd(t,e.type,n):e.hasOwnProperty("defaultValue")&&Zd(t,e.type,oi(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function Hy(t,e,n){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var r=e.type;if(!(r!=="submit"&&r!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,n||e===t.value||(t.value=e),t.defaultValue=e}n=t.name,n!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,n!==""&&(t.name=n)}function Zd(t,e,n){(e!=="number"||fc(t.ownerDocument)!==t)&&(n==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+n&&(t.defaultValue=""+n))}function $s(t,e,n,r){if(t=t.options,e){e={};for(var i=0;i>>=0,t===0?32:31-(c_(t)/f_|0)|0}function _a(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function dc(t,e){var n=t.pendingLanes;if(n===0)return 0;var r=0,i=t.suspendedLanes,s=t.pingedLanes,o=n&268435455;if(o!==0){var a=o&~i;a!==0?r=_a(a):(s&=o,s!==0&&(r=_a(s)))}else o=n&~i,o!==0?r=_a(o):s!==0&&(r=_a(s));if(r===0)return 0;if(e!==0&&e!==r&&(e&i)===0&&(i=r&-r,s=e&-e,i>=s||i===16&&(s&4194240)!==0))return e;if((r&4)!==0&&(r|=n&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=r;0n;n++)e.push(t);return e}function Qa(t,e,n){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-en(e),t[e]=n}function Ux(t,e){var n=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var r=t.eventTimes;for(t=t.expirationTimes;0=e)return{node:n,offset:e-t};t=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=tg(n)}}function h0(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?h0(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function p0(){for(var t=window,e=fc();e instanceof t.HTMLIFrameElement;){try{var n=typeof e.contentWindow.location.href=="string"}catch{n=!1}if(n)t=e.contentWindow;else break;e=fc(t.document)}return e}function ip(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function Jx(t){var e=p0(),n=t.focusedElem,r=t.selectionRange;if(e!==n&&n&&n.ownerDocument&&h0(n.ownerDocument.documentElement,n)){if(r!==null&&ip(n)){if(e=r.start,t=r.end,t===void 0&&(t=e),"selectionStart"in n)n.selectionStart=e,n.selectionEnd=Math.min(t,n.value.length);else if(t=(e=n.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var i=n.textContent.length,s=Math.min(r.start,i);r=r.end===void 0?s:Math.min(r.end,i),!t.extend&&s>r&&(i=r,r=s,s=i),i=ng(n,s);var o=ng(n,r);i&&o&&(t.rangeCount!==1||t.anchorNode!==i.node||t.anchorOffset!==i.offset||t.focusNode!==o.node||t.focusOffset!==o.offset)&&(e=e.createRange(),e.setStart(i.node,i.offset),t.removeAllRanges(),s>r?(t.addRange(e),t.extend(o.node,o.offset)):(e.setEnd(o.node,o.offset),t.addRange(e)))}}for(e=[],t=n;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;nPs||(t.current=Lc[Ps],Lc[Ps]=null,Ps--)}function me(t,e){Ps++,Lc[Ps]=t.current,t.current=e}function Gs(t,e){var n=t.type.contextTypes;if(!n)return Nr;var r=t.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===e)return r.__reactInternalMemoizedMaskedChildContext;var i={},s;for(s in n)i[s]=e[s];return r&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=i),i}function Dt(t){return t=t.childContextTypes,t!=null}function yc(){_e(yt),_e(tt)}function lg(t,e,n){if(tt.current!==Nr)throw Error(x(168));me(tt,e),me(yt,n)}function g0(t,e,n){var r=t.stateNode;if(e=e.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in e))throw Error(x(108,Nx(t)||"Unknown",i));return be({},n,r)}function gc(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||Nr,ai=tt.current,me(tt,t),me(yt,yt.current),!0}function ug(t,e,n){var r=t.stateNode;if(!r)throw Error(x(169));n?(t=g0(t,e,ai),r.__reactInternalMemoizedMergedChildContext=t,_e(yt),_e(tt),me(tt,t)):_e(yt),me(yt,n)}function v0(t){Sr===null?Sr=[t]:Sr.push(t)}function e1(t){sf=!0,v0(t)}function li(){if(!Rd&&Sr!==null){Rd=!0;var t=0,e=ue;try{var n=Sr;for(ue=1;t>=o,i-=o,Ir=1<<32-en(e)+i|n<b?(K=D,D=null):K=D.sibling;var L=y(h,D,m[b],g);if(L===null){D===null&&(D=K);break}t&&D&&L.alternate===null&&e(h,D),f=s(L,f,b),B===null?w=L:B.sibling=L,B=L,D=K}if(b===m.length)return n(h,D),Ie&&Li(h,b),w;if(D===null){for(;bb?(K=D,D=null):K=D.sibling;var ie=y(h,D,L.value,g);if(ie===null){D===null&&(D=K);break}t&&D&&ie.alternate===null&&e(h,D),f=s(ie,f,b),B===null?w=ie:B.sibling=ie,B=ie,D=K}if(L.done)return n(h,D),Ie&&Li(h,b),w;if(D===null){for(;!L.done;b++,L=m.next())L=d(h,L.value,g),L!==null&&(f=s(L,f,b),B===null?w=L:B.sibling=L,B=L);return Ie&&Li(h,b),w}for(D=r(h,D);!L.done;b++,L=m.next())L=v(D,h,b,L.value,g),L!==null&&(t&&L.alternate!==null&&D.delete(L.key===null?b:L.key),f=s(L,f,b),B===null?w=L:B.sibling=L,B=L);return t&&D.forEach(function(Qe){return e(h,Qe)}),Ie&&Li(h,b),w}function Y(h,f,m,g){if(typeof m=="object"&&m!==null&&m.type===ji&&m.key===null&&(m=m.props.children),typeof m=="object"&&m!==null){switch(m.$$typeof){case Sa:e:{for(var w=m.key,B=f;B!==null;){if(B.key===w){if(w=m.type,w===ji){if(B.tag===7){n(h,B.sibling),f=i(B,m.props.children),f.return=h,h=f;break e}}else if(B.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===wr&&dg(w)===B.type){n(h,B.sibling),f=i(B,m.props),f.ref=da(h,B,m),f.return=h,h=f;break e}n(h,B);break}else e(h,B);B=B.sibling}m.type===ji?(f=Yi(m.props.children,h.mode,g,m.key),f.return=h,h=f):(g=tc(m.type,m.key,m.props,null,h.mode,g),g.ref=da(h,f,m),g.return=h,h=g)}return o(h);case Pi:e:{for(B=m.key;f!==null;){if(f.key===B)if(f.tag===4&&f.stateNode.containerInfo===m.containerInfo&&f.stateNode.implementation===m.implementation){n(h,f.sibling),f=i(f,m.children||[]),f.return=h,h=f;break e}else{n(h,f);break}else e(h,f);f=f.sibling}f=Nd(m,h.mode,g),f.return=h,h=f}return o(h);case wr:return B=m._init,Y(h,f,B(m._payload),g)}if(Ls(m))return S(h,f,m,g);if(ua(m))return I(h,f,m,g);Cu(h,m)}return typeof m=="string"&&m!==""||typeof m=="number"?(m=""+m,f!==null&&f.tag===6?(n(h,f.sibling),f=i(f,m),f.return=h,h=f):(n(h,f),f=Dd(m,h.mode,g),f.return=h,h=f),o(h)):n(h,f)}return Y}function lp(){Cp=zs=Uc=null}function up(t){var e=Va.current;_e(Va),t._currentValue=e}function ah(t,e,n){for(;t!==null;){var r=t.alternate;if((t.childLanes&e)!==e?(t.childLanes|=e,r!==null&&(r.childLanes|=e)):r!==null&&(r.childLanes&e)!==e&&(r.childLanes|=e),t===n)break;t=t.return}}function Ws(t,e){Uc=t,Cp=zs=null,t=t.dependencies,t!==null&&t.firstContext!==null&&((t.lanes&e)!==0&&(Bt=!0),t.firstContext=null)}function Gt(t){var e=t._currentValue;if(Cp!==t)if(t={context:t,memoizedValue:e,next:null},zs===null){if(Uc===null)throw Error(x(308));zs=t,Uc.dependencies={lanes:0,firstContext:t}}else zs=zs.next=t;return e}function cp(t){Vi===null?Vi=[t]:Vi.push(t)}function b0(t,e,n,r){var i=e.interleaved;return i===null?(n.next=n,cp(e)):(n.next=i.next,i.next=n),e.interleaved=n,Dr(t,r)}function Dr(t,e){t.lanes|=e;var n=t.alternate;for(n!==null&&(n.lanes|=e),n=t,t=t.return;t!==null;)t.childLanes|=e,n=t.alternate,n!==null&&(n.childLanes|=e),n=t,t=t.return;return n.tag===3?n.stateNode:null}function fp(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function x0(t,e){t=t.updateQueue,e.updateQueue===t&&(e.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,effects:t.effects})}function xr(t,e){return{eventTime:t,lane:e,tag:0,payload:null,callback:null,next:null}}function ei(t,e,n){var r=t.updateQueue;if(r===null)return null;if(r=r.shared,(re&2)!==0){var i=r.pending;return i===null?e.next=e:(e.next=i.next,i.next=e),r.pending=e,Dr(t,n)}return i=r.interleaved,i===null?(e.next=e,cp(r)):(e.next=i.next,i.next=e),r.interleaved=e,Dr(t,n)}function Ju(t,e,n){if(e=e.updateQueue,e!==null&&(e=e.shared,(n&4194240)!==0)){var r=e.lanes;r&=t.pendingLanes,n|=r,e.lanes=n,np(t,n)}}function pg(t,e){var{updateQueue:n,alternate:r}=t;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,s=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};s===null?i=s=o:s=s.next=o,n=n.next}while(n!==null);s===null?i=s=e:s=s.next=e}else i=s=e;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:s,shared:r.shared,effects:r.effects},t.updateQueue=n;return}t=n.lastBaseUpdate,t===null?n.firstBaseUpdate=e:t.next=e,n.lastBaseUpdate=e}function vc(t,e,n,r){var i=t.updateQueue;Kr=!1;var{firstBaseUpdate:s,lastBaseUpdate:o}=i,a=i.shared.pending;if(a!==null){i.shared.pending=null;var l=a,u=l.next;l.next=null,o===null?s=u:o.next=u,o=l;var c=t.alternate;c!==null&&(c=c.updateQueue,a=c.lastBaseUpdate,a!==o&&(a===null?c.firstBaseUpdate=u:a.next=u,c.lastBaseUpdate=l))}if(s!==null){var d=i.baseState;o=0,c=u=l=null,a=s;do{var{lane:y,eventTime:v}=a;if((r&y)===y){c!==null&&(c=c.next={eventTime:v,lane:0,tag:a.tag,payload:a.payload,callback:a.callback,next:null});e:{var S=t,I=a;switch(y=e,v=n,I.tag){case 1:if(S=I.payload,typeof S=="function"){d=S.call(v,d,y);break e}d=S;break e;case 3:S.flags=S.flags&-65537|128;case 0:if(S=I.payload,y=typeof S=="function"?S.call(v,d,y):S,y==null)break e;d=be({},d,y);break e;case 2:Kr=!0}}a.callback!==null&&a.lane!==0&&(t.flags|=64,y=i.effects,y===null?i.effects=[a]:y.push(a))}else v={eventTime:v,lane:y,tag:a.tag,payload:a.payload,callback:a.callback,next:null},c===null?(u=c=v,l=d):c=c.next=v,o|=y;if(a=a.next,a===null){if(a=i.shared.pending,a===null)break;y=a,a=y.next,y.next=null,i.lastBaseUpdate=y,i.shared.pending=null}}while(!0);if(c===null&&(l=d),i.baseState=l,i.firstBaseUpdate=u,i.lastBaseUpdate=c,e=i.shared.interleaved,e!==null){i=e;do o|=i.lane,i=i.next;while(i!==e)}else s===null&&(i.shared.lanes=0);Zi|=o,t.lanes=o,t.memoizedState=d}}function mg(t,e,n){if(t=e.effects,e.effects=null,t!==null)for(e=0;en?n:4,t(!0);var r=ac.transition;ac.transition={};try{t(!1),e()}finally{ue=n,ac.transition=r}}function Ng(){return Jt().memoizedState}function n1(t,e,n){var r=Xr(t);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},E0(t))k0(e,n);else if(n=b0(t,e,n,r),n!==null){var i=mt();In(n,t,r,i),A0(n,e,r)}}function r1(t,e,n){var r=Xr(t),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(E0(t))k0(e,i);else{var s=t.alternate;if(t.lanes===0&&(s===null||s.lanes===0)&&(s=e.lastRenderedReducer,s!==null))try{var o=e.lastRenderedState,a=s(o,n);if(i.hasEagerState=!0,i.eagerState=a,tn(a,o)){var l=e.interleaved;l===null?(i.next=i,cp(e)):(i.next=l.next,l.next=i),e.interleaved=i;return}}catch{}n=b0(t,e,i,r),n!==null&&(i=mt(),In(n,t,r,i),A0(n,e,r))}}function E0(t){var e=t.alternate;return t===De||e!==null&&e===De}function k0(t,e){Fa=Rc=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function A0(t,e,n){if((n&4194240)!==0){var r=e.lanes;r&=t.pendingLanes,n|=r,e.lanes=n,np(t,n)}}function bn(t,e){if(t&&t.defaultProps){e=be({},e),t=t.defaultProps;for(var n in t)e[n]===void 0&&(e[n]=t[n]);return e}return e}function uh(t,e,n,r){e=t.memoizedState,n=n(r,e),n=n==null?e:be({},e,n),t.memoizedState=n,t.lanes===0&&(t.updateQueue.baseState=n)}function Tg(t,e,n,r,i,s,o){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(r,s,o):e.prototype&&e.prototype.isPureReactComponent?!Ca(n,r)||!Ca(i,s):!0}function L0(t,e,n){var r=!1,i=Nr,s=e.contextType;return typeof s=="object"&&s!==null?s=Gt(s):(i=Dt(e)?ai:tt.current,r=e.contextTypes,s=(r=r!=null)?Gs(t,i):Nr),e=new e(n,s),t.memoizedState=e.state!==null&&e.state!==void 0?e.state:null,e.updater=Ha,t.stateNode=e,e._reactInternals=t,r&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=i,t.__reactInternalMemoizedMaskedChildContext=s),e}function Og(t,e,n,r){t=e.state,typeof e.componentWillReceiveProps=="function"&&e.componentWillReceiveProps(n,r),typeof e.UNSAFE_componentWillReceiveProps=="function"&&e.UNSAFE_componentWillReceiveProps(n,r),e.state!==t&&Ha.enqueueReplaceState(e,e.state,null)}function ch(t,e,n,r){var i=t.stateNode;i.props=n,i.state=t.memoizedState,i.refs={},fp(t);var s=e.contextType;typeof s=="object"&&s!==null?i.context=Gt(s):(s=Dt(e)?ai:tt.current,i.context=Gs(t,s)),i.state=t.memoizedState,s=e.getDerivedStateFromProps,typeof s=="function"&&(uh(t,e,s,n),i.state=t.memoizedState),typeof e.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(e=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),e!==i.state&&Ha.enqueueReplaceState(i,i.state,null),vc(t,n,i,r),i.state=t.memoizedState),typeof i.componentDidMount=="function"&&(t.flags|=4194308)}function Js(t,e){try{var n="",r=e;do n+=Dx(r),r=r.return;while(r);var i=n}catch(s){i=` Error generating stack: `+s.message+` -`+s.stack}return{value:t,source:e,stack:i,digest:null}}function Id(t,e,n){return{value:t,source:null,stack:n??null,digest:e??null}}function dh(t,e){try{console.error(e.value)}catch(n){setTimeout(function(){throw n})}}function M0(t,e,n){n=xr(-1,n),n.tag=3,n.payload={element:null};var r=e.value;return n.callback=function(){jc||(jc=!0,Kh=r),dh(t,e)},n}function C0(t,e,n){n=xr(-1,n),n.tag=3;var r=t.type.getDerivedStateFromError;if(typeof r=="function"){var i=e.value;n.payload=function(){return r(i)},n.callback=function(){dh(t,e)}}var s=t.stateNode;return s!==null&&typeof s.componentDidCatch=="function"&&(n.callback=function(){dh(t,e),typeof r!="function"&&(si===null?si=new Set([this]):si.add(this));var o=e.stack;this.componentDidCatch(e.value,{componentStack:o!==null?o:""})}),n}function Fg(t,e,n){var r=t.pingCache;if(r===null){r=t.pingCache=new z_;var i=new Set;r.set(e,i)}else i=r.get(e),i===void 0&&(i=new Set,r.set(e,i));i.has(n)||(i.add(n),t=p1.bind(null,t,e,n),e.then(t,t))}function Eg(t){do{var e;if((e=t.tag===13)&&(e=t.memoizedState,e=e!==null?e.dehydrated!==null:!0),e)return t;t=t.return}while(t!==null);return null}function kg(t,e,n,r,i){return(t.mode&1)===0?(t===e?t.flags|=65536:(t.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(e=xr(-1,1),e.tag=2,ei(n,e,1))),n.lanes|=1),t):(t.flags|=65536,t.lanes=i,t)}function pt(t,e,n,r){e.child=t===null?Hh(e,null,n,r):Gi(e,t.child,n,r)}function Ag(t,e,n,r,i){n=n.render;var s=e.ref;return Ws(e,i),r=gp(t,e,n,r,s,i),n=vp(),t!==null&&!Bt?(e.updateQueue=t.updateQueue,e.flags&=-2053,t.lanes&=~i,Tr(t,e,i)):(Ie&&n&&op(e),e.flags|=1,pt(t,e,r,i),e.child)}function Lg(t,e,n,r,i){if(t===null){var s=n.type;return typeof s=="function"&&!bp(s)&&s.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(e.tag=15,e.type=s,U0(t,e,s,r,i)):(t=tc(n.type,null,r,e,e.mode,i),t.ref=e.ref,t.return=e,e.child=t)}if(s=t.child,(t.lanes&i)===0){var o=s.memoizedProps;if(n=n.compare,n=n!==null?n:Ca,n(o,r)&&t.ref===e.ref)return Tr(t,e,i)}return e.flags|=1,t=ti(s,r),t.ref=e.ref,t.return=e,e.child=t}function U0(t,e,n,r,i){if(t!==null){var s=t.memoizedProps;if(Ca(s,r)&&t.ref===e.ref)if(Bt=!1,e.pendingProps=r=s,(t.lanes&i)!==0)(t.flags&131072)!==0&&(Bt=!0);else return e.lanes=t.lanes,Tr(t,e,i)}return hh(t,e,n,r,i)}function R0(t,e,n){var r=e.pendingProps,i=r.children,s=t!==null?t.memoizedState:null;if(r.mode==="hidden")if((e.mode&1)===0)e.memoizedState={baseLanes:0,cachePool:null,transitions:null},me($i,Rt),Rt|=n;else{if((n&1073741824)===0)return t=s!==null?s.baseLanes|n:n,e.lanes=e.childLanes=1073741824,e.memoizedState={baseLanes:t,cachePool:null,transitions:null},e.updateQueue=null,me($i,Rt),Rt|=t,null;e.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=s!==null?s.baseLanes:n,me($i,Rt),Rt|=r}else s!==null?(r=s.baseLanes|n,e.memoizedState=null):r=n,me($i,Rt),Rt|=r;return pt(t,e,i,n),e.child}function P0(t,e){var n=e.ref;(t===null&&n!==null||t!==null&&t.ref!==n)&&(e.flags|=512,e.flags|=2097152)}function hh(t,e,n,r,i){var s=Dt(n)?ai:tt.current;return s=Gs(e,s),Ws(e,i),n=gp(t,e,n,r,s,i),r=vp(),t!==null&&!Bt?(e.updateQueue=t.updateQueue,e.flags&=-2053,t.lanes&=~i,Tr(t,e,i)):(Ie&&r&&op(e),e.flags|=1,pt(t,e,n,i),e.child)}function Mg(t,e,n,r,i){if(Dt(n)){var s=!0;gc(e)}else s=!1;if(Ws(e,i),e.stateNode===null)ec(t,e),L0(e,n,r),fh(e,n,r,i),r=!0;else if(t===null){var{stateNode:o,memoizedProps:a}=e;o.props=a;var l=o.context,u=n.contextType;typeof u=="object"&&u!==null?u=Gt(u):(u=Dt(n)?ai:tt.current,u=Gs(e,u));var c=n.getDerivedStateFromProps,d=typeof c=="function"||typeof o.getSnapshotBeforeUpdate=="function";d||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==r||l!==u)&&Og(e,o,r,u),Kr=!1;var y=e.memoizedState;o.state=y,vc(e,r,o,i),l=e.memoizedState,a!==r||y!==l||yt.current||Kr?(typeof c=="function"&&(ch(e,n,c,r),l=e.memoizedState),(a=Kr||Tg(e,n,a,r,y,l,u))?(d||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(e.flags|=4194308)):(typeof o.componentDidMount=="function"&&(e.flags|=4194308),e.memoizedProps=r,e.memoizedState=l),o.props=r,o.state=l,o.context=u,r=a):(typeof o.componentDidMount=="function"&&(e.flags|=4194308),r=!1)}else{o=e.stateNode,x0(t,e),a=e.memoizedProps,u=e.type===e.elementType?a:bn(e.type,a),o.props=u,d=e.pendingProps,y=o.context,l=n.contextType,typeof l=="object"&&l!==null?l=Gt(l):(l=Dt(n)?ai:tt.current,l=Gs(e,l));var v=n.getDerivedStateFromProps;(c=typeof v=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==d||y!==l)&&Og(e,o,r,l),Kr=!1,y=e.memoizedState,o.state=y,vc(e,r,o,i);var S=e.memoizedState;a!==d||y!==S||yt.current||Kr?(typeof v=="function"&&(ch(e,n,v,r),S=e.memoizedState),(u=Kr||Tg(e,n,u,r,y,S,l)||!1)?(c||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(r,S,l),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(r,S,l)),typeof o.componentDidUpdate=="function"&&(e.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(e.flags|=1024)):(typeof o.componentDidUpdate!="function"||a===t.memoizedProps&&y===t.memoizedState||(e.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===t.memoizedProps&&y===t.memoizedState||(e.flags|=1024),e.memoizedProps=r,e.memoizedState=S),o.props=r,o.state=S,o.context=l,r=u):(typeof o.componentDidUpdate!="function"||a===t.memoizedProps&&y===t.memoizedState||(e.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===t.memoizedProps&&y===t.memoizedState||(e.flags|=1024),r=!1)}return ph(t,e,n,r,s,i)}function ph(t,e,n,r,i,s){P0(t,e);var o=(e.flags&128)!==0;if(!r&&!o)return i&&ug(e,n,!1),Tr(t,e,s);r=e.stateNode,V_.current=e;var a=o&&typeof n.getDerivedStateFromError!="function"?null:r.render();return e.flags|=1,t!==null&&o?(e.child=Gi(e,t.child,null,s),e.child=Gi(e,null,a,s)):pt(t,e,a,s),e.memoizedState=r.state,i&&ug(e,n,!0),e.child}function j0(t){var e=t.stateNode;e.pendingContext?lg(t,e.pendingContext,e.pendingContext!==e.context):e.context&&lg(t,e.context,!1),hp(t,e.containerInfo)}function Cg(t,e,n,r,i){return Xs(),lp(i),e.flags|=256,pt(t,e,n,r),e.child}function mh(t){return{baseLanes:t,cachePool:null,transitions:null}}function z0(t,e,n){var r=e.pendingProps,i=xe.current,s=!1,o=(e.flags&128)!==0,a;if((a=o)||(a=t!==null&&t.memoizedState===null?!1:(i&2)!==0),a?(s=!0,e.flags&=-129):(t===null||t.memoizedState!==null)&&(i|=1),me(xe,i&1),t===null)return ah(e),t=e.memoizedState,t!==null&&(t=t.dehydrated,t!==null)?((e.mode&1)===0?e.lanes=1:t.data==="$!"?e.lanes=8:e.lanes=1073741824,null):(o=r.children,t=r.fallback,s?(r=e.mode,s=e.child,o={mode:"hidden",children:o},(r&1)===0&&s!==null?(s.childLanes=0,s.pendingProps=o):s=Gc(o,r,0,null),t=Yi(t,r,n,null),s.return=e,t.return=e,s.sibling=t,e.child=s,e.child.memoizedState=mh(n),e.memoizedState=Pc,t):_p(e,o));if(i=t.memoizedState,i!==null&&(a=i.dehydrated,a!==null))return i1(t,e,o,r,a,i,n);if(s){s=r.fallback,o=e.mode,i=t.child,a=i.sibling;var l={mode:"hidden",children:r.children};return(o&1)===0&&e.child!==i?(r=e.child,r.childLanes=0,r.pendingProps=l,e.deletions=null):(r=ti(i,l),r.subtreeFlags=i.subtreeFlags&14680064),a!==null?s=ti(a,s):(s=Yi(s,o,n,null),s.flags|=2),s.return=e,r.return=e,r.sibling=s,e.child=r,r=s,s=e.child,o=t.child.memoizedState,o=o===null?mh(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},s.memoizedState=o,s.childLanes=t.childLanes&~n,e.memoizedState=Pc,r}return s=t.child,t=s.sibling,r=ti(s,{mode:"visible",children:r.children}),(e.mode&1)===0&&(r.lanes=n),r.return=e,r.sibling=null,t!==null&&(n=e.deletions,n===null?(e.deletions=[t],e.flags|=16):n.push(t)),e.child=r,e.memoizedState=null,r}function _p(t,e){return e=Gc({mode:"visible",children:e},t.mode,0,null),e.return=t,t.child=e}function Uu(t,e,n,r){return r!==null&&lp(r),Gi(e,t.child,null,n),t=_p(e,e.pendingProps.children),t.flags|=2,e.memoizedState=null,t}function i1(t,e,n,r,i,s,o){if(n)return e.flags&256?(e.flags&=-257,r=Id(Error(x(422))),Uu(t,e,o,r)):e.memoizedState!==null?(e.child=t.child,e.flags|=128,null):(s=r.fallback,i=e.mode,r=Gc({mode:"visible",children:r.children},i,0,null),s=Yi(s,i,o,null),s.flags|=2,r.return=e,s.return=e,r.sibling=s,e.child=r,(e.mode&1)!==0&&Gi(e,t.child,null,o),e.child.memoizedState=mh(o),e.memoizedState=Pc,s);if((e.mode&1)===0)return Uu(t,e,o,null);if(i.data==="$!"){if(r=i.nextSibling&&i.nextSibling.dataset,r)var a=r.dgst;return r=a,s=Error(x(419)),r=Id(s,r,void 0),Uu(t,e,o,r)}if(a=(o&t.childLanes)!==0,Bt||a){if(r=Ke,r!==null){switch(o&-o){case 4:i=2;break;case 16:i=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}i=(i&(r.suspendedLanes|o))!==0?0:i,i!==0&&i!==s.retryLane&&(s.retryLane=i,Dr(t,i),In(r,t,i,-1))}return Sp(),r=Id(Error(x(421))),Uu(t,e,o,r)}return i.data==="$?"?(e.flags|=128,e.child=t.child,e=m1.bind(null,t),i._reactRetry=e,null):(t=s.treeContext,jt=qr(i.nextSibling),zt=e,Ie=!0,Bn=null,t!==null&&(Pt[Xt++]=Ir,Pt[Xt++]=Br,Pt[Xt++]=Qi,Ir=t.id,Br=t.overflow,Qi=e),e=_p(e,r.children),e.flags|=4096,e)}function Ug(t,e,n){t.lanes|=e;var r=t.alternate;r!==null&&(r.lanes|=e),lh(t.return,e,n)}function Bd(t,e,n,r,i){var s=t.memoizedState;s===null?t.memoizedState={isBackwards:e,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i}:(s.isBackwards=e,s.rendering=null,s.renderingStartTime=0,s.last=r,s.tail=n,s.tailMode=i)}function V0(t,e,n){var r=e.pendingProps,i=r.revealOrder,s=r.tail;if(pt(t,e,r.children,n),r=xe.current,(r&2)!==0)r=r&1|2,e.flags|=128;else{if(t!==null&&(t.flags&128)!==0)e:for(t=e.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&Ug(t,n,e);else if(t.tag===19)Ug(t,n,e);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;t=t.return}t.sibling.return=t.return,t=t.sibling}r&=1}if(me(xe,r),(e.mode&1)===0)e.memoizedState=null;else switch(i){case"forwards":for(n=e.child,i=null;n!==null;)t=n.alternate,t!==null&&_c(t)===null&&(i=n),n=n.sibling;n=i,n===null?(i=e.child,e.child=null):(i=n.sibling,n.sibling=null),Bd(e,!1,i,n,s);break;case"backwards":for(n=null,i=e.child,e.child=null;i!==null;){if(t=i.alternate,t!==null&&_c(t)===null){e.child=i;break}t=i.sibling,i.sibling=n,n=i,i=t}Bd(e,!0,n,null,s);break;case"together":Bd(e,!1,null,null,void 0);break;default:e.memoizedState=null}return e.child}function ec(t,e){(e.mode&1)===0&&t!==null&&(t.alternate=null,e.alternate=null,e.flags|=2)}function Tr(t,e,n){if(t!==null&&(e.dependencies=t.dependencies),Zi|=e.lanes,(n&e.childLanes)===0)return null;if(t!==null&&e.child!==t.child)throw Error(x(153));if(e.child!==null){for(t=e.child,n=ti(t,t.pendingProps),e.child=n,n.return=e;t.sibling!==null;)t=t.sibling,n=n.sibling=ti(t,t.pendingProps),n.return=e;n.sibling=null}return e.child}function s1(t,e,n){switch(e.tag){case 3:j0(e),Xs();break;case 5:I0(e);break;case 1:Dt(e.type)&&gc(e);break;case 4:hp(e,e.stateNode.containerInfo);break;case 10:var r=e.type._context,i=e.memoizedProps.value;me(Va,r._currentValue),r._currentValue=i;break;case 13:if(r=e.memoizedState,r!==null)return r.dehydrated!==null?(me(xe,xe.current&1),e.flags|=128,null):(n&e.child.childLanes)!==0?z0(t,e,n):(me(xe,xe.current&1),t=Tr(t,e,n),t!==null?t.sibling:null);me(xe,xe.current&1);break;case 19:if(r=(n&e.childLanes)!==0,(t.flags&128)!==0){if(r)return V0(t,e,n);e.flags|=128}if(i=e.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),me(xe,xe.current),r)break;return null;case 22:case 23:return e.lanes=0,R0(t,e,n)}return Tr(t,e,n)}function ha(t,e){if(!Ie)switch(t.tailMode){case"hidden":e=t.tail;for(var n=null;e!==null;)e.alternate!==null&&(n=e),e=e.sibling;n===null?t.tail=null:n.sibling=null;break;case"collapsed":n=t.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?e||t.tail===null?t.tail=null:t.tail.sibling=null:r.sibling=null}}function it(t){var e=t.alternate!==null&&t.alternate.child===t.child,n=0,r=0;if(e)for(var i=t.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&14680064,r|=i.flags&14680064,i.return=t,i=i.sibling;else for(i=t.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=t,i=i.sibling;return t.subtreeFlags|=r,t.childLanes=n,e}function o1(t,e,n){var r=e.pendingProps;switch(ap(e),e.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return it(e),null;case 1:return Dt(e.type)&&yc(),it(e),null;case 3:return r=e.stateNode,Zs(),_e(yt),_e(tt),mp(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(t===null||t.child===null)&&(Mu(e)?e.flags|=4:t===null||t.memoizedState.isDehydrated&&(e.flags&256)===0||(e.flags|=1024,Bn!==null&&(Sh(Bn),Bn=null))),Yh(t,e),it(e),null;case 5:pp(e);var i=Ri(ro.current);if(n=e.type,t!==null&&e.stateNode!=null)W_(t,e,n,r,i),t.ref!==e.ref&&(e.flags|=512,e.flags|=2097152);else{if(!r){if(e.stateNode===null)throw Error(x(166));return it(e),null}if(t=Ri(Nn.current),Mu(e)){r=e.stateNode,n=e.type;var s=e.memoizedProps;switch(r[Dn]=e,r[to]=s,t=(e.mode&1)!==0,n){case"dialog":ve("cancel",r),ve("close",r);break;case"iframe":case"object":case"embed":ve("load",r);break;case"video":case"audio":for(i=0;i<\/script>",t=t.removeChild(t.firstChild)):typeof r.is=="string"?t=o.createElement(n,{is:r.is}):(t=o.createElement(n),n==="select"&&(o=t,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):t=o.createElementNS(t,n),t[Dn]=e,t[to]=r,$_(t,e,!1,!1),e.stateNode=t;e:{switch(o=nh(n,r),n){case"dialog":ve("cancel",t),ve("close",t),i=r;break;case"iframe":case"object":case"embed":ve("load",t),i=r;break;case"video":case"audio":for(i=0;iio&&(e.flags|=128,r=!0,ha(s,!1),e.lanes=4194304)}else{if(!r)if(t=_c(o),t!==null){if(e.flags|=128,r=!0,n=t.updateQueue,n!==null&&(e.updateQueue=n,e.flags|=4),ha(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!Ie)return it(e),null}else 2*Oe()-s.renderingStartTime>io&&n!==1073741824&&(e.flags|=128,r=!0,ha(s,!1),e.lanes=4194304);s.isBackwards?(o.sibling=e.child,e.child=o):(n=s.last,n!==null?n.sibling=o:e.child=o,s.last=o)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=Oe(),e.sibling=null,n=xe.current,me(xe,r?n&1|2:n&1),e):(it(e),null);case 22:case 23:return wp(),r=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==r&&(e.flags|=8192),r&&(e.mode&1)!==0?(Rt&1073741824)!==0&&(it(e),e.subtreeFlags&6&&(e.flags|=8192)):it(e),null;case 24:return null;case 25:return null}throw Error(x(156,e.tag))}function a1(t,e){switch(ap(e),e.tag){case 1:return Dt(e.type)&&yc(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return Zs(),_e(yt),_e(tt),mp(),t=e.flags,(t&65536)!==0&&(t&128)===0?(e.flags=t&-65537|128,e):null;case 5:return pp(e),null;case 13:if(_e(xe),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(x(340));Xs()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return _e(xe),null;case 4:return Zs(),null;case 10:return cp(e.type._context),null;case 22:case 23:return wp(),null;case 24:return null;default:return null}}function As(t,e){var n=t.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Te(t,e,r)}else n.current=null}function yh(t,e,n){try{n()}catch(r){Te(t,e,r)}}function l1(t,e){if($h=Oc,t=p0(),sp(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else e:{n=(n=t.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var{anchorOffset:i,focusNode:s}=r;r=r.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break e}var o=0,a=-1,l=-1,u=0,c=0,d=t,y=null;t:for(;;){for(var v;d!==n||i!==0&&d.nodeType!==3||(a=o+i),d!==s||r!==0&&d.nodeType!==3||(l=o+r),d.nodeType===3&&(o+=d.nodeValue.length),(v=d.firstChild)!==null;)y=d,d=v;for(;;){if(d===t)break t;if(y===n&&++u===i&&(a=o),y===s&&++c===r&&(l=o),(v=d.nextSibling)!==null)break;d=y,y=d.parentNode}d=v}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(Wh={focusedElem:t,selectionRange:n},Oc=!1,E=e;E!==null;)if(e=E,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,E=t;else for(;E!==null;){e=E;try{var S=e.alternate;if((e.flags&1024)!==0)switch(e.tag){case 0:case 11:case 15:break;case 1:if(S!==null){var{memoizedProps:I,memoizedState:Y}=S,h=e.stateNode,f=h.getSnapshotBeforeUpdate(e.elementType===e.type?I:bn(e.type,I),Y);h.__reactInternalSnapshotBeforeUpdate=f}break;case 3:var m=e.stateNode.containerInfo;m.nodeType===1?m.textContent="":m.nodeType===9&&m.documentElement&&m.removeChild(m.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(x(163))}}catch(g){Te(e,e.return,g)}if(t=e.sibling,t!==null){t.return=e.return,E=t;break}E=e.return}return S=fv,fv=!1,S}function Ba(t,e,n){var r=e.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&t)===t){var s=i.destroy;i.destroy=void 0,s!==void 0&&yh(e,n,s)}i=i.next}while(i!==r)}}function Qc(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var n=e=e.next;do{if((n.tag&t)===t){var r=n.create;n.destroy=r()}n=n.next}while(n!==e)}}function gh(t){var e=t.ref;if(e!==null){var n=t.stateNode;t.tag,t=n,typeof e=="function"?e(t):e.current=t}}function $0(t){var e=t.alternate;e!==null&&(t.alternate=null,$0(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[Dn],delete e[to],delete e[Ac],delete e[M_],delete e[C_])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function W0(t){return t.tag===5||t.tag===3||t.tag===4}function Rg(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||W0(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function vh(t,e,n){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?n.nodeType===8?n.parentNode.insertBefore(t,e):n.insertBefore(t,e):(n.nodeType===8?(e=n.parentNode,e.insertBefore(t,n)):(e=n,e.appendChild(t)),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=pc));else if(r!==4&&(t=t.child,t!==null))for(vh(t,e,n),t=t.sibling;t!==null;)vh(t,e,n),t=t.sibling}function _h(t,e,n){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(r!==4&&(t=t.child,t!==null))for(_h(t,e,n),t=t.sibling;t!==null;)_h(t,e,n),t=t.sibling}function Yr(t,e,n){for(n=n.child;n!==null;)H0(t,e,n),n=n.sibling}function H0(t,e,n){if($n&&typeof $n.onCommitFiberUnmount=="function")try{$n.onCommitFiberUnmount(nf,n)}catch{}switch(n.tag){case 5:lt||As(n,e);case 6:var r=qe,i=xn;qe=null,Yr(t,e,n),qe=r,xn=i,qe!==null&&(xn?(t=qe,n=n.stateNode,t.nodeType===8?t.parentNode.removeChild(n):t.removeChild(n)):qe.removeChild(n.stateNode));break;case 18:qe!==null&&(xn?(t=qe,n=n.stateNode,t.nodeType===8?wd(t.parentNode,n):t.nodeType===1&&wd(t,n),Ma(t)):wd(qe,n.stateNode));break;case 4:r=qe,i=xn,qe=n.stateNode.containerInfo,xn=!0,Yr(t,e,n),qe=r,xn=i;break;case 0:case 11:case 14:case 15:if(!lt&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var s=i,o=s.destroy;s=s.tag,o!==void 0&&((s&2)!==0||(s&4)!==0)&&yh(n,e,o),i=i.next}while(i!==r)}Yr(t,e,n);break;case 1:if(!lt&&(As(n,e),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){Te(n,e,a)}Yr(t,e,n);break;case 21:Yr(t,e,n);break;case 22:n.mode&1?(lt=(r=lt)||n.memoizedState!==null,Yr(t,e,n),lt=r):Yr(t,e,n);break;default:Yr(t,e,n)}}function Pg(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var n=t.stateNode;n===null&&(n=t.stateNode=new Y_),e.forEach(function(r){var i=y1.bind(null,t,r);n.has(r)||(n.add(r),r.then(i,i))})}}function Sn(t,e){var n=e.deletions;if(n!==null)for(var r=0;ri&&(i=o),r&=~s}if(r=i,r=Oe()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*K_(r/1960))-r,10t?16:t,Jr===null)var r=!1;else{if(t=Jr,Jr=null,zc=0,(re&6)!==0)throw Error(x(331));var i=re;for(re|=4,E=t.current;E!==null;){var s=E,o=s.child;if((E.flags&16)!==0){var a=s.deletions;if(a!==null){for(var l=0;lOe()-Pp?Hi(t,0):Rp|=n),Nt(t,e)}function q0(t,e){e===0&&((t.mode&1)===0?e=1:(e=zu,zu<<=1,(zu&130023424)===0&&(zu=4194304)));var n=mt();t=Dr(t,e),t!==null&&(Qa(t,e,n),Nt(t,n))}function m1(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),q0(t,n)}function y1(t,e){var n=0;switch(t.tag){case 13:var r=t.stateNode,i=t.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=t.stateNode;break;default:throw Error(x(314))}r!==null&&r.delete(e),q0(t,n)}function e_(t,e){return Fp(t,e)}function g1(t,e,n,r){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function qt(t,e,n,r){return new g1(t,e,n,r)}function bp(t){return t=t.prototype,!(!t||!t.isReactComponent)}function v1(t){if(typeof t=="function")return bp(t)?1:0;if(t!=null){if(t=t.$$typeof,t===qc)return 11;if(t===ef)return 14}return 2}function ti(t,e){var n=t.alternate;return n===null?(n=qt(t.tag,e,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=e,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&14680064,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,e=t.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n}function tc(t,e,n,r,i,s){var o=2;if(r=t,typeof t=="function")bp(t)&&(o=1);else if(typeof t=="string")o=5;else e:switch(t){case ji:return Yi(n.children,i,s,e);case Jc:o=8,i|=8;break;case Ic:return t=qt(12,n,e,i|2),t.elementType=Ic,t.lanes=s,t;case Bc:return t=qt(13,n,e,i),t.elementType=Bc,t.lanes=s,t;case Dc:return t=qt(19,n,e,i),t.elementType=Dc,t.lanes=s,t;case Tp:return Gc(n,i,s,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case Dp:o=10;break e;case Np:o=9;break e;case qc:o=11;break e;case ef:o=14;break e;case wr:o=16,r=null;break e}throw Error(x(130,t==null?t:typeof t,""))}return e=qt(o,n,e,i),e.elementType=t,e.type=r,e.lanes=s,e}function Yi(t,e,n,r){return t=qt(7,t,r,e),t.lanes=n,t}function Gc(t,e,n,r){return t=qt(22,t,r,e),t.elementType=Tp,t.lanes=n,t.stateNode={isHidden:!1},t}function Nd(t,e,n){return t=qt(6,t,null,e),t.lanes=n,t}function Td(t,e,n){return e=qt(4,t.children!==null?t.children:[],t.key,e),e.lanes=n,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function _1(t,e,n,r,i){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=yd(0),this.expirationTimes=yd(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=yd(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function xp(t,e,n,r,i,s,o,a,l){return t=new _1(t,e,n,a,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=qt(3,null,null,e),t.current=s,s.stateNode=t,s.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},dp(s),t}function w1(t,e,n){var r=3{if(Kg=ye(nn(),1),xt=ye(bx(),1),Bp=new Set,Ys={},Pn=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),xc=Object.prototype.hasOwnProperty,r_=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,xh={},Ih={},He={},"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){He[t]=new ht(t,0,!1,t,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];He[e]=new ht(e,1,!1,t[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(t){He[t]=new ht(t,2,!1,t.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){He[t]=new ht(t,2,!1,t,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){He[t]=new ht(t,3,!1,t.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(t){He[t]=new ht(t,3,!0,t,null,!1,!1)}),["capture","download"].forEach(function(t){He[t]=new ht(t,4,!1,t,null,!1,!1)}),["cols","rows","size","span"].forEach(function(t){He[t]=new ht(t,6,!1,t,null,!1,!1)}),["rowSpan","start"].forEach(function(t){He[t]=new ht(t,5,!1,t.toLowerCase(),null,!1,!1)}),Ru=/[\-:]([a-z])/g,"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(Ru,pd);He[e]=new ht(e,1,!1,t,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(Ru,pd);He[e]=new ht(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(Ru,pd);He[e]=new ht(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(t){He[t]=new ht(t,1,!1,t.toLowerCase(),null,!1,!1)}),He.xlinkHref=new ht("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(t){He[t]=new ht(t,1,!1,t.toLowerCase(),null,!0,!0)}),jn=Kg.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Sa=Symbol.for("react.element"),Pi=Symbol.for("react.portal"),ji=Symbol.for("react.fragment"),Jc=Symbol.for("react.strict_mode"),Ic=Symbol.for("react.profiler"),Dp=Symbol.for("react.provider"),Np=Symbol.for("react.context"),qc=Symbol.for("react.forward_ref"),Bc=Symbol.for("react.suspense"),Dc=Symbol.for("react.suspense_list"),ef=Symbol.for("react.memo"),wr=Symbol.for("react.lazy"),Tp=Symbol.for("react.offscreen"),Bh=Symbol.iterator,be=Object.assign,Ls=Array.isArray,Op=(function(t){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(e,n,r,i){MSApp.execUnsafeLocalFunction(function(){return t(e,n,r,i)})}:t})(function(t,e){if(t.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in t)t.innerHTML=e;else{for(Pu=Pu||document.createElement("div"),Pu.innerHTML=""+e.valueOf().toString()+"",e=Pu.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}}),Ms={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Qg=["Webkit","ms","Moz","O"],Object.keys(Ms).forEach(function(t){Qg.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),Ms[e]=Ms[t]})}),i_=be({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}),Pn)try{Ts={},Object.defineProperty(Ts,"passive",{get:function(){Th=!0}}),window.addEventListener("test",Ts,Ts),window.removeEventListener("test",Ts,Ts)}catch{Th=!1}for(s_={onError:function(t){Da=!0,Nc=t}},Fp=xt.unstable_scheduleCallback,Fh=xt.unstable_cancelCallback,o_=xt.unstable_shouldYield,a_=xt.unstable_requestPaint,Oe=xt.unstable_now,l_=xt.unstable_getCurrentPriorityLevel,tf=xt.unstable_ImmediatePriority,Ep=xt.unstable_UserBlockingPriority,ja=xt.unstable_NormalPriority,u_=xt.unstable_LowPriority,kp=xt.unstable_IdlePriority,en=Math.clz32?Math.clz32:Lx,c_=Math.log,f_=Math.LN2,ba=[],qs=new Map,eo=new Map,br=[],m_="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" "),Ki=jn.ReactCurrentBatchConfig,Ei={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},rf=Ut(Ei),Os=be({},Ei,{view:0,detail:0}),y_=Ut(Os),ma=be({},Os,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:gd,button:0,buttons:0,relatedTarget:function(t){return t.relatedTarget===void 0?t.fromElement===t.srcElement?t.toElement:t.fromElement:t.relatedTarget},movementX:function(t){return"movementX"in t?t.movementX:(t!==pa&&(pa&&t.type==="mousemove"?(Ad=t.screenX-pa.screenX,Ld=t.screenY-pa.screenY):Ld=Ad=0,pa=t),Ad)},movementY:function(t){return"movementY"in t?t.movementY:Ld}}),kh=Ut(ma),Xg=be({},ma,{dataTransfer:0}),g_=Ut(Xg),Zg=be({},Os,{relatedTarget:0}),ic=Ut(Zg),Jg=be({},Ei,{animationName:0,elapsedTime:0,pseudoElement:0}),v_=Ut(Jg),qg=be({},Ei,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),__=Ut(qg),ev=be({},Ei,{data:0}),Ah=Ut(ev),tv={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},nv={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},w_={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"},rv=be({},Os,{key:function(t){if(t.key){var e=tv[t.key]||t.key;if(e!=="Unidentified")return e}return t.type==="keypress"?(t=Zu(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?nv[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:gd,charCode:function(t){return t.type==="keypress"?Zu(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?Zu(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),S_=Ut(rv),iv=be({},ma,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Lh=Ut(iv),sv=be({},Os,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:gd}),b_=Ut(sv),ov=be({},Ei,{propertyName:0,elapsedTime:0,pseudoElement:0}),x_=Ut(ov),av=be({},ma,{deltaX:function(t){return"deltaX"in t?t.deltaX:"wheelDeltaX"in t?-t.wheelDeltaX:0},deltaY:function(t){return"deltaY"in t?t.deltaY:"wheelDeltaY"in t?-t.wheelDeltaY:"wheelDelta"in t?-t.wheelDelta:0},deltaZ:0,deltaMode:0}),I_=Ut(av),B_=[9,13,27,32],Ec=Pn&&("CompositionEvent"in window),Pn&&("documentMode"in document)&&(ya=document.documentMode),D_=Pn&&("TextEvent"in window)&&!ya,Mp=Pn&&(!Ec||ya&&8=ya),Mh=" ",N_={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0},Pn&&(Pn?(Vu="oninput"in document,Vu||(Cd=document.createElement("div"),Cd.setAttribute("oninput","return;"),Vu=typeof Cd.oninput=="function"),Md=Vu):Md=!1,T_=Md&&(!document.documentMode||9=document.documentMode,Ci={animationend:ku("Animation","AnimationEnd"),animationiteration:ku("Animation","AnimationIteration"),animationstart:ku("Animation","AnimationStart"),transitionend:ku("Transition","TransitionEnd")},sc={},Rh={},Pn&&(Rh=document.createElement("div").style,"AnimationEvent"in window||(delete Ci.animationend.animation,delete Ci.animationiteration.animation,delete Ci.animationstart.animation),"TransitionEvent"in window||delete Ci.transitionend.transition),Ph=Au("animationend"),jh=Au("animationiteration"),zh=Au("animationstart"),Vh=Au("transitionend"),Cp=new Map,Ud="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" "),Wu=0;Wu"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(r){console.error(r)}}n(),e.exports=Vv}),M1=so(function(t){var e=ye(Z_());t.createRoot=e.createRoot,t.hydrateRoot=e.hydrateRoot;var n}),J_={};Gh(J_,{Fragment:()=>rw,jsx:()=>iw,jsxs:()=>sw});function pv(t,e,n){var r,i={},s=null,o=null;n!==void 0&&(s=""+n),e.key!==void 0&&(s=""+e.key),e.ref!==void 0&&(o=e.ref);for(r in e)ew.call(e,r)&&!nw.hasOwnProperty(r)&&(i[r]=e[r]);if(t&&t.defaultProps)for(r in e=t.defaultProps,e)i[r]===void 0&&(i[r]=e[r]);return{$$typeof:q_,type:t,key:s,ref:o,props:i,_owner:tw.current}}var mv,q_,yv,ew,tw,nw,rw,iw,sw,C1=Xh(()=>{mv=ye(nn(),1),q_=Symbol.for("react.element"),yv=Symbol.for("react.fragment"),ew=Object.prototype.hasOwnProperty,tw=mv.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,nw={key:!0,ref:!0,__self:!0,__source:!0},rw=yv,iw=pv,sw=pv}),Or=so(function(t,e){C1(),e.exports=J_}),Zt=ye(nn(),1),U1=ye(M1(),1),R1=ye(Z_(),1),uL=ye(nn(),1);function Vc(t){return String(t||"").split(".").at(-1)}function zp(t,e={}){if(t==null||t==="")return"\u2014";let n=typeof t=="number"?t:Number(t);if(!Number.isFinite(n))return String(t);let r=String(e.format||"").toLowerCase();if(e.style==="percent"||r.includes("%")||r.includes("percent")||r.includes("pct")||e.type==="ratio")return(e.style==="percent"?n:Math.abs(n)<=1?n*100:n).toLocaleString(void 0,{maximumFractionDigits:e.maximumFractionDigits??1,style:e.style==="percent"?"percent":"decimal"})+(e.style==="percent"?"":"%");let s=e.style==="currency"||e.currency||r.includes("$")||r.includes("usd")||r.includes("currency")||r.includes("dollar");return n.toLocaleString(void 0,{currency:s?e.currency||"USD":void 0,maximumFractionDigits:e.maximumFractionDigits??2,notation:e.compact?"compact":"standard",style:s?"currency":"decimal"})}function Ji(t){return String(t??"")}function ow(t,e,n){let r={...t},i=Ji(n),s=new Set((r[e]||[]).map(Ji));return s.has(i)?s.delete(i):s.add(i),s.size?r[e]=[...s]:delete r[e],r}function aw(t,e,n){let r={...t},i=Ji(n),s=(r[e]||[]).map(Ji).filter(o=>o!==i);return s.length?r[e]=s:delete r[e],r}var cL=ye(Or(),1);var P1=ye(nn(),1);function j1(t){return t.split(".").at(-1)||t}var $c="\0__null__";function Wc(t){return t===$c||t===""?"\u2014":t}function jd(t,e={}){return zp(t,e)}function lf(t){return`'${t.replaceAll("'","''")}'`}function z1(t){if(t.mode==="contains")return`contains ${lf(t.pattern??"")}`;let{values:e}=t,n=t.mode==="exclude"?"is not":"is";return e.length===0?n:e.length===1?`${n} ${Wc(e[0])}`:e.length<=2?`${n} ${e.map(Wc).join(", ")}`:`${n} ${e.length} values`}var at=ye(nn(),1);function V1(t,e){let n=new Set;for(let r of t.joinablePairs??[])r.from===e&&n.add(r.to),r.to===e&&n.add(r.from);return t.graphMetrics.filter(r=>r.ownerModel?r.ownerModel===e||n.has(r.ownerModel):!0)}var $1=new Set(["second","minute","hour","day","week","month","quarter","year"]);function Ku(t){return t===void 0?[]:Array.isArray(t)?t:[t]}function Qu(t,e){return t.models.flatMap(n=>n.dimensions).find(n=>e===n.ref||e.startsWith(`${n.ref}__`))}function W1(t,e){let n=t.split("__").at(-1);return n&&$1.has(n)?n:e}function H1(t){let e=t.defaults?.query;if(!e||typeof e!="object")return;let n=e,r=n.use_preaggregations??n.usePreaggregations;return typeof r=="boolean"?r:void 0}function Y1(t,e){let n=t.defaults?.query,r=n&&typeof n=="object"?n:{},i=e.query.interaction_preaggregations??e.query.interactionPreaggregations??e.interaction_preaggregations??e.interactionPreaggregations??r.interaction_preaggregations??r.interactionPreaggregations;return typeof i=="boolean"?i:void 0}function K1(t,e,n){if(!e?.tabs.length)return null;let r=e.tabs.find(g=>g.id===n)??e.tabs[0],i=r.charts[0];if(!i)return null;let s=Ku(i.query.dimensions),o=Ku(i.query.metrics),a=o.map(g=>t.graphMetrics.find(w=>w.ref===g)?.ownerModel).find(g=>!!g),l=o.find(g=>g.includes("."))?.split(".")[0]??a??s.find(g=>g.includes("."))?.split(".")[0],u=t.models.find(g=>g.name===l)??t.models[0];if(!u)return null;let c=[...t.models.flatMap(g=>g.metrics),...V1(t,u.name)],d=o.map(g=>c.find(w=>w.ref===g)).filter(g=>!!g),y=s.map(g=>Qu(t,g)).filter((g,w,D)=>!!g&&D.findIndex(N=>N?.ref===g?.ref)===w),v=i.encoding?.y,I=(Array.isArray(v)?v:v?[v]:[]).find(g=>d.some(w=>w.ref===g))??d[0]?.ref??u.metrics[0]?.ref??"",Y=i.encoding?.x,h=(Y&&Qu(t,Y)?.type==="time"?Y:void 0)??s.find(g=>Qu(t,g)?.type==="time"),f=u.defaultGrain??"month",m=h?Qu(t,h):u.timeDimension;return{id:r.id,label:r.label??r.id,title:i.title??e.title,model:u,metrics:d.length?d:u.metrics,dimensions:y.length?y:u.dimensions,timeDimension:m,selectedMetric:I,grain:h?W1(h,f):f,filters:Ku(i.query.filters),segments:Ku(i.query.segments),usePreaggregations:Y1(e,i)??i.query.use_preaggregations??i.query.usePreaggregations??H1(e)}}var Q1=["second","minute","hour","day","week","month","quarter","year"];function G1(t){return t.toISOString().slice(0,10)}function X1(t){return t.slice(0,10)}function Z1(t){return new Date(`${X1(t)}T00:00:00Z`)}function J1(t,e){let n=Z1(t);return n.setUTCDate(n.getUTCDate()+e),G1(n)}function q1(t,e){return e.from.includes("T")||e.to.includes("T")?[`${t} >= cast('${e.from}' as timestamp)`,`${t} < cast('${e.to}' as timestamp)`]:[`${t} >= cast('${e.from}' as date)`,`${t} < cast('${J1(e.to,1)}' as date)`]}function eI(t){return t.mode==="contains"?!t.pattern:t.values.length===0}function tI(t){return Object.fromEntries(t.map(e=>[e.ref,e.type]))}function nI(t){return tI(t.models.flatMap(e=>e.dimensions))}function gv(t,e){if((e==="numeric"||e==="number")&&t.trim()!==""&&Number.isFinite(Number(t)))return t;if(e==="boolean"){let n=t.toLowerCase();if(n==="true"||n==="false")return n}return lf(t)}function lw(t){return t.replaceAll("\\","\\\\").replaceAll("%","\\%").replaceAll("_","\\_")}function rI(t,e,n){let r=e.mode==="exclude",i=e.values.includes($c),s=e.values.filter(a=>a!==$c),o=null;if(s.length===1)o=`${t} ${r?"!=":"="} ${gv(s[0],n)}`;else if(s.length>1){let a=s.map(l=>gv(l,n)).join(", ");o=`${t} ${r?"NOT IN":"IN"} (${a})`}if(!r){let a=[];return o&&a.push(o),i&&a.push(`${t} IS NULL`),a.length===0?null:a.length===1?a[0]:`(${a.join(" OR ")})`}if(i){let a=[];return o&&a.push(o),a.push(`${t} IS NOT NULL`),a.length===1?a[0]:`(${a.join(" AND ")})`}return o?`(${o} OR ${t} IS NULL)`:null}function iI(t,e={}){let n=[];for(let[r,i]of Object.entries(t)){if(r===e.excludeDim||eI(i))continue;let s=e.types?.[r];if(i.mode==="contains"){let a=lf(`%${lw(i.pattern??"")}%`);n.push(`CAST(${r} AS VARCHAR) ILIKE ${a} ESCAPE '\\'`);continue}let o=rI(r,i,s);o&&n.push(o)}return n}function sI(t,e={}){let n=iI(t,{types:e.types,excludeDim:e.excludeDim});return e.timeRef&&e.range&&n.push(...q1(e.timeRef,e.range)),n}function oI(t,e,n=50,r,i){return{dimensions:[t],filters:e,...r?.length?{segments:r}:{},...i!=null?{usePreaggregations:i}:{},orderBy:[`${t} ASC`],limit:n}}var uw=ye(nn(),1),fL=new Set(Q1);var aI=uw.createContext(null);function lI(){let t=uw.useContext(aI);if(!t)throw new Error("useExplorer must be used within ExplorerProvider");return t}var zd=ye(nn(),1),dL=ye(nn(),1),Hc={active:0,listeners:new Set};function cw(){for(let t of Hc.listeners)t()}function uI(){Hc.active+=1,cw()}function cI(){Hc.active=Math.max(0,Hc.active-1),cw()}var fI=80;function dI(t,e){let[n,r]=zd.useState({loading:!1}),i=zd.useRef(0),s=e?JSON.stringify(e):null;return zd.useEffect(()=>{if(!e){r({loading:!1});return}let o=++i.current;r(l=>({result:l.result,resultKey:l.resultKey,loading:!0}));let a=setTimeout(()=>{uI(),t.runQuery(e).then(l=>{o===i.current&&r({result:l,resultKey:s??void 0,loading:!1})}).catch(l=>{o===i.current&&r({loading:!1,error:l instanceof Error?l.message:String(l)})}).finally(()=>cI())},fI);return()=>clearTimeout(a)},[s,t]),{...n,queryKey:s??void 0}}var Ee=ye(Or(),1),hI=[{mode:"include",label:"Include"},{mode:"exclude",label:"Exclude"},{mode:"contains",label:"Contains"}],pI=50,vv=200;function _v(t,e){let[n,r]=at.useState(t);return at.useEffect(()=>{let i=setTimeout(()=>r(t),e);return()=>clearTimeout(i)},[t,e]),n}function mI({dim:t,model:e,onClose:n}){let{state:r,dispatch:i,backend:s,catalog:o,dashboard:a}=lI(),l=at.useMemo(()=>K1(o,a,r.dashboardTab),[o,a,r.dashboardTab]),u=r.filters[t.ref],[c,d]=at.useState(u?.mode??"include"),y=at.useMemo(()=>new Set(u?.mode!=="contains"?u?.values??[]:[]),[u]),v=at.useRef(null),S=at.useRef(null),I=at.useId(),[Y,h]=at.useState(""),f=_v(Y,vv),m=u?.mode==="contains"?u.pattern??"":"",[g,w]=at.useState(m),D=_v(g,vv);at.useEffect(()=>{let _=document.activeElement;return S.current?.focus(),()=>_?.focus?.()},[]),at.useEffect(()=>{function _(te){te.key==="Escape"&&(te.stopPropagation(),n())}function B(te){v.current&&!v.current.contains(te.target)&&n()}return document.addEventListener("keydown",_,!0),document.addEventListener("mousedown",B,!0),()=>{document.removeEventListener("keydown",_,!0),document.removeEventListener("mousedown",B,!0)}},[n]),at.useEffect(()=>{c==="contains"&&D!==m&&i({type:"setFilterPattern",dim:t.ref,pattern:D})},[D,c,t.ref,i]);let N=l?.timeDimension?.ref??e.timeDimension?.ref,b=at.useMemo(()=>nI(o),[o]),K=at.useMemo(()=>{let _=[...l?.filters??[],...sI(r.filters,{timeRef:N,range:r.dateRange,excludeDim:t.ref,types:b})];if(f.trim()){let B=lf(`%${lw(f.trim())}%`);_.push(`CAST(${t.ref} AS VARCHAR) ILIKE ${B} ESCAPE '\\'`)}return _},[l,r.filters,N,r.dateRange,t.ref,f,b]),L=c!=="contains",{result:ie,loading:Qe,error:ke}=dI(s,L?oI(t.ref,K,pI,l?.segments,l?.usePreaggregations):null),we=j1(t.ref),Ae=at.useMemo(()=>ie?ie.rows.map(_=>{let B=_[we];return B==null?$c:String(B)}):[],[ie,we]),Ve=!!ie&&ie.rows.length>0&&!ie.columns.includes(we),Fr=L&&(Qe||Ve);function T(_){d(_),u&&i({type:"setFilterMode",dim:t.ref,mode:_}),_==="contains"&&w(m)}function M(_){if(_.key!=="Tab")return;let B=v.current?.querySelectorAll('button, input, [href], select, textarea, [tabindex]:not([tabindex="-1"])');if(!B||B.length===0)return;let te=B[0],$e=B[B.length-1];_.shiftKey&&document.activeElement===te?(_.preventDefault(),$e.focus()):!_.shiftKey&&document.activeElement===$e&&(_.preventDefault(),te.focus())}return Ee.jsxs("div",{ref:v,role:"dialog","aria-modal":"true","aria-labelledby":I,onKeyDown:M,className:"absolute left-0 z-50 mt-1 w-64 border border-line bg-surface p-2 text-2xs shadow-lg",children:[Ee.jsxs("div",{id:I,className:"mb-2 flex items-baseline justify-between gap-2",children:[Ee.jsx("span",{className:"truncate font-semibold text-ink",children:t.label}),Ee.jsx("button",{type:"button","aria-label":"Close filter editor",onClick:n,className:"grid size-4 place-items-center rounded-full bg-surface-soft text-faint hover:bg-line hover:text-ink",children:"\xD7"})]}),Ee.jsx("div",{role:"group","aria-label":"Filter mode",className:"mb-2 grid grid-cols-3 gap-px border border-line bg-line",children:hI.map(({mode:_,label:B})=>Ee.jsx("button",{type:"button","aria-pressed":c===_,onClick:()=>T(_),className:`px-1.5 py-1 text-center ${c===_?"bg-accent-soft font-medium text-accent":"bg-surface text-muted hover:bg-surface-soft"}`,children:B},_))}),c==="contains"?Ee.jsx("input",{ref:S,type:"text","aria-label":`${t.label} contains`,placeholder:"Substring\u2026",value:g,onChange:_=>w(_.target.value),className:"w-full border border-line bg-surface px-1.5 py-1 text-2xs text-ink placeholder:text-faint"}):Ee.jsxs(Ee.Fragment,{children:[Ee.jsx("input",{ref:S,type:"text","aria-label":`Search ${t.label} values`,placeholder:"Search values\u2026",value:Y,onChange:_=>h(_.target.value),className:"w-full border border-line bg-surface px-1.5 py-1 text-2xs text-ink placeholder:text-faint"}),Ee.jsx("div",{className:"mt-2 max-h-56 overflow-y-auto",role:"group","aria-label":`${t.label} values`,children:ke?Ee.jsx("p",{className:"px-1 py-2 text-danger",children:ke}):Fr?Ee.jsx("div",{className:"space-y-1.5 p-1",children:[0,1,2,3,4].map(_=>Ee.jsx("div",{className:"skeleton h-4 w-full"},_))}):Ae.length===0?Ee.jsx("p",{className:"px-1 py-2 text-faint",children:"No values"}):Ae.map(_=>{let B=y.has(_);return Ee.jsxs("label",{className:"flex cursor-pointer items-center gap-2 px-1 py-1 hover:bg-surface-soft",children:[Ee.jsx("input",{type:"checkbox",checked:B,onChange:()=>i({type:"toggleFilter",dim:t.ref,value:_,mode:c}),className:"size-3 accent-[var(--accent)]"}),Ee.jsx("span",{className:"min-w-0 truncate text-ink",children:Wc(_)})]},_)})})]}),Ee.jsxs("div",{className:"mt-2 flex items-center justify-between border-t border-line pt-2",children:[Ee.jsx("button",{type:"button",onClick:()=>i({type:"removeFilterDim",dim:t.ref}),className:"text-muted underline-offset-2 hover:text-ink hover:underline",children:"Clear"}),Ee.jsx("button",{type:"button",onClick:n,className:"border border-line px-2 py-1 text-muted hover:bg-surface-soft",children:"Done"})]})]})}var zn=ye(Or(),1);function wv(t){let[e,n]=P1.useState(!1);if(!("dim"in t))return zn.jsxs("span",{"data-dimension":t.dimension,"data-value":t.value,className:"inline-flex max-w-full items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 text-2xs leading-4 text-muted",children:[zn.jsxs("span",{className:"truncate",children:[zn.jsxs("span",{className:"text-faint",children:[t.dimensionLabel??t.dimension,":"]})," ",t.value]}),t.onRemove?zn.jsx("button",{type:"button","aria-label":`Remove filter ${t.value}`,onClick:t.onRemove,className:"-mr-0.5 px-0.5 text-faint hover:text-ink",children:"\xD7"}):null]});let{dim:r,model:i,filter:s,onRemove:o}=t;return zn.jsxs("span",{className:"relative inline-flex max-w-full items-center","data-dimension":r.ref,"data-mode":s.mode,children:[zn.jsxs("span",{className:"inline-flex max-w-full items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 text-2xs leading-4 text-muted",children:[zn.jsxs("button",{type:"button","aria-label":`Edit filter ${r.label}`,"aria-haspopup":"dialog","aria-expanded":e,onClick:()=>n(a=>!a),className:"min-w-0 truncate text-left hover:text-ink",children:[zn.jsx("span",{className:"text-faint",children:r.label})," ",z1(s)]}),zn.jsx("button",{type:"button","aria-label":`Remove filter ${r.label}`,onClick:o,className:"grid size-3.5 shrink-0 place-items-center rounded-full bg-surface-soft text-faint hover:bg-line hover:text-ink",children:"\xD7"})]}),e?zn.jsx(mI,{dim:r,model:i,onClose:()=>n(!1)}):null]})}var Je=ye(Or(),1),yI={positive:"text-success",negative:"text-danger",neutral:"text-faint"};function gI({dimension:t,title:e,metricLabel:n,rows:r,selectedValues:i=[],loading:s,formatMetric:o,onToggle:a,contextColumn:l="none",contextOptions:u,onContextColumn:c,collapsedLimit:d=6,expanded:y=!1,onExpandedChange:v,containerRef:S}){let I=new Set(i),Y=y?r:r.slice(0,d),h=Math.max(1,...Y.map(w=>Math.abs(w.metric))),f=y||r.length>d,m=l!=="none",g=m?"grid-cols-[minmax(0,1fr)_auto_auto]":"grid-cols-[minmax(0,1fr)_auto]";return Je.jsxs("section",{ref:S,"data-testid":"dimension-leaderboard","data-dimension":t,"data-expanded":y||void 0,"aria-label":`${e}, ranked by ${n}`,className:"flex min-h-40 flex-col border-b border-r border-line bg-surface data-[expanded=true]:col-span-full",children:[Je.jsxs("header",{className:"flex items-center justify-between gap-3 px-3 pb-2 pt-2.5",children:[Je.jsxs("div",{className:"flex min-w-0 items-baseline gap-2",children:[Je.jsx("h3",{className:"truncate text-sm font-semibold text-ink",children:e}),Je.jsxs("p",{className:"sr-only",children:["Ranked by ",n]})]}),u&&c?Je.jsx("div",{role:"group","aria-label":"Context column","data-testid":"leaderboard-context-toggle",className:"flex shrink-0 overflow-hidden border border-line text-2xs",children:u.map(w=>Je.jsx("button",{type:"button",title:w.title,"aria-pressed":l===w.key,"data-context":w.key,"data-active":l===w.key||void 0,onClick:()=>c(w.key),className:"border-l border-line px-1.5 py-0.5 font-mono text-faint first:border-l-0 hover:bg-surface-soft data-[active=true]:bg-accent-soft data-[active=true]:text-accent",children:w.label},w.key))}):null]}),Je.jsx("div",{"data-testid":"leaderboard-rows",children:s&&r.length===0?Je.jsx("div",{className:"space-y-2 p-3",children:[0,1,2,3].map(w=>Je.jsx("div",{className:"skeleton h-5 w-full"},w))}):r.length===0?Je.jsx("p",{className:"px-3 py-4 text-xs text-faint",children:"No values"}):Y.map(w=>{let D=w.metric<0?"negative":"positive",N=I.has(w.value),b=`${Math.round(Math.abs(w.metric)/h*100)}%`;return Je.jsxs("button",{type:"button","data-dimension":t,"data-value":w.value,"data-selected":N||void 0,"data-tone":D,onClick:()=>a?.(w.value),"aria-pressed":N,className:`leaderboard-row relative grid w-full ${g} items-center gap-3 overflow-hidden border-0 bg-transparent px-3 py-1 text-left text-xs text-ink data-[selected=true]:bg-chart-primary-selected`,children:[Je.jsx("span",{"aria-hidden":"true",className:`absolute inset-y-0 left-0 ${D==="negative"?"bg-danger-soft":"bg-chart-primary-soft"}`,style:{width:b}}),Je.jsx("span",{className:"relative min-w-0 truncate text-muted",children:Wc(w.value)}),Je.jsx("strong",{className:"relative tnum font-semibold text-ink",children:o(w.metric)}),m?Je.jsx("span",{"data-testid":"leaderboard-context","data-tone":w.context?.tone??"neutral",className:`relative w-14 text-right font-mono tnum text-2xs ${yI[w.context?.tone??"neutral"]}`,children:w.context?.label??"\u2014"}):null]},`${t}:${w.value}`)})}),f&&!s?Je.jsx("button",{type:"button","data-action":y?"leaderboard-back":"leaderboard-expand","aria-expanded":y,onClick:()=>v?.(!y),className:"leaderboard-expand border-0 border-t border-line bg-transparent px-3 py-1 text-left text-xs font-normal text-faint hover:text-accent",children:y?"\u2190 All dimensions":`Expand table (${r.length})`}):null]})}var vI=ye(nn(),1),vr=ye(nn(),1),hL=ye(nn(),1),_I=ye(Or(),1);function wI({tip:t,position:e="fixed",offset:n=12,className:r,style:i}){return t?_I.jsx("div",{role:"tooltip",style:{position:e,left:t.x+n,top:t.y+n,pointerEvents:"none",zIndex:50,...i},className:r||"rounded-lg border border-line bg-surface px-2.5 py-1.5 text-xs text-ink shadow-[var(--shadow)]",children:t.content}):null}var st=ye(Or(),1);function SI({values:t,labels:e,height:n=44,ariaLabel:r,formatValue:i=a=>a.toLocaleString(void 0,{maximumFractionDigits:2}),onHover:s,onBrush:o}){let a=vr.useRef(null),l=vr.useId(),u=vr.useRef(null),c=vr.useRef(null),[d,y]=vr.useState(200),[v,S]=vr.useState(null),[I,Y]=vr.useState(null),[h,f]=vr.useState(null);vr.useEffect(()=>{let _=a.current;if(!_||typeof ResizeObserver>"u")return;let B=new ResizeObserver(te=>{for(let $e of te)y(Math.max(40,$e.contentRect.width))});return B.observe(_),()=>B.disconnect()},[]);let m=t.map((_,B)=>({index:B,value:_})).filter(_=>Number.isFinite(_.value));if(m.length<2)return st.jsx("svg",{ref:u,role:"img","aria-label":r||"No trend data",className:"h-11 w-full",viewBox:`0 0 ${d} ${n}`});let g=3,w=Math.min(...m.map(_=>_.value)),N=Math.max(...m.map(_=>_.value))-w||1,b=m.map((_,B)=>({..._,x:g+B/(m.length-1)*(d-g*2),y:g+(1-(_.value-w)/N)*(n-g*2)})),K=b.map(({x:_,y:B})=>`${_.toFixed(1)},${B.toFixed(1)}`).join(" L "),L=`M ${b[0].x.toFixed(1)},${n-g} L ${K} L ${b.at(-1).x.toFixed(1)},${n-g} Z`,ie=b.at(-1),Qe=r||`Trend of ${m.length} points, latest ${i(ie.value)}`;function ke(_){let B=u.current?.getBoundingClientRect();return B?Math.max(g,Math.min(d-g,(_.clientX-B.left)/B.width*d)):g}function we(_){return Math.max(0,Math.min(b.length-1,Math.round((_-g)/(d-g*2)*(b.length-1))))}function Ae(_){let B=ke(_),te=we(B),$e=b[te];S(te),f({content:`${e?.[$e.index]?`${e[$e.index]}: `:""}${i($e.value)}`,x:_.clientX,y:_.clientY}),s?.({index:$e.index,label:e?.[$e.index],value:$e.value}),c.current!==null&&Y({a:c.current,b:B})}function Ve(_){if(!o||!e?.length)return;_.currentTarget.setPointerCapture(_.pointerId);let B=ke(_);c.current=B,Y({a:B,b:B})}function Fr(_){if(c.current===null||!o||!e?.length)return;_.currentTarget.hasPointerCapture(_.pointerId)&&_.currentTarget.releasePointerCapture(_.pointerId);let B=ke(_);if(Math.abs(B-c.current)>6){let te=b[we(Math.min(c.current,B))],$e=b[we(Math.max(c.current,B))];o({from:e[te.index],to:e[$e.index]})}c.current=null,Y(null)}function T(){S(null),f(null),s?.(null),c.current===null&&Y(null)}let M=v===null?null:b[v];return st.jsxs("span",{ref:a,className:"relative block w-full",children:[st.jsxs("svg",{ref:u,role:"img","aria-label":Qe,className:`h-11 w-full overflow-hidden text-chart-primary ${o?"touch-none select-none":""}`,viewBox:`0 0 ${d} ${n}`,preserveAspectRatio:"none",onPointerMove:Ae,onPointerDown:Ve,onPointerUp:Fr,onPointerCancel:T,onPointerLeave:T,onDoubleClick:()=>o?.(null),children:[st.jsx("defs",{children:st.jsxs("linearGradient",{id:l,x1:"0",y1:"0",x2:"0",y2:"1",children:[st.jsx("stop",{offset:"0%",stopColor:"currentColor",stopOpacity:.16}),st.jsx("stop",{offset:"100%",stopColor:"currentColor",stopOpacity:0})]})}),st.jsx("path",{d:L,fill:`url(#${l})`}),st.jsx("path",{d:`M ${K}`,fill:"none",stroke:"currentColor",strokeWidth:1.5,vectorEffect:"non-scaling-stroke"}),I?st.jsx("rect",{x:Math.min(I.a,I.b),y:0,width:Math.abs(I.b-I.a),height:n,fill:"currentColor",opacity:.12}):null,M?st.jsxs(st.Fragment,{children:[st.jsx("line",{x1:M.x,x2:M.x,y1:0,y2:n,stroke:"currentColor",strokeWidth:1,opacity:.45}),st.jsx("circle",{cx:M.x,cy:M.y,r:2.5,fill:"currentColor"})]}):st.jsx("circle",{cx:ie.x,cy:ie.y,r:2.25,fill:"currentColor"})]}),st.jsx(wI,{tip:h})]})}var ot=ye(Or(),1),bI={positive:"text-success",negative:"text-danger",neutral:"text-faint"},xI={positive:"\u25B2",negative:"\u25BC",neutral:"\xB7"};function II({metric:t,label:e,value:n,valueText:r,format:i,delta:s,comparison:o,sparkValues:a=[],sparkLabels:l,selected:u,loading:c,onSelect:d,onSparkHover:y,onSparkBrush:v}){let[S,I]=vI.useState(null),Y=ot.jsxs(ot.Fragment,{children:[ot.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[ot.jsx("span",{className:"truncate text-xs font-medium text-muted",children:e}),S?.label?ot.jsx("span",{className:"shrink-0 font-mono text-2xs text-faint",children:S.label}):null]}),ot.jsx("div",{className:"font-mono tnum text-[19px] font-semibold leading-tight tracking-tight text-ink",children:c?ot.jsx("span",{className:"skeleton inline-block h-6 w-24 align-middle"}):S?jd(S.value,i):r??jd(n,i)}),s||o?ot.jsxs("div",{className:"flex items-baseline gap-1 text-2xs",children:[s?ot.jsxs("span",{"data-tone":s.tone,className:`font-mono tnum font-medium ${bI[s.tone]}`,children:[ot.jsx("span",{"aria-hidden":"true",className:"mr-0.5 text-[8px]",children:xI[s.tone]}),s.label]}):null,o?ot.jsx("span",{className:"truncate text-faint",children:o}):null]}):null]}),h="group flex w-full flex-col gap-1.5 overflow-hidden rounded-xl border border-line bg-surface px-3.5 pt-3 text-left shadow-[var(--shadow-sm)] transition-colors hover:border-line-strong data-[selected=true]:border-accent",f=ot.jsx("div",{className:"-mx-3.5 mt-auto",children:ot.jsx(SI,{values:a,labels:l,onHover:m=>{I(m),y?.(m)},onBrush:v,formatValue:m=>jd(m,i)})});return d?ot.jsxs("article",{"data-metric":t,"data-selected":u||void 0,className:h,children:[ot.jsx("button",{type:"button","data-metric":t,"aria-pressed":!!u,onClick:()=>d(t),className:"-m-1 flex flex-col gap-1 border-0 bg-transparent p-1 text-left transition hover:opacity-75",children:Y}),f]}):ot.jsxs("article",{"data-metric":t,"data-selected":u||void 0,className:h,children:[Y,f]})}var pL=ye(Or(),1);var Gr=ye(Or(),1);function Vp({tone:t,title:e,message:n}){let r=t==="danger";return Gr.jsx("div",{className:`grid min-h-[200px] place-items-center border bg-surface p-6 text-center ${r?"border-danger/40":"border-line"}`,"data-state":t,role:r?"alert":"status","aria-live":r?"assertive":"polite",children:Gr.jsxs("div",{className:"max-w-md",children:[t==="loading"?Gr.jsx("span",{"aria-hidden":"true",className:"motion-safe:animate-pulse inline-block size-2 rounded-full bg-accent"}):null,e?Gr.jsx("h3",{className:`text-sm font-semibold ${r?"text-danger":"text-ink"}`,children:e}):null,Gr.jsx("p",{className:`mt-1 text-xs ${r?"text-danger":"text-muted"}`,children:n})]})})}function BI({title:t="Loading",message:e="Loading metrics\u2026"}){return Gr.jsx(Vp,{tone:"loading",title:t,message:e})}function DI({title:t="No results",message:e}){return Gr.jsx(Vp,{tone:"muted",title:t,message:e})}function NI({title:t="Query failed",message:e}){return Gr.jsx(Vp,{tone:"danger",title:t,message:e})}var Sv=new WeakMap;function uf(t,e){let n=Sv.get(t);n||(t.replaceChildren(),n=U1.createRoot(t),Sv.set(t,n)),R1.flushSync(()=>n.render(e))}function TI(t){return t.result?.sample_rows??t.result?.rows??[]}function Vd(t,e=""){return t.output_aliases?.[e]??Vc(e)}function fw(t,e){return typeof t=="function"?t(e):t}function OI(t={}){return{columns:t.columns??[],sample_rows:t.sample_rows??t.rows??[]}}function FI({dimensions:t=[],metrics:e=[],result:n,outputAliases:r}={}){return{dimensions:t,metrics:e,output_aliases:r,result:OI(n)}}function dw(t,e={}){let n=e.totals?.rows?.[0]??{},r=e.seriesRows??[];uf(t,Zt.createElement(Zt.Fragment,null,...(e.metrics??[]).map(i=>{let s=i.key,o=Vc(s);return Zt.createElement(II,{key:s,metric:s,label:i.label??o.replaceAll("_"," "),value:n[o],format:fw(e.valueFormat,s),selected:e.selectedMetric===s,sparkValues:r.map(a=>Number(a[o])||0),sparkLabels:r.map(a=>String(a[e.timeKey]??"")),onSparkBrush:e.onBrush?a=>e.onBrush(a?.from??null,a?.to??null):void 0,onSelect:e.onSelect?()=>e.onSelect({metric:s,key:o,value:n[o]}):void 0})})))}function $p(t,e,n={}){let r=t.__sdmExpandedDim,i=r?e.filter(s=>(s.key??s)===r):e;uf(t,Zt.createElement(Zt.Fragment,null,...i.map(s=>{let o=s.key??s,a=n.resultForDimension?.(s)??{rows:[]},l=FI({dimensions:[o],metrics:[n.metricRef],result:a}),u=TI(l),c=r===o;return Zt.createElement(gI,{key:o,dimension:o,title:s.label??Vc(o).replaceAll("_"," "),metricLabel:n.metricLabel?.(s)??n.metricName??Vc(n.metricRef),rows:u.map(d=>({value:Ji(d[Vd(l,o)]),metric:Number(d[Vd(l,n.metricRef)])||0})),selectedValues:n.selectedValuesForDimension?.(s)??[],collapsedLimit:n.limit??6,expanded:c,formatMetric:d=>zp(d,fw(n.valueFormat,{metric:n.metricRef,value:d})),onToggle:n.onSelect?d=>n.onSelect({dimension:o,value:d,row:u.find(y=>Ji(y[Vd(l,o)])===d)}):void 0,onExpandedChange:n.expandable===!1?void 0:d=>{t.__sdmExpandedDim=d?o:void 0,$p(t,e,n)}})})))}function hw(t,e,n,r={}){let i=Object.entries(e??{}).flatMap(([s,o])=>(o??[]).map(a=>{let l=Ji(a);return Zt.createElement(wv,{key:`${s}:${l}`,dimension:s,value:l,onRemove:n?()=>n({dimension:s,value:l}):void 0})}));for(let s of r.extraPills??[])i.push(Zt.createElement(wv,{key:s.key??`${s.dimension}:${s.value}`,dimension:s.dimension,dimensionLabel:s.dimensionLabel,value:s.value,onRemove:s.onRemove}));uf(t,i.length?Zt.createElement(Zt.Fragment,null,...i):r.emptyLabel?Zt.createElement("span",{className:"text-faint"},r.emptyLabel):null)}function pw(t,e){let n=e.kind==="error"?NI:e.kind==="loading"?BI:DI;uf(t,Zt.createElement(n,{message:e.message}))}function Wp(t){if(!t)return"";if(typeof t=="string")return t.slice(0,10);if(t instanceof Date)return t.toISOString().slice(0,10);if(typeof t=="number"||typeof t=="bigint"){let e=typeof t=="bigint"?Number(t):t;return e>1e12?new Date(e).toISOString().slice(0,10):e>1e9?new Date(e*1e3).toISOString().slice(0,10):new Date(e*864e5).toISOString().slice(0,10)}return String(t).slice(0,10)}function mw(t){if(!t)return null;if(t instanceof Date)return t;if(typeof t=="number"||typeof t=="bigint"){let e=typeof t=="bigint"?Number(t):t;return e>1e12?new Date(e):e>1e9?new Date(e*1e3):new Date(e*864e5)}if(typeof t=="string"){let e=t.match(/^\d{4}-\d{2}-\d{2}/);if(e)return new Date(`${e[0]}T00:00:00Z`);let n=new Date(t);if(!Number.isNaN(n.getTime()))return n}return null}function yw(t,e){return t.toLocaleDateString("en-US",{timeZone:"UTC",...e})}function gw(t,e){let n=mw(t),r=mw(e);if(!n||!r){let a=Wp(t),l=Wp(e);return!a&&!l?"":a&&l?`${a} \u2013 ${l}`:a||l}let i=n.getFullYear()===r.getFullYear(),s=yw(n,{month:"short",day:"numeric",year:i?void 0:"numeric"}),o=yw(r,{month:"short",day:"numeric",year:"numeric"});return`${s} \u2013 ${o}`}function EI(t){let e=atob(t),n=new Uint8Array(e.length);for(let r=0;r<\/script>",t=t.removeChild(t.firstChild)):typeof r.is=="string"?t=o.createElement(n,{is:r.is}):(t=o.createElement(n),n==="select"&&(o=t,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):t=o.createElementNS(t,n),t[Dn]=e,t[to]=r,$_(t,e,!1,!1),e.stateNode=t;e:{switch(o=th(n,r),n){case"dialog":ve("cancel",t),ve("close",t),i=r;break;case"iframe":case"object":case"embed":ve("load",t),i=r;break;case"video":case"audio":for(i=0;iio&&(e.flags|=128,r=!0,ha(s,!1),e.lanes=4194304)}else{if(!r)if(t=_c(o),t!==null){if(e.flags|=128,r=!0,n=t.updateQueue,n!==null&&(e.updateQueue=n,e.flags|=4),ha(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!Ie)return it(e),null}else 2*Oe()-s.renderingStartTime>io&&n!==1073741824&&(e.flags|=128,r=!0,ha(s,!1),e.lanes=4194304);s.isBackwards?(o.sibling=e.child,e.child=o):(n=s.last,n!==null?n.sibling=o:e.child=o,s.last=o)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=Oe(),e.sibling=null,n=xe.current,me(xe,r?n&1|2:n&1),e):(it(e),null);case 22:case 23:return _p(),r=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==r&&(e.flags|=8192),r&&(e.mode&1)!==0?(Rt&1073741824)!==0&&(it(e),e.subtreeFlags&6&&(e.flags|=8192)):it(e),null;case 24:return null;case 25:return null}throw Error(x(156,e.tag))}function a1(t,e){switch(op(e),e.tag){case 1:return Dt(e.type)&&yc(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return Zs(),_e(yt),_e(tt),pp(),t=e.flags,(t&65536)!==0&&(t&128)===0?(e.flags=t&-65537|128,e):null;case 5:return hp(e),null;case 13:if(_e(xe),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(x(340));Xs()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return _e(xe),null;case 4:return Zs(),null;case 10:return up(e.type._context),null;case 22:case 23:return _p(),null;case 24:return null;default:return null}}function As(t,e){var n=t.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Te(t,e,r)}else n.current=null}function mh(t,e,n){try{n()}catch(r){Te(t,e,r)}}function l1(t,e){if(Vh=Oc,t=p0(),ip(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else e:{n=(n=t.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var{anchorOffset:i,focusNode:s}=r;r=r.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break e}var o=0,a=-1,l=-1,u=0,c=0,d=t,y=null;t:for(;;){for(var v;d!==n||i!==0&&d.nodeType!==3||(a=o+i),d!==s||r!==0&&d.nodeType!==3||(l=o+r),d.nodeType===3&&(o+=d.nodeValue.length),(v=d.firstChild)!==null;)y=d,d=v;for(;;){if(d===t)break t;if(y===n&&++u===i&&(a=o),y===s&&++c===r&&(l=o),(v=d.nextSibling)!==null)break;d=y,y=d.parentNode}d=v}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for($h={focusedElem:t,selectionRange:n},Oc=!1,E=e;E!==null;)if(e=E,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,E=t;else for(;E!==null;){e=E;try{var S=e.alternate;if((e.flags&1024)!==0)switch(e.tag){case 0:case 11:case 15:break;case 1:if(S!==null){var{memoizedProps:I,memoizedState:Y}=S,h=e.stateNode,f=h.getSnapshotBeforeUpdate(e.elementType===e.type?I:bn(e.type,I),Y);h.__reactInternalSnapshotBeforeUpdate=f}break;case 3:var m=e.stateNode.containerInfo;m.nodeType===1?m.textContent="":m.nodeType===9&&m.documentElement&&m.removeChild(m.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(x(163))}}catch(g){Te(e,e.return,g)}if(t=e.sibling,t!==null){t.return=e.return,E=t;break}E=e.return}return S=fv,fv=!1,S}function Ba(t,e,n){var r=e.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&t)===t){var s=i.destroy;i.destroy=void 0,s!==void 0&&mh(e,n,s)}i=i.next}while(i!==r)}}function Qc(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var n=e=e.next;do{if((n.tag&t)===t){var r=n.create;n.destroy=r()}n=n.next}while(n!==e)}}function yh(t){var e=t.ref;if(e!==null){var n=t.stateNode;t.tag,t=n,typeof e=="function"?e(t):e.current=t}}function $0(t){var e=t.alternate;e!==null&&(t.alternate=null,$0(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[Dn],delete e[to],delete e[Ac],delete e[M_],delete e[C_])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function W0(t){return t.tag===5||t.tag===3||t.tag===4}function Rg(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||W0(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function gh(t,e,n){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?n.nodeType===8?n.parentNode.insertBefore(t,e):n.insertBefore(t,e):(n.nodeType===8?(e=n.parentNode,e.insertBefore(t,n)):(e=n,e.appendChild(t)),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=pc));else if(r!==4&&(t=t.child,t!==null))for(gh(t,e,n),t=t.sibling;t!==null;)gh(t,e,n),t=t.sibling}function vh(t,e,n){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(r!==4&&(t=t.child,t!==null))for(vh(t,e,n),t=t.sibling;t!==null;)vh(t,e,n),t=t.sibling}function Yr(t,e,n){for(n=n.child;n!==null;)H0(t,e,n),n=n.sibling}function H0(t,e,n){if($n&&typeof $n.onCommitFiberUnmount=="function")try{$n.onCommitFiberUnmount(nf,n)}catch{}switch(n.tag){case 5:lt||As(n,e);case 6:var r=qe,i=xn;qe=null,Yr(t,e,n),qe=r,xn=i,qe!==null&&(xn?(t=qe,n=n.stateNode,t.nodeType===8?t.parentNode.removeChild(n):t.removeChild(n)):qe.removeChild(n.stateNode));break;case 18:qe!==null&&(xn?(t=qe,n=n.stateNode,t.nodeType===8?_d(t.parentNode,n):t.nodeType===1&&_d(t,n),Ma(t)):_d(qe,n.stateNode));break;case 4:r=qe,i=xn,qe=n.stateNode.containerInfo,xn=!0,Yr(t,e,n),qe=r,xn=i;break;case 0:case 11:case 14:case 15:if(!lt&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var s=i,o=s.destroy;s=s.tag,o!==void 0&&((s&2)!==0||(s&4)!==0)&&mh(n,e,o),i=i.next}while(i!==r)}Yr(t,e,n);break;case 1:if(!lt&&(As(n,e),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){Te(n,e,a)}Yr(t,e,n);break;case 21:Yr(t,e,n);break;case 22:n.mode&1?(lt=(r=lt)||n.memoizedState!==null,Yr(t,e,n),lt=r):Yr(t,e,n);break;default:Yr(t,e,n)}}function Pg(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var n=t.stateNode;n===null&&(n=t.stateNode=new Y_),e.forEach(function(r){var i=y1.bind(null,t,r);n.has(r)||(n.add(r),r.then(i,i))})}}function Sn(t,e){var n=e.deletions;if(n!==null)for(var r=0;ri&&(i=o),r&=~s}if(r=i,r=Oe()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*K_(r/1960))-r,10t?16:t,Jr===null)var r=!1;else{if(t=Jr,Jr=null,zc=0,(re&6)!==0)throw Error(x(331));var i=re;for(re|=4,E=t.current;E!==null;){var s=E,o=s.child;if((E.flags&16)!==0){var a=s.deletions;if(a!==null){for(var l=0;lOe()-Rp?Hi(t,0):Up|=n),Nt(t,e)}function q0(t,e){e===0&&((t.mode&1)===0?e=1:(e=zu,zu<<=1,(zu&130023424)===0&&(zu=4194304)));var n=mt();t=Dr(t,e),t!==null&&(Qa(t,e,n),Nt(t,n))}function m1(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),q0(t,n)}function y1(t,e){var n=0;switch(t.tag){case 13:var r=t.stateNode,i=t.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=t.stateNode;break;default:throw Error(x(314))}r!==null&&r.delete(e),q0(t,n)}function e_(t,e){return Op(t,e)}function g1(t,e,n,r){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function qt(t,e,n,r){return new g1(t,e,n,r)}function Sp(t){return t=t.prototype,!(!t||!t.isReactComponent)}function v1(t){if(typeof t=="function")return Sp(t)?1:0;if(t!=null){if(t=t.$$typeof,t===qc)return 11;if(t===ef)return 14}return 2}function ti(t,e){var n=t.alternate;return n===null?(n=qt(t.tag,e,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=e,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&14680064,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,e=t.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n}function tc(t,e,n,r,i,s){var o=2;if(r=t,typeof t=="function")Sp(t)&&(o=1);else if(typeof t=="string")o=5;else e:switch(t){case ji:return Yi(n.children,i,s,e);case Jc:o=8,i|=8;break;case Ic:return t=qt(12,n,e,i|2),t.elementType=Ic,t.lanes=s,t;case Bc:return t=qt(13,n,e,i),t.elementType=Bc,t.lanes=s,t;case Dc:return t=qt(19,n,e,i),t.elementType=Dc,t.lanes=s,t;case Np:return Gc(n,i,s,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case Bp:o=10;break e;case Dp:o=9;break e;case qc:o=11;break e;case ef:o=14;break e;case wr:o=16,r=null;break e}throw Error(x(130,t==null?t:typeof t,""))}return e=qt(o,n,e,i),e.elementType=t,e.type=r,e.lanes=s,e}function Yi(t,e,n,r){return t=qt(7,t,r,e),t.lanes=n,t}function Gc(t,e,n,r){return t=qt(22,t,r,e),t.elementType=Np,t.lanes=n,t.stateNode={isHidden:!1},t}function Dd(t,e,n){return t=qt(6,t,null,e),t.lanes=n,t}function Nd(t,e,n){return e=qt(4,t.children!==null?t.children:[],t.key,e),e.lanes=n,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function _1(t,e,n,r,i){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=md(0),this.expirationTimes=md(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=md(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function bp(t,e,n,r,i,s,o,a,l){return t=new _1(t,e,n,a,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=qt(3,null,null,e),t.current=s,s.stateNode=t,s.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},fp(s),t}function w1(t,e,n){var r=3{if(Kg=ye(nn(),1),xt=ye(bx(),1),Ip=new Set,Ys={},Pn=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),xc=Object.prototype.hasOwnProperty,r_=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,bh={},xh={},He={},"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){He[t]=new ht(t,0,!1,t,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];He[e]=new ht(e,1,!1,t[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(t){He[t]=new ht(t,2,!1,t.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){He[t]=new ht(t,2,!1,t,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){He[t]=new ht(t,3,!1,t.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(t){He[t]=new ht(t,3,!0,t,null,!1,!1)}),["capture","download"].forEach(function(t){He[t]=new ht(t,4,!1,t,null,!1,!1)}),["cols","rows","size","span"].forEach(function(t){He[t]=new ht(t,6,!1,t,null,!1,!1)}),["rowSpan","start"].forEach(function(t){He[t]=new ht(t,5,!1,t.toLowerCase(),null,!1,!1)}),Ru=/[\-:]([a-z])/g,"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(Ru,hd);He[e]=new ht(e,1,!1,t,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(Ru,hd);He[e]=new ht(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(Ru,hd);He[e]=new ht(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(t){He[t]=new ht(t,1,!1,t.toLowerCase(),null,!1,!1)}),He.xlinkHref=new ht("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(t){He[t]=new ht(t,1,!1,t.toLowerCase(),null,!0,!0)}),jn=Kg.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Sa=Symbol.for("react.element"),Pi=Symbol.for("react.portal"),ji=Symbol.for("react.fragment"),Jc=Symbol.for("react.strict_mode"),Ic=Symbol.for("react.profiler"),Bp=Symbol.for("react.provider"),Dp=Symbol.for("react.context"),qc=Symbol.for("react.forward_ref"),Bc=Symbol.for("react.suspense"),Dc=Symbol.for("react.suspense_list"),ef=Symbol.for("react.memo"),wr=Symbol.for("react.lazy"),Np=Symbol.for("react.offscreen"),Ih=Symbol.iterator,be=Object.assign,Ls=Array.isArray,Tp=(function(t){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(e,n,r,i){MSApp.execUnsafeLocalFunction(function(){return t(e,n,r,i)})}:t})(function(t,e){if(t.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in t)t.innerHTML=e;else{for(Pu=Pu||document.createElement("div"),Pu.innerHTML=""+e.valueOf().toString()+"",e=Pu.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}}),Ms={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Qg=["Webkit","ms","Moz","O"],Object.keys(Ms).forEach(function(t){Qg.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),Ms[e]=Ms[t]})}),i_=be({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}),Pn)try{Ts={},Object.defineProperty(Ts,"passive",{get:function(){Nh=!0}}),window.addEventListener("test",Ts,Ts),window.removeEventListener("test",Ts,Ts)}catch{Nh=!1}for(s_={onError:function(t){Da=!0,Nc=t}},Op=xt.unstable_scheduleCallback,Oh=xt.unstable_cancelCallback,o_=xt.unstable_shouldYield,a_=xt.unstable_requestPaint,Oe=xt.unstable_now,l_=xt.unstable_getCurrentPriorityLevel,tf=xt.unstable_ImmediatePriority,Fp=xt.unstable_UserBlockingPriority,ja=xt.unstable_NormalPriority,u_=xt.unstable_LowPriority,Ep=xt.unstable_IdlePriority,en=Math.clz32?Math.clz32:Lx,c_=Math.log,f_=Math.LN2,ba=[],qs=new Map,eo=new Map,br=[],m_="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" "),Ki=jn.ReactCurrentBatchConfig,Ei={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},rf=Ut(Ei),Os=be({},Ei,{view:0,detail:0}),y_=Ut(Os),ma=be({},Os,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:yd,button:0,buttons:0,relatedTarget:function(t){return t.relatedTarget===void 0?t.fromElement===t.srcElement?t.toElement:t.fromElement:t.relatedTarget},movementX:function(t){return"movementX"in t?t.movementX:(t!==pa&&(pa&&t.type==="mousemove"?(kd=t.screenX-pa.screenX,Ad=t.screenY-pa.screenY):Ad=kd=0,pa=t),kd)},movementY:function(t){return"movementY"in t?t.movementY:Ad}}),Eh=Ut(ma),Xg=be({},ma,{dataTransfer:0}),g_=Ut(Xg),Zg=be({},Os,{relatedTarget:0}),ic=Ut(Zg),Jg=be({},Ei,{animationName:0,elapsedTime:0,pseudoElement:0}),v_=Ut(Jg),qg=be({},Ei,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),__=Ut(qg),ev=be({},Ei,{data:0}),kh=Ut(ev),tv={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},nv={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},w_={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"},rv=be({},Os,{key:function(t){if(t.key){var e=tv[t.key]||t.key;if(e!=="Unidentified")return e}return t.type==="keypress"?(t=Zu(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?nv[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:yd,charCode:function(t){return t.type==="keypress"?Zu(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?Zu(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),S_=Ut(rv),iv=be({},ma,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Ah=Ut(iv),sv=be({},Os,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:yd}),b_=Ut(sv),ov=be({},Ei,{propertyName:0,elapsedTime:0,pseudoElement:0}),x_=Ut(ov),av=be({},ma,{deltaX:function(t){return"deltaX"in t?t.deltaX:"wheelDeltaX"in t?-t.wheelDeltaX:0},deltaY:function(t){return"deltaY"in t?t.deltaY:"wheelDeltaY"in t?-t.wheelDeltaY:"wheelDelta"in t?-t.wheelDelta:0},deltaZ:0,deltaMode:0}),I_=Ut(av),B_=[9,13,27,32],Ec=Pn&&("CompositionEvent"in window),Pn&&("documentMode"in document)&&(ya=document.documentMode),D_=Pn&&("TextEvent"in window)&&!ya,Lp=Pn&&(!Ec||ya&&8=ya),Lh=" ",N_={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0},Pn&&(Pn?(Vu="oninput"in document,Vu||(Md=document.createElement("div"),Md.setAttribute("oninput","return;"),Vu=typeof Md.oninput=="function"),Ld=Vu):Ld=!1,T_=Ld&&(!document.documentMode||9=document.documentMode,Ci={animationend:ku("Animation","AnimationEnd"),animationiteration:ku("Animation","AnimationIteration"),animationstart:ku("Animation","AnimationStart"),transitionend:ku("Transition","TransitionEnd")},sc={},Uh={},Pn&&(Uh=document.createElement("div").style,"AnimationEvent"in window||(delete Ci.animationend.animation,delete Ci.animationiteration.animation,delete Ci.animationstart.animation),"TransitionEvent"in window||delete Ci.transitionend.transition),Rh=Au("animationend"),Ph=Au("animationiteration"),jh=Au("animationstart"),zh=Au("transitionend"),Mp=new Map,Cd="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" "),Wu=0;Wu"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(r){console.error(r)}}n(),e.exports=Vv}),M1=so(function(t){var e=ye(Z_());t.createRoot=e.createRoot,t.hydrateRoot=e.hydrateRoot;var n}),J_={};Qh(J_,{Fragment:()=>rw,jsx:()=>iw,jsxs:()=>sw});function pv(t,e,n){var r,i={},s=null,o=null;n!==void 0&&(s=""+n),e.key!==void 0&&(s=""+e.key),e.ref!==void 0&&(o=e.ref);for(r in e)ew.call(e,r)&&!nw.hasOwnProperty(r)&&(i[r]=e[r]);if(t&&t.defaultProps)for(r in e=t.defaultProps,e)i[r]===void 0&&(i[r]=e[r]);return{$$typeof:q_,type:t,key:s,ref:o,props:i,_owner:tw.current}}var mv,q_,yv,ew,tw,nw,rw,iw,sw,C1=Gh(()=>{mv=ye(nn(),1),q_=Symbol.for("react.element"),yv=Symbol.for("react.fragment"),ew=Object.prototype.hasOwnProperty,tw=mv.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,nw={key:!0,ref:!0,__self:!0,__source:!0},rw=yv,iw=pv,sw=pv}),Or=so(function(t,e){C1(),e.exports=J_}),Zt=ye(nn(),1),U1=ye(M1(),1),R1=ye(Z_(),1),cL=ye(nn(),1);function Vc(t){return String(t||"").split(".").at(-1)}function jp(t,e={}){if(t==null||t==="")return"\u2014";let n=typeof t=="number"?t:Number(t);if(!Number.isFinite(n))return String(t);let r=String(e.format||"").toLowerCase();if(e.style==="percent"||r.includes("%")||r.includes("percent")||r.includes("pct")||e.type==="ratio")return(e.style==="percent"?n:Math.abs(n)<=1?n*100:n).toLocaleString(void 0,{maximumFractionDigits:e.maximumFractionDigits??1,style:e.style==="percent"?"percent":"decimal"})+(e.style==="percent"?"":"%");let s=e.style==="currency"||e.currency||r.includes("$")||r.includes("usd")||r.includes("currency")||r.includes("dollar");return n.toLocaleString(void 0,{currency:s?e.currency||"USD":void 0,maximumFractionDigits:e.maximumFractionDigits??2,notation:e.compact?"compact":"standard",style:s?"currency":"decimal"})}function Ji(t){return String(t??"")}function ow(t,e,n){let r={...t},i=Ji(n),s=new Set((r[e]||[]).map(Ji));return s.has(i)?s.delete(i):s.add(i),s.size?r[e]=[...s]:delete r[e],r}function aw(t,e,n){let r={...t},i=Ji(n),s=(r[e]||[]).map(Ji).filter(o=>o!==i);return s.length?r[e]=s:delete r[e],r}var fL=ye(Or(),1);var P1=ye(nn(),1);function j1(t){return t.split(".").at(-1)||t}var $c="\0__null__";function Wc(t){return t===$c||t===""?"\u2014":t}function Pd(t,e={}){return jp(t,e)}function zp(t,e){return e==="clickhouse"&&(t=t.replaceAll("\\","\\\\")),`'${t.replaceAll("'","''")}'`}function z1(t){if(t.mode==="contains")return`contains ${zp(t.pattern??"")}`;let{values:e}=t,n=t.mode==="exclude"?"is not":"is";return e.length===0?n:e.length===1?`${n} ${Wc(e[0])}`:e.length<=2?`${n} ${e.map(Wc).join(", ")}`:`${n} ${e.length} values`}var at=ye(nn(),1);function V1(t,e){let n=new Set;for(let r of t.joinablePairs??[])r.from===e&&n.add(r.to),r.to===e&&n.add(r.from);return t.graphMetrics.filter(r=>r.ownerModel?r.ownerModel===e||n.has(r.ownerModel):!0)}var $1=new Set(["second","minute","hour","day","week","month","quarter","year"]);function Ku(t){return t===void 0?[]:Array.isArray(t)?t:[t]}function Qu(t,e){return t.models.flatMap(n=>n.dimensions).find(n=>e===n.ref||e.startsWith(`${n.ref}__`))}function W1(t,e){let n=t.split("__").at(-1);return n&&$1.has(n)?n:e}function H1(t){let e=t.defaults?.query;if(!e||typeof e!="object")return;let n=e,r=n.use_preaggregations??n.usePreaggregations;return typeof r=="boolean"?r:void 0}function Y1(t,e){let n=t.defaults?.query,r=n&&typeof n=="object"?n:{},i=e.query.interaction_preaggregations??e.query.interactionPreaggregations??e.interaction_preaggregations??e.interactionPreaggregations??r.interaction_preaggregations??r.interactionPreaggregations;return typeof i=="boolean"?i:void 0}function K1(t,e,n){if(!e?.tabs.length)return null;let r=e.tabs.find(g=>g.id===n)??e.tabs[0],i=r.charts[0];if(!i)return null;let s=Ku(i.query.dimensions),o=Ku(i.query.metrics),a=o.map(g=>t.graphMetrics.find(w=>w.ref===g)?.ownerModel).find(g=>!!g),l=o.find(g=>g.includes("."))?.split(".")[0]??a??s.find(g=>g.includes("."))?.split(".")[0],u=t.models.find(g=>g.name===l)??t.models[0];if(!u)return null;let c=[...t.models.flatMap(g=>g.metrics),...V1(t,u.name)],d=o.map(g=>c.find(w=>w.ref===g)).filter(g=>!!g),y=s.map(g=>Qu(t,g)).filter((g,w,B)=>!!g&&B.findIndex(D=>D?.ref===g?.ref)===w),v=i.encoding?.y,I=(Array.isArray(v)?v:v?[v]:[]).find(g=>d.some(w=>w.ref===g))??d[0]?.ref??u.metrics[0]?.ref??"",Y=i.encoding?.x,h=(Y&&Qu(t,Y)?.type==="time"?Y:void 0)??s.find(g=>Qu(t,g)?.type==="time"),f=u.defaultGrain??"month",m=h?Qu(t,h):u.timeDimension;return{id:r.id,label:r.label??r.id,title:i.title??e.title,model:u,metrics:d.length?d:u.metrics,dimensions:y.length?y:u.dimensions,timeDimension:m,selectedMetric:I,grain:h?W1(h,f):f,filters:Ku(i.query.filters),segments:Ku(i.query.segments),usePreaggregations:Y1(e,i)??i.query.use_preaggregations??i.query.usePreaggregations??H1(e)}}var Q1=["second","minute","hour","day","week","month","quarter","year"];function G1(t){return t.toISOString().slice(0,10)}function X1(t){return t.slice(0,10)}function Z1(t){return new Date(`${X1(t)}T00:00:00Z`)}function J1(t,e){let n=Z1(t);return n.setUTCDate(n.getUTCDate()+e),G1(n)}function q1(t,e){return e.from.includes("T")||e.to.includes("T")?[`${t} >= cast('${e.from}' as timestamp)`,`${t} < cast('${e.to}' as timestamp)`]:[`${t} >= cast('${e.from}' as date)`,`${t} < cast('${J1(e.to,1)}' as date)`]}function eI(t){return t.mode==="contains"?!t.pattern:t.values.length===0}function tI(t){return Object.fromEntries(t.map(e=>[e.ref,e.type]))}function nI(t){return tI(t.models.flatMap(e=>e.dimensions))}function gv(t,e,n){if((e==="numeric"||e==="number")&&t.trim()!==""&&Number.isFinite(Number(t)))return t;if(e==="boolean"){let r=t.toLowerCase();if(r==="true"||r==="false")return r}return zp(t,n)}function rI(t){return t.replaceAll("\\","\\\\").replaceAll("%","\\%").replaceAll("_","\\_")}function lw(t,e,n){let r=zp(`%${rI(e)}%`,n);return`CAST(${t} AS VARCHAR) ILIKE ${r}${n==="clickhouse"?"":" ESCAPE '\\'"}`}function iI(t,e,n,r){let i=e.mode==="exclude",s=e.values.includes($c),o=e.values.filter(l=>l!==$c),a=null;if(o.length===1)a=`${t} ${i?"!=":"="} ${gv(o[0],n,r)}`;else if(o.length>1){let l=o.map(u=>gv(u,n,r)).join(", ");a=`${t} ${i?"NOT IN":"IN"} (${l})`}if(!i){let l=[];return a&&l.push(a),s&&l.push(`${t} IS NULL`),l.length===0?null:l.length===1?l[0]:`(${l.join(" OR ")})`}if(s){let l=[];return a&&l.push(a),l.push(`${t} IS NOT NULL`),l.length===1?l[0]:`(${l.join(" AND ")})`}return a?`(${a} OR ${t} IS NULL)`:null}function sI(t,e={}){let n=[];for(let[r,i]of Object.entries(t)){if(r===e.excludeDim||eI(i))continue;let s=e.types?.[r];if(i.mode==="contains"){n.push(lw(r,i.pattern??"",e.dialect));continue}let o=iI(r,i,s,e.dialect);o&&n.push(o)}return n}function oI(t,e={}){let n=sI(t,{types:e.types,excludeDim:e.excludeDim,dialect:e.dialect});return e.timeRef&&e.range&&n.push(...q1(e.timeRef,e.range)),n}function aI(t,e,n=50,r,i){return{dimensions:[t],filters:e,...r?.length?{segments:r}:{},...i!=null?{usePreaggregations:i}:{},orderBy:[`${t} ASC`],limit:n}}var uw=ye(nn(),1),dL=new Set(Q1);var lI=uw.createContext(null);function uI(){let t=uw.useContext(lI);if(!t)throw new Error("useExplorer must be used within ExplorerProvider");return t}var jd=ye(nn(),1),hL=ye(nn(),1),Hc={active:0,listeners:new Set};function cw(){for(let t of Hc.listeners)t()}function cI(){Hc.active+=1,cw()}function fI(){Hc.active=Math.max(0,Hc.active-1),cw()}var dI=80;function hI(t,e){let[n,r]=jd.useState({loading:!1}),i=jd.useRef(0),s=e?JSON.stringify(e):null;return jd.useEffect(()=>{if(!e){r({loading:!1});return}let o=++i.current;r(l=>({result:l.result,resultKey:l.resultKey,loading:!0}));let a=setTimeout(()=>{cI(),t.runQuery(e).then(l=>{o===i.current&&r({result:l,resultKey:s??void 0,loading:!1})}).catch(l=>{o===i.current&&r({loading:!1,error:l instanceof Error?l.message:String(l)})}).finally(()=>fI())},dI);return()=>clearTimeout(a)},[s,t]),{...n,queryKey:s??void 0}}var Ee=ye(Or(),1),pI=[{mode:"include",label:"Include"},{mode:"exclude",label:"Exclude"},{mode:"contains",label:"Contains"}],mI=50,vv=200;function _v(t,e){let[n,r]=at.useState(t);return at.useEffect(()=>{let i=setTimeout(()=>r(t),e);return()=>clearTimeout(i)},[t,e]),n}function yI({dim:t,model:e,onClose:n}){let{state:r,dispatch:i,backend:s,catalog:o,dashboard:a}=uI(),l=at.useMemo(()=>K1(o,a,r.dashboardTab),[o,a,r.dashboardTab]),u=r.filters[t.ref],[c,d]=at.useState(u?.mode??"include"),y=at.useMemo(()=>new Set(u?.mode!=="contains"?u?.values??[]:[]),[u]),v=at.useRef(null),S=at.useRef(null),I=at.useId(),[Y,h]=at.useState(""),f=_v(Y,vv),m=u?.mode==="contains"?u.pattern??"":"",[g,w]=at.useState(m),B=_v(g,vv);at.useEffect(()=>{let _=document.activeElement;return S.current?.focus(),()=>_?.focus?.()},[]),at.useEffect(()=>{function _(te){te.key==="Escape"&&(te.stopPropagation(),n())}function N(te){v.current&&!v.current.contains(te.target)&&n()}return document.addEventListener("keydown",_,!0),document.addEventListener("mousedown",N,!0),()=>{document.removeEventListener("keydown",_,!0),document.removeEventListener("mousedown",N,!0)}},[n]),at.useEffect(()=>{c==="contains"&&B!==m&&i({type:"setFilterPattern",dim:t.ref,pattern:B})},[B,c,t.ref,i]);let D=l?.timeDimension?.ref??e.timeDimension?.ref,b=at.useMemo(()=>nI(o),[o]),K=at.useMemo(()=>{let _=[...l?.filters??[],...oI(r.filters,{timeRef:D,range:r.dateRange,excludeDim:t.ref,types:b,dialect:o.dialect})];return f.trim()&&_.push(lw(t.ref,f.trim(),o.dialect)),_},[l,r.filters,D,r.dateRange,t.ref,f,b,o.dialect]),L=c!=="contains",{result:ie,loading:Qe,error:ke}=hI(s,L?aI(t.ref,K,mI,l?.segments,l?.usePreaggregations):null),we=j1(t.ref),Ae=at.useMemo(()=>ie?ie.rows.map(_=>{let N=_[we];return N==null?$c:String(N)}):[],[ie,we]),Ve=!!ie&&ie.rows.length>0&&!ie.columns.includes(we),Fr=L&&(Qe||Ve);function T(_){d(_),u&&i({type:"setFilterMode",dim:t.ref,mode:_}),_==="contains"&&w(m)}function M(_){if(_.key!=="Tab")return;let N=v.current?.querySelectorAll('button, input, [href], select, textarea, [tabindex]:not([tabindex="-1"])');if(!N||N.length===0)return;let te=N[0],$e=N[N.length-1];_.shiftKey&&document.activeElement===te?(_.preventDefault(),$e.focus()):!_.shiftKey&&document.activeElement===$e&&(_.preventDefault(),te.focus())}return Ee.jsxs("div",{ref:v,role:"dialog","aria-modal":"true","aria-labelledby":I,onKeyDown:M,className:"absolute left-0 z-50 mt-1 w-64 border border-line bg-surface p-2 text-2xs shadow-lg",children:[Ee.jsxs("div",{id:I,className:"mb-2 flex items-baseline justify-between gap-2",children:[Ee.jsx("span",{className:"truncate font-semibold text-ink",children:t.label}),Ee.jsx("button",{type:"button","aria-label":"Close filter editor",onClick:n,className:"grid size-4 place-items-center rounded-full bg-surface-soft text-faint hover:bg-line hover:text-ink",children:"\xD7"})]}),Ee.jsx("div",{role:"group","aria-label":"Filter mode",className:"mb-2 grid grid-cols-3 gap-px border border-line bg-line",children:pI.map(({mode:_,label:N})=>Ee.jsx("button",{type:"button","aria-pressed":c===_,onClick:()=>T(_),className:`px-1.5 py-1 text-center ${c===_?"bg-accent-soft font-medium text-accent":"bg-surface text-muted hover:bg-surface-soft"}`,children:N},_))}),c==="contains"?Ee.jsx("input",{ref:S,type:"text","aria-label":`${t.label} contains`,placeholder:"Substring\u2026",value:g,onChange:_=>w(_.target.value),className:"w-full border border-line bg-surface px-1.5 py-1 text-2xs text-ink placeholder:text-faint"}):Ee.jsxs(Ee.Fragment,{children:[Ee.jsx("input",{ref:S,type:"text","aria-label":`Search ${t.label} values`,placeholder:"Search values\u2026",value:Y,onChange:_=>h(_.target.value),className:"w-full border border-line bg-surface px-1.5 py-1 text-2xs text-ink placeholder:text-faint"}),Ee.jsx("div",{className:"mt-2 max-h-56 overflow-y-auto",role:"group","aria-label":`${t.label} values`,children:ke?Ee.jsx("p",{className:"px-1 py-2 text-danger",children:ke}):Fr?Ee.jsx("div",{className:"space-y-1.5 p-1",children:[0,1,2,3,4].map(_=>Ee.jsx("div",{className:"skeleton h-4 w-full"},_))}):Ae.length===0?Ee.jsx("p",{className:"px-1 py-2 text-faint",children:"No values"}):Ae.map(_=>{let N=y.has(_);return Ee.jsxs("label",{className:"flex cursor-pointer items-center gap-2 px-1 py-1 hover:bg-surface-soft",children:[Ee.jsx("input",{type:"checkbox",checked:N,onChange:()=>i({type:"toggleFilter",dim:t.ref,value:_,mode:c}),className:"size-3 accent-[var(--accent)]"}),Ee.jsx("span",{className:"min-w-0 truncate text-ink",children:Wc(_)})]},_)})})]}),Ee.jsxs("div",{className:"mt-2 flex items-center justify-between border-t border-line pt-2",children:[Ee.jsx("button",{type:"button",onClick:()=>i({type:"removeFilterDim",dim:t.ref}),className:"text-muted underline-offset-2 hover:text-ink hover:underline",children:"Clear"}),Ee.jsx("button",{type:"button",onClick:n,className:"border border-line px-2 py-1 text-muted hover:bg-surface-soft",children:"Done"})]})]})}var zn=ye(Or(),1);function wv(t){let[e,n]=P1.useState(!1);if(!("dim"in t))return zn.jsxs("span",{"data-dimension":t.dimension,"data-value":t.value,className:"inline-flex max-w-full items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 text-2xs leading-4 text-muted",children:[zn.jsxs("span",{className:"truncate",children:[zn.jsxs("span",{className:"text-faint",children:[t.dimensionLabel??t.dimension,":"]})," ",t.value]}),t.onRemove?zn.jsx("button",{type:"button","aria-label":`Remove filter ${t.value}`,onClick:t.onRemove,className:"-mr-0.5 px-0.5 text-faint hover:text-ink",children:"\xD7"}):null]});let{dim:r,model:i,filter:s,onRemove:o}=t;return zn.jsxs("span",{className:"relative inline-flex max-w-full items-center","data-dimension":r.ref,"data-mode":s.mode,children:[zn.jsxs("span",{className:"inline-flex max-w-full items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 text-2xs leading-4 text-muted",children:[zn.jsxs("button",{type:"button","aria-label":`Edit filter ${r.label}`,"aria-haspopup":"dialog","aria-expanded":e,onClick:()=>n(a=>!a),className:"min-w-0 truncate text-left hover:text-ink",children:[zn.jsx("span",{className:"text-faint",children:r.label})," ",z1(s)]}),zn.jsx("button",{type:"button","aria-label":`Remove filter ${r.label}`,onClick:o,className:"grid size-3.5 shrink-0 place-items-center rounded-full bg-surface-soft text-faint hover:bg-line hover:text-ink",children:"\xD7"})]}),e?zn.jsx(yI,{dim:r,model:i,onClose:()=>n(!1)}):null]})}var Je=ye(Or(),1),gI={positive:"text-success",negative:"text-danger",neutral:"text-faint"};function vI({dimension:t,title:e,metricLabel:n,rows:r,selectedValues:i=[],loading:s,formatMetric:o,onToggle:a,contextColumn:l="none",contextOptions:u,onContextColumn:c,collapsedLimit:d=6,expanded:y=!1,onExpandedChange:v,containerRef:S}){let I=new Set(i),Y=y?r:r.slice(0,d),h=Math.max(1,...Y.map(w=>Math.abs(w.metric))),f=y||r.length>d,m=l!=="none",g=m?"grid-cols-[minmax(0,1fr)_auto_auto]":"grid-cols-[minmax(0,1fr)_auto]";return Je.jsxs("section",{ref:S,"data-testid":"dimension-leaderboard","data-dimension":t,"data-expanded":y||void 0,"aria-label":`${e}, ranked by ${n}`,className:"flex min-h-40 flex-col border-b border-r border-line bg-surface data-[expanded=true]:col-span-full",children:[Je.jsxs("header",{className:"flex items-center justify-between gap-3 px-3 pb-2 pt-2.5",children:[Je.jsxs("div",{className:"flex min-w-0 items-baseline gap-2",children:[Je.jsx("h3",{className:"truncate text-sm font-semibold text-ink",children:e}),Je.jsxs("p",{className:"sr-only",children:["Ranked by ",n]})]}),u&&c?Je.jsx("div",{role:"group","aria-label":"Context column","data-testid":"leaderboard-context-toggle",className:"flex shrink-0 overflow-hidden border border-line text-2xs",children:u.map(w=>Je.jsx("button",{type:"button",title:w.title,"aria-pressed":l===w.key,"data-context":w.key,"data-active":l===w.key||void 0,onClick:()=>c(w.key),className:"border-l border-line px-1.5 py-0.5 font-mono text-faint first:border-l-0 hover:bg-surface-soft data-[active=true]:bg-accent-soft data-[active=true]:text-accent",children:w.label},w.key))}):null]}),Je.jsx("div",{"data-testid":"leaderboard-rows",children:s&&r.length===0?Je.jsx("div",{className:"space-y-2 p-3",children:[0,1,2,3].map(w=>Je.jsx("div",{className:"skeleton h-5 w-full"},w))}):r.length===0?Je.jsx("p",{className:"px-3 py-4 text-xs text-faint",children:"No values"}):Y.map(w=>{let B=w.metric<0?"negative":"positive",D=I.has(w.value),b=`${Math.round(Math.abs(w.metric)/h*100)}%`;return Je.jsxs("button",{type:"button","data-dimension":t,"data-value":w.value,"data-selected":D||void 0,"data-tone":B,onClick:()=>a?.(w.value),"aria-pressed":D,className:`leaderboard-row relative grid w-full ${g} items-center gap-3 overflow-hidden border-0 bg-transparent px-3 py-1 text-left text-xs text-ink data-[selected=true]:bg-chart-primary-selected`,children:[Je.jsx("span",{"aria-hidden":"true",className:`absolute inset-y-0 left-0 ${B==="negative"?"bg-danger-soft":"bg-chart-primary-soft"}`,style:{width:b}}),Je.jsx("span",{className:"relative min-w-0 truncate text-muted",children:Wc(w.value)}),Je.jsx("strong",{className:"relative tnum font-semibold text-ink",children:o(w.metric)}),m?Je.jsx("span",{"data-testid":"leaderboard-context","data-tone":w.context?.tone??"neutral",className:`relative w-14 text-right font-mono tnum text-2xs ${gI[w.context?.tone??"neutral"]}`,children:w.context?.label??"\u2014"}):null]},`${t}:${w.value}`)})}),f&&!s?Je.jsx("button",{type:"button","data-action":y?"leaderboard-back":"leaderboard-expand","aria-expanded":y,onClick:()=>v?.(!y),className:"leaderboard-expand border-0 border-t border-line bg-transparent px-3 py-1 text-left text-xs font-normal text-faint hover:text-accent",children:y?"\u2190 All dimensions":`Expand table (${r.length})`}):null]})}var _I=ye(nn(),1),vr=ye(nn(),1),pL=ye(nn(),1),wI=ye(Or(),1);function SI({tip:t,position:e="fixed",offset:n=12,className:r,style:i}){return t?wI.jsx("div",{role:"tooltip",style:{position:e,left:t.x+n,top:t.y+n,pointerEvents:"none",zIndex:50,...i},className:r||"rounded-lg border border-line bg-surface px-2.5 py-1.5 text-xs text-ink shadow-[var(--shadow)]",children:t.content}):null}var st=ye(Or(),1);function bI({values:t,labels:e,height:n=44,ariaLabel:r,formatValue:i=a=>a.toLocaleString(void 0,{maximumFractionDigits:2}),onHover:s,onBrush:o}){let a=vr.useRef(null),l=vr.useId(),u=vr.useRef(null),c=vr.useRef(null),[d,y]=vr.useState(200),[v,S]=vr.useState(null),[I,Y]=vr.useState(null),[h,f]=vr.useState(null);vr.useEffect(()=>{let _=a.current;if(!_||typeof ResizeObserver>"u")return;let N=new ResizeObserver(te=>{for(let $e of te)y(Math.max(40,$e.contentRect.width))});return N.observe(_),()=>N.disconnect()},[]);let m=t.map((_,N)=>({index:N,value:_})).filter(_=>Number.isFinite(_.value));if(m.length<2)return st.jsx("svg",{ref:u,role:"img","aria-label":r||"No trend data",className:"h-11 w-full",viewBox:`0 0 ${d} ${n}`});let g=3,w=Math.min(...m.map(_=>_.value)),D=Math.max(...m.map(_=>_.value))-w||1,b=m.map((_,N)=>({..._,x:g+N/(m.length-1)*(d-g*2),y:g+(1-(_.value-w)/D)*(n-g*2)})),K=b.map(({x:_,y:N})=>`${_.toFixed(1)},${N.toFixed(1)}`).join(" L "),L=`M ${b[0].x.toFixed(1)},${n-g} L ${K} L ${b.at(-1).x.toFixed(1)},${n-g} Z`,ie=b.at(-1),Qe=r||`Trend of ${m.length} points, latest ${i(ie.value)}`;function ke(_){let N=u.current?.getBoundingClientRect();return N?Math.max(g,Math.min(d-g,(_.clientX-N.left)/N.width*d)):g}function we(_){return Math.max(0,Math.min(b.length-1,Math.round((_-g)/(d-g*2)*(b.length-1))))}function Ae(_){let N=ke(_),te=we(N),$e=b[te];S(te),f({content:`${e?.[$e.index]?`${e[$e.index]}: `:""}${i($e.value)}`,x:_.clientX,y:_.clientY}),s?.({index:$e.index,label:e?.[$e.index],value:$e.value}),c.current!==null&&Y({a:c.current,b:N})}function Ve(_){if(!o||!e?.length)return;_.currentTarget.setPointerCapture(_.pointerId);let N=ke(_);c.current=N,Y({a:N,b:N})}function Fr(_){if(c.current===null||!o||!e?.length)return;_.currentTarget.hasPointerCapture(_.pointerId)&&_.currentTarget.releasePointerCapture(_.pointerId);let N=ke(_);if(Math.abs(N-c.current)>6){let te=b[we(Math.min(c.current,N))],$e=b[we(Math.max(c.current,N))];o({from:e[te.index],to:e[$e.index]})}c.current=null,Y(null)}function T(){S(null),f(null),s?.(null),c.current===null&&Y(null)}let M=v===null?null:b[v];return st.jsxs("span",{ref:a,className:"relative block w-full",children:[st.jsxs("svg",{ref:u,role:"img","aria-label":Qe,className:`h-11 w-full overflow-hidden text-chart-primary ${o?"touch-none select-none":""}`,viewBox:`0 0 ${d} ${n}`,preserveAspectRatio:"none",onPointerMove:Ae,onPointerDown:Ve,onPointerUp:Fr,onPointerCancel:T,onPointerLeave:T,onDoubleClick:()=>o?.(null),children:[st.jsx("defs",{children:st.jsxs("linearGradient",{id:l,x1:"0",y1:"0",x2:"0",y2:"1",children:[st.jsx("stop",{offset:"0%",stopColor:"currentColor",stopOpacity:.16}),st.jsx("stop",{offset:"100%",stopColor:"currentColor",stopOpacity:0})]})}),st.jsx("path",{d:L,fill:`url(#${l})`}),st.jsx("path",{d:`M ${K}`,fill:"none",stroke:"currentColor",strokeWidth:1.5,vectorEffect:"non-scaling-stroke"}),I?st.jsx("rect",{x:Math.min(I.a,I.b),y:0,width:Math.abs(I.b-I.a),height:n,fill:"currentColor",opacity:.12}):null,M?st.jsxs(st.Fragment,{children:[st.jsx("line",{x1:M.x,x2:M.x,y1:0,y2:n,stroke:"currentColor",strokeWidth:1,opacity:.45}),st.jsx("circle",{cx:M.x,cy:M.y,r:2.5,fill:"currentColor"})]}):st.jsx("circle",{cx:ie.x,cy:ie.y,r:2.25,fill:"currentColor"})]}),st.jsx(SI,{tip:h})]})}var ot=ye(Or(),1),xI={positive:"text-success",negative:"text-danger",neutral:"text-faint"},II={positive:"\u25B2",negative:"\u25BC",neutral:"\xB7"};function BI({metric:t,label:e,value:n,valueText:r,format:i,delta:s,comparison:o,sparkValues:a=[],sparkLabels:l,selected:u,loading:c,onSelect:d,onSparkHover:y,onSparkBrush:v}){let[S,I]=_I.useState(null),Y=ot.jsxs(ot.Fragment,{children:[ot.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[ot.jsx("span",{className:"truncate text-xs font-medium text-muted",children:e}),S?.label?ot.jsx("span",{className:"shrink-0 font-mono text-2xs text-faint",children:S.label}):null]}),ot.jsx("div",{className:"font-mono tnum text-[19px] font-semibold leading-tight tracking-tight text-ink",children:c?ot.jsx("span",{className:"skeleton inline-block h-6 w-24 align-middle"}):S?Pd(S.value,i):r??Pd(n,i)}),s||o?ot.jsxs("div",{className:"flex items-baseline gap-1 text-2xs",children:[s?ot.jsxs("span",{"data-tone":s.tone,className:`font-mono tnum font-medium ${xI[s.tone]}`,children:[ot.jsx("span",{"aria-hidden":"true",className:"mr-0.5 text-[8px]",children:II[s.tone]}),s.label]}):null,o?ot.jsx("span",{className:"truncate text-faint",children:o}):null]}):null]}),h="group flex w-full flex-col gap-1.5 overflow-hidden rounded-xl border border-line bg-surface px-3.5 pt-3 text-left shadow-[var(--shadow-sm)] transition-colors hover:border-line-strong data-[selected=true]:border-accent",f=ot.jsx("div",{className:"-mx-3.5 mt-auto",children:ot.jsx(bI,{values:a,labels:l,onHover:m=>{I(m),y?.(m)},onBrush:v,formatValue:m=>Pd(m,i)})});return d?ot.jsxs("article",{"data-metric":t,"data-selected":u||void 0,className:h,children:[ot.jsx("button",{type:"button","data-metric":t,"aria-pressed":!!u,onClick:()=>d(t),className:"-m-1 flex flex-col gap-1 border-0 bg-transparent p-1 text-left transition hover:opacity-75",children:Y}),f]}):ot.jsxs("article",{"data-metric":t,"data-selected":u||void 0,className:h,children:[Y,f]})}var mL=ye(Or(),1);var Gr=ye(Or(),1);function Vp({tone:t,title:e,message:n}){let r=t==="danger";return Gr.jsx("div",{className:`grid min-h-[200px] place-items-center border bg-surface p-6 text-center ${r?"border-danger/40":"border-line"}`,"data-state":t,role:r?"alert":"status","aria-live":r?"assertive":"polite",children:Gr.jsxs("div",{className:"max-w-md",children:[t==="loading"?Gr.jsx("span",{"aria-hidden":"true",className:"motion-safe:animate-pulse inline-block size-2 rounded-full bg-accent"}):null,e?Gr.jsx("h3",{className:`text-sm font-semibold ${r?"text-danger":"text-ink"}`,children:e}):null,Gr.jsx("p",{className:`mt-1 text-xs ${r?"text-danger":"text-muted"}`,children:n})]})})}function DI({title:t="Loading",message:e="Loading metrics\u2026"}){return Gr.jsx(Vp,{tone:"loading",title:t,message:e})}function NI({title:t="No results",message:e}){return Gr.jsx(Vp,{tone:"muted",title:t,message:e})}function TI({title:t="Query failed",message:e}){return Gr.jsx(Vp,{tone:"danger",title:t,message:e})}var Sv=new WeakMap;function lf(t,e){let n=Sv.get(t);n||(t.replaceChildren(),n=U1.createRoot(t),Sv.set(t,n)),R1.flushSync(()=>n.render(e))}function OI(t){return t.result?.sample_rows??t.result?.rows??[]}function zd(t,e=""){return t.output_aliases?.[e]??Vc(e)}function fw(t,e){return typeof t=="function"?t(e):t}function FI(t={}){return{columns:t.columns??[],sample_rows:t.sample_rows??t.rows??[]}}function EI({dimensions:t=[],metrics:e=[],result:n,outputAliases:r}={}){return{dimensions:t,metrics:e,output_aliases:r,result:FI(n)}}function dw(t,e={}){let n=e.totals?.rows?.[0]??{},r=e.seriesRows??[];lf(t,Zt.createElement(Zt.Fragment,null,...(e.metrics??[]).map(i=>{let s=i.key,o=Vc(s);return Zt.createElement(BI,{key:s,metric:s,label:i.label??o.replaceAll("_"," "),value:n[o],format:fw(e.valueFormat,s),selected:e.selectedMetric===s,sparkValues:r.map(a=>Number(a[o])||0),sparkLabels:r.map(a=>String(a[e.timeKey]??"")),onSparkBrush:e.onBrush?a=>e.onBrush(a?.from??null,a?.to??null):void 0,onSelect:e.onSelect?()=>e.onSelect({metric:s,key:o,value:n[o]}):void 0})})))}function $p(t,e,n={}){let r=t.__sdmExpandedDim,i=r?e.filter(s=>(s.key??s)===r):e;lf(t,Zt.createElement(Zt.Fragment,null,...i.map(s=>{let o=s.key??s,a=n.resultForDimension?.(s)??{rows:[]},l=EI({dimensions:[o],metrics:[n.metricRef],result:a}),u=OI(l),c=r===o;return Zt.createElement(vI,{key:o,dimension:o,title:s.label??Vc(o).replaceAll("_"," "),metricLabel:n.metricLabel?.(s)??n.metricName??Vc(n.metricRef),rows:u.map(d=>({value:Ji(d[zd(l,o)]),metric:Number(d[zd(l,n.metricRef)])||0})),selectedValues:n.selectedValuesForDimension?.(s)??[],collapsedLimit:n.limit??6,expanded:c,formatMetric:d=>jp(d,fw(n.valueFormat,{metric:n.metricRef,value:d})),onToggle:n.onSelect?d=>n.onSelect({dimension:o,value:d,row:u.find(y=>Ji(y[zd(l,o)])===d)}):void 0,onExpandedChange:n.expandable===!1?void 0:d=>{t.__sdmExpandedDim=d?o:void 0,$p(t,e,n)}})})))}function hw(t,e,n,r={}){let i=Object.entries(e??{}).flatMap(([s,o])=>(o??[]).map(a=>{let l=Ji(a);return Zt.createElement(wv,{key:`${s}:${l}`,dimension:s,value:l,onRemove:n?()=>n({dimension:s,value:l}):void 0})}));for(let s of r.extraPills??[])i.push(Zt.createElement(wv,{key:s.key??`${s.dimension}:${s.value}`,dimension:s.dimension,dimensionLabel:s.dimensionLabel,value:s.value,onRemove:s.onRemove}));lf(t,i.length?Zt.createElement(Zt.Fragment,null,...i):r.emptyLabel?Zt.createElement("span",{className:"text-faint"},r.emptyLabel):null)}function pw(t,e){let n=e.kind==="error"?TI:e.kind==="loading"?DI:NI;lf(t,Zt.createElement(n,{message:e.message}))}function Wp(t){if(!t)return"";if(typeof t=="string")return t.slice(0,10);if(t instanceof Date)return t.toISOString().slice(0,10);if(typeof t=="number"||typeof t=="bigint"){let e=typeof t=="bigint"?Number(t):t;return e>1e12?new Date(e).toISOString().slice(0,10):e>1e9?new Date(e*1e3).toISOString().slice(0,10):new Date(e*864e5).toISOString().slice(0,10)}return String(t).slice(0,10)}function mw(t){if(!t)return null;if(t instanceof Date)return t;if(typeof t=="number"||typeof t=="bigint"){let e=typeof t=="bigint"?Number(t):t;return e>1e12?new Date(e):e>1e9?new Date(e*1e3):new Date(e*864e5)}if(typeof t=="string"){let e=t.match(/^\d{4}-\d{2}-\d{2}/);if(e)return new Date(`${e[0]}T00:00:00Z`);let n=new Date(t);if(!Number.isNaN(n.getTime()))return n}return null}function yw(t,e){return t.toLocaleDateString("en-US",{timeZone:"UTC",...e})}function gw(t,e){let n=mw(t),r=mw(e);if(!n||!r){let a=Wp(t),l=Wp(e);return!a&&!l?"":a&&l?`${a} \u2013 ${l}`:a||l}let i=n.getFullYear()===r.getFullYear(),s=yw(n,{month:"short",day:"numeric",year:i?void 0:"numeric"}),o=yw(r,{month:"short",day:"numeric",year:"numeric"});return`${s} \u2013 ${o}`}function kI(t){let e=atob(t),n=new Uint8Array(e.length);for(let r=0;r
@@ -37,4 +37,4 @@ Error generating stack: `+s.message+`
- `;let n=e.querySelector(".filter-pills"),r=e.querySelector(".metrics-col"),i=e.querySelector(".dimensions-grid"),s=e.querySelector(".metric-select"),o=e.querySelector(".grain-select"),a=e.querySelector(".widget-status"),l=null;function u(){return t.get("filters")||{}}function c(b){t.set("filters",b),t.save_changes()}function d(){l&&clearTimeout(l),l=setTimeout(()=>{t.set("active_dimension",""),t.save_changes()},400)}function y(){l&&(clearTimeout(l),l=null),t.set("active_dimension","")}function v(b,K){t.set("active_dimension",b),c(ow(u(),b,K)),d()}function S(b,K){y(),c(aw(u(),b,K))}function I(b,K){b&&K?(y(),t.set("brush_selection",[b,K])):t.set("brush_selection",[]),t.save_changes()}function Y(){y(),t.set("brush_selection",[]),t.save_changes()}function h(){let b=t.get("metrics_config")||[],K=t.get("selected_metric")||"",L=t.get("date_range")||[],ie=t.get("brush_selection")||[],Qe=ie&&ie.length===2?ie:L,ke=t.get("metric_totals")||{},Ae=(t.get("transport")||"base64")==="binary"?t.get("metric_series_data_binary"):t.get("metric_series_data");if(!Ae||Ae.byteLength!==void 0&&Ae.byteLength===0){pw(r,{kind:"loading",message:"Loading metrics\u2026"});return}try{let Ve=vw(Ae);if(!Ve){r.innerHTML='
Failed to parse data
';return}let M=(t.get("config")||{}).time_series_column||Object.keys(Ve[0]||{}).find(B=>B.includes("time")||B.includes("date")||B==="__time"),_=M?Ve.map(B=>Wp(B[M])):[];dw(r,{metrics:b,totals:{rows:[ke]},seriesRows:Ve,timeKey:M,selectedMetric:K,rangeLabel:Qe?.length===2?gw(Qe[0],Qe[1]):"",valueFormat:B=>({format:b.find(te=>te.key===B)?.format}),onSelect:({metric:B})=>{t.set("selected_metric",B),t.save_changes()},onBrush:I})}catch(Ve){r.innerHTML=`
Error: ${Ve.message}
`}}function f(){let b=t.get("dimensions_config")||[],L=(t.get("transport")||"base64")==="binary"?t.get("dimension_data_binary")||{}:t.get("dimension_data")||{},ie=t.get("selected_metric")||"",Qe=u(),ke=new Map;b.forEach(we=>{let Ae=L[we.key];if(!Ae||(typeof Ae=="string"?Ae.length===0:Ae.byteLength===0)){ke.set(we.key,[]);return}try{let Ve=vw(Ae);if(!Ve){ke.set(we.key,[]);return}ke.set(we.key,Ve)}catch{ke.set(we.key,[])}}),$p(i,b,{metricRef:ie,resultForDimension:we=>({rows:ke.get(we.key)||[]}),selectedValuesForDimension:we=>Qe[we.key]||[],interactive:!0,expandable:!0,onSelect:({dimension:we,value:Ae})=>v(we,Ae)})}function m(){let b=u(),K=t.get("brush_selection")||[];hw(n,b,({dimension:L,value:ie})=>S(L,ie),{emptyLabel:"No filters",extraPills:K.length===2?[{key:"active-date-range",dimension:"__date_range",dimensionLabel:"Date",value:gw(K[0],K[1]),onRemove:Y}]:[]})}function g(){let b=t.get("metrics_config")||[],K=t.get("selected_metric")||"";s.innerHTML=b.map(L=>``).join("")}function w(){let b=t.get("time_grain_options")||[],K=t.get("time_grain")||"";if(!b.length){o.innerHTML="",o.disabled=!0;return}o.disabled=!1,o.innerHTML=b.map(L=>{let ie=L.replace(/_/g," ").replace(/\b\w/g,Qe=>Qe.toUpperCase());return``}).join("")}function D(){let b=t.get("status")||"loading",K=t.get("error")||"";b==="error"&&K?(a.textContent=`Error: ${K}`,a.className="widget-status error"):b==="loading"?(a.textContent="Loading...",a.className="widget-status loading"):(a.textContent="",a.className="widget-status")}function N(){D(),m(),g(),w(),h(),f()}return s.addEventListener("change",b=>{y(),t.set("selected_metric",b.target.value),t.save_changes()}),o.addEventListener("change",b=>{t.set("time_grain",b.target.value),t.save_changes()}),t.on("change:metric_series_data",h),t.on("change:metric_totals",h),t.on("change:dimension_data",f),t.on("change:filters",()=>{m(),f()}),t.on("change:brush_selection",m),t.on("change:selected_metric",()=>{g(),h()}),t.on("change:time_grain",w),t.on("change:status",D),t.on("change:error",D),t.on("change:metrics_config",N),t.on("change:dimensions_config",N),t.on("change:time_grain_options",w),N(),()=>{t.off("change:metric_series_data",h),t.off("change:metric_totals",h),t.off("change:dimension_data",f),t.off("change:filters"),t.off("change:brush_selection",m),t.off("change:selected_metric"),t.off("change:time_grain",w),t.off("change:status",D),t.off("change:error",D),t.off("change:metrics_config",N),t.off("change:dimensions_config",N),t.off("change:time_grain_options",w)}}var vL={render:kI};export{vL as default}; + `;let n=e.querySelector(".filter-pills"),r=e.querySelector(".metrics-col"),i=e.querySelector(".dimensions-grid"),s=e.querySelector(".metric-select"),o=e.querySelector(".grain-select"),a=e.querySelector(".widget-status"),l=null;function u(){return t.get("filters")||{}}function c(b){t.set("filters",b),t.save_changes()}function d(){l&&clearTimeout(l),l=setTimeout(()=>{t.set("active_dimension",""),t.save_changes()},400)}function y(){l&&(clearTimeout(l),l=null),t.set("active_dimension","")}function v(b,K){t.set("active_dimension",b),c(ow(u(),b,K)),d()}function S(b,K){y(),c(aw(u(),b,K))}function I(b,K){b&&K?(y(),t.set("brush_selection",[b,K])):t.set("brush_selection",[]),t.save_changes()}function Y(){y(),t.set("brush_selection",[]),t.save_changes()}function h(){let b=t.get("metrics_config")||[],K=t.get("selected_metric")||"",L=t.get("date_range")||[],ie=t.get("brush_selection")||[],Qe=ie&&ie.length===2?ie:L,ke=t.get("metric_totals")||{},Ae=(t.get("transport")||"base64")==="binary"?t.get("metric_series_data_binary"):t.get("metric_series_data");if(!Ae||Ae.byteLength!==void 0&&Ae.byteLength===0){pw(r,{kind:"loading",message:"Loading metrics\u2026"});return}try{let Ve=vw(Ae);if(!Ve){r.innerHTML='
Failed to parse data
';return}let M=(t.get("config")||{}).time_series_column||Object.keys(Ve[0]||{}).find(N=>N.includes("time")||N.includes("date")||N==="__time"),_=M?Ve.map(N=>Wp(N[M])):[];dw(r,{metrics:b,totals:{rows:[ke]},seriesRows:Ve,timeKey:M,selectedMetric:K,rangeLabel:Qe?.length===2?gw(Qe[0],Qe[1]):"",valueFormat:N=>({format:b.find(te=>te.key===N)?.format}),onSelect:({metric:N})=>{t.set("selected_metric",N),t.save_changes()},onBrush:I})}catch(Ve){r.innerHTML=`
Error: ${Ve.message}
`}}function f(){let b=t.get("dimensions_config")||[],L=(t.get("transport")||"base64")==="binary"?t.get("dimension_data_binary")||{}:t.get("dimension_data")||{},ie=t.get("selected_metric")||"",Qe=u(),ke=new Map;b.forEach(we=>{let Ae=L[we.key];if(!Ae||(typeof Ae=="string"?Ae.length===0:Ae.byteLength===0)){ke.set(we.key,[]);return}try{let Ve=vw(Ae);if(!Ve){ke.set(we.key,[]);return}ke.set(we.key,Ve)}catch{ke.set(we.key,[])}}),$p(i,b,{metricRef:ie,resultForDimension:we=>({rows:ke.get(we.key)||[]}),selectedValuesForDimension:we=>Qe[we.key]||[],interactive:!0,expandable:!0,onSelect:({dimension:we,value:Ae})=>v(we,Ae)})}function m(){let b=u(),K=t.get("brush_selection")||[];hw(n,b,({dimension:L,value:ie})=>S(L,ie),{emptyLabel:"No filters",extraPills:K.length===2?[{key:"active-date-range",dimension:"__date_range",dimensionLabel:"Date",value:gw(K[0],K[1]),onRemove:Y}]:[]})}function g(){let b=t.get("metrics_config")||[],K=t.get("selected_metric")||"";s.innerHTML=b.map(L=>``).join("")}function w(){let b=t.get("time_grain_options")||[],K=t.get("time_grain")||"";if(!b.length){o.innerHTML="",o.disabled=!0;return}o.disabled=!1,o.innerHTML=b.map(L=>{let ie=L.replace(/_/g," ").replace(/\b\w/g,Qe=>Qe.toUpperCase());return``}).join("")}function B(){let b=t.get("status")||"loading",K=t.get("error")||"";b==="error"&&K?(a.textContent=`Error: ${K}`,a.className="widget-status error"):b==="loading"?(a.textContent="Loading...",a.className="widget-status loading"):(a.textContent="",a.className="widget-status")}function D(){B(),m(),g(),w(),h(),f()}return s.addEventListener("change",b=>{y(),t.set("selected_metric",b.target.value),t.save_changes()}),o.addEventListener("change",b=>{t.set("time_grain",b.target.value),t.save_changes()}),t.on("change:metric_series_data",h),t.on("change:metric_totals",h),t.on("change:dimension_data",f),t.on("change:filters",()=>{m(),f()}),t.on("change:brush_selection",m),t.on("change:selected_metric",()=>{g(),h()}),t.on("change:time_grain",w),t.on("change:status",B),t.on("change:error",B),t.on("change:metrics_config",D),t.on("change:dimensions_config",D),t.on("change:time_grain_options",w),D(),()=>{t.off("change:metric_series_data",h),t.off("change:metric_totals",h),t.off("change:dimension_data",f),t.off("change:filters"),t.off("change:brush_selection",m),t.off("change:selected_metric"),t.off("change:time_grain",w),t.off("change:status",B),t.off("change:error",B),t.off("change:metrics_config",D),t.off("change:dimensions_config",D),t.off("change:time_grain_options",w)}}var _L={render:AI};export{_L as default}; diff --git a/webapp/src/components/FilterEditor.tsx b/webapp/src/components/FilterEditor.tsx index 44d449982..4ac313169 100644 --- a/webapp/src/components/FilterEditor.tsx +++ b/webapp/src/components/FilterEditor.tsx @@ -1,8 +1,8 @@ import { useEffect, useId, useMemo, useRef, useState } from "react"; import { aliasOf, NULL_TOKEN, type CatalogDimension, type CatalogModel } from "../data/types"; -import { displayDimValue, sqlLiteral } from "../lib/format"; +import { displayDimValue } from "../lib/format"; import { dashboardTabConfig } from "../lib/dashboard"; -import { catalogDimTypes, composeFilters, distinctValues, likeEscape, type FilterMode } from "../lib/queries"; +import { catalogDimTypes, composeFilters, distinctValues, containsExpr, type FilterMode } from "../lib/queries"; import { useExplorer } from "../state/ExplorerContext"; import { useQueryResult } from "../state/useQueryResult"; @@ -107,16 +107,13 @@ export function FilterEditor({ const valueFilters = useMemo(() => { const base = [ ...(configured?.filters ?? []), - ...composeFilters(state.filters, { timeRef, range: state.dateRange, excludeDim: dim.ref, types }), + ...composeFilters(state.filters, { timeRef, range: state.dateRange, excludeDim: dim.ref, types, dialect: catalog.dialect }), ]; if (debouncedSearch.trim()) { - // Cast to text so the search works on numeric/boolean dimensions too: DuckDB and - // Postgres reject ILIKE on non-text operands. - const pat = sqlLiteral(`%${likeEscape(debouncedSearch.trim())}%`); - base.push(`CAST(${dim.ref} AS VARCHAR) ILIKE ${pat} ESCAPE '\\'`); + base.push(containsExpr(dim.ref, debouncedSearch.trim(), catalog.dialect)); } return base; - }, [configured, state.filters, timeRef, state.dateRange, dim.ref, debouncedSearch, types]); + }, [configured, state.filters, timeRef, state.dateRange, dim.ref, debouncedSearch, types, catalog.dialect]); const listMode = mode !== "contains"; const { result, loading, error } = useQueryResult( diff --git a/webapp/src/components/LeaderboardPanel.tsx b/webapp/src/components/LeaderboardPanel.tsx index 97412ce0b..b3c658802 100644 --- a/webapp/src/components/LeaderboardPanel.tsx +++ b/webapp/src/components/LeaderboardPanel.tsx @@ -74,8 +74,8 @@ export function LeaderboardPanel({ const types = useMemo(() => catalogDimTypes(catalog), [catalog]); const filters = useMemo( // Exclude this dimension's own filter so its leaderboard keeps showing every value. - () => [...baseFilters, ...composeFilters(state.filters, { timeRef, range: state.dateRange, excludeDim: dim.ref, types })], - [baseFilters, state.filters, timeRef, state.dateRange, dim.ref, types], + () => [...baseFilters, ...composeFilters(state.filters, { timeRef, range: state.dateRange, excludeDim: dim.ref, types, dialect: catalog.dialect })], + [baseFilters, state.filters, timeRef, state.dateRange, dim.ref, types, catalog.dialect], ); const { result, loading, error } = useQueryResult( backend, @@ -104,11 +104,11 @@ export function LeaderboardPanel({ } const parts: string[] = []; // Cast to text so the match works on numeric/boolean dimensions too. - if (nonNull.length) parts.push(`CAST(${dim.ref} AS VARCHAR) IN (${nonNull.map(sqlLiteral).join(", ")})`); + if (nonNull.length) parts.push(`CAST(${dim.ref} AS VARCHAR) IN (${nonNull.map((value) => sqlLiteral(value, catalog.dialect)).join(", ")})`); if (hasNull) parts.push(`${dim.ref} IS NULL`); if (!parts.length) return null; return parts.length === 1 ? parts[0] : `(${parts.join(" OR ")})`; - }, [result, dimAlias, dim.ref]); + }, [result, dimAlias, dim.ref, catalog.dialect]); // A second query over the comparison window, joined to the current rows by dimension value below. // Only issued when a delta column is active, there's a comparison window, and we know the current @@ -118,11 +118,11 @@ export function LeaderboardPanel({ wantsDelta && comparisonRange && timeRef && currentValueConstraint ? [ ...baseFilters, - ...composeFilters(state.filters, { timeRef, range: comparisonRange, excludeDim: dim.ref, types }), + ...composeFilters(state.filters, { timeRef, range: comparisonRange, excludeDim: dim.ref, types, dialect: catalog.dialect }), currentValueConstraint, ] : null, - [wantsDelta, comparisonRange, timeRef, state.filters, dim.ref, types, currentValueConstraint, baseFilters], + [wantsDelta, comparisonRange, timeRef, state.filters, dim.ref, types, catalog.dialect, currentValueConstraint, baseFilters], ); const prev = useQueryResult( backend, diff --git a/webapp/src/components/RowPreviewDrawer.tsx b/webapp/src/components/RowPreviewDrawer.tsx index e4e53b788..ed27a5f2d 100644 --- a/webapp/src/components/RowPreviewDrawer.tsx +++ b/webapp/src/components/RowPreviewDrawer.tsx @@ -28,9 +28,9 @@ export function RowPreviewDrawer() { const filters = useMemo( () => [ ...(configured?.filters ?? []), - ...composeFilters(state.filters, { timeRef, range: state.dateRange, types }), + ...composeFilters(state.filters, { timeRef, range: state.dateRange, types, dialect: catalog.dialect }), ], - [configured, state.filters, timeRef, state.dateRange, types], + [configured, state.filters, timeRef, state.dateRange, types, catalog.dialect], ); // A row preview is raw detail, so aggregate/shared metrics are intentionally excluded. Mixing // them into an ungrouped query produces invalid SQL for aggregate metric expressions and makes diff --git a/webapp/src/lib/format.ts b/webapp/src/lib/format.ts index 217417998..f675ea459 100644 --- a/webapp/src/lib/format.ts +++ b/webapp/src/lib/format.ts @@ -76,7 +76,8 @@ export function formatDelta(current: number, previous: number | null | undefined } /** Single-quote escape for SQL string literals used in filter expressions. */ -export function sqlLiteral(value: string): string { +export function sqlLiteral(value: string, dialect?: string): string { + if (dialect === "clickhouse") value = value.replaceAll("\\", "\\\\"); return `'${value.replaceAll("'", "''")}'`; } diff --git a/webapp/src/lib/queries.test.ts b/webapp/src/lib/queries.test.ts index a1ee787d0..0053eb61e 100644 --- a/webapp/src/lib/queries.test.ts +++ b/webapp/src/lib/queries.test.ts @@ -2,6 +2,8 @@ import { describe, expect, test } from "bun:test"; import { NULL_TOKEN, type Catalog } from "../data/types"; import { catalogDimTypes, + composeFilters, + containsExpr, dimensionLeaderboard, distinctValues, filterExprs, @@ -223,3 +225,40 @@ describe("dashboard query configuration", () => { } }); }); + +describe("dialect-aware filter literals", () => { + test.each([ + ["abc", "'%abc%'"], + ["100%", String.raw`'%100\\%%'`], + ["a_b", String.raw`'%a\\_b%'`], + ["c:\\path", String.raw`'%c:\\\\path%'`], + ["O'Brien", "'%O''Brien%'"], + ["\\'", String.raw`'%\\\\''%'`], + ])("ClickHouse search and contains escape %s", (text, literal) => { + const search = containsExpr("orders.status", text, "clickhouse"); + expect(search).toBe(`CAST(orders.status AS VARCHAR) ILIKE ${literal}`); + expect(composeFilters({ "orders.status": has(text) }, { dialect: "clickhouse" })).toEqual([search]); + }); + + test("string memberships quote backslashes without changing numeric or null filters", () => { + expect(filterExprs({ "orders.status": inc(["c:\\path", "\\'", NULL_TOKEN]) }, { dialect: "clickhouse" })).toEqual([ + String.raw`(orders.status IN ('c:\\path', '\\''') OR orders.status IS NULL)`, + ]); + expect(filterExprs({ "orders.status": exc(["c:\\path"]) }, { dialect: "clickhouse" })).toEqual([ + String.raw`(orders.status != 'c:\\path' OR orders.status IS NULL)`, + ]); + expect(filterExprs({ "orders.amount": inc(["42"]) }, { dialect: "clickhouse", types: { "orders.amount": "numeric" } })).toEqual([ + "orders.amount = 42", + ]); + }); + + test("interleaving dialects preserves default, DuckDB, and Postgres output", () => { + const pattern = "50%_\\'"; + const standard = String.raw`CAST(orders.status AS VARCHAR) ILIKE '%50\%\_\\''%' ESCAPE '\'`; + for (const dialect of [undefined, "duckdb", "postgres"]) { + expect(containsExpr("orders.status", pattern, dialect)).toBe(standard); + expect(containsExpr("orders.status", pattern, "clickhouse")).not.toContain("ESCAPE"); + expect(containsExpr("orders.status", pattern, dialect)).toBe(standard); + } + }); +}); diff --git a/webapp/src/lib/queries.ts b/webapp/src/lib/queries.ts index 67d2f2ebd..f17d35d4c 100644 --- a/webapp/src/lib/queries.ts +++ b/webapp/src/lib/queries.ts @@ -46,7 +46,7 @@ export function catalogDimTypes(catalog: Pick): DimTypes { /** Render a single filter value as a SQL literal, honoring the dimension's type so numeric and * boolean dimensions aren't quoted (which type-strict backends reject). */ -function filterLiteral(value: string, type?: string): string { +function filterLiteral(value: string, type?: string, dialect?: string): string { if ((type === "numeric" || type === "number") && value.trim() !== "" && Number.isFinite(Number(value))) { return value; } @@ -54,29 +54,38 @@ function filterLiteral(value: string, type?: string): string { const lower = value.toLowerCase(); if (lower === "true" || lower === "false") return lower; } - return sqlLiteral(value); + return sqlLiteral(value, dialect); } /** * Escape a user-typed substring for a SQL LIKE/ILIKE pattern wrapped as `%…%`. The LIKE - * metacharacters `%` and `_` are neutralized with a backslash (paired with `ESCAPE '\'` at the - * call site) so a literal `%` in the pattern matches a literal `%` rather than "anything". + * metacharacters `%` and `_` are neutralized with a backslash (implicit in ClickHouse, explicit + * via ESCAPE elsewhere) so a literal `%` in the pattern matches a literal `%` rather than "anything". */ export function likeEscape(pattern: string): string { return pattern.replaceAll("\\", "\\\\").replaceAll("%", "\\%").replaceAll("_", "\\_"); } +/** Shared substring predicate for the filter editor search and Contains mode. */ +export function containsExpr(dimRef: FieldRef, text: string, dialect?: string): string { + const pattern = sqlLiteral(`%${likeEscape(text)}%`, dialect); + // ClickHouse uses backslash escaping implicitly; its SQL literals also consume backslashes. + const escape = dialect === "clickhouse" ? "" : " ESCAPE '\\'"; + // Cast so numeric and boolean dimensions can be searched too. + return `CAST(${dimRef} AS VARCHAR) ILIKE ${pattern}${escape}`; +} + /** SQL for one dimension's include/exclude selection (values only — the caller handles contains). */ -function membershipExpr(dimRef: FieldRef, filter: DimFilter, type?: string): string | null { +function membershipExpr(dimRef: FieldRef, filter: DimFilter, type?: string, dialect?: string): string | null { const negate = filter.mode === "exclude"; const hasNull = filter.values.includes(NULL_TOKEN); const present = filter.values.filter((value) => value !== NULL_TOKEN); let presentExpr: string | null = null; if (present.length === 1) { - presentExpr = `${dimRef} ${negate ? "!=" : "="} ${filterLiteral(present[0], type)}`; + presentExpr = `${dimRef} ${negate ? "!=" : "="} ${filterLiteral(present[0], type, dialect)}`; } else if (present.length > 1) { - const list = present.map((v) => filterLiteral(v, type)).join(", "); + const list = present.map((v) => filterLiteral(v, type, dialect)).join(", "); presentExpr = `${dimRef} ${negate ? "NOT IN" : "IN"} (${list})`; } @@ -109,19 +118,19 @@ function membershipExpr(dimRef: FieldRef, filter: DimFilter, type?: string): str * type so values are quoted/cast correctly. include -> `=`/`IN` (+ `IS NULL`), exclude -> `!=`/`NOT * IN` (+ `IS NOT NULL`), contains -> `ILIKE '%%'`. */ -export function filterExprs(filters: FilterState, opts: { types?: DimTypes; excludeDim?: FieldRef } = {}): string[] { +export function filterExprs( + filters: FilterState, + opts: { types?: DimTypes; dialect?: string; excludeDim?: FieldRef } = {}, +): string[] { const out: string[] = []; for (const [dimRef, filter] of Object.entries(filters)) { if (dimRef === opts.excludeDim || isEmptyFilter(filter)) continue; const type = opts.types?.[dimRef]; if (filter.mode === "contains") { - // Cast to text so contains works on numeric/boolean dimensions: DuckDB and Postgres - // reject ILIKE on non-text operands. - const pat = sqlLiteral(`%${likeEscape(filter.pattern ?? "")}%`); - out.push(`CAST(${dimRef} AS VARCHAR) ILIKE ${pat} ESCAPE '\\'`); + out.push(containsExpr(dimRef, filter.pattern ?? "", opts.dialect)); continue; } - const expr = membershipExpr(dimRef, filter, type); + const expr = membershipExpr(dimRef, filter, type, opts.dialect); if (expr) out.push(expr); } return out; @@ -133,9 +142,9 @@ export function filterExprs(filters: FilterState, opts: { types?: DimTypes; excl */ export function composeFilters( filters: FilterState, - opts: { timeRef?: FieldRef; range?: DateRange; excludeDim?: FieldRef; types?: DimTypes } = {}, + opts: { timeRef?: FieldRef; range?: DateRange; excludeDim?: FieldRef; types?: DimTypes; dialect?: string } = {}, ): string[] { - const base = filterExprs(filters, { types: opts.types, excludeDim: opts.excludeDim }); + const base = filterExprs(filters, { types: opts.types, excludeDim: opts.excludeDim, dialect: opts.dialect }); if (opts.timeRef && opts.range) base.push(...timeFilters(opts.timeRef, opts.range)); return base; } diff --git a/webapp/src/state/dashboardState.test.ts b/webapp/src/state/dashboardState.test.ts index 36f8c02fa..a461fcbaf 100644 --- a/webapp/src/state/dashboardState.test.ts +++ b/webapp/src/state/dashboardState.test.ts @@ -518,3 +518,14 @@ describe("dashboard selections", () => { expect(Number.isNaN(series[1].points[1].y)).toBe(true); }); }); + +test("dashboard selections use the active SQL dialect", () => { + const chart: DashboardChart = { id: "revenue", query: { metrics: ["orders.revenue"] } }; + const filters = { "orders.region": "c:\\path'" }; + expect(dashboardStructuredQuery(document, chart, filters, {}, {}, undefined, "clickhouse").filters).toEqual([ + String.raw`orders.region = 'c:\\path'''`, + ]); + expect(dashboardStructuredQuery(document, chart, filters, {}).filters).toEqual([ + String.raw`orders.region = 'c:\path'''`, + ]); +}); diff --git a/webapp/src/state/dashboardState.ts b/webapp/src/state/dashboardState.ts index 71e5535e7..976603166 100644 --- a/webapp/src/state/dashboardState.ts +++ b/webapp/src/state/dashboardState.ts @@ -137,25 +137,25 @@ function nextBucketStart(value: string, grain: string): string | null { return /^\d{4}-\d{2}-\d{2}$/.test(value) ? date.toISOString().slice(0, 10) : date.toISOString(); } -export function dashboardRangeFilter(dimension: string, range: DashboardRange): string { +export function dashboardRangeFilter(dimension: string, range: DashboardRange, dialect?: string): string { const grained = timeGrain(dimension); if (grained) { const exclusiveEnd = nextBucketStart(range.to, grained.grain); if (exclusiveEnd) { - return `${grained.baseDimension} >= ${sqlLiteral(range.from)} AND ${grained.baseDimension} < ${sqlLiteral(exclusiveEnd)}`; + return `${grained.baseDimension} >= ${sqlLiteral(range.from, dialect)} AND ${grained.baseDimension} < ${sqlLiteral(exclusiveEnd, dialect)}`; } - return `${grained.baseDimension} >= ${sqlLiteral(range.from)} AND ${grained.baseDimension} <= ${sqlLiteral(range.to)}`; + return `${grained.baseDimension} >= ${sqlLiteral(range.from, dialect)} AND ${grained.baseDimension} <= ${sqlLiteral(range.to, dialect)}`; } - return `${dimension} >= ${sqlLiteral(range.from)} AND ${dimension} <= ${sqlLiteral(range.to)}`; + return `${dimension} >= ${sqlLiteral(range.from, dialect)} AND ${dimension} <= ${sqlLiteral(range.to, dialect)}`; } -function dashboardSelectionFilter(dimension: string, value: string, types: DimTypes): string[] { +function dashboardSelectionFilter(dimension: string, value: string, types: DimTypes, dialect?: string): string[] { const grained = timeGrain(dimension); if (grained) { if (value === NULL_TOKEN) return [`${grained.baseDimension} IS NULL`]; - return [dashboardRangeFilter(dimension, { from: value, to: value })]; + return [dashboardRangeFilter(dimension, { from: value, to: value }, dialect)]; } - return filterExprs({ [dimension]: { mode: "include", values: [value] } }, { types }); + return filterExprs({ [dimension]: { mode: "include", values: [value] } }, { types, dialect }); } export function dashboardChartScopeKey(document: DashboardDocument, chart: DashboardChart): string { @@ -201,6 +201,7 @@ export function dashboardStructuredQuery( filterSources: {}, rangeSources: {}, }, + dialect?: string, ): StructuredQuery { const scoped = dashboardScopedInteractions(document, chart, { filters, ranges, ...sources }); const x = chart.encoding?.x ?? chart.query.dimensions?.[0] ?? ""; @@ -212,9 +213,9 @@ export function dashboardStructuredQuery( filters: [ ...(chart.query.filters ?? []), ...Object.entries(scoped.filters).flatMap(([dimension, value]) => - dashboardSelectionFilter(dimension, value, types), + dashboardSelectionFilter(dimension, value, types, dialect), ), - ...Object.entries(scoped.ranges).map(([dimension, range]) => dashboardRangeFilter(dimension, range)), + ...Object.entries(scoped.ranges).map(([dimension, range]) => dashboardRangeFilter(dimension, range, dialect)), ], segments: chart.query.segments, orderBy: explicitOrder ?? defaultTimeOrder, diff --git a/webapp/src/views/DashboardDocumentView.tsx b/webapp/src/views/DashboardDocumentView.tsx index f55a667c1..60a0d51da 100644 --- a/webapp/src/views/DashboardDocumentView.tsx +++ b/webapp/src/views/DashboardDocumentView.tsx @@ -154,8 +154,8 @@ function DashboardChartPanel({ const [detailsOpen, setDetailsOpen] = useState(false); const types = useMemo(() => dimensionTypes(catalog), [catalog]); const request = useMemo( - () => dashboardStructuredQuery(document, chart, state.filters, types, state.ranges, state), - [chart, document, state, types], + () => dashboardStructuredQuery(document, chart, state.filters, types, state.ranges, state, catalog.dialect), + [chart, document, state, types, catalog.dialect], ); const query = useQueryResult(backend, request); const rows = query.result?.rows ?? []; diff --git a/webapp/src/views/ExplorerView.tsx b/webapp/src/views/ExplorerView.tsx index 0ec84a262..901890bc0 100644 --- a/webapp/src/views/ExplorerView.tsx +++ b/webapp/src/views/ExplorerView.tsx @@ -95,8 +95,8 @@ export function ExplorerView() { const types = useMemo(() => catalogDimTypes(catalog), [catalog]); const baseFilters = useMemo( - () => [...(configured?.filters ?? []), ...composeFilters(state.filters, { timeRef, range: state.dateRange, types })], - [configured, state.filters, timeRef, state.dateRange, types], + () => [...(configured?.filters ?? []), ...composeFilters(state.filters, { timeRef, range: state.dateRange, types, dialect: catalog.dialect })], + [configured, state.filters, timeRef, state.dateRange, types, catalog.dialect], ); // Resolve the chosen comparison mode into a concrete window. `off` (or no active date range, since // every comparison here is relative to one) means no comparison at all — the strip cards, chart @@ -110,9 +110,9 @@ export function ExplorerView() { const prevFilters = useMemo( () => prevRange && timeRef - ? [...(configured?.filters ?? []), ...composeFilters(state.filters, { timeRef, range: prevRange, types })] + ? [...(configured?.filters ?? []), ...composeFilters(state.filters, { timeRef, range: prevRange, types, dialect: catalog.dialect })] : null, - [configured, state.filters, timeRef, prevRange, types], + [configured, state.filters, timeRef, prevRange, types, catalog.dialect], ); // Stamp the selected timezone onto every query so the backend truncates time buckets in-zone diff --git a/webapp/src/views/PivotView.tsx b/webapp/src/views/PivotView.tsx index fcac74125..fd8abac8e 100644 --- a/webapp/src/views/PivotView.tsx +++ b/webapp/src/views/PivotView.tsx @@ -33,8 +33,8 @@ export function PivotView() { const types = useMemo(() => dimTypes(dims), [dims]); const baseFilters = useMemo( - () => composeFilters(state.filters, { timeRef, range: state.dateRange, types }), - [state.filters, timeRef, state.dateRange, types], + () => composeFilters(state.filters, { timeRef, range: state.dateRange, types, dialect: catalog.dialect }), + [state.filters, timeRef, state.dateRange, types, catalog.dialect], ); const effectiveSort = sort ?? (pivotMetrics[0] ? { ref: pivotMetrics[0], dir: "desc" as const } : null); From 6f68daa72191b959c7217dbb7ab491781175de09 Mon Sep 17 00:00:00 2001 From: Nico Ritschel Date: Mon, 19 Oct 2026 13:43:26 -0700 Subject: [PATCH 2/2] Sync WASM demo filter quoting bundle --- .../sidemantic/sidemantic-ui-static.js | 33 +++++++++++-------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/examples/sidemantic_wasm_demo/src/components/sidemantic/sidemantic-ui-static.js b/examples/sidemantic_wasm_demo/src/components/sidemantic/sidemantic-ui-static.js index 5d59ee10f..b3342e233 100644 --- a/examples/sidemantic_wasm_demo/src/components/sidemantic/sidemantic-ui-static.js +++ b/examples/sidemantic_wasm_demo/src/components/sidemantic/sidemantic-ui-static.js @@ -7963,7 +7963,9 @@ function displayDimValue(value) { function formatValue(value, hint = {}) { return formatUiValue(value, hint); } -function sqlLiteral(value) { +function sqlLiteral(value, dialect) { + if (dialect === "clickhouse") + value = value.replaceAll("\\", "\\\\"); return `'${value.replaceAll("'", "''")}'`; } function filterSummary(filter) { @@ -8103,7 +8105,7 @@ function dimTypes(dimensions) { function catalogDimTypes(catalog) { return dimTypes(catalog.models.flatMap((model) => model.dimensions)); } -function filterLiteral(value, type) { +function filterLiteral(value, type, dialect) { if ((type === "numeric" || type === "number") && value.trim() !== "" && Number.isFinite(Number(value))) { return value; } @@ -8112,20 +8114,25 @@ function filterLiteral(value, type) { if (lower === "true" || lower === "false") return lower; } - return sqlLiteral(value); + return sqlLiteral(value, dialect); } function likeEscape(pattern) { return pattern.replaceAll("\\", "\\\\").replaceAll("%", "\\%").replaceAll("_", "\\_"); } -function membershipExpr(dimRef, filter, type) { +function containsExpr(dimRef, text, dialect) { + const pattern = sqlLiteral(`%${likeEscape(text)}%`, dialect); + const escape2 = dialect === "clickhouse" ? "" : " ESCAPE '\\'"; + return `CAST(${dimRef} AS VARCHAR) ILIKE ${pattern}${escape2}`; +} +function membershipExpr(dimRef, filter, type, dialect) { const negate = filter.mode === "exclude"; const hasNull = filter.values.includes(NULL_TOKEN); const present = filter.values.filter((value) => value !== NULL_TOKEN); let presentExpr = null; if (present.length === 1) { - presentExpr = `${dimRef} ${negate ? "!=" : "="} ${filterLiteral(present[0], type)}`; + presentExpr = `${dimRef} ${negate ? "!=" : "="} ${filterLiteral(present[0], type, dialect)}`; } else if (present.length > 1) { - const list = present.map((v3) => filterLiteral(v3, type)).join(", "); + const list = present.map((v3) => filterLiteral(v3, type, dialect)).join(", "); presentExpr = `${dimRef} ${negate ? "NOT IN" : "IN"} (${list})`; } if (!negate) { @@ -8156,18 +8163,17 @@ function filterExprs(filters, opts = {}) { continue; const type = opts.types?.[dimRef]; if (filter.mode === "contains") { - const pat = sqlLiteral(`%${likeEscape(filter.pattern ?? "")}%`); - out.push(`CAST(${dimRef} AS VARCHAR) ILIKE ${pat} ESCAPE '\\'`); + out.push(containsExpr(dimRef, filter.pattern ?? "", opts.dialect)); continue; } - const expr = membershipExpr(dimRef, filter, type); + const expr = membershipExpr(dimRef, filter, type, opts.dialect); if (expr) out.push(expr); } return out; } function composeFilters(filters, opts = {}) { - const base = filterExprs(filters, { types: opts.types, excludeDim: opts.excludeDim }); + const base = filterExprs(filters, { types: opts.types, excludeDim: opts.excludeDim, dialect: opts.dialect }); if (opts.timeRef && opts.range) base.push(...timeFilters(opts.timeRef, opts.range)); return base; @@ -8319,14 +8325,13 @@ function FilterEditor({ const valueFilters = import_react5.useMemo(() => { const base = [ ...configured?.filters ?? [], - ...composeFilters(state.filters, { timeRef, range: state.dateRange, excludeDim: dim.ref, types }) + ...composeFilters(state.filters, { timeRef, range: state.dateRange, excludeDim: dim.ref, types, dialect: catalog.dialect }) ]; if (debouncedSearch.trim()) { - const pat = sqlLiteral(`%${likeEscape(debouncedSearch.trim())}%`); - base.push(`CAST(${dim.ref} AS VARCHAR) ILIKE ${pat} ESCAPE '\\'`); + base.push(containsExpr(dim.ref, debouncedSearch.trim(), catalog.dialect)); } return base; - }, [configured, state.filters, timeRef, state.dateRange, dim.ref, debouncedSearch, types]); + }, [configured, state.filters, timeRef, state.dateRange, dim.ref, debouncedSearch, types, catalog.dialect]); const listMode = mode !== "contains"; const { result, loading, error } = useQueryResult(backend, listMode ? distinctValues(dim.ref, valueFilters, VALUE_LIMIT, configured?.segments, configured?.usePreaggregations) : null); const dimAlias = aliasOf(dim.ref);