1import{au as k}from"./5YXSnQcP.js";function $(S,E){for(var w=0;w<E.length;w++){const T=E[w];if(typeof T!="string"&&!Array.isArray(T)){for(const d in T)if(d!=="default"&&!(d in S)){const b=Object.getOwnPropertyDescriptor(T,d);b&&Object.defineProperty(S,d,b.get?b:{enumerable:!0,get:()=>T[d]})}}}return Object.freeze(Object.defineProperty(S,Symbol.toStringTag,{value:"Module"}))}var V={exports:{}},U;function H(){return U||(U=1,function(S){(function(E){S.exports?(E.default=E,S.exports=E):E(typeof Highcharts<"u"?Highcharts:void 0)})(function(E){var w=E?E._modules:{};function T(d,b,y,m){d.hasOwnProperty(b)||(d[b]=m.apply(null,y),typeof CustomEvent=="function"&&E.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:b,module:d[b]}})))}T(w,"Data/Modifiers/DataModifier.js",[w["Core/Utilities.js"]],function(d){var b;let{addEvent:y,fireEvent:m,merge:g}=d;class n{benchmark(e,t){let r=[],s=this,i=()=>{s.modifyTable(e),s.emit({type:"afterBenchmarkIteration"})},{iterations:a}=g({iterations:1},t);s.on("afterBenchmarkIteration",()=>{if(r.length===a){s.emit({type:"afterBenchmark",results:r});return}i()});let l={startTime:0,endTime:0};return s.on("modify",()=>{l.startTime=window.performance.now()}),s.on("afterModify",()=>{l.endTime=window.performance.now(),r.push(l.endTime-l.startTime)}),i(),r}emit(e){m(this,e.type,e)}modify(e,t){let r=this;return new Promise((s,i)=>{e.modified===e&&(e.modified=e.clone(!1,t));try{s(r.modifyTable(e,t))}catch(a){r.emit({type:"error",detail:t,table:e}),i(a)}})}modifyCell(e,t,r,s,i){return this.modifyTable(e)}modifyColumns(e,t,r,s){return this.modifyTable(e)}modifyRows(e,t,r,s){return this.modifyTable(e)}on(e,t){return y(this,e,t)}}return(b=n).types={},b.registerType=function(o,e){return!!o&&!b.types[o]&&!!(b.types[o]=e)},n}),T(w,"Data/DataTable.js",[w["Core/Utilities.js"]],function(d){let{addEvent:b,defined:y,fireEvent:m,uniqueKey:g}=d;class n{static isNull(e){if(e===n.NULL)return!0;if(e instanceof Array){if(!e.length)return!1;for(let t=0,r=e.length;t<r;++t)if(e[t]!==null)return!1}else{let t=Object.keys(e);if(!t.length)return!1;for(let r=0,s=t.length;r<s;++r)if(e[t[r]]!==null)return!1}return!0}constructor(e={}){this.autoId=!e.id,this.columns={},this.id=e.id||g(),this.modified=this,this.rowCount=0,this.versionTag=g();let t=e.columns||{},r=Object.keys(t),s=this.columns,i=0;for(let a=0,l=r.length,c,h;a<l;++a)c=t[h=r[a]].slice(),s[h]=c,i=Math.max(i,c.length);for(let a=0,l=r.length;a<l;++a)s[r[a]].length=i;this.rowCount=i}clone(e,t){let r={};this.emit({type:"cloneTable",detail:t}),e||(r.columns=this.columns),this.autoId||(r.id=this.id);let s=new n(r);return e||(s.versionTag=this.versionTag,s.originalRowIndexes=this.originalRowIndexes,s.localRowIndexes=this.localRowIndexes),this.emit({type:"afterCloneTable",detail:t,tableClone:s}),s}deleteColumns(e,t){let r=this.columns,s={},i={},a=this.modifier,l=this.rowCount;if((e=e||Object.keys(r)).length){this.emit({type:"deleteColumns",columnNames:e,detail:t});for(let c=0,h=e.length,u,C;c<h;++c)(u=r[C=e[c]])&&(s[C]=u,i[C]=Array(l)),delete r[C];return Object.keys(r).length||(this.rowCount=0,this.deleteRowIndexReferences()),a&&a.modifyColumns(this,i,0,t),this.emit({type:"afterDeleteColumns",columns:s,columnNames:e,detail:t}),s}}deleteRowIndexReferences(){delete this.originalRowIndexes,delete this.localRowIndexes}deleteRows(e,t=1,r){let s=[],i=[],a=this.modifier;if(this.emit({type:"deleteRows",detail:r,rowCount:t,rowIndex:e||0}),e===void 0&&(e=0,t=this.rowCount),t>0&&e<this.rowCount){let l=this.columns,c=Object.keys(l);for(let h=0,u=c.length,C,f;h<u;++h){f=(C=l[c[h]]).splice(e,t),h||(this.rowCount=C.length);for(let p=0,N=f.length;p<N;++p)s[p]=s[p]||[],s[p][h]=f[p];i.push(Array(u))}}return a&&a.modifyRows(this,i,e||0,r),this.emit({type:"afterDeleteRows",detail:r,rowCount:t,rowIndex:e||0,rows:s}),s}emit(e){switch(e.type){case"afterDeleteColumns":case"afterDeleteRows":case"afterSetCell":case"afterSetColumns":case"afterSetRows":this.versionTag=g()}m(this,e.type,e)}getCell(e,t){let r=this.columns[e];if(r)return r[t]}getCellAsBoolean(e,t){let r=this.columns[e];return!!(r&&r[t])}getCellAsNumber(e,t,r){let s=this.columns[e],i=s&&s[t];switch(typeof i){case"boolean":return i?1:0;case"number":return isNaN(i)&&!r?null:i}return isNaN(i=parseFloat(`${i??""}`))&&!r?null:i}getCellAsString(e,t){let r=this.columns[e];return`${r&&r[t]}`}getColumn(e,t){return this.getColumns([e],t)[e]}getColumnAsNumbers(e,t){let r=this.columns[e],s=[];if(r){let i=r.length;if(t)for(let a=0;a<i;++a)s.push(this.getCellAsNumber(e,a,!0));else{for(let a=0,l;a<i;++a){if(typeof(l=r[a])=="number")return r.slice();if(l!=null)break}for(let a=0;a<i;++a)s.push(this.getCellAsNumber(e,a))}}return s}getColumnNames(){return Object.keys(this.columns)}getColumns(e,t){let r=this.columns,s={};e=e||Object.keys(r);for(let i=0,a=e.length,l,c;i<a;++i)(l=r[c=e[i]])&&(s[c]=t?l:l.slice());return s}getLocalRowIndex(e){let{localRowIndexes:t}=this;return t?t[e]:e}getModifier(){return this.modifier}getOriginalRowIndex(e){let{originalRowIndexes:t}=this;return t?t[e]:e}getRow(e,t){return this.getRows(e,1,t)[0]}getRowCount(){return this.rowCount}getRowIndexBy(e,t,r){let s=this.columns[e];if(s){let i=s.indexOf(t,r);
1if(i!==-1)return i}}getRowObject(e,t){return this.getRowObjects(e,1,t)[0]}getRowObjects(e=0,t=this.rowCount-e,r){let s=this.columns,i=Array(t);r=r||Object.keys(s);for(let a=e,l=0,c=Math.min(this.rowCount,e+t),h,u;a<c;++a,++l)for(let C of(u=i[l]={},r))h=s[C],u[C]=h?h[a]:void 0;return i}getRows(e=0,t=this.rowCount-e,r){let s=this.columns,i=Array(t);r=r||Object.keys(s);for(let a=e,l=0,c=Math.min(this.rowCount,e+t),h,u;a<c;++a,++l)for(let C of(u=i[l]=[],r))h=s[C],u.push(h?h[a]:void 0);return i}getVersionTag(){return this.versionTag}hasColumns(e){let t=this.columns;for(let r=0,s=e.length;r<s;++r)if(!t[e[r]])return!1;return!0}hasRowWith(e,t){let r=this.columns[e];return!!r&&r.indexOf(t)!==-1}on(e,t){return b(this,e,t)}renameColumn(e,t){let r=this.columns;return!!r[e]&&(e!==t&&(r[t]=r[e],delete r[e]),!0)}setCell(e,t,r,s){let i=this.columns,a=this.modifier,l=i[e];l&&l[t]===r||(this.emit({type:"setCell",cellValue:r,columnName:e,detail:s,rowIndex:t}),l||(l=i[e]=Array(this.rowCount)),t>=this.rowCount&&(this.rowCount=t+1),l[t]=r,a&&a.modifyCell(this,e,t,r),this.emit({type:"afterSetCell",cellValue:r,columnName:e,detail:s,rowIndex:t}))}setColumn(e,t=[],r=0,s){this.setColumns({[e]:t},r,s)}setColumns(e,t,r){let s=this.columns,i=this.modifier,a=t===void 0,l=Object.keys(e);this.emit({type:"setColumns",columns:e,columnNames:l,detail:r,rowIndex:t});for(let h=0,u=l.length,C,f;h<u;++h)if(C=e[f=l[h]],a)s[f]=C.slice(),this.rowCount=C.length;else{let p=s[f]?s[f]:s[f]=Array(this.rowCount);for(let N=t||0,v=C.length;N<v;++N)p[N]=C[N];this.rowCount=Math.max(this.rowCount,p.length)}let c=Object.keys(s);for(let h=0,u=c.length;h<u;++h)s[c[h]].length=this.rowCount;i&&i.modifyColumns(this,e,t||0),this.emit({type:"afterSetColumns",columns:e,columnNames:l,detail:r,rowIndex:t})}setModifier(e,t){let r=this;return r.emit({type:"setModifier",detail:t,modifier:e,modified:r.modified}),r.modified=r,r.modifier=e,(e?e.modify(r):Promise.resolve(r)).then(s=>
1(s.emit({type:"afterSetModifier",detail:t,modifier:e,modified:s.modified}),s)).catch(s=>{throw r.emit({type:"setModifierError",error:s,modifier:e,modified:r.modified}),s})}setOriginalRowIndexes(e,t=!1){if(this.originalRowIndexes=e,t)return;let r=this.localRowIndexes=[];for(let s=0,i=e.length,a;s<i;++s)y(a=e[s])&&(r[a]=s)}setRow(e,t,r){this.setRows([e],t,r)}setRows(e,t=this.rowCount,r){let s=this.columns,i=Object.keys(s),a=this.modifier,l=e.length;this.emit({type:"setRows",detail:r,rowCount:l,rowIndex:t,rows:e});for(let h=0,u=t,C;h<l;++h,++u)if((C=e[h])===n.NULL)for(let f=0,p=i.length;f<p;++f)s[i[f]][u]=null;else if(C instanceof Array)for(let f=0,p=i.length;f<p;++f)s[i[f]][u]=C[f];else{let f=Object.keys(C);for(let p=0,N=f.length,v;p<N;++p)s[v=f[p]]||(s[v]=Array(u+1)),s[v][u]=C[v]}let c=t+l;if(c>this.rowCount){this.rowCount=c;for(let h=0,u=i.length;h<u;++h)s[i[h]].length=c}a&&a.modifyRows(this,e,t),this.emit({type:"afterSetRows",detail:r,rowCount:l,rowIndex:t,rows:e})}}return n.NULL={},n.version="1.0.0",n}),T(w,"Data/Connectors/DataConnector.js",[w["Data/Modifiers/DataModifier.js"],w["Data/DataTable.js"],w["Core/Utilities.js"]],function(d,b,y){var m;let{addEvent:g,fireEvent:n,merge:o,pick:e}=y;class t{constructor(s={}){this.table=new b(s.dataTable),this.metadata=s.metadata||{columns:{}}}get polling(){return!!this.polling}describeColumn(s,i){let a=this.metadata.columns;a[s]=o(a[s]||{},i)}describeColumns(s){let i,a=Object.keys(s);for(;typeof(i=a.pop())=="string";)this.describeColumn(i,s[i])}emit(s){n(this,s.type,s)}getColumnOrder(s){let i=this.metadata.columns,a=Object.keys(i||{});if(a.length)return a.sort((l,c)=>e(i[l].index,0)-e(i[c].index,0))}getSortedColumns(s){return this.table.getColumns(this.getColumnOrder(s))}load(){return n(this,"afterLoad",{table:this.table}),Promise.resolve(this)}on(s,i){return g(this,s,i)}save(){return n(this,"saveError",{table:this.table}),Promise.reject(Error("Not implemented"))}setColumnOrder(s){for(let i=0,a=s.length;i<a;++i)this.describeColumn(s[i],{index:i})}setModifierOptions(s){let i=s&&d.types[s.type];return this.table.setModifier(i?new i(s):void 0).then(()=>this)}startPolling(s=1e3){let i=this;window.clearTimeout(i._polling),i._polling=window.setTimeout(()=>i.load().catch(a=>i.emit({type:"loadError",error:a,table:i.table})).then(()=>{i._polling&&i.startPolling(s)}),s)}stopPolling(){window.clearTimeout(this._polling),delete this._polling}whatIs(s){return this.metadata.columns[s]}}return(m=t).types={},m.registerType=function(r,s){return!!r&&!m.types[r]&&!!(m.types[r]=s)},t}),T(w,"Data/Converters/DataConverter.js",[w["Data/DataTable.js"],w["Core/Utilities.js"]],function(d,b){let{addEvent:y,fireEvent:m,isNumber:g,merge:n}=b;class o{constructor(t){this.dateFormats={"YYYY/mm/dd":{regex:/^(\d{4})([\-\.\/])(\d{1,2})\2(\d{1,2})$/,parser:function(i){return i?Date.UTC(+i[1],i[3]-1,+i[4]):NaN}},"dd/mm/YYYY":{regex:/^(\d{1,2})([\-\.\/])(\d{1,2})\2(\d{4})$/,parser:function(i){return i?Date.UTC(+i[4],i[3]-1,+i[1]):NaN},alternative:"mm/dd/YYYY"},"mm/dd/YYYY":{regex:/^(\d{1,2})([\-\.\/])(\d{1,2})\2(\d{4})$/,parser:function(i){return i?Date.UTC(+i[4],i[1]-1,+i[3]):NaN}},"dd/mm/YY":{regex:/^(\d{1,2})([\-\.\/])(\d{1,2})\2(\d{2})$/,parser:function(i){let a=new Date;if(!i)return NaN;let l=+i[4];return l>a.getFullYear()-2e3?l+=1900:l+=2e3,Date.UTC(l,i[3]-1,+i[1])},alternative:"mm/dd/YY"},"mm/dd/YY":{regex:/^(\d{1,2})([\-\.\/])(\d{1,2})\2(\d{2})$/,parser:function(i){return i?Date.UTC(+i[4]+2e3,i[1]-1,+i[3]):NaN}}};let r=n(o.defaultOptions,t),s=r.decimalPoint;(s==="."||s===",")&&(s=s==="."?"\\.":",",this.decimalRegExp=RegExp("^(-?[0-9]+)"+s+"([0-9]+)$")),this.options=r}asBoolean(t){return typeof t=="boolean"?t:typeof t=="string"?t!==""&&t!=="0"&&t!=="false":!!this.asNumber(t)}asDate(t){let r;if(typeof t=="string")r=this.parseDate(t);else if(typeof t=="number")r=t;else{if(t instanceof Date)return t;r=this.parseDate(this.asString(t))}return new Date(r)}asGuessedType(t){return{number:this.asNumber,Date:this.asDate,string:this.asString}[this.guessType(t)].call(this,t)}asNumber(t){if(typeof t=="number")return t;if(typeof t=="boolean")return t?1:0;if(typeof t=="string"){let r=this.decimalRegExp;if(t.indexOf(" ")>-1&&(t=t.replace(/\s+/g,"")),r){if(!r.test(t))return NaN;t=t.replace(r,"$1.$2")}return parseFloat(t)}return t instanceof Date?t.getDate():t?t.getRowCount():NaN}asString(t){return""+t}deduceDateFormat(t,r,s){let i=[],a=[],l="YYYY/mm/dd",c,h=[],u=0,C=!1,f,p;for((!r||r>t.length)&&(r=t.length);u<r;u++)if(t[u]!==void 0&&t[u]&&t[u].length)for(p=0,c=t[u].trim().replace(/[\-\.\/]/g," ").split(" "),h=["","",""];p<c.length;p++)p<h.length&&(f=parseInt(c[p],10))&&(a[p]=!a[p]||a[p]<f?f:a[p],i[p]!==void 0?i[p]!==f&&(i[p]=!1):i[p]=f,f>31?f<100?h[p]="YY":h[p]="YYYY":f>12&&f<=31?(h[p]="dd",C=!0):h[p].length||(h[p]="mm"));if(C){for(p=0;p<i.length;p++)i[p]!==!1?a[p]>12&&h[p]!=="YY"&&h[p]!=="YYYY"&&(h[p]="YY"):a[p]>12&&h[p]==="mm"&&(h[p]="dd");h.length===3&&h[1]==="dd"&&h[2]==="dd"&&(h[2]="YY"),l=h.join("/")}return s&&(this.options.dateFormat=l),l}emit(t){m(this,t.type,t)}
1export(t,r){throw this.emit({type:"exportError",columns:[],headers:[]}),Error("Not implemented")}getTable(){throw Error("Not implemented")}guessType(t){let r="string";if(typeof t=="string"){let s=this.trim(`${t}`),i=this.decimalRegExp,a=this.trim(s,!0);i&&(a=i.test(a)?a.replace(i,"$1.$2"):"");let l=parseFloat(a);+a===l?t=l:r=g(this.parseDate(t))?"Date":"string"}return typeof t=="number"&&(r=t>31536e6?"Date":"number"),r}on(t,r){return y(this,t,r)}parse(t){throw this.emit({type:"parseError",columns:[],headers:[]}),Error("Not implemented")}parseDate(t,r){let s=this.options,i=r||s.dateFormat,a=NaN,l,c,h;if(s.parseDate)a=s.parseDate(t);else{if(i)(c=this.dateFormats[i])||(c=this.dateFormats["YYYY/mm/dd"]),(h=t.match(c.regex))&&(a=c.parser(h));else for(l in this.dateFormats)if(c=this.dateFormats[l],h=t.match(c.regex)){i=l,a=c.parser(h);break}!h&&(typeof(h=Date.parse(t))=="object"&&h!==null&&h.getTime?a=h.getTime()-6e4*h.getTimezoneOffset():g(h)&&(a=h-6e4*new Date(h).getTimezoneOffset(),t.indexOf("2001")===-1&&new Date(a).getFullYear()===2001&&(a=NaN)))}return a}trim(t,r){return typeof t=="string"&&(t=t.replace(/^\s+|\s+$/g,""),r&&/^[\d\s]+$/.test(t)&&(t=t.replace(/\s/g,""))),t}}return o.defaultOptions={dateFormat:"",alternativeFormat:"",startColumn:0,endColumn:Number.MAX_VALUE,startRow:0,endRow:Number.MAX_VALUE,firstRowAsNames:!0,switchRowsAndColumns:!1},o.getTableFromColumns=function(e=[],t=[]){let r=new d;for(let s=0,i=Math.max(t.length,e.length);s<i;++s)r.setColumn(t[s]||`${s}`,e[s]);return r},o}),T(w,"Data/DataCursor.js",[],function(){class d{constructor(y={}){this.emittingRegister=[],this.listenerMap={},this.stateMap=y}addListener(y,m,g){let n=this.listenerMap[y]=this.listenerMap[y]||{};return(n[m]=n[m]||[]).push(g),this}buildEmittingTag(y){return(y.cursor.type==="position"?[y.table.id,y.cursor.column,y.cursor.row,y.cursor.state,y.cursor.type]:[y.table.id,y.cursor.columns,y.cursor.firstRow,y.cursor.lastRow,y.cursor.state,y.cursor.type]).join("\0")}emitCursor(y,m,g,n){let o=y.id,e=m.state,t=this.listenerMap[o]&&this.listenerMap[o][e];if(t){let r=this.stateMap[o]=this.stateMap[o]??{},s=r[m.state]||[];n&&(s.length||(r[m.state]=s),d.getIndex(m,s)===-1&&s.push(m));let i={cursor:m,cursors:s,table:y};g&&(i.event=g);let a=this.emittingRegister,l=this.buildEmittingTag(i);if(a.indexOf(l)>=0)return this;try{this.emittingRegister.push(l);for(let c=0,h=t.length;c<h;++c)t[c].call(this,i)}finally{let c=this.emittingRegister.indexOf(l);c>=0&&this.emittingRegister.splice(c,1)}}return this}remitCursor(y,m){let g=this.stateMap[y]&&this.stateMap[y][m.state];if(g){let n=d.getIndex(m,g);n>=0&&g.splice(n,1)}return this}removeListener(y,m,g){let n=this.listenerMap[y]&&this.listenerMap[y][m];if(n){let o=n.indexOf(g);o>=0&&n.splice(o,1)}return this}}return d.version="1.0.0",function(b){function y(m,g){if(m.type==="range")return m;
1let n={type:"range",firstRow:m.row??(g&&g.firstRow)??0,lastRow:m.row??(g&&g.lastRow)??Number.MAX_VALUE,state:m.state};return m.column!==void 0&&(n.columns=[m.column]),n}b.getIndex=function(m,g){if(m.type==="position"){for(let n,o=0,e=g.length;o<e;++o)if((n=g[o]).type==="position"&&n.state===m.state&&n.column===m.column&&n.row===m.row)return o}else{let n=JSON.stringify(m.columns);for(let o,e=0,t=g.length;e<t;++e)if((o=g[e]).type==="range"&&o.state===m.state&&o.firstRow===m.firstRow&&o.lastRow===m.lastRow&&JSON.stringify(o.columns)===n)return e}return-1},b.isEqual=function(m,g){return m.type==="position"&&g.type==="position"?m.column===g.column&&m.row===g.row&&m.state===g.state:m.type==="range"&&g.type==="range"&&m.firstRow===g.firstRow&&m.lastRow===g.lastRow&&JSON.stringify(m.columns)===JSON.stringify(g.columns)},b.isInRange=function(m,g){g.type==="position"&&(g=y(g)),m.type==="position"&&(m=y(m,g));let n=m.columns,o=g.columns;return m.firstRow>=g.firstRow&&m.lastRow<=g.lastRow&&(!n||!o||n.every(e=>o.indexOf(e)>=0))},b.toPositions=function(m){if(m.type==="position")return[m];let g=m.columns||[],n=[],o=m.state;for(let e=m.firstRow,t=m.lastRow;e<t;++e){if(!g.length){n.push({type:"position",row:e,state:o});continue}for(let r=0,s=g.length;r<s;++r)n.push({type:"position",column:g[r],row:e,state:o})}return n},b.toRange=y}(d),d}),T(w,"Data/DataPoolDefaults.js",[],function(){return{connectors:[]}}),T(w,"Data/DataPool.js",[w["Data/Connectors/DataConnector.js"],w["Data/DataPoolDefaults.js"],w["Core/Utilities.js"]],function(d,b,y){class m{constructor(n=b){n.connectors=n.connectors||[],this.connectors={},this.options=n,this.waiting={}}emit(n){y.fireEvent(this,n.type,n)}getConnector(n){let o=this.connectors[n];if(o)return Promise.resolve(o);let e=this.waiting[n];if(!e){e=this.waiting[n]=[];let t=this.getConnectorOptions(n);if(!t)throw Error(`Connector '${n}' not found.`);this.loadConnector(t).then(r=>{delete this.waiting[n];for(let s=0,i=e.length;s<i;++s)e[s][0](r)}).catch(r=>{delete this.waiting[n];for(let s=0,i=e.length;s<i;++s)e[s][1](r)})}return new Promise((t,r)=>{e.push([t,r])})}getConnectorIds(){let n=this.options.connectors,o=[];for(let e=0,t=n.length;e<t;++e)o.push(n[e].id);return o}getConnectorOptions(n){let o=this.options.connectors;for(let e=0,t=o.length;e<t;++e)if(o[e].id===n)return o[e]}getConnectorTable(n){return this.getConnector(n).then(o=>o.table)}isNewConnector(n){return!this.connectors[n]}loadConnector(n){return new Promise((o,e)=>{this.emit({type:"load",options:n});let t=d.types[n.type];if(!t)throw Error(`Connector type not found. (${n.type})`);new t(n.options).load().then(r=>{this.connectors[n.id]=r,this.emit({type:"afterLoad",options:n}),o(r)}).catch(e)})}on(n,o){return y.addEvent(this,n,o)}setConnectorOptions(n){let o=this.options.connectors,e=this.connectors;this.emit({type:"setConnectorOptions",options:n});for(let t=0,r=o.length;t<r;++t)if(o[t].id===n.id){o.splice(t,1);break}e[n.id]&&(e[n.id].stopPolling(),delete e[n.id]),o.push(n),this.emit({type:"afterSetConnectorOptions",options:n})}}return m.version="1.0.0",m}),T(w,"Data/Formula/FormulaParser.js",[],function(){let d=/^(?:FALSE|TRUE)/,b=/^[+\-]?\d+(?:\.\d+)?(?:e[+\-]\d+)?/,y=/^[+\-]?\d+(?:,\d+)?(?:e[+\-]\d+)?/,m=/^([A-Z][A-Z\d\.]*)\(/,g=/^(?:[+\-*\/^<=>]|<=|=>)/,n=/^(\$?[A-Z]+)(\$?\d+)\:(\$?[A-Z]+)(\$?\d+)/,o=/^R(\d*|\[\d+\])C(\d*|\[\d+\])\:R(\d*|\[\d+\])C(\d*|\[\d+\])/,e=/^(\$?[A-Z]+)(\$?\d+)(?![\:C])/,t=/^R(\d*|\[\d+\])C(\d*|\[\d+\])(?!\:)/;function r(c){let h=0;for(let u=0,C=c.length,f,p=1;u<C;++u){if((f=c[u])==="("){h||(p=u+1),++h;continue}if(f===")"&&!--h)return c.substring(p,u)}if(h>0){let u=Error("Incomplete parantheses.");throw u.name="FormulaParseError",u}return""}function s(c){let h=-1;for(let C=0,f=c.length,p,N=!1;C<f;++C){if((p=c[C])==="\\"){N=!N;continue}if(N){N=!1;continue}if(p==='"'){if(!(h<0))return c.substring(h+1,C);h=C}}let u=Error("Incomplete string.");throw u.name="FormulaParseError",u}function i(c,h){let u;if(u=c.match(o)){let f=u[2]===""||u[2][0]==="[",p=u[1]===""||u[1][0]==="[",N=u[4]===""||u[4][0]==="[",v=u[3]===""||u[3][0]==="[",F={type:"range",beginColumn:f?parseInt(u[2].substring(1,-1)||"0",10):parseInt(u[2],10)-1,beginRow:p?parseInt(u[1].substring(1,-1)||"0",10):parseInt(u[1],10)-1,endColumn:N?parseInt(u[4].substring(1,-1)||"0",10):parseInt(u[4],10)-1,endRow:v?parseInt(u[3].substring(1,-1)||"0",10):parseInt(u[3],10)-1};return f&&(F.beginColumnRelative=!0),p&&(F.beginRowRelative=!0),N&&(F.endColumnRelative=!0),v&&(F.endRowRelative=!0),F}if(u=c.match(n)){let f=u[1][0]!=="$",p=u[2][0]!=="$",N=u[3][0]!=="$",v=u[4][0]!=="$",F={type:"range",beginColumn:l(f?u[1]:u[1].substring(1))-1,beginRow:parseInt(p?u[2]:u[2].substring(1),10)-1,endColumn:l(N?u[3]:u[3].substring(1))-1,endRow:parseInt(v?u[4]:u[4].substring(1),10)-1};return f&&(F.beginColumnRelative=!0),p&&(F.beginRowRelative=!0),N&&(F.endColumnRelative=!0),v&&(F.endRowRelative=!0),F}let C=a(c,h);
1return C.length===1&&typeof C[0]!="string"?C[0]:C}function a(c,h){let u=h?y:b,C=[],f,p=(c[0]==="="?c.substring(1):c).trim();for(;p;){if(f=p.match(t)){let F=f[2]===""||f[2][0]==="[",D=f[1]===""||f[1][0]==="[",R={type:"reference",column:F?parseInt(f[2].substring(1,-1)||"0",10):parseInt(f[2],10)-1,row:D?parseInt(f[1].substring(1,-1)||"0",10):parseInt(f[1],10)-1};F&&(R.columnRelative=!0),D&&(R.rowRelative=!0),C.push(R),p=p.substring(f[0].length).trim();continue}if(f=p.match(e)){let F=f[1][0]!=="$",D=f[2][0]!=="$",R={type:"reference",column:l(F?f[1]:f[1].substring(1))-1,row:parseInt(D?f[2]:f[2].substring(1),10)-1};F&&(R.columnRelative=!0),D&&(R.rowRelative=!0),C.push(R),p=p.substring(f[0].length).trim();continue}if(f=p.match(g)){C.push(f[0]),p=p.substring(f[0].length).trim();continue}if(f=p.match(d)){C.push(f[0]==="TRUE"),p=p.substring(f[0].length).trim();continue}if(f=p.match(u)){C.push(parseFloat(f[0])),p=p.substring(f[0].length).trim();continue}if(p[0]==='"'){let F=s(p);C.push(F.substring(1,-1)),p=p.substring(F.length+2).trim();continue}if(f=p.match(m)){let F=r(p=p.substring(f[1].length).trim());C.push({type:"function",name:f[1],args:function(D,R){let j=[],O=R?";":",",A=0,x="";for(let M=0,L=D.length,P;M<L;++M)if((P=D[M])===O&&!A&&x)j.push(i(x,R)),x="";else if(P!=='"'||A||x)P!==" "&&(x+=P,P==="("?++A:P===")"&&--A);else{let I=s(D.substring(M));j.push(I),M+=I.length+1}return!A&&x&&j.push(i(x,R)),j}(F,h)}),p=p.substring(F.length+2).trim();continue}if(p[0]==="("){let F=r(p);if(F){C.push(a(F,h)),p=p.substring(F.length+2).trim();continue}}let N=c.length-p.length,v=Error("Unexpected character `"+c.substring(N,N+1)+"` at position "+(N+1)+". (`..."+c.substring(N-5,N+6)+"...`)");throw v.name="FormulaParseError",v}return C}function l(c){let h=0;for(let u=0,C=c.length,f,p=c.length-1;u<C;++u)(f=c.charCodeAt(u))>=65&&f<=90&&(h+=(f-64)*Math.pow(26,p)),--p;return h}return{parseFormula:a}}),T(w,"Data/Formula/FormulaTypes.js",[],function(){let d=["+","-","*","/","^","=","<","<=",">",">="];return{isFormula:function(b){return b instanceof Array},isFunction:function(b){return typeof b=="object"&&!(b instanceof Array)&&b.type==="function"},isOperator:function(b){return typeof b=="string"&&d.indexOf(b)>=0},isRange:function(b){return typeof b=="object"&&!(b instanceof Array)&&b.type==="range"},isReference:function(b){return typeof b=="object"&&!(b instanceof Array)&&b.type==="reference"},isValue:function(b){return typeof b=="boolean"||typeof b=="number"||typeof b=="string"}}}),T(w,"Data/Formula/FormulaProcessor.js",[w["Data/Formula/FormulaTypes.js"]],function(d){let{isFormula:b,isFunction:y,isOperator:m,isRange:g,isReference:n,isValue:o}=d,e=/ */,t=Number.MAX_VALUE/1.000000000001,r=Number.MAX_VALUE/1.000000000002,s=Number.MAX_VALUE,i={"^":3,"*":2,"/":2,"+":1,"-":1,"=":0,"<":0,"<=":0,">":0,">=":0},a={},l=/^[A-Z][A-Z\.]*$/;function c(D){switch(typeof D){case"boolean":return D?s:t;case"string":return r;case"number":return D;default:return NaN}}
1function h(D){return typeof D=="string"?D.toLowerCase().replace(e,"\0"):D}function u(D){switch(typeof D){case"boolean":return D?1:0;case"string":return parseFloat(D.replace(",","."));case"number":return D;default:return NaN}}function C(D,R,j){let O;switch(D){case"=":return h(R)===h(j);case"<":return typeof R==typeof j?h(R)<h(j):c(R)<c(j);case"<=":return typeof R==typeof j?h(R)<=h(j):c(R)<=c(j);case">":return typeof R==typeof j?h(R)>h(j):c(R)>c(j);case">=":return typeof R==typeof j?h(R)>=h(j):c(R)>=c(j)}switch(R=u(R),j=u(j),D){case"+":O=R+j;break;case"-":O=R-j;break;case"*":O=R*j;break;case"/":O=R/j;break;case"^":O=Math.pow(R,j);break;default:return NaN}return O%1?Math.round(1e9*O)/1e9:O}function f(D,R){return o(D)?D:g(D)?R&&p(D,R)||[]:y(D)?F(D,R):v(b(D)?D:[D],R)}function p(D,R){let j=R.getColumnNames().slice(D.beginColumn,D.endColumn+1),O=[];for(let A=0,x=j.length,M;A<x;++A){let L=R.getColumn(j[A],!0)||[];for(let P=D.beginRow,I=D.endRow+1;P<I;++P)typeof(M=L[P])=="string"&&M[0]==="="&&R!==R.modified&&(M=R.modified.getCell(j[A],P)),O.push(o(M)?M:NaN)}return O}function N(D,R){let j=R.getColumnNames()[D.column];if(j){let O=R.getCell(j,D.row);if(typeof O=="string"&&O[0]==="="&&R!==R.modified){let A=R.modified.getCell(j,D.row);return o(A)?A:NaN}return o(O)?O:NaN}return NaN}function v(D,R){let j;for(let O=0,A=D.length,x,M,L,P;O<A;++O){if(m(x=D[O])){M=x;continue}if(o(x)?P=x:b(x)?P=v(D,R):y(x)?P=o(L=F(x,R))?L:NaN:n(x)&&(P=R&&N(x,R)),P!==void 0){if(j===void 0)j=M?C(M,0,P):P;else{if(!M)return NaN;let I=D[O+1];m(I)&&i[I]>i[M]&&(P=C(I,P,v(D.slice(O+2))),O=A),j=C(M,j,P)}M=void 0,P=void 0}}return o(j)?j:NaN}function F(D,R,j){let O=a[D.name];if(O)try{return O(D.args,R)}catch{return NaN}let A=Error(`Function "${D.name}" not found.`);throw A.name="FormulaProcessError",A}return{asNumber:u,getArgumentValue:f,getArgumentsValues:function(D,R){let j=[];for(let O=0,A=D.length;O<A;++O)j.push(f(D[O],R));return j},getRangeValues:p,getReferenceValue:N,processFormula:v,processorFunctions:a,registerProcessorFunction:function(D,R){return l.test(D)&&!a[D]&&!!(a[D]=R)},translateReferences:function D(R,j=0,O=0){for(let A=0,x=R.length,M;A<x;++A)(M=R[A])instanceof Array?D(M,j,O):y(M)?D(M.args,j,O):g(M)?(M.beginColumnRelative&&(M.beginColumn+=j),M.beginRowRelative&&(M.beginRow+=O),M.endColumnRelative&&(M.endColumn+=j),M.endRowRelative&&(M.endRow+=O)):n(M)&&(M.columnRelative&&(M.column+=j),M.rowRelative&&(M.row+=O));return R}}}),T(w,"Data/Formula/Functions/ABS.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){let{getArgumentValue:b}=d;function y(m,g){let n=b(m[0],g);switch(typeof n){case"number":return Math.abs(n);case"object":{let o=[];for(let e=0,t=n.length,r;e<t;++e){if(typeof(r=n[e])!="number")return NaN;o.push(Math.abs(r))}return o}default:return NaN}}return d.registerProcessorFunction("ABS",y),y}),T(w,"Data/Formula/Functions/AND.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){let{getArgumentValue:b}=d;function y(m,g){for(let n=0,o=m.length,e;n<o;++n)if(!(e=b(m[n],g))||typeof e=="object"&&!y(e,g))return!1;return!0}return d.registerProcessorFunction("AND",y),y}),T(w,"Data/Formula/Functions/AVERAGE.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){let{getArgumentsValues:b}=d;function y(m,g){let n=b(m,g),o=0,e=0;for(let t=0,r=n.length,s;t<r;++t)switch(typeof(s=n[t])){case"number":isNaN(s)||(++o,e+=s);break;case"object":for(let i=0,a=s.length,l;i<a;++i)typeof(l=s[i])!="number"||isNaN(l)||(++o,e+=l)}return o?e/o:0}return d.registerProcessorFunction("AVERAGE",y),y}),T(w,"Data/Formula/Functions/AVERAGEA.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){let{getArgumentValue:b}=d;function y(m,g){let n=0,o=0;for(let e=0,t=m.length,r;e<t;++e)switch(typeof(r=b(m[e],g))){case"boolean":++n,o+=r?1:0;continue;case"number":isNaN(r)||(++n,o+=r);continue;case"string":++n;continue;default:for(let s=0,i=r.length,a;s<i;++s)switch(typeof(a=r[s])){case"boolean":++n,o+=a?1:0;continue;
1case"number":isNaN(a)||(++n,o+=a);continue;case"string":++n;continue}continue}return n?o/n:0}return d.registerProcessorFunction("AVERAGEA",y),y}),T(w,"Data/Formula/Functions/COUNT.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){function b(y,m){let g=d.getArgumentsValues(y,m),n=0;for(let o=0,e=g.length,t;o<e;++o)switch(typeof(t=g[o])){case"number":!isNaN(t)&&++n;break;case"object":n+=b(t,m)}return n}return d.registerProcessorFunction("COUNT",b),b}),T(w,"Data/Formula/Functions/COUNTA.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){function b(y,m){let g=d.getArgumentsValues(y,m),n=0;for(let o=0,e=g.length,t;o<e;++o){switch(typeof(t=g[o])){case"number":if(isNaN(t))continue;break;case"object":n+=b(t,m);continue;case"string":if(!t)continue}++n}return n}return d.registerProcessorFunction("COUNTA",b),b}),T(w,"Data/Formula/Functions/IF.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){let{getArgumentValue:b}=d;function y(m,g){return b(m[0],g)?b(m[1],g):b(m[2],g)}return d.registerProcessorFunction("IF",y),y}),T(w,"Data/Formula/Functions/ISNA.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){let{getArgumentValue:b}=d;function y(m,g){let n=b(m[0],g);return typeof n!="number"||isNaN(n)}return d.registerProcessorFunction("ISNA",y),y}),T(w,"Data/Formula/Functions/MAX.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){let{getArgumentsValues:b}=d;function y(m,g){let n=b(m,g),o=Number.NEGATIVE_INFINITY;for(let e=0,t=n.length,r;e<t;++e)switch(typeof(r=n[e])){case"number":r>o&&(o=r);break;case"object":(r=y(r))>o&&(o=r)}return isFinite(o)?o:0}return d.registerProcessorFunction("MAX",y),y}),T(w,"Data/Formula/Functions/MEDIAN.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){function b(y,m){let g=[],n=d.getArgumentsValues(y,m);for(let t=0,r=n.length,s;t<r;++t)switch(typeof(s=n[t])){case"number":isNaN(s)||g.push(s);break;case"object":for(let i=0,a=s.length,l;i<a;++i)typeof(l=s[i])!="number"||isNaN(l)||g.push(l)}let o=g.length;if(!o)return NaN;let e=Math.floor(o/2);return o%2?g[e]:(g[e-1]+g[e])/2}return d.registerProcessorFunction("MEDIAN",b),b}),T(w,"Data/Formula/Functions/MIN.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){let{getArgumentsValues:b}=d;function y(m,g){let n=b(m,g),o=Number.POSITIVE_INFINITY;for(let e=0,t=n.length,r;e<t;++e)switch(typeof(r=n[e])){case"number":r<o&&(o=r);break;case"object":(r=y(r))<o&&(o=r)}return isFinite(o)?o:0}return d.registerProcessorFunction("MIN",y),y}),T(w,"Data/Formula/Functions/MOD.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){let{getArgumentValue:b}=d;function y(m,g){let n=b(m[0],g),o=b(m[1],g);return typeof n=="object"&&(n=n[0]),typeof o=="object"&&(o=o[0]),typeof n!="number"||typeof o!="number"||o===0?NaN:n%o}return d.registerProcessorFunction("MOD",y),y}),T(w,"Data/Formula/Functions/MODE.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){function b(g,n){let o={},e=d.getArgumentsValues(g,n);for(let t=0,r=e.length,s;t<r;++t)switch(typeof(s=e[t])){case"number":isNaN(s)||(o[s]=(o[s]||0)+1);break;case"object":for(let i=0,a=s.length,l;i<a;++i)typeof(l=s[i])!="number"||isNaN(l)||(o[l]=(o[l]||0)+1)}return o}function y(g,n){let o=b(g,n),e=Object.keys(o);if(!e.length)return NaN;let t=[parseFloat(e[0])],r=o[e[0]];for(let s=1,i=e.length,a,l;s<i;++s)r<(l=o[a=e[s]])?(t=[parseFloat(a)],r=l):r===l&&t.push(parseFloat(a));return r>1?t:NaN}function m(g,n){let o=b(g,n),e=Object.keys(o);if(!e.length)return NaN;let t=parseFloat(e[0]),r=o[e[0]];for(let s=1,i=e.length,a,l,c;s<i;++s)r<(c=o[a=e[s]])?(t=parseFloat(a),r=c):r===c&&t>(l=parseFloat(a))&&(t=l,r=c);return r>1?t:NaN}return d.registerProcessorFunction("MODE",m),d.registerProcessorFunction("MODE.MULT",y),d.registerProcessorFunction("MODE.SNGL",m),{MULT:y,SNGL:m}}),T(w,"Data/Formula/Functions/NOT.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){let{getArgumentValue:b}=d;function y(m,g){let n=b(m[0],g);switch(typeof n=="object"&&(n=n[0]),typeof n){case"boolean":case"number":return!n}return NaN}return d.registerProcessorFunction("NOT",y),y}),T(w,"Data/Formula/Functions/OR.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){let{getArgumentValue:b}=d;function y(m,g){for(let n=0,o=m.length,e;n<o;++n)if(typeof(e=b(m[n],g))=="object"){if(y(e,g))return!0}else if(e)return!0;return!1}return d.registerProcessorFunction("OR",y),y}),T(w,"Data/Formula/Functions/PRODUCT.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){let{getArgumentsValues:b}=d;function y(m,g){let n=b(m,g),o=1,e=!1;for(let t=0,r=n.length,s;t<r;++t)switch(typeof(s=n[t])){case"number":isNaN(s)||(e=!0,o*=s);break;case"object":e=!0,o*=y(s,g)}return e?o:0}return d.registerProcessorFunction("PRODUCT",y),y}),T(w,"Data/Formula/Functions/SUM.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){function b(y,m){let g=d.getArgumentsValues(y,m),n=0;for(let o=0,e=g.length,t;o<e;++o)switch(typeof(t=g[o])){case"number":isNaN(t)||(n+=t);break;case"object":n+=b(t,m)}return n}return d.registerProcessorFunction("SUM",b),b}),T(w,"Data/Formula/Functions/XOR.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){let{getArgumentValue:b}=d;function y(m,g){for(let n=0,o=m.length,e,t;n<o;++n)switch(typeof(t=b(m[n],g))){case"boolean":case"number":if(e===void 0)e=!!t;else if(!!t!==e)return!0;break;case"object":for(let r=0,s=t.length,i;r<s;++r)switch(typeof(i=t[r])){case"boolean":case"number":if(e===void 0)e=!!i;else if(!!i!==e)return!0}}return!1}return d.registerProcessorFunction("XOR",y),y}),T(w,"Data/Formula/Formula.js",[w["Data/Formula/FormulaParser.js"],w["Data/Formula/FormulaProcessor.js"],w["Data/Formula/FormulaTypes.js"]],function(d,b,y){return{...d,...b,...y}}),T(w,"Data/Converters/CSVConverter.js",[w["Data/Converters/DataConverter.js"],w["Core/Utilities.js"]],function(d,b){let{merge:y}=b;class m extends d{constructor(n){let o=y(m.defaultOptions,n);super(o),this.columns=[],this.headers=[],this.dataTypes=[],this.options=o}export(n,o=this.options){let{useLocalDecimalPoint:e,lineDelimiter:t}=o,r=this.options.firstRowAsNames!==!1,{decimalPoint:s,itemDelimiter:i}=o;
1s||(s=i!==","&&e?1.1.toLocaleString()[1]:"."),i||(i=s===","?";":",");let a=n.getSortedColumns(o.usePresentationOrder),l=Object.keys(a),c=[],h=l.length,u=[];r&&c.push(l.map(C=>`"${C}"`).join(i));for(let C=0;C<h;C++){let f,p=l[C],N=a[p],v=N.length,F=n.whatIs(p);F&&(f=F.dataType);for(let D=0;D<v;D++){let R=N[D];if(u[D]||(u[D]=[]),f==="string"?R='"'+R+'"':typeof R=="number"?R=String(R).replace(".",s):typeof R=="string"&&(R=`"${R}"`),u[D][C]=R,C===h-1){let j=C;for(;u[D].length>2&&u[D][j]===void 0;)u[D].pop(),j--;c.push(u[D].join(i))}}}return c.join(t)}parse(n,o){let e=this.dataTypes,t=y(this.options,n),{beforeParse:r,lineDelimiter:s,firstRowAsNames:i,itemDelimiter:a}=t,l,c=0,{csv:h,startRow:u,endRow:C}=t,f;if(this.columns=[],this.emit({type:"parse",columns:this.columns,detail:o,headers:this.headers}),h&&r&&(h=r(h)),h){if(l=h.replace(/\r\n|\r/g,` 2`).split(s||` 3`),(!u||u<0)&&(u=0),(!C||C>=l.length)&&(C=l.length-1),a||(this.guessedItemDelimiter=this.guessDelimiter(l)),i){let N=l[0].split(a||this.guessedItemDelimiter||",");for(let v=0;v<N.length;v++)N[v]=N[v].trim().replace(/^["']|["']$/g,"");this.headers=N,u++}let p=0;for(c=u;c<=C;c++)l[c][0]==="#"?p++:this.parseCSVRow(l[c],c-u-p);e.length&&e[0].length&&e[0][1]==="date"&&!this.options.dateFormat&&this.deduceDateFormat(this.columns[0],null,!0);for(let N=0,v=this.columns.length;N<v;++N){f=this.columns[N];for(let F=0,D=f.length;F<D;++F)if(f[F]&&typeof f[F]=="string"){let R=this.asGuessedType(f[F]);R instanceof Date&&(R=R.getTime()),this.columns[N][F]=R}}}this.emit({type:"afterParse",columns:this.columns,detail:o,headers:this.headers})}parseCSVRow(n,o){let e=this,t=e.columns||[],r=e.dataTypes,{startColumn:s,endColumn:i}=e.options,a=e.options.itemDelimiter||e.guessedItemDelimiter,{decimalPoint:l}=e.options;l&&l!==a||(l=e.guessedDecimalPoint||".");let c=0,h="",u="",C=0,f=0,p=F=>{h=n[F]},N=F=>{r.length<f+1&&r.push([F]),r[f][r[f].length-1]!==F&&r[f].push(F)},v=()=>{if(s>C||C>i){++C,u="";return}if(typeof u=="string"?!isNaN(parseFloat(u))&&isFinite(u)?(u=parseFloat(u),N("number")):isNaN(Date.parse(u))?N("string"):(u=u.replace(/\//g,"-"),N("date")):N("number"),t.length<f+1&&t.push([]),typeof u!="number"&&e.guessType(u)!=="number"&&l){let F=u;u=u.replace(l,"."),e.guessType(u)!=="number"&&(u=F)}t[f][o]=u,u="",++f,++C};if(n.trim().length&&n.trim()[0]!=="#"){for(;c<n.length;c++){if(p(c),h==="#"&&!/^#[A-F\d]{3,3}|[A-F\d]{6,6}/i.test(n.substring(c))){v();return}if(h==='"')for(p(++c);c<n.length&&h!=='"';)u+=h,p(++c);else h===a?v():u+=h}v()}}guessDelimiter(n){let o=0,e=0,t,r={",":0,";":0," ":0},s=n.length;for(let i=0;i<s;i++){let a=!1,l,c,h,u="";if(i>13)break;let C=n[i];for(let f=0;f<C.length&&(l=C[f],c=C[f+1],h=C[f-1],l!=="#");f++){if(l==='"')if(a){if(h!=='"'&&c!=='"'){for(;c===" "&&f<C.length;)c=C[++f];r[c]!==void 0&&r[c]++,a=!1}}else a=!0;else r[l]!==void 0?(isNaN(Date.parse(u=u.trim()))?(isNaN(Number(u))||!isFinite(Number(u)))&&r[l]++:r[l]++,u=""):u+=l;l===","&&e++,l==="."&&o++}}return r[";"]>r[","]?t=";":(r[","],r[";"],t=","),o>e?this.guessedDecimalPoint=".":this.guessedDecimalPoint=",",t}getTable(){return d.getTableFromColumns(this.columns,this.headers)}}return m.defaultOptions={...d.defaultOptions,lineDelimiter:` 4`},m}),T(w,"Data/Connectors/CSVConnector.js",[w["Data/Converters/CSVConverter.js"],w["Data/Connectors/DataConnector.js"],w["Core/Utilities.js"]],function(d,b,y){let{merge:m}=y;class g extends b{constructor(o){let e=m(g.defaultOptions,o);super(e),this.converter=new d(e),this.options=e,e.enablePolling&&this.startPolling(1e3*Math.max(e.dataRefreshRate||0,1))}load(o){let e=this,t=e.converter,r=e.table,{csv:s,csvURL:i,dataModifier:a}=e.options;return e.emit({type:"load",csv:s,detail:o,table:r}),Promise.resolve(i?fetch(i).then(l=>l.text()):s||"").then(l=>(l&&(r.deleteColumns(),t.parse({csv:l}),r.setColumns(t.getTable().getColumns())),e.setModifierOptions(a).then(()=>l))).then(l=>(e.emit({type:"afterLoad",csv:l,detail:o,table:r}),e)).catch(l=>{throw e.emit({type:"loadError",detail:o,error:l,table:r}),l})}}return g.defaultOptions={csv:"",csvURL:"",enablePolling:!1,dataRefreshRate:1,firstRowAsNames:!0},b.registerType("CSV",g),g}),T(w,"Data/Converters/JSONConverter.js",[w["Data/Converters/DataConverter.js"],w["Data/DataTable.js"],w["Core/Utilities.js"]],function(d,b,y){let{error:m,isArray:g,merge:n,objectEach:o}=y;class e extends d{constructor(r){let s=n(e.defaultOptions,r);super(s),this.columns=[],this.headers=[],this.options=s,this.table=new b}parse(r,s){let{beforeParse:i,orientation:a,firstRowAsNames:l,columnNames:c}=r=n(this.options,r),h=r.data;
4if(h){if(this.columns=[],this.emit({type:"parse",columns:this.columns,detail:s,headers:this.headers}),i&&(h=i(h)),h=h.slice(),a==="columns")for(let u=0,C=h.length;u<C;u++){let f=h[u];if(!(f instanceof Array))return;this.headers instanceof Array?(l?this.headers.push(`${f.shift()}`):c&&c instanceof Array&&this.headers.push(c[u]),this.table.setColumn(this.headers[u]||u.toString(),f)):m("JSONConverter: Invalid `columnNames` option.",!1)}else if(a==="rows"){l?this.headers=h.shift():c&&(this.headers=c);for(let u=0,C=h.length;u<C;u++){let f=h[u];if(g(f))for(let p=0,N=f.length;p<N;p++)this.columns.length<p+1&&this.columns.push([]),this.columns[p].push(f[p]),this.headers instanceof Array?this.table.setColumn(this.headers[p]||p.toString(),this.columns[p]):m("JSONConverter: Invalid `columnNames` option.",!1);else{let p=this.headers;if(p&&!(p instanceof Array)){let N={};o(p,(v,F)=>{N[F]=v.reduce((D,R)=>D[R],f)}),f=N}this.table.setRows([f],u)}}}this.emit({type:"afterParse",columns:this.columns,detail:s,headers:this.headers})}}getTable(){return this.table}}return e.defaultOptions={...d.defaultOptions,data:[],orientation:"rows"},e}),T(w,"Data/Connectors/JSONConnector.js",[w["Data/Connectors/DataConnector.js"],w["Core/Utilities.js"],w["Data/Converters/JSONConverter.js"]],function(d,b,y){let{merge:m}=b;class g extends d{constructor(o){let e=m(g.defaultOptions,o);super(e),this.converter=new y(e),this.options=e,e.enablePolling&&this.startPolling(1e3*Math.max(e.dataRefreshRate||0,1))}load(o){let e=this,t=e.converter,r=e.table,{data:s,dataUrl:i,dataModifier:a}=e.options;return e.emit({type:"load",data:s,detail:o,table:r}),Promise.resolve(i?fetch(i).then(l=>l.json()):s||[]).then(l=>(l&&(r.deleteColumns(),t.parse({data:l}),r.setColumns(t.getTable().getColumns())),e.setModifierOptions(a).then(()=>l))).then(l=>(e.emit({type:"afterLoad",data:l,detail:o,table:r}),e)).catch(l=>{throw e.emit({type:"loadError",detail:o,error:l,table:r}),l})}}return g.defaultOptions={data:[],enablePolling:!1,dataRefreshRate:0,firstRowAsNames:!0,orientation:"rows"},d.registerType("JSON",g),g}),T(w,"Data/Converters/GoogleSheetsConverter.js",[w["Data/Converters/DataConverter.js"],w["Core/Utilities.js"]],function(d,b){let{merge:y,uniqueKey:m}=b;class g extends d{constructor(o){let e=y(g.defaultOptions,o);super(e),this.columns=[],this.header=[],this.options=e}parse(o,e){var l;let t,r=y(this.options,o),s=(((l=r.json)==null?void 0:l.values)||[]).map(c=>c.slice());if(s.length===0)return!1;this.header=[],this.columns=[],this.emit({type:"parse",columns:this.columns,detail:e,headers:this.header});let{beforeParse:i,json:a}=r;i&&a&&(s=i(a.values)),this.columns=s;for(let c=0,h=s.length;c<h;c++){t=s[c],this.header[c]=r.firstRowAsNames?`${t.shift()}`:m();for(let u=0,C=t.length;u<C;++u)if(t[u]&&typeof t[u]=="string"){let f=this.asGuessedType(t[u]);f instanceof Date&&(f=f.getTime()),this.columns[c][u]=f}}
4this.emit({type:"afterParse",columns:this.columns,detail:e,headers:this.header})}getTable(){return d.getTableFromColumns(this.columns,this.header)}}return g.defaultOptions={...d.defaultOptions},g}),T(w,"Data/Connectors/GoogleSheetsConnector.js",[w["Data/Connectors/DataConnector.js"],w["Data/Converters/GoogleSheetsConverter.js"],w["Core/Utilities.js"]],function(d,b,y){let{merge:m,pick:g}=y;class n extends d{constructor(e){let t=m(n.defaultOptions,e);super(t),this.converter=new b(t),this.options=t}load(e){let t=this,r=t.converter,s=t.table,{dataModifier:i,dataRefreshRate:a,enablePolling:l,firstRowAsNames:c,googleAPIKey:h,googleSpreadsheetKey:u}=t.options,C=n.buildFetchURL(h,u,t.options);if(t.emit({type:"load",detail:e,table:s,url:C}),!URL.canParse(C))throw Error("Invalid URL: "+C);return fetch(C).then(f=>f.json()).then(f=>{if(typeof f=="object"&&f&&typeof f.error=="object"&&f.error&&typeof f.error.code=="number"&&typeof f.error.message=="string"&&typeof f.error.status=="string")throw Error(f.error.message);return r.parse({firstRowAsNames:c,json:f}),s.deleteColumns(),s.setColumns(r.getTable().getColumns()),t.setModifierOptions(i)}).then(()=>(t.emit({type:"afterLoad",detail:e,table:s,url:C}),l&&setTimeout(()=>t.load(),1e3*Math.max(a||0,1)),t)).catch(f=>{throw t.emit({type:"loadError",detail:e,error:f,table:s}),f})}}return n.defaultOptions={googleAPIKey:"",googleSpreadsheetKey:"",enablePolling:!1,dataRefreshRate:2,firstRowAsNames:!0},function(o){let e="ABCDEFGHIJKLMNOPQRSTUVWXYZ";function t(r={}){let{endColumn:s,endRow:i,googleSpreadsheetRange:a,startColumn:l,startRow:c}=r;return a||(e[l||0]||"A")+(Math.max(c||0,0)+1)+":"+(e[g(s,25)]||"Z")+(i?Math.max(i,0):"Z")}o.buildFetchURL=function(r,s,i={}){let a=new URL(`https://sheets.googleapis.com/v4/spreadsheets/${s}/values/`),l=i.onlyColumnNames?"A1:Z1":t(i);a.pathname+=l;let c=a.searchParams;return c.set("alt","json"),i.onlyColumnNames||(c.set("dateTimeRenderOption","FORMATTED_STRING"),c.set("majorDimension","COLUMNS"),c.set("valueRenderOption","UNFORMATTED_VALUE")),c.set("prettyPrint","false"),c.set("key",r),a.href},o.buildQueryRange=t}(n),d.registerType("GoogleSheets",n),n}),T(w,"Data/Converters/HTMLTableConverter.js",[w["Data/Converters/DataConverter.js"],w["Core/Utilities.js"]],function(d,b){let{merge:y}=b;class m extends d{constructor(n){let o=y(m.defaultOptions,n);super(o),this.columns=[],this.headers=[],this.options=o,o.tableElement&&(this.tableElement=o.tableElement,this.tableElementID=o.tableElement.id)}export(n,o=this.options){let e=o.firstRowAsNames!==!1,t=o.useMultiLevelHeaders,r=n.getSortedColumns(o.usePresentationOrder),s=Object.keys(r),i=[],a=s.length,l=[],c="";if(e){let u=[];if(t){for(let C of s){let f=(r[C].shift()||"").toString();u.push(f)}c=this.getTableHeaderHTML(s,u,o)}else c=this.getTableHeaderHTML(void 0,s,o)}for(let u=0;u<a;u++){let C=r[s[u]],f=C.length;for(let p=0;p<f;p++){let N=C[p];l[p]||(l[p]=[]),typeof N=="string"||typeof N=="number"||N===void 0||(N=(N||"").toString()),l[p][u]=this.getCellHTMLFromValue(u?"td":"th",null,u?"":'scope="row"',N),u===a-1&&i.push("<tr>"+l[p].join("")+"</tr>")}}let h="";return o.tableCaption&&(h='<caption class="highcharts-table-caption">'+o.tableCaption+"</caption>"),"<table>"+h+c+"<tbody>"+i.join("")+"</tbody></table>"}getCellHTMLFromValue(n,o,e,t,r){let s=t,i="text"+(o?" "+o:"");return typeof s=="number"?(s=s.toString(),r===","&&(s=s.replace(".",r)),i="number"):t||(s="",i="empty"),"<"+n+(e?" "+e:"")+' class="'+i+'">'+s+"</"+n+">"}getTableHeaderHTML(n=[],o=[],e=this.options){let{useMultiLevelHeaders:t,useRowspanHeaders:r}=e,s="<thead>",i=0,a=o&&o.length,l,c=0,h;if(t&&n&&o&&!function(u,C){let f=u.length;if(C.length!==f)return!1;for(;--f;)if(u[f]!==C[f])return!1;return!0}(n,o)){for(s+="<tr>";i<a;++i)(l=n[i])===n[i+1]?++c:c?(s+=this.getCellHTMLFromValue("th","highcharts-table-topheading",'scope="col" colspan="'+(c+1)+'"',l),c=0):(l===o[i]?r?(h=2,delete o[i]):(h=1,o[i]=""):h=1,s+=this.getCellHTMLFromValue("th","highcharts-table-topheading",'scope="col"'+(h>1?' valign="top" rowspan="'+h+'"':""),l));s+="</tr>"}if(o){for(s+="<tr>",i=0,a=o.length;i<a;++i)o[i]!==void 0&&(s+=this.getCellHTMLFromValue("th",null,'scope="col"',o[i]));s+="</tr>"}return s+"</thead>"}parse(n,o){let e=[],t=[],r=y(this.options,n),{endRow:s,startColumn:i,endColumn:a,firstRowAsNames:l}=r,c=r.tableElement||this.tableElement;
4if(!(c instanceof HTMLElement)){this.emit({type:"parseError",columns:e,detail:o,headers:t,error:"Not a valid HTML Table"});return}this.tableElement=c,this.tableElementID=c.id,this.emit({type:"parse",columns:this.columns,detail:o,headers:this.headers});let h=c.getElementsByTagName("tr"),u=h.length,C=0,f,{startRow:p}=r;if(l&&u){let N=h[0].children,v=N.length;for(let F=i;F<v&&!(F>a);F++)((f=N[F]).tagName==="TD"||f.tagName==="TH")&&t.push(f.innerHTML);p++}for(;C<u;){if(C>=p&&C<=s){let N=h[C].children,v=N.length,F=0;for(;F<v;){let D=F-i,R=e[D];if(((f=N[F]).tagName==="TD"||f.tagName==="TH")&&F>=i&&F<=a){e[D]||(e[D]=[]);let j=this.asGuessedType(f.innerHTML);j instanceof Date&&(j=j.getTime()),e[D][C-p]=j;let O=1;for(;C-p>=O&&R[C-p-O]===void 0;)R[C-p-O]=null,O++}F++}}C++}this.columns=e,this.headers=t,this.emit({type:"afterParse",columns:e,detail:o,headers:t})}getTable(){return d.getTableFromColumns(this.columns,this.headers)}}return m.defaultOptions={...d.defaultOptions,useRowspanHeaders:!0,useMultiLevelHeaders:!0},m}),T(w,"Data/Connectors/HTMLTableConnector.js",[w["Data/Connectors/DataConnector.js"],w["Core/Globals.js"],w["Data/Converters/HTMLTableConverter.js"],w["Core/Utilities.js"]],function(d,b,y,m){let{win:g}=b,{merge:n}=m;class o extends d{constructor(t){let r=n(o.defaultOptions,t);super(r),this.converter=new y(r),this.options=r}load(t){let r,s=this,i=s.converter,a=s.table,{dataModifier:l,table:c}=s.options;if(s.emit({type:"load",detail:t,table:a,tableElement:s.tableElement}),typeof c=="string"?(s.tableID=c,r=g.document.getElementById(c)):(r=c,s.tableID=r.id),s.tableElement=r||void 0,!s.tableElement){let h="HTML table not provided, or element with ID not found";return s.emit({type:"loadError",detail:t,error:h,table:a}),Promise.reject(Error(h))}return i.parse(n({tableElement:s.tableElement},s.options),t),a.deleteColumns(),a.setColumns(i.getTable().getColumns()),s.setModifierOptions(l).then(()=>(s.emit({type:"afterLoad",detail:t,table:a,tableElement:s.tableElement}),s))}}return o.defaultOptions={table:""},d.registerType("HTMLTable",o),o}),T(w,"Data/Modifiers/ChainModifier.js",[w["Data/Modifiers/DataModifier.js"],w["Core/Utilities.js"]],function(d,b){let{merge:y}=b;class m extends d{constructor(n,...o){super(),this.chain=o,this.options=y(m.defaultOptions,n);let e=this.options.chain||[];for(let t=0,r=e.length,s,i;t<r;++t)(s=e[t]).type&&(i=d.types[s.type])&&o.push(new i(s))}add(n,o){this.emit({type:"addModifier",detail:o,modifier:n}),this.chain.push(n),this.emit({type:"addModifier",detail:o,modifier:n})}clear(n){this.emit({type:"clearChain",detail:n}),this.chain.length=0,this.emit({type:"afterClearChain",detail:n})}async modify(n,o){let e=this.options.reverse?this.chain.slice().reverse():this.chain.slice();n.modified===n&&(n.modified=n.clone(!1,o));let t=n;for(let r=0,s=e.length;r<s;++r){try{await e[r].modify(t,o)}catch(i){throw this.emit({type:"error",detail:o,table:n}),i}t=t.modified}return n.modified=t,n}modifyCell(n,o,e,t,r){let s=this.options.reverse?this.chain.reverse():this.chain;if(s.length){let i=n.clone();for(let a=0,l=s.length;a<l;++a)s[a].modifyCell(i,o,e,t,r),i=i.modified;n.modified=i}return n}modifyColumns(n,o,e,t){let r=this.options.reverse?this.chain.reverse():this.chain.slice();if(r.length){let s=n.clone();for(let i=0,a=r.length;i<a;++i)r[i].modifyColumns(s,o,e,t),s=s.modified;n.modified=s}return n}modifyRows(n,o,e,t){let r=this.options.reverse?this.chain.reverse():this.chain.slice();if(r.length){let s=n.clone();for(let i=0,a=r.length;i<a;++i)r[i].modifyRows(s,o,e,t),s=s.modified;n.modified=s}return n}modifyTable(n,o){this.emit({type:"modify",detail:o,table:n});let e=this.options.reverse?this.chain.reverse():this.chain.slice(),t=n.modified;for(let r=0,s=e.length;r<s;++r)t=e[r].modifyTable(t,o).modified;return n.modified=t,this.emit({type:"afterModify",detail:o,table:n}),n}remove(n,o){let e=this.chain;this.emit({type:"removeModifier",detail:o,modifier:n}),e.splice(e.indexOf(n),1),this.emit({type:"afterRemoveModifier",detail:o,modifier:n})}}return m.defaultOptions={type:"Chain"},d.registerType("Chain",m),m}),T(w,"Data/Modifiers/InvertModifier.js",[w["Data/Modifiers/DataModifier.js"],w["Core/Utilities.js"]],function(d,b){let{merge:y}=b;class m extends d{constructor(n){super(),this.options=y(m.defaultOptions,n)}
4modifyCell(n,o,e,t,r){let s=n.modified,i=s.getRowIndexBy("columnNames",o);return i===void 0?s.setColumns(this.modifyTable(n.clone()).getColumns(),void 0,r):s.setCell(`${e}`,i,t,r),n}modifyColumns(n,o,e,t){let r=n.modified,s=r.getColumn("columnNames")||[],i=n.getColumnNames(),a=n.getRowCount()!==s.length;if(!a){for(let l=0,c=i.length;l<c;++l)if(i[l]!==s[l]){a=!0;break}}if(a)return this.modifyTable(n,t);i=Object.keys(o);for(let l=0,c=i.length,h,u,C;l<c;++l){h=o[u=i[l]],C=r.getRowIndexBy("columnNames",u)||r.getRowCount();for(let f=0,p=e,N=h.length;f<N;++f,++p)r.setCell(`${p}`,C,h[f],t)}return n}modifyRows(n,o,e,t){let r=n.getColumnNames(),s=n.modified,i=s.getColumn("columnNames")||[],a=n.getRowCount()!==i.length;if(!a){for(let l=0,c=r.length;l<c;++l)if(r[l]!==i[l]){a=!0;break}}if(a)return this.modifyTable(n,t);for(let l=0,c=e,h=o.length,u;l<h;++l,++c)if((u=o[l])instanceof Array)s.setColumn(`${c}`,u);else for(let C=0,f=r.length;C<f;++C)s.setCell(`${c}`,C,u[r[C]],t);return n}modifyTable(n,o){this.emit({type:"modify",detail:o,table:n});let e=n.modified;if(n.hasColumns(["columnNames"])){let t=((n.deleteColumns(["columnNames"])||{}).columnNames||[]).map(s=>`${s}`),r={};for(let s=0,i=n.getRowCount(),a;s<i;++s)(a=n.getRow(s))&&(r[t[s]]=a);e.deleteColumns(),e.setColumns(r)}else{let t={};for(let r=0,s=n.getRowCount(),i;r<s;++r)(i=n.getRow(r))&&(t[`${r}`]=i);t.columnNames=n.getColumnNames(),e.deleteColumns(),e.setColumns(t)}return this.emit({type:"afterModify",detail:o,table:n}),n}}return m.defaultOptions={type:"Invert"},d.registerType("Invert",m),m}),T(w,"Data/Modifiers/MathModifier.js",[w["Data/Modifiers/DataModifier.js"],w["Data/Formula/FormulaParser.js"],w["Data/Formula/FormulaProcessor.js"]],function(d,b,y){class m extends d{constructor(n){super(),this.options={...m.defaultOptions,...n}}modifyTable(n,o){this.emit({type:"modify",detail:o,table:n});let e=this.options.alternativeSeparators,t=this.options.formulaColumns||n.getColumnNames(),r=n.modified;for(let i=0,a=t.length,l;i<a;++i)l=t[i],t.indexOf(l)>=0&&r.setColumn(l,this.processColumn(n,l));let s=this.options.columnFormulas||[];for(let i=0,a=s.length,l,c;i<a;++i)l=s[i],c=b.parseFormula(l.formula,e),r.setColumn(l.column,this.processColumnFormula(c,n,l.rowStart,l.rowEnd));return this.emit({type:"afterModify",detail:o,table:n}),n}processColumn(n,o,e=0){let t=this.options.alternativeSeparators,r=(n.getColumn(o,!0)||[]).slice(e>0?e:0);for(let s=0,i=r.length,a=[],l;s<i;++s)if(typeof(l=r[s])=="string"&&l[0]==="=")try{a=l===""?a:b.parseFormula(l.substring(1),t),r[s]=y.processFormula(a,n)}catch{r[s]=NaN}return r}processColumnFormula(n,o,e=0,t=o.getRowCount()){e=e>=0?e:0,t=t>=0?t:o.getRowCount()+t;let r=[],s=o.modified;for(let i=0,a=t-e;i<a;++i)try{r[i]=y.processFormula(n,s)}catch{r[i]=NaN}finally{n=y.translateReferences(n,0,1)}return r}}return m.defaultOptions={type:"Math",alternativeSeparators:!1},d.registerType("Math",m),m}),T(w,"Data/Modifiers/RangeModifier.js",[w["Data/Modifiers/DataModifier.js"],w["Core/Utilities.js"]],function(d,b){let{merge:y}=b;class m extends d{constructor(n){super(),this.options=y(m.defaultOptions,n)}modifyTable(n,o){this.emit({type:"modify",detail:o,table:n});let e=[],{additive:t,ranges:r,strict:s}=this.options;if(r.length){let i=n.modified,a=n.getColumns(),l=[];for(let c=0,h=r.length,u,C;c<h;++c)if(u=r[c],!s||typeof u.minValue==typeof u.maxValue){c>0&&!t&&(i.deleteRows(),i.setRows(l),i.setOriginalRowIndexes(e,!0),a=i.getColumns(),l=[],e=[]),C=a[u.column]||[];for(let f=0,p=C.length,N,v,F;f<p;++f){switch(typeof(N=C[f])){default:continue;case"boolean":case"number":case"string":}(!s||typeof N==typeof u.minValue)&&N>=u.minValue&&N<=u.maxValue&&(t?(v=n.getRow(f),F=n.getOriginalRowIndex(f)):(v=i.getRow(f),F=i.getOriginalRowIndex(f)),v&&(l.push(v),e.push(F)))}}i.deleteRows(),i.setRows(l),i.setOriginalRowIndexes(e)}return this.emit({type:"afterModify",detail:o,table:n}),n}}return m.defaultOptions={type:"Range",ranges:[]},d.registerType("Range",m),m}),T(w,"Data/Modifiers/SortModifier.js",[w["Data/Modifiers/DataModifier.js"],w["Data/DataTable.js"],w["Core/Utilities.js"]],function(d,b,y){let{merge:m}=y;class g extends d{static ascending(o,e){return(o||0)<(e||0)?-1:(o||0)>(e||0)?1:0}static descending(o,e){return(e||0)<(o||0)?-1:(e||0)>(o||0)?1:0}constructor(o){super(),this.options=m(g.defaultOptions,o)}getRowReferences(o){let e=o.getRows(),t=[];for(let r=0,s=e.length;r<s;++r)t.push({index:r,row:e[r]});return t}modifyCell(o,e,t,r,s){let{orderByColumn:i,orderInColumn:a}=this.options;return e===i&&(a?(o.modified.setCell(e,t,r),o.modified.setColumn(a,this.modifyTable(new b({columns:o.getColumns([i,a])})).modified.getColumn(a))):this.modifyTable(o,s)),o}modifyColumns(o,e,t,r){let{orderByColumn:s,orderInColumn:i}=this.options,a=Object.keys(e);return a.indexOf(s)>-1&&(i&&e[a[0]].length?(o.modified.setColumns(e,t),o.modified.setColumn(i,this.modifyTable(new b({columns:o.getColumns([s,i])})).modified.getColumn(i))):this.modifyTable(o,r)),o}modifyRows(o,e,t,r){let{orderByColumn:s,orderInColumn:i}=this.options;return i&&e.length?(o.modified.setRows(e,t),o.modified.setColumn(i,this.modifyTable(new b({columns:o.getColumns([s,i])})).modified.getColumn(i))):this.modifyTable(o,r),o}
4modifyTable(o,e){this.emit({type:"modify",detail:e,table:o});let t=o.getColumnNames(),r=o.getRowCount(),s=this.getRowReferences(o),{direction:i,orderByColumn:a,orderInColumn:l}=this.options,c=i==="asc"?g.ascending:g.descending,h=t.indexOf(a),u=o.modified;if(h!==-1&&s.sort((C,f)=>c(C.row[h],f.row[h])),l){let C=[];for(let f=0;f<r;++f)C[s[f].index]=f;u.setColumns({[l]:C})}else{let C,f=[],p=[];for(let N=0;N<r;++N)C=s[N],f.push(u.getOriginalRowIndex(C.index)),p.push(C.row);u.setRows(p,0),u.setOriginalRowIndexes(f)}return this.emit({type:"afterModify",detail:e,table:o}),o}}return g.defaultOptions={type:"Sort",direction:"desc",orderByColumn:"y"},d.registerType("Sort",g),g}),T(w,"masters/modules/data-tools.src.js",[w["Core/Globals.js"],w["Data/Connectors/DataConnector.js"],w["Data/Converters/DataConverter.js"],w["Data/DataCursor.js"],w["Data/Modifiers/DataModifier.js"],w["Data/DataPool.js"],w["Data/DataTable.js"],w["Data/Formula/Formula.js"]],function(d,b,y,m,g,n,o,e){return d.DataConnector=d.DataConnector||b,d.DataConverter=d.DataConverter||y,d.DataCursor=d.DataCursor||m,d.DataModifier=d.DataModifier||g,d.DataPool=d.DataPool||n,d.DataTable=d.DataTable||o,d.Formula=d.Formula||e,d})})}(V)),V.exports}var Y=H();const G=k(Y),J=$({__proto__:null,default:G},[Y]);export{J as d};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.